update go-aws-sdk to v1.12.71
This commit is contained in:
parent
7d5d62d748
commit
8827df1ed2
File diff suppressed because it is too large
Load Diff
|
@ -67,7 +67,7 @@ Please be aware of the following notes prior to opening a pull request:
|
|||
5. The JSON files under the SDK's `models` folder are sourced from outside the SDK.
|
||||
Such as `models/apis/ec2/2016-11-15/api.json`. We will not accept pull requests
|
||||
directly on these models. If you discover an issue with the models please
|
||||
create a Github [issue](issues) describing the issue.
|
||||
create a [GitHub issue][issues] describing the issue.
|
||||
|
||||
### Testing
|
||||
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
|
||||
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/go-ini/ini"
|
||||
packages = ["."]
|
||||
revision = "300e940a926eb277d3901b20bdfcc54928ad3642"
|
||||
version = "v1.25.4"
|
||||
|
||||
[[projects]]
|
||||
name = "github.com/jmespath/go-jmespath"
|
||||
packages = ["."]
|
||||
revision = "0b12d6b5"
|
||||
|
||||
[solve-meta]
|
||||
analyzer-name = "dep"
|
||||
analyzer-version = 1
|
||||
inputs-digest = "51a86a867df617990082dec6b868e4efe2fdb2ed0e02a3daa93cd30f962b5085"
|
||||
solver-name = "gps-cdcl"
|
||||
solver-version = 1
|
|
@ -0,0 +1,48 @@
|
|||
|
||||
# Gopkg.toml example
|
||||
#
|
||||
# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md
|
||||
# for detailed Gopkg.toml documentation.
|
||||
#
|
||||
# required = ["github.com/user/thing/cmd/thing"]
|
||||
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
|
||||
#
|
||||
# [[constraint]]
|
||||
# name = "github.com/user/project"
|
||||
# version = "1.0.0"
|
||||
#
|
||||
# [[constraint]]
|
||||
# name = "github.com/user/project2"
|
||||
# branch = "dev"
|
||||
# source = "github.com/myfork/project2"
|
||||
#
|
||||
# [[override]]
|
||||
# name = "github.com/x/y"
|
||||
# version = "2.4.0"
|
||||
|
||||
ignored = [
|
||||
# Testing/Example/Codegen dependencies
|
||||
"github.com/stretchr/testify",
|
||||
"github.com/stretchr/testify/assert",
|
||||
"github.com/stretchr/testify/require",
|
||||
"github.com/go-sql-driver/mysql",
|
||||
"github.com/gucumber/gucumber",
|
||||
"github.com/pkg/errors",
|
||||
"golang.org/x/net",
|
||||
"golang.org/x/net/html",
|
||||
"golang.org/x/net/http2",
|
||||
"golang.org/x/text",
|
||||
"golang.org/x/text/html",
|
||||
"golang.org/x/tools",
|
||||
"golang.org/x/tools/go/loader",
|
||||
]
|
||||
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/go-ini/ini"
|
||||
version = "1.25.4"
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/jmespath/go-jmespath"
|
||||
revision = "0b12d6b5"
|
||||
#version = "0.2.2"
|
|
@ -74,7 +74,7 @@ smoke-tests: get-deps-tests
|
|||
performance: get-deps-tests
|
||||
AWS_TESTING_LOG_RESULTS=${log-detailed} AWS_TESTING_REGION=$(region) AWS_TESTING_DB_TABLE=$(table) gucumber -go-tags "integration" ./awstesting/performance
|
||||
|
||||
sandbox-tests: sandbox-test-go15 sandbox-test-go15-novendorexp sandbox-test-go16 sandbox-test-go17 sandbox-test-go18 sandbox-test-gotip
|
||||
sandbox-tests: sandbox-test-go15 sandbox-test-go15-novendorexp sandbox-test-go16 sandbox-test-go17 sandbox-test-go18 sandbox-test-go19 sandbox-test-gotip
|
||||
|
||||
sandbox-build-go15:
|
||||
docker build -f ./awstesting/sandbox/Dockerfile.test.go1.5 -t "aws-sdk-go-1.5" .
|
||||
|
@ -111,6 +111,13 @@ sandbox-go18: sandbox-build-go18
|
|||
sandbox-test-go18: sandbox-build-go18
|
||||
docker run -t aws-sdk-go-1.8
|
||||
|
||||
sandbox-build-go19:
|
||||
docker build -f ./awstesting/sandbox/Dockerfile.test.go1.8 -t "aws-sdk-go-1.9" .
|
||||
sandbox-go19: sandbox-build-go19
|
||||
docker run -i -t aws-sdk-go-1.9 bash
|
||||
sandbox-test-go19: sandbox-build-go19
|
||||
docker run -t aws-sdk-go-1.9
|
||||
|
||||
sandbox-build-gotip:
|
||||
@echo "Run make update-aws-golang-tip, if this test fails because missing aws-golang:tip container"
|
||||
docker build -f ./awstesting/sandbox/Dockerfile.test.gotip -t "aws-sdk-go-tip" .
|
||||
|
|
|
@ -6,6 +6,8 @@ aws-sdk-go is the official AWS SDK for the Go programming language.
|
|||
|
||||
Checkout our [release notes](https://github.com/aws/aws-sdk-go/releases) for information about the latest bug fixes, updates, and features added to the SDK.
|
||||
|
||||
We [announced](https://aws.amazon.com/blogs/developer/aws-sdk-for-go-2-0-developer-preview/) the Developer Preview for the [v2 AWS SDK for Go](). The v2 SDK is available at https://github.com/aws/aws-sdk-go-v2, and `go get github.com/aws/aws-sdk-go-v2` via `go get`. Check out the v2 SDK's [changes and updates](https://github.com/aws/aws-sdk-go-v2/blob/master/CHANGELOG.md), and let us know what you think. We want your feedback.
|
||||
|
||||
## Installing
|
||||
|
||||
If you are using Go 1.5 with the `GO15VENDOREXPERIMENT=1` vendoring flag, or 1.6 and higher you can use the following command to retrieve the SDK. The SDK's non-testing dependencies will be included and are vendored in the `vendor` folder.
|
||||
|
@ -185,7 +187,7 @@ Option's SharedConfigState parameter.
|
|||
}))
|
||||
```
|
||||
|
||||
[credentials_pkg]: ttps://docs.aws.amazon.com/sdk-for-go/api/aws/credentials
|
||||
[credentials_pkg]: https://docs.aws.amazon.com/sdk-for-go/api/aws/credentials
|
||||
|
||||
### Configuring AWS Region
|
||||
|
||||
|
@ -305,7 +307,7 @@ documentation for the errors that could be returned.
|
|||
// will leak connections.
|
||||
defer result.Body.Close()
|
||||
|
||||
fmt.Println("Object Size:", aws.StringValue(result.ContentLength))
|
||||
fmt.Println("Object Size:", aws.Int64Value(result.ContentLength))
|
||||
```
|
||||
|
||||
### API Request Pagination and Resource Waiters
|
||||
|
|
|
@ -2,6 +2,7 @@ package client
|
|||
|
||||
import (
|
||||
"math/rand"
|
||||
"strconv"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
|
@ -38,14 +39,18 @@ func (d DefaultRetryer) RetryRules(r *request.Request) time.Duration {
|
|||
minTime := 30
|
||||
throttle := d.shouldThrottle(r)
|
||||
if throttle {
|
||||
if delay, ok := getRetryDelay(r); ok {
|
||||
return delay
|
||||
}
|
||||
|
||||
minTime = 500
|
||||
}
|
||||
|
||||
retryCount := r.RetryCount
|
||||
if retryCount > 13 {
|
||||
retryCount = 13
|
||||
} else if throttle && retryCount > 8 {
|
||||
if throttle && retryCount > 8 {
|
||||
retryCount = 8
|
||||
} else if retryCount > 13 {
|
||||
retryCount = 13
|
||||
}
|
||||
|
||||
delay := (1 << uint(retryCount)) * (seededRand.Intn(minTime) + minTime)
|
||||
|
@ -68,12 +73,49 @@ func (d DefaultRetryer) ShouldRetry(r *request.Request) bool {
|
|||
|
||||
// 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
|
||||
switch r.HTTPResponse.StatusCode {
|
||||
case 429:
|
||||
case 502:
|
||||
case 503:
|
||||
case 504:
|
||||
default:
|
||||
return r.IsErrorThrottle()
|
||||
}
|
||||
return r.IsErrorThrottle()
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// This will look in the Retry-After header, RFC 7231, for how long
|
||||
// it will wait before attempting another request
|
||||
func getRetryDelay(r *request.Request) (time.Duration, bool) {
|
||||
if !canUseRetryAfterHeader(r) {
|
||||
return 0, false
|
||||
}
|
||||
|
||||
delayStr := r.HTTPResponse.Header.Get("Retry-After")
|
||||
if len(delayStr) == 0 {
|
||||
return 0, false
|
||||
}
|
||||
|
||||
delay, err := strconv.Atoi(delayStr)
|
||||
if err != nil {
|
||||
return 0, false
|
||||
}
|
||||
|
||||
return time.Duration(delay) * time.Second, true
|
||||
}
|
||||
|
||||
// Will look at the status code to see if the retry header pertains to
|
||||
// the status code.
|
||||
func canUseRetryAfterHeader(r *request.Request) bool {
|
||||
switch r.HTTPResponse.StatusCode {
|
||||
case 429:
|
||||
case 503:
|
||||
default:
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// lockedSource is a thread-safe implementation of rand.Source
|
||||
|
|
|
@ -168,7 +168,7 @@ type Config struct {
|
|||
//
|
||||
EC2MetadataDisableTimeoutOverride *bool
|
||||
|
||||
// Instructs the endpiont to be generated for a service client to
|
||||
// Instructs the endpoint to be generated for a service client to
|
||||
// be the dual stack endpoint. The dual stack endpoint will support
|
||||
// both IPv4 and IPv6 addressing.
|
||||
//
|
||||
|
|
|
@ -9,6 +9,7 @@ package defaults
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
|
@ -118,14 +119,43 @@ func RemoteCredProvider(cfg aws.Config, handlers request.Handlers) credentials.P
|
|||
return ec2RoleProvider(cfg, handlers)
|
||||
}
|
||||
|
||||
var lookupHostFn = net.LookupHost
|
||||
|
||||
func isLoopbackHost(host string) (bool, error) {
|
||||
ip := net.ParseIP(host)
|
||||
if ip != nil {
|
||||
return ip.IsLoopback(), nil
|
||||
}
|
||||
|
||||
// Host is not an ip, perform lookup
|
||||
addrs, err := lookupHostFn(host)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
for _, addr := range addrs {
|
||||
if !net.ParseIP(addr).IsLoopback() {
|
||||
return false, nil
|
||||
}
|
||||
}
|
||||
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func localHTTPCredProvider(cfg aws.Config, handlers request.Handlers, u string) credentials.Provider {
|
||||
var errMsg string
|
||||
|
||||
parsed, err := url.Parse(u)
|
||||
if err != nil {
|
||||
errMsg = fmt.Sprintf("invalid URL, %v", err)
|
||||
} else if host := aws.URLHostname(parsed); !(host == "localhost" || host == "127.0.0.1") {
|
||||
errMsg = fmt.Sprintf("invalid host address, %q, only localhost and 127.0.0.1 are valid.", host)
|
||||
} else {
|
||||
host := aws.URLHostname(parsed)
|
||||
if len(host) == 0 {
|
||||
errMsg = "unable to parse host from local HTTP cred provider URL"
|
||||
} else if isLoopback, loopbackErr := isLoopbackHost(host); loopbackErr != nil {
|
||||
errMsg = fmt.Sprintf("failed to resolve host %q, %v", host, loopbackErr)
|
||||
} else if !isLoopback {
|
||||
errMsg = fmt.Sprintf("invalid endpoint host, %q, only loopback hosts are allowed.", host)
|
||||
}
|
||||
}
|
||||
|
||||
if len(errMsg) > 0 {
|
||||
|
|
|
@ -4,6 +4,7 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
)
|
||||
|
@ -84,11 +85,34 @@ func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resol
|
|||
custAddEC2Metadata(p)
|
||||
custAddS3DualStack(p)
|
||||
custRmIotDataService(p)
|
||||
|
||||
custFixCloudHSMv2SigningName(p)
|
||||
}
|
||||
|
||||
return ps, nil
|
||||
}
|
||||
|
||||
func custFixCloudHSMv2SigningName(p *partition) {
|
||||
// Workaround for aws/aws-sdk-go#1745 until the endpoint model can be
|
||||
// fixed upstream. TODO remove this once the endpoints model is updated.
|
||||
|
||||
s, ok := p.Services["cloudhsmv2"]
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
if len(s.Defaults.CredentialScope.Service) != 0 {
|
||||
fmt.Fprintf(os.Stderr, "cloudhsmv2 signing name already set, ignoring override.\n")
|
||||
// If the value is already set don't override
|
||||
return
|
||||
}
|
||||
|
||||
s.Defaults.CredentialScope.Service = "cloudhsm"
|
||||
fmt.Fprintf(os.Stderr, "cloudhsmv2 signing name not set, overriding.\n")
|
||||
|
||||
p.Services["cloudhsmv2"] = s
|
||||
}
|
||||
|
||||
func custAddS3DualStack(p *partition) {
|
||||
if p.ID != "aws" {
|
||||
return
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -28,6 +28,10 @@ const (
|
|||
// during body reads.
|
||||
ErrCodeResponseTimeout = "ResponseTimeout"
|
||||
|
||||
// ErrCodeInvalidPresignExpire is returned when the expire time provided to
|
||||
// presign is invalid
|
||||
ErrCodeInvalidPresignExpire = "InvalidPresignExpireError"
|
||||
|
||||
// CanceledErrorCode is the error code that will be returned by an
|
||||
// API request that was canceled. Requests given a aws.Context may
|
||||
// return this error when canceled.
|
||||
|
@ -42,7 +46,6 @@ type Request struct {
|
|||
|
||||
Retryer
|
||||
Time time.Time
|
||||
ExpireTime time.Duration
|
||||
Operation *Operation
|
||||
HTTPRequest *http.Request
|
||||
HTTPResponse *http.Response
|
||||
|
@ -60,6 +63,11 @@ type Request struct {
|
|||
LastSignedAt time.Time
|
||||
DisableFollowRedirects bool
|
||||
|
||||
// A value greater than 0 instructs the request to be signed as Presigned URL
|
||||
// You should not set this field directly. Instead use Request's
|
||||
// Presign or PresignRequest methods.
|
||||
ExpireTime time.Duration
|
||||
|
||||
context aws.Context
|
||||
|
||||
built bool
|
||||
|
@ -104,6 +112,8 @@ func New(cfg aws.Config, clientInfo metadata.ClientInfo, handlers Handlers,
|
|||
err = awserr.New("InvalidEndpointURL", "invalid endpoint uri", err)
|
||||
}
|
||||
|
||||
SanitizeHostForHeader(httpReq)
|
||||
|
||||
r := &Request{
|
||||
Config: cfg,
|
||||
ClientInfo: clientInfo,
|
||||
|
@ -250,34 +260,59 @@ func (r *Request) SetReaderBody(reader io.ReadSeeker) {
|
|||
|
||||
// Presign returns the request's signed URL. Error will be returned
|
||||
// if the signing fails.
|
||||
func (r *Request) Presign(expireTime time.Duration) (string, error) {
|
||||
r.ExpireTime = expireTime
|
||||
//
|
||||
// It is invalid to create a presigned URL with a expire duration 0 or less. An
|
||||
// error is returned if expire duration is 0 or less.
|
||||
func (r *Request) Presign(expire time.Duration) (string, error) {
|
||||
r = r.copy()
|
||||
|
||||
// Presign requires all headers be hoisted. There is no way to retrieve
|
||||
// the signed headers not hoisted without this. Making the presigned URL
|
||||
// useless.
|
||||
r.NotHoist = false
|
||||
|
||||
u, _, err := getPresignedURL(r, expire)
|
||||
return u, err
|
||||
}
|
||||
|
||||
// PresignRequest behaves just like presign, with the addition of returning a
|
||||
// set of headers that were signed.
|
||||
//
|
||||
// It is invalid to create a presigned URL with a expire duration 0 or less. An
|
||||
// error is returned if expire duration is 0 or less.
|
||||
//
|
||||
// Returns the URL string for the API operation with signature in the query string,
|
||||
// and the HTTP headers that were included in the signature. These headers must
|
||||
// be included in any HTTP request made with the presigned URL.
|
||||
//
|
||||
// To prevent hoisting any headers to the query string set NotHoist to true on
|
||||
// this Request value prior to calling PresignRequest.
|
||||
func (r *Request) PresignRequest(expire time.Duration) (string, http.Header, error) {
|
||||
r = r.copy()
|
||||
return getPresignedURL(r, expire)
|
||||
}
|
||||
|
||||
func getPresignedURL(r *Request, expire time.Duration) (string, http.Header, error) {
|
||||
if expire <= 0 {
|
||||
return "", nil, awserr.New(
|
||||
ErrCodeInvalidPresignExpire,
|
||||
"presigned URL requires an expire duration greater than 0",
|
||||
nil,
|
||||
)
|
||||
}
|
||||
|
||||
r.ExpireTime = expire
|
||||
|
||||
if r.Operation.BeforePresignFn != nil {
|
||||
r = r.copy()
|
||||
err := r.Operation.BeforePresignFn(r)
|
||||
if err != nil {
|
||||
return "", err
|
||||
if err := r.Operation.BeforePresignFn(r); err != nil {
|
||||
return "", nil, err
|
||||
}
|
||||
}
|
||||
|
||||
r.Sign()
|
||||
if r.Error != nil {
|
||||
return "", r.Error
|
||||
if err := r.Sign(); err != nil {
|
||||
return "", nil, err
|
||||
}
|
||||
return r.HTTPRequest.URL.String(), nil
|
||||
}
|
||||
|
||||
// PresignRequest behaves just like presign, but hoists all headers and signs them.
|
||||
// Also returns the signed hash back to the user
|
||||
func (r *Request) PresignRequest(expireTime time.Duration) (string, http.Header, error) {
|
||||
r.ExpireTime = expireTime
|
||||
r.NotHoist = true
|
||||
r.Sign()
|
||||
if r.Error != nil {
|
||||
return "", nil, r.Error
|
||||
}
|
||||
return r.HTTPRequest.URL.String(), r.SignedHeaderVals, nil
|
||||
}
|
||||
|
||||
|
@ -573,3 +608,72 @@ func shouldRetryCancel(r *Request) bool {
|
|||
errStr != "net/http: request canceled while waiting for connection")
|
||||
|
||||
}
|
||||
|
||||
// SanitizeHostForHeader removes default port from host and updates request.Host
|
||||
func SanitizeHostForHeader(r *http.Request) {
|
||||
host := getHost(r)
|
||||
port := portOnly(host)
|
||||
if port != "" && isDefaultPort(r.URL.Scheme, port) {
|
||||
r.Host = stripPort(host)
|
||||
}
|
||||
}
|
||||
|
||||
// Returns host from request
|
||||
func getHost(r *http.Request) string {
|
||||
if r.Host != "" {
|
||||
return r.Host
|
||||
}
|
||||
|
||||
return r.URL.Host
|
||||
}
|
||||
|
||||
// Hostname returns u.Host, without any port number.
|
||||
//
|
||||
// If Host is an IPv6 literal with a port number, Hostname returns the
|
||||
// IPv6 literal without the square brackets. IPv6 literals may include
|
||||
// a zone identifier.
|
||||
//
|
||||
// Copied from the Go 1.8 standard library (net/url)
|
||||
func stripPort(hostport string) string {
|
||||
colon := strings.IndexByte(hostport, ':')
|
||||
if colon == -1 {
|
||||
return hostport
|
||||
}
|
||||
if i := strings.IndexByte(hostport, ']'); i != -1 {
|
||||
return strings.TrimPrefix(hostport[:i], "[")
|
||||
}
|
||||
return hostport[:colon]
|
||||
}
|
||||
|
||||
// Port returns the port part of u.Host, without the leading colon.
|
||||
// If u.Host doesn't contain a port, Port returns an empty string.
|
||||
//
|
||||
// Copied from the Go 1.8 standard library (net/url)
|
||||
func portOnly(hostport string) string {
|
||||
colon := strings.IndexByte(hostport, ':')
|
||||
if colon == -1 {
|
||||
return ""
|
||||
}
|
||||
if i := strings.Index(hostport, "]:"); i != -1 {
|
||||
return hostport[i+len("]:"):]
|
||||
}
|
||||
if strings.Contains(hostport, "]") {
|
||||
return ""
|
||||
}
|
||||
return hostport[colon+len(":"):]
|
||||
}
|
||||
|
||||
// Returns true if the specified URI is using the standard port
|
||||
// (i.e. port 80 for HTTP URIs or 443 for HTTPS URIs)
|
||||
func isDefaultPort(scheme, port string) bool {
|
||||
if port == "" {
|
||||
return true
|
||||
}
|
||||
|
||||
lowerCaseScheme := strings.ToLower(scheme)
|
||||
if (lowerCaseScheme == "http" && port == "80") || (lowerCaseScheme == "https" && port == "443") {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -142,13 +142,28 @@ func (r *Request) nextPageTokens() []interface{} {
|
|||
tokens := []interface{}{}
|
||||
tokenAdded := false
|
||||
for _, outToken := range r.Operation.OutputTokens {
|
||||
v, _ := awsutil.ValuesAtPath(r.Data, outToken)
|
||||
if len(v) > 0 {
|
||||
tokens = append(tokens, v[0])
|
||||
tokenAdded = true
|
||||
} else {
|
||||
vs, _ := awsutil.ValuesAtPath(r.Data, outToken)
|
||||
if len(vs) == 0 {
|
||||
tokens = append(tokens, nil)
|
||||
continue
|
||||
}
|
||||
v := vs[0]
|
||||
|
||||
switch tv := v.(type) {
|
||||
case *string:
|
||||
if len(aws.StringValue(tv)) == 0 {
|
||||
tokens = append(tokens, nil)
|
||||
continue
|
||||
}
|
||||
case string:
|
||||
if len(tv) == 0 {
|
||||
tokens = append(tokens, nil)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
tokenAdded = true
|
||||
tokens = append(tokens, v)
|
||||
}
|
||||
if !tokenAdded {
|
||||
return nil
|
||||
|
|
|
@ -7,6 +7,9 @@ import (
|
|||
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||
)
|
||||
|
||||
// EnvProviderName provides a name of the provider when config is loaded from environment.
|
||||
const EnvProviderName = "EnvConfigCredentials"
|
||||
|
||||
// envConfig is a collection of environment values the SDK will read
|
||||
// setup config from. All environment values are optional. But some values
|
||||
// such as credentials require multiple values to be complete or the values
|
||||
|
@ -157,7 +160,7 @@ func envConfigLoad(enableSharedConfig bool) envConfig {
|
|||
if len(cfg.Creds.AccessKeyID) == 0 || len(cfg.Creds.SecretAccessKey) == 0 {
|
||||
cfg.Creds = credentials.Value{}
|
||||
} else {
|
||||
cfg.Creds.ProviderName = "EnvConfigCredentials"
|
||||
cfg.Creds.ProviderName = EnvProviderName
|
||||
}
|
||||
|
||||
regionKeys := regionEnvKeys
|
||||
|
|
|
@ -268,7 +268,7 @@ type signingCtx struct {
|
|||
// "X-Amz-Content-Sha256" header with a precomputed value. The signer will
|
||||
// only compute the hash if the request header value is empty.
|
||||
func (v4 Signer) Sign(r *http.Request, body io.ReadSeeker, service, region string, signTime time.Time) (http.Header, error) {
|
||||
return v4.signWithBody(r, body, service, region, 0, signTime)
|
||||
return v4.signWithBody(r, body, service, region, 0, false, signTime)
|
||||
}
|
||||
|
||||
// Presign signs AWS v4 requests with the provided body, service name, region
|
||||
|
@ -302,10 +302,10 @@ func (v4 Signer) Sign(r *http.Request, body io.ReadSeeker, service, region strin
|
|||
// presigned request's signature you can set the "X-Amz-Content-Sha256"
|
||||
// HTTP header and that will be included in the request's signature.
|
||||
func (v4 Signer) Presign(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, signTime time.Time) (http.Header, error) {
|
||||
return v4.signWithBody(r, body, service, region, exp, signTime)
|
||||
return v4.signWithBody(r, body, service, region, exp, true, signTime)
|
||||
}
|
||||
|
||||
func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, signTime time.Time) (http.Header, error) {
|
||||
func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, isPresign bool, signTime time.Time) (http.Header, error) {
|
||||
currentTimeFn := v4.currentTimeFn
|
||||
if currentTimeFn == nil {
|
||||
currentTimeFn = time.Now
|
||||
|
@ -317,7 +317,7 @@ func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, regi
|
|||
Query: r.URL.Query(),
|
||||
Time: signTime,
|
||||
ExpireTime: exp,
|
||||
isPresign: exp != 0,
|
||||
isPresign: isPresign,
|
||||
ServiceName: service,
|
||||
Region: region,
|
||||
DisableURIPathEscaping: v4.DisableURIPathEscaping,
|
||||
|
@ -339,6 +339,7 @@ func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, regi
|
|||
return http.Header{}, err
|
||||
}
|
||||
|
||||
ctx.sanitizeHostForHeader()
|
||||
ctx.assignAmzQueryValues()
|
||||
ctx.build(v4.DisableHeaderHoisting)
|
||||
|
||||
|
@ -363,6 +364,10 @@ func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, regi
|
|||
return ctx.SignedHeaderVals, nil
|
||||
}
|
||||
|
||||
func (ctx *signingCtx) sanitizeHostForHeader() {
|
||||
request.SanitizeHostForHeader(ctx.Request)
|
||||
}
|
||||
|
||||
func (ctx *signingCtx) handlePresignRemoval() {
|
||||
if !ctx.isPresign {
|
||||
return
|
||||
|
@ -467,7 +472,7 @@ func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time
|
|||
}
|
||||
|
||||
signedHeaders, err := v4.signWithBody(req.HTTPRequest, req.GetBody(),
|
||||
name, region, req.ExpireTime, signingTime,
|
||||
name, region, req.ExpireTime, req.ExpireTime > 0, signingTime,
|
||||
)
|
||||
if err != nil {
|
||||
req.Error = err
|
||||
|
@ -502,6 +507,8 @@ func (ctx *signingCtx) build(disableHeaderHoisting bool) {
|
|||
ctx.buildTime() // no depends
|
||||
ctx.buildCredentialString() // no depends
|
||||
|
||||
ctx.buildBodyDigest()
|
||||
|
||||
unsignedHeaders := ctx.Request.Header
|
||||
if ctx.isPresign {
|
||||
if !disableHeaderHoisting {
|
||||
|
@ -513,7 +520,6 @@ func (ctx *signingCtx) build(disableHeaderHoisting bool) {
|
|||
}
|
||||
}
|
||||
|
||||
ctx.buildBodyDigest()
|
||||
ctx.buildCanonicalHeaders(ignoredHeaders, unsignedHeaders)
|
||||
ctx.buildCanonicalString() // depends on canon headers / signed headers
|
||||
ctx.buildStringToSign() // depends on canon string
|
||||
|
|
|
@ -5,4 +5,4 @@ package aws
|
|||
const SDKName = "aws-sdk-go"
|
||||
|
||||
// SDKVersion is the version of this SDK
|
||||
const SDKVersion = "1.10.23"
|
||||
const SDKVersion = "1.12.71"
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
version: 0.2
|
||||
|
||||
phases:
|
||||
build:
|
||||
commands:
|
||||
- echo Build started on `date`
|
||||
- export GOPATH=/go
|
||||
- export SDK_CB_ROOT=`pwd`
|
||||
- export SDK_GO_ROOT=/go/src/github.com/aws/aws-sdk-go
|
||||
- mkdir -p /go/src/github.com/aws
|
||||
- ln -s $SDK_CB_ROOT $SDK_GO_ROOT
|
||||
- cd $SDK_GO_ROOT
|
||||
- make unit
|
||||
- cd $SDK_CB_ROOT
|
||||
- #echo Compiling the Go code...
|
||||
post_build:
|
||||
commands:
|
||||
- echo Build completed on `date`
|
||||
#artifacts:
|
||||
# files:
|
||||
# - hello
|
|
@ -197,7 +197,7 @@
|
|||
// regions different from the Session's region.
|
||||
//
|
||||
// svc := s3.New(sess, &aws.Config{
|
||||
// Region: aws.String(ednpoints.UsWest2RegionID),
|
||||
// Region: aws.String(endpoints.UsWest2RegionID),
|
||||
// })
|
||||
//
|
||||
// See the Config type in the aws package for more information and additional
|
||||
|
|
|
@ -12,6 +12,7 @@ import (
|
|||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/private/protocol"
|
||||
)
|
||||
|
||||
|
@ -49,7 +50,10 @@ func buildAny(value reflect.Value, buf *bytes.Buffer, tag reflect.StructTag) err
|
|||
t = "list"
|
||||
}
|
||||
case reflect.Map:
|
||||
t = "map"
|
||||
// cannot be a JSONValue map
|
||||
if _, ok := value.Interface().(aws.JSONValue); !ok {
|
||||
t = "map"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -210,14 +214,11 @@ func buildScalar(v reflect.Value, buf *bytes.Buffer, tag reflect.StructTag) erro
|
|||
}
|
||||
buf.Write(strconv.AppendFloat(scratch[:0], f, 'f', -1, 64))
|
||||
default:
|
||||
switch value.Type() {
|
||||
case timeType:
|
||||
converted := v.Interface().(*time.Time)
|
||||
|
||||
switch converted := value.Interface().(type) {
|
||||
case time.Time:
|
||||
buf.Write(strconv.AppendInt(scratch[:0], converted.UTC().Unix(), 10))
|
||||
case byteSliceType:
|
||||
case []byte:
|
||||
if !value.IsNil() {
|
||||
converted := value.Interface().([]byte)
|
||||
buf.WriteByte('"')
|
||||
if len(converted) < 1024 {
|
||||
// for small buffers, using Encode directly is much faster.
|
||||
|
@ -233,6 +234,12 @@ func buildScalar(v reflect.Value, buf *bytes.Buffer, tag reflect.StructTag) erro
|
|||
}
|
||||
buf.WriteByte('"')
|
||||
}
|
||||
case aws.JSONValue:
|
||||
str, err := protocol.EncodeJSONValue(converted, protocol.QuotedEscape)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to encode JSONValue, %v", err)
|
||||
}
|
||||
buf.WriteString(str)
|
||||
default:
|
||||
return fmt.Errorf("unsupported JSON value %v (%s)", value.Interface(), value.Type())
|
||||
}
|
||||
|
|
|
@ -8,6 +8,9 @@ import (
|
|||
"io/ioutil"
|
||||
"reflect"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/private/protocol"
|
||||
)
|
||||
|
||||
// UnmarshalJSON reads a stream and unmarshals the results in object v.
|
||||
|
@ -50,7 +53,10 @@ func unmarshalAny(value reflect.Value, data interface{}, tag reflect.StructTag)
|
|||
t = "list"
|
||||
}
|
||||
case reflect.Map:
|
||||
t = "map"
|
||||
// cannot be a JSONValue map
|
||||
if _, ok := value.Interface().(aws.JSONValue); !ok {
|
||||
t = "map"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -183,6 +189,13 @@ func unmarshalScalar(value reflect.Value, data interface{}, tag reflect.StructTa
|
|||
return err
|
||||
}
|
||||
value.Set(reflect.ValueOf(b))
|
||||
case aws.JSONValue:
|
||||
// No need to use escaping as the value is a non-quoted string.
|
||||
v, err := protocol.DecodeJSONValue(d, protocol.NoEscape)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
value.Set(reflect.ValueOf(v))
|
||||
default:
|
||||
return errf()
|
||||
}
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
package protocol
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
)
|
||||
|
||||
// EscapeMode is the mode that should be use for escaping a value
|
||||
type EscapeMode uint
|
||||
|
||||
// The modes for escaping a value before it is marshaled, and unmarshaled.
|
||||
const (
|
||||
NoEscape EscapeMode = iota
|
||||
Base64Escape
|
||||
QuotedEscape
|
||||
)
|
||||
|
||||
// EncodeJSONValue marshals the value into a JSON string, and optionally base64
|
||||
// encodes the string before returning it.
|
||||
//
|
||||
// Will panic if the escape mode is unknown.
|
||||
func EncodeJSONValue(v aws.JSONValue, escape EscapeMode) (string, error) {
|
||||
b, err := json.Marshal(v)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
switch escape {
|
||||
case NoEscape:
|
||||
return string(b), nil
|
||||
case Base64Escape:
|
||||
return base64.StdEncoding.EncodeToString(b), nil
|
||||
case QuotedEscape:
|
||||
return strconv.Quote(string(b)), nil
|
||||
}
|
||||
|
||||
panic(fmt.Sprintf("EncodeJSONValue called with unknown EscapeMode, %v", escape))
|
||||
}
|
||||
|
||||
// DecodeJSONValue will attempt to decode the string input as a JSONValue.
|
||||
// Optionally decoding base64 the value first before JSON unmarshaling.
|
||||
//
|
||||
// Will panic if the escape mode is unknown.
|
||||
func DecodeJSONValue(v string, escape EscapeMode) (aws.JSONValue, error) {
|
||||
var b []byte
|
||||
var err error
|
||||
|
||||
switch escape {
|
||||
case NoEscape:
|
||||
b = []byte(v)
|
||||
case Base64Escape:
|
||||
b, err = base64.StdEncoding.DecodeString(v)
|
||||
case QuotedEscape:
|
||||
var u string
|
||||
u, err = strconv.Unquote(v)
|
||||
b = []byte(u)
|
||||
default:
|
||||
panic(fmt.Sprintf("DecodeJSONValue called with unknown EscapeMode, %v", escape))
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
m := aws.JSONValue{}
|
||||
err = json.Unmarshal(b, &m)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return m, nil
|
||||
}
|
|
@ -121,6 +121,10 @@ func (q *queryParser) parseList(v url.Values, value reflect.Value, prefix string
|
|||
return nil
|
||||
}
|
||||
|
||||
if _, ok := value.Interface().([]byte); ok {
|
||||
return q.parseScalar(v, value, prefix, tag)
|
||||
}
|
||||
|
||||
// check for unflattened list member
|
||||
if !q.isEC2 && tag.Get("flattened") == "" {
|
||||
if listName := tag.Get("locationNameList"); listName == "" {
|
||||
|
|
|
@ -4,7 +4,6 @@ package rest
|
|||
import (
|
||||
"bytes"
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
|
@ -18,6 +17,7 @@ import (
|
|||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/private/protocol"
|
||||
)
|
||||
|
||||
// RFC822 returns an RFC822 formatted timestamp for AWS protocols
|
||||
|
@ -252,13 +252,12 @@ func EscapePath(path string, encodeSep bool) string {
|
|||
return buf.String()
|
||||
}
|
||||
|
||||
func convertType(v reflect.Value, tag reflect.StructTag) (string, error) {
|
||||
func convertType(v reflect.Value, tag reflect.StructTag) (str string, err error) {
|
||||
v = reflect.Indirect(v)
|
||||
if !v.IsValid() {
|
||||
return "", errValueNotSet
|
||||
}
|
||||
|
||||
var str string
|
||||
switch value := v.Interface().(type) {
|
||||
case string:
|
||||
str = value
|
||||
|
@ -273,17 +272,19 @@ func convertType(v reflect.Value, tag reflect.StructTag) (string, error) {
|
|||
case time.Time:
|
||||
str = value.UTC().Format(RFC822)
|
||||
case aws.JSONValue:
|
||||
b, err := json.Marshal(value)
|
||||
if err != nil {
|
||||
return "", err
|
||||
if len(value) == 0 {
|
||||
return "", errValueNotSet
|
||||
}
|
||||
escaping := protocol.NoEscape
|
||||
if tag.Get("location") == "header" {
|
||||
str = base64.StdEncoding.EncodeToString(b)
|
||||
} else {
|
||||
str = string(b)
|
||||
escaping = protocol.Base64Escape
|
||||
}
|
||||
str, err = protocol.EncodeJSONValue(value, escaping)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("unable to encode JSONValue, %v", err)
|
||||
}
|
||||
default:
|
||||
err := fmt.Errorf("Unsupported value for param %v (%s)", v.Interface(), v.Type())
|
||||
err := fmt.Errorf("unsupported value for param %v (%s)", v.Interface(), v.Type())
|
||||
return "", err
|
||||
}
|
||||
return str, nil
|
||||
|
|
|
@ -3,7 +3,6 @@ package rest
|
|||
import (
|
||||
"bytes"
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
|
@ -16,6 +15,7 @@ import (
|
|||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/awserr"
|
||||
"github.com/aws/aws-sdk-go/aws/request"
|
||||
"github.com/aws/aws-sdk-go/private/protocol"
|
||||
)
|
||||
|
||||
// UnmarshalHandler is a named request handler for unmarshaling rest protocol requests
|
||||
|
@ -204,17 +204,11 @@ func unmarshalHeader(v reflect.Value, header string, tag reflect.StructTag) erro
|
|||
}
|
||||
v.Set(reflect.ValueOf(&t))
|
||||
case aws.JSONValue:
|
||||
b := []byte(header)
|
||||
var err error
|
||||
escaping := protocol.NoEscape
|
||||
if tag.Get("location") == "header" {
|
||||
b, err = base64.StdEncoding.DecodeString(header)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
escaping = protocol.Base64Escape
|
||||
}
|
||||
|
||||
m := aws.JSONValue{}
|
||||
err = json.Unmarshal(b, &m)
|
||||
m, err := protocol.DecodeJSONValue(header, escaping)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -5428,6 +5428,10 @@ func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectio
|
|||
// the requester VPC. The requester VPC and accepter VPC cannot have overlapping
|
||||
// CIDR blocks.
|
||||
//
|
||||
// Limitations and rules apply to a VPC peering connection. For more information,
|
||||
// see the limitations (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-basics.html#vpc-peering-limitations)
|
||||
// section in the VPC Peering Guide.
|
||||
//
|
||||
// The owner of the accepter VPC must accept the peering request to activate
|
||||
// the peering connection. The VPC peering connection request expires after
|
||||
// 7 days, after which it cannot be accepted or rejected.
|
||||
|
@ -18933,9 +18937,9 @@ func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpoin
|
|||
|
||||
// ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
|
||||
//
|
||||
// Modifies the permissions for your VPC endpoint service. You can add or remove
|
||||
// permissions for service consumers (IAM users, IAM roles, and AWS accounts)
|
||||
// to discover your endpoint service.
|
||||
// Modifies the permissions for your VPC endpoint service (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html).
|
||||
// You can add or remove permissions for service consumers (IAM users, IAM roles,
|
||||
// and AWS accounts) to connect to your endpoint service.
|
||||
//
|
||||
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
||||
// with awserr.Error's Code and Message methods to get detailed information about
|
||||
|
@ -29784,7 +29788,7 @@ type CreateVpcEndpointInput struct {
|
|||
SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
|
||||
|
||||
// The service name. To get a list of available services, use the DescribeVpcEndpointServices
|
||||
// request.
|
||||
// request, or get the name from the service provider.
|
||||
//
|
||||
// ServiceName is a required field
|
||||
ServiceName *string `type:"string" required:"true"`
|
||||
|
@ -33150,6 +33154,18 @@ type DescribeAddressesInput struct {
|
|||
// the Elastic IP address.
|
||||
//
|
||||
// * public-ip - The Elastic IP address.
|
||||
//
|
||||
// * tag:key=value - The key/value combination of a tag assigned to the resource.
|
||||
// Specify the key of the tag in the filter name and the value of the tag
|
||||
// in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
|
||||
// for the filter name and X for the filter value.
|
||||
//
|
||||
// * tag-key - The key of a tag assigned to the resource. This filter is
|
||||
// independent of the tag-value filter. For example, if you use both the
|
||||
// filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
|
||||
// assigned both the tag key Purpose (regardless of what the tag's value
|
||||
// is), and the tag value X (regardless of the tag's key). If you want to
|
||||
// list only resources where Purpose is X, see the tag:key=value filter.
|
||||
Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
|
||||
|
||||
// [EC2-Classic] One or more Elastic IP addresses.
|
||||
|
@ -36657,6 +36673,18 @@ type DescribeLaunchTemplatesInput struct {
|
|||
// * create-time - The time the launch template was created.
|
||||
//
|
||||
// * launch-template-name - The name of the launch template.
|
||||
//
|
||||
// * tag:key=value - The key/value combination of a tag assigned to the resource.
|
||||
// Specify the key of the tag in the filter name and the value of the tag
|
||||
// in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
|
||||
// for the filter name and X for the filter value.
|
||||
//
|
||||
// * tag-key - The key of a tag assigned to the resource. This filter is
|
||||
// independent of the tag-value filter. For example, if you use both the
|
||||
// filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
|
||||
// assigned both the tag key Purpose (regardless of what the tag's value
|
||||
// is), and the tag value X (regardless of the tag's key). If you want to
|
||||
// list only resources where Purpose is X, see the tag:key=value filter.
|
||||
Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
|
||||
|
||||
// One or more launch template IDs.
|
||||
|
@ -40335,9 +40363,10 @@ type DescribeTagsInput struct {
|
|||
// * resource-id - The resource ID.
|
||||
//
|
||||
// * resource-type - The resource type (customer-gateway | dhcp-options |
|
||||
// image | instance | internet-gateway | network-acl | network-interface
|
||||
// | reserved-instances | route-table | security-group | snapshot | spot-instances-request
|
||||
// | subnet | volume | vpc | vpn-connection | vpn-gateway).
|
||||
// elastic-ip | fpga-image | image | instance | internet-gateway | launch-template
|
||||
// | natgateway | network-acl | network-interface | reserved-instances |
|
||||
// route-table | security-group | snapshot | spot-instances-request | subnet
|
||||
// | volume | vpc | vpc-peering-connection | vpn-connection | vpn-gateway).
|
||||
//
|
||||
// * value - The tag value.
|
||||
Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
|
||||
|
@ -49533,7 +49562,8 @@ func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
|
|||
type InternetGatewayAttachment struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
// The current state of the attachment.
|
||||
// The current state of the attachment. For an Internet gateway, the state is
|
||||
// available when attached to a VPC; otherwise, this value is not returned.
|
||||
State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
|
||||
|
||||
// The ID of the VPC.
|
||||
|
@ -60763,7 +60793,9 @@ type RunInstancesInput struct {
|
|||
// The IAM instance profile.
|
||||
IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
|
||||
|
||||
// The ID of the AMI, which you can get by calling DescribeImages.
|
||||
// The ID of the AMI, which you can get by calling DescribeImages. An AMI is
|
||||
// required to launch an instance and must be specified here or in a launch
|
||||
// template.
|
||||
ImageId *string `type:"string"`
|
||||
|
||||
// Indicates whether an instance stops or terminates when you initiate shutdown
|
||||
|
@ -66149,13 +66181,19 @@ type UserIdGroupPair struct {
|
|||
// The name of the security group. In a request, use this parameter for a security
|
||||
// group in EC2-Classic or a default VPC only. For a security group in a nondefault
|
||||
// VPC, use the security group ID.
|
||||
//
|
||||
// For a referenced security group in another VPC, this value is not returned
|
||||
// if the referenced security group is deleted.
|
||||
GroupName *string `locationName:"groupName" type:"string"`
|
||||
|
||||
// The status of a VPC peering connection, if applicable.
|
||||
PeeringStatus *string `locationName:"peeringStatus" type:"string"`
|
||||
|
||||
// The ID of an AWS account. For a referenced security group in another VPC,
|
||||
// the account ID of the referenced security group is returned.
|
||||
// The ID of an AWS account.
|
||||
//
|
||||
// For a referenced security group in another VPC, the account ID of the referenced
|
||||
// security group is returned in the response. If the referenced security group
|
||||
// is deleted, this value is not returned.
|
||||
//
|
||||
// [EC2-Classic] Required when adding or removing rules that reference a security
|
||||
// group in another AWS account.
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
// requests to Amazon Elastic Compute Cloud.
|
||||
//
|
||||
// Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity
|
||||
// in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your
|
||||
// need to invest in hardware up front, so you can develop and deploy applications
|
||||
// faster.
|
||||
// in the AWS Cloud. Using Amazon EC2 eliminates your need to invest in hardware
|
||||
// up front, so you can develop and deploy applications faster.
|
||||
//
|
||||
// See https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15 for more information on this service.
|
||||
//
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -3,11 +3,11 @@
|
|||
// Package ecr provides the client and types for making API
|
||||
// requests to Amazon EC2 Container Registry.
|
||||
//
|
||||
// Amazon EC2 Container Registry (Amazon ECR) is a managed AWS Docker registry
|
||||
// service. Customers can use the familiar Docker CLI to push, pull, and manage
|
||||
// images. Amazon ECR provides a secure, scalable, and reliable registry. Amazon
|
||||
// ECR supports private Docker repositories with resource-based permissions
|
||||
// using AWS IAM so that specific users or Amazon EC2 instances can access repositories
|
||||
// Amazon EC2 Container Registry (Amazon ECR) is a managed Docker registry service.
|
||||
// Customers can use the familiar Docker CLI to push, pull, and manage images.
|
||||
// Amazon ECR provides a secure, scalable, and reliable registry. Amazon ECR
|
||||
// supports private Docker repositories with resource-based permissions using
|
||||
// IAM so that specific users or Amazon EC2 instances can access repositories
|
||||
// and images. Developers can use the Docker CLI to author and manage images.
|
||||
//
|
||||
// See https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21 for more information on this service.
|
||||
|
@ -17,7 +17,7 @@
|
|||
//
|
||||
// Using the Client
|
||||
//
|
||||
// To Amazon EC2 Container Registry with the SDK use the New function to create
|
||||
// To contact Amazon EC2 Container Registry with the SDK use the New function to create
|
||||
// a new service client. With that client you can make API requests to the service.
|
||||
// These clients are safe to use concurrently.
|
||||
//
|
||||
|
|
|
@ -13,8 +13,8 @@ const (
|
|||
// ErrCodeImageAlreadyExistsException for service response error code
|
||||
// "ImageAlreadyExistsException".
|
||||
//
|
||||
// The specified image has already been pushed, and there are no changes to
|
||||
// the manifest or image tag since the last push.
|
||||
// The specified image has already been pushed, and there were no changes to
|
||||
// the manifest or image tag after the last push.
|
||||
ErrCodeImageAlreadyExistsException = "ImageAlreadyExistsException"
|
||||
|
||||
// ErrCodeImageNotFoundException for service response error code
|
||||
|
@ -70,6 +70,25 @@ const (
|
|||
// for this repository.
|
||||
ErrCodeLayersNotFoundException = "LayersNotFoundException"
|
||||
|
||||
// ErrCodeLifecyclePolicyNotFoundException for service response error code
|
||||
// "LifecyclePolicyNotFoundException".
|
||||
//
|
||||
// The lifecycle policy could not be found, and no policy is set to the repository.
|
||||
ErrCodeLifecyclePolicyNotFoundException = "LifecyclePolicyNotFoundException"
|
||||
|
||||
// ErrCodeLifecyclePolicyPreviewInProgressException for service response error code
|
||||
// "LifecyclePolicyPreviewInProgressException".
|
||||
//
|
||||
// The previous lifecycle policy preview request has not completed. Please try
|
||||
// again later.
|
||||
ErrCodeLifecyclePolicyPreviewInProgressException = "LifecyclePolicyPreviewInProgressException"
|
||||
|
||||
// ErrCodeLifecyclePolicyPreviewNotFoundException for service response error code
|
||||
// "LifecyclePolicyPreviewNotFoundException".
|
||||
//
|
||||
// There is no dry run for this repository.
|
||||
ErrCodeLifecyclePolicyPreviewNotFoundException = "LifecyclePolicyPreviewNotFoundException"
|
||||
|
||||
// ErrCodeLimitExceededException for service response error code
|
||||
// "LimitExceededException".
|
||||
//
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -10,7 +10,7 @@
|
|||
//
|
||||
// Using the Client
|
||||
//
|
||||
// To Amazon Simple Storage Service with the SDK use the New function to create
|
||||
// To contact Amazon Simple Storage Service with the SDK use the New function to create
|
||||
// a new service client. With that client you can make API requests to the service.
|
||||
// These clients are safe to use concurrently.
|
||||
//
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
//
|
||||
// The s3manager package's Downloader provides concurrently downloading of Objects
|
||||
// from S3. The Downloader will write S3 Object content with an io.WriterAt.
|
||||
// Once the Downloader instance is created you can call Upload concurrently from
|
||||
// Once the Downloader instance is created you can call Download concurrently from
|
||||
// multiple goroutines safely.
|
||||
//
|
||||
// // The session the S3 Downloader will use
|
||||
|
@ -56,7 +56,7 @@
|
|||
// Key: aws.String(myString),
|
||||
// })
|
||||
// if err != nil {
|
||||
// return fmt.Errorf("failed to upload file, %v", err)
|
||||
// return fmt.Errorf("failed to download file, %v", err)
|
||||
// }
|
||||
// fmt.Printf("file downloaded, %d bytes\n", n)
|
||||
//
|
||||
|
|
|
@ -92,6 +92,10 @@ type S3API interface {
|
|||
DeleteBucketCorsWithContext(aws.Context, *s3.DeleteBucketCorsInput, ...request.Option) (*s3.DeleteBucketCorsOutput, error)
|
||||
DeleteBucketCorsRequest(*s3.DeleteBucketCorsInput) (*request.Request, *s3.DeleteBucketCorsOutput)
|
||||
|
||||
DeleteBucketEncryption(*s3.DeleteBucketEncryptionInput) (*s3.DeleteBucketEncryptionOutput, error)
|
||||
DeleteBucketEncryptionWithContext(aws.Context, *s3.DeleteBucketEncryptionInput, ...request.Option) (*s3.DeleteBucketEncryptionOutput, error)
|
||||
DeleteBucketEncryptionRequest(*s3.DeleteBucketEncryptionInput) (*request.Request, *s3.DeleteBucketEncryptionOutput)
|
||||
|
||||
DeleteBucketInventoryConfiguration(*s3.DeleteBucketInventoryConfigurationInput) (*s3.DeleteBucketInventoryConfigurationOutput, error)
|
||||
DeleteBucketInventoryConfigurationWithContext(aws.Context, *s3.DeleteBucketInventoryConfigurationInput, ...request.Option) (*s3.DeleteBucketInventoryConfigurationOutput, error)
|
||||
DeleteBucketInventoryConfigurationRequest(*s3.DeleteBucketInventoryConfigurationInput) (*request.Request, *s3.DeleteBucketInventoryConfigurationOutput)
|
||||
|
@ -148,6 +152,10 @@ type S3API interface {
|
|||
GetBucketCorsWithContext(aws.Context, *s3.GetBucketCorsInput, ...request.Option) (*s3.GetBucketCorsOutput, error)
|
||||
GetBucketCorsRequest(*s3.GetBucketCorsInput) (*request.Request, *s3.GetBucketCorsOutput)
|
||||
|
||||
GetBucketEncryption(*s3.GetBucketEncryptionInput) (*s3.GetBucketEncryptionOutput, error)
|
||||
GetBucketEncryptionWithContext(aws.Context, *s3.GetBucketEncryptionInput, ...request.Option) (*s3.GetBucketEncryptionOutput, error)
|
||||
GetBucketEncryptionRequest(*s3.GetBucketEncryptionInput) (*request.Request, *s3.GetBucketEncryptionOutput)
|
||||
|
||||
GetBucketInventoryConfiguration(*s3.GetBucketInventoryConfigurationInput) (*s3.GetBucketInventoryConfigurationOutput, error)
|
||||
GetBucketInventoryConfigurationWithContext(aws.Context, *s3.GetBucketInventoryConfigurationInput, ...request.Option) (*s3.GetBucketInventoryConfigurationOutput, error)
|
||||
GetBucketInventoryConfigurationRequest(*s3.GetBucketInventoryConfigurationInput) (*request.Request, *s3.GetBucketInventoryConfigurationOutput)
|
||||
|
@ -295,6 +303,10 @@ type S3API interface {
|
|||
PutBucketCorsWithContext(aws.Context, *s3.PutBucketCorsInput, ...request.Option) (*s3.PutBucketCorsOutput, error)
|
||||
PutBucketCorsRequest(*s3.PutBucketCorsInput) (*request.Request, *s3.PutBucketCorsOutput)
|
||||
|
||||
PutBucketEncryption(*s3.PutBucketEncryptionInput) (*s3.PutBucketEncryptionOutput, error)
|
||||
PutBucketEncryptionWithContext(aws.Context, *s3.PutBucketEncryptionInput, ...request.Option) (*s3.PutBucketEncryptionOutput, error)
|
||||
PutBucketEncryptionRequest(*s3.PutBucketEncryptionInput) (*request.Request, *s3.PutBucketEncryptionOutput)
|
||||
|
||||
PutBucketInventoryConfiguration(*s3.PutBucketInventoryConfigurationInput) (*s3.PutBucketInventoryConfigurationOutput, error)
|
||||
PutBucketInventoryConfigurationWithContext(aws.Context, *s3.PutBucketInventoryConfigurationInput, ...request.Option) (*s3.PutBucketInventoryConfigurationOutput, error)
|
||||
PutBucketInventoryConfigurationRequest(*s3.PutBucketInventoryConfigurationInput) (*request.Request, *s3.PutBucketInventoryConfigurationOutput)
|
||||
|
|
|
@ -60,7 +60,15 @@ func newError(err error, bucket, key *string) Error {
|
|||
}
|
||||
|
||||
func (err *Error) Error() string {
|
||||
return fmt.Sprintf("failed to upload %q to %q:\n%s", err.Key, err.Bucket, err.OrigErr.Error())
|
||||
origErr := ""
|
||||
if err.OrigErr != nil {
|
||||
origErr = ":\n" + err.OrigErr.Error()
|
||||
}
|
||||
return fmt.Sprintf("failed to upload %q to %q%s",
|
||||
aws.StringValue(err.Key),
|
||||
aws.StringValue(err.Bucket),
|
||||
origErr,
|
||||
)
|
||||
}
|
||||
|
||||
// NewBatchError will return a BatchError that satisfies the awserr.Error interface.
|
||||
|
@ -206,7 +214,7 @@ type BatchDelete struct {
|
|||
// },
|
||||
// }
|
||||
//
|
||||
// if err := batcher.Delete(&s3manager.DeleteObjectsIterator{
|
||||
// if err := batcher.Delete(aws.BackgroundContext(), &s3manager.DeleteObjectsIterator{
|
||||
// Objects: objects,
|
||||
// }); err != nil {
|
||||
// return err
|
||||
|
@ -239,7 +247,7 @@ func NewBatchDeleteWithClient(client s3iface.S3API, options ...func(*BatchDelete
|
|||
// },
|
||||
// }
|
||||
//
|
||||
// if err := batcher.Delete(&s3manager.DeleteObjectsIterator{
|
||||
// if err := batcher.Delete(aws.BackgroundContext(), &s3manager.DeleteObjectsIterator{
|
||||
// Objects: objects,
|
||||
// }); err != nil {
|
||||
// return err
|
||||
|
|
|
@ -117,6 +117,9 @@ type UploadInput struct {
|
|||
// The language the content is in.
|
||||
ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
|
||||
|
||||
// The base64-encoded 128-bit MD5 digest of the part data.
|
||||
ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
|
||||
|
||||
// A standard MIME type describing the format of the object data.
|
||||
ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
|
||||
|
||||
|
@ -218,8 +221,11 @@ type Uploader struct {
|
|||
// if this value is set to zero, the DefaultUploadPartSize value will be used.
|
||||
PartSize int64
|
||||
|
||||
// The number of goroutines to spin up in parallel when sending parts.
|
||||
// If this is set to zero, the DefaultUploadConcurrency value will be used.
|
||||
// The number of goroutines to spin up in parallel per call to Upload when
|
||||
// sending parts. If this is set to zero, the DefaultUploadConcurrency value
|
||||
// will be used.
|
||||
//
|
||||
// The concurrency pool is not shared between calls to Upload.
|
||||
Concurrency int
|
||||
|
||||
// Setting this value to true will cause the SDK to avoid calling
|
||||
|
|
|
@ -35,7 +35,7 @@ const opAssumeRole = "AssumeRole"
|
|||
// fmt.Println(resp)
|
||||
// }
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole
|
||||
func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, output *AssumeRoleOutput) {
|
||||
op := &request.Operation{
|
||||
Name: opAssumeRole,
|
||||
|
@ -168,7 +168,7 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
|
|||
// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole
|
||||
func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) {
|
||||
req, out := c.AssumeRoleRequest(input)
|
||||
return out, req.Send()
|
||||
|
@ -215,7 +215,7 @@ const opAssumeRoleWithSAML = "AssumeRoleWithSAML"
|
|||
// fmt.Println(resp)
|
||||
// }
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML
|
||||
func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *request.Request, output *AssumeRoleWithSAMLOutput) {
|
||||
op := &request.Operation{
|
||||
Name: opAssumeRoleWithSAML,
|
||||
|
@ -341,7 +341,7 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
|
|||
// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML
|
||||
func (c *STS) AssumeRoleWithSAML(input *AssumeRoleWithSAMLInput) (*AssumeRoleWithSAMLOutput, error) {
|
||||
req, out := c.AssumeRoleWithSAMLRequest(input)
|
||||
return out, req.Send()
|
||||
|
@ -388,7 +388,7 @@ const opAssumeRoleWithWebIdentity = "AssumeRoleWithWebIdentity"
|
|||
// fmt.Println(resp)
|
||||
// }
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity
|
||||
func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityInput) (req *request.Request, output *AssumeRoleWithWebIdentityOutput) {
|
||||
op := &request.Operation{
|
||||
Name: opAssumeRoleWithWebIdentity,
|
||||
|
@ -543,7 +543,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
|
|||
// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity
|
||||
func (c *STS) AssumeRoleWithWebIdentity(input *AssumeRoleWithWebIdentityInput) (*AssumeRoleWithWebIdentityOutput, error) {
|
||||
req, out := c.AssumeRoleWithWebIdentityRequest(input)
|
||||
return out, req.Send()
|
||||
|
@ -590,7 +590,7 @@ const opDecodeAuthorizationMessage = "DecodeAuthorizationMessage"
|
|||
// fmt.Println(resp)
|
||||
// }
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage
|
||||
func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessageInput) (req *request.Request, output *DecodeAuthorizationMessageOutput) {
|
||||
op := &request.Operation{
|
||||
Name: opDecodeAuthorizationMessage,
|
||||
|
@ -655,7 +655,7 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag
|
|||
// invalid. This can happen if the token contains invalid characters, such as
|
||||
// linebreaks.
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage
|
||||
func (c *STS) DecodeAuthorizationMessage(input *DecodeAuthorizationMessageInput) (*DecodeAuthorizationMessageOutput, error) {
|
||||
req, out := c.DecodeAuthorizationMessageRequest(input)
|
||||
return out, req.Send()
|
||||
|
@ -702,7 +702,7 @@ const opGetCallerIdentity = "GetCallerIdentity"
|
|||
// fmt.Println(resp)
|
||||
// }
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity
|
||||
func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *request.Request, output *GetCallerIdentityOutput) {
|
||||
op := &request.Operation{
|
||||
Name: opGetCallerIdentity,
|
||||
|
@ -730,7 +730,7 @@ func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *requ
|
|||
//
|
||||
// See the AWS API reference guide for AWS Security Token Service's
|
||||
// API operation GetCallerIdentity for usage and error information.
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity
|
||||
func (c *STS) GetCallerIdentity(input *GetCallerIdentityInput) (*GetCallerIdentityOutput, error) {
|
||||
req, out := c.GetCallerIdentityRequest(input)
|
||||
return out, req.Send()
|
||||
|
@ -777,7 +777,7 @@ const opGetFederationToken = "GetFederationToken"
|
|||
// fmt.Println(resp)
|
||||
// }
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken
|
||||
func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *request.Request, output *GetFederationTokenOutput) {
|
||||
op := &request.Operation{
|
||||
Name: opGetFederationToken,
|
||||
|
@ -899,7 +899,7 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
|
|||
// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken
|
||||
func (c *STS) GetFederationToken(input *GetFederationTokenInput) (*GetFederationTokenOutput, error) {
|
||||
req, out := c.GetFederationTokenRequest(input)
|
||||
return out, req.Send()
|
||||
|
@ -946,7 +946,7 @@ const opGetSessionToken = "GetSessionToken"
|
|||
// fmt.Println(resp)
|
||||
// }
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken
|
||||
func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.Request, output *GetSessionTokenOutput) {
|
||||
op := &request.Operation{
|
||||
Name: opGetSessionToken,
|
||||
|
@ -1027,7 +1027,7 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.
|
|||
// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
|
||||
// in the IAM User Guide.
|
||||
//
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken
|
||||
func (c *STS) GetSessionToken(input *GetSessionTokenInput) (*GetSessionTokenOutput, error) {
|
||||
req, out := c.GetSessionTokenRequest(input)
|
||||
return out, req.Send()
|
||||
|
@ -1049,7 +1049,7 @@ func (c *STS) GetSessionTokenWithContext(ctx aws.Context, input *GetSessionToken
|
|||
return out, req.Send()
|
||||
}
|
||||
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest
|
||||
type AssumeRoleInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -1241,7 +1241,7 @@ func (s *AssumeRoleInput) SetTokenCode(v string) *AssumeRoleInput {
|
|||
|
||||
// Contains the response to a successful AssumeRole request, including temporary
|
||||
// AWS credentials that can be used to make AWS requests.
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleResponse
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleResponse
|
||||
type AssumeRoleOutput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -1295,7 +1295,7 @@ func (s *AssumeRoleOutput) SetPackedPolicySize(v int64) *AssumeRoleOutput {
|
|||
return s
|
||||
}
|
||||
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLRequest
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLRequest
|
||||
type AssumeRoleWithSAMLInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -1436,7 +1436,7 @@ func (s *AssumeRoleWithSAMLInput) SetSAMLAssertion(v string) *AssumeRoleWithSAML
|
|||
|
||||
// Contains the response to a successful AssumeRoleWithSAML request, including
|
||||
// temporary AWS credentials that can be used to make AWS requests.
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLResponse
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLResponse
|
||||
type AssumeRoleWithSAMLOutput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -1548,7 +1548,7 @@ func (s *AssumeRoleWithSAMLOutput) SetSubjectType(v string) *AssumeRoleWithSAMLO
|
|||
return s
|
||||
}
|
||||
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityRequest
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityRequest
|
||||
type AssumeRoleWithWebIdentityInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -1711,7 +1711,7 @@ func (s *AssumeRoleWithWebIdentityInput) SetWebIdentityToken(v string) *AssumeRo
|
|||
|
||||
// Contains the response to a successful AssumeRoleWithWebIdentity request,
|
||||
// including temporary AWS credentials that can be used to make AWS requests.
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityResponse
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityResponse
|
||||
type AssumeRoleWithWebIdentityOutput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -1804,7 +1804,7 @@ func (s *AssumeRoleWithWebIdentityOutput) SetSubjectFromWebIdentityToken(v strin
|
|||
|
||||
// The identifiers for the temporary security credentials that the operation
|
||||
// returns.
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumedRoleUser
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumedRoleUser
|
||||
type AssumedRoleUser struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -1847,7 +1847,7 @@ func (s *AssumedRoleUser) SetAssumedRoleId(v string) *AssumedRoleUser {
|
|||
}
|
||||
|
||||
// AWS credentials for API authentication.
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/Credentials
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/Credentials
|
||||
type Credentials struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -1906,7 +1906,7 @@ func (s *Credentials) SetSessionToken(v string) *Credentials {
|
|||
return s
|
||||
}
|
||||
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageRequest
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageRequest
|
||||
type DecodeAuthorizationMessageInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -1951,7 +1951,7 @@ func (s *DecodeAuthorizationMessageInput) SetEncodedMessage(v string) *DecodeAut
|
|||
// A document that contains additional information about the authorization status
|
||||
// of a request from an encoded message that is returned in response to an AWS
|
||||
// request.
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageResponse
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageResponse
|
||||
type DecodeAuthorizationMessageOutput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -1976,7 +1976,7 @@ func (s *DecodeAuthorizationMessageOutput) SetDecodedMessage(v string) *DecodeAu
|
|||
}
|
||||
|
||||
// Identifiers for the federated user that is associated with the credentials.
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/FederatedUser
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/FederatedUser
|
||||
type FederatedUser struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -2017,7 +2017,7 @@ func (s *FederatedUser) SetFederatedUserId(v string) *FederatedUser {
|
|||
return s
|
||||
}
|
||||
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityRequest
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityRequest
|
||||
type GetCallerIdentityInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
}
|
||||
|
@ -2034,7 +2034,7 @@ func (s GetCallerIdentityInput) GoString() string {
|
|||
|
||||
// Contains the response to a successful GetCallerIdentity request, including
|
||||
// information about the entity making the request.
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityResponse
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityResponse
|
||||
type GetCallerIdentityOutput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -2080,7 +2080,7 @@ func (s *GetCallerIdentityOutput) SetUserId(v string) *GetCallerIdentityOutput {
|
|||
return s
|
||||
}
|
||||
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenRequest
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenRequest
|
||||
type GetFederationTokenInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -2189,7 +2189,7 @@ func (s *GetFederationTokenInput) SetPolicy(v string) *GetFederationTokenInput {
|
|||
|
||||
// Contains the response to a successful GetFederationToken request, including
|
||||
// temporary AWS credentials that can be used to make AWS requests.
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenResponse
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenResponse
|
||||
type GetFederationTokenOutput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -2242,7 +2242,7 @@ func (s *GetFederationTokenOutput) SetPackedPolicySize(v int64) *GetFederationTo
|
|||
return s
|
||||
}
|
||||
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenRequest
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenRequest
|
||||
type GetSessionTokenInput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
@ -2327,7 +2327,7 @@ func (s *GetSessionTokenInput) SetTokenCode(v string) *GetSessionTokenInput {
|
|||
|
||||
// Contains the response to a successful GetSessionToken request, including
|
||||
// temporary AWS credentials that can be used to make AWS requests.
|
||||
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenResponse
|
||||
// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenResponse
|
||||
type GetSessionTokenOutput struct {
|
||||
_ struct{} `type:"structure"`
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
//
|
||||
// Using the Client
|
||||
//
|
||||
// To AWS Security Token Service with the SDK use the New function to create
|
||||
// To contact AWS Security Token Service with the SDK use the New function to create
|
||||
// a new service client. With that client you can make API requests to the service.
|
||||
// These clients are safe to use concurrently.
|
||||
//
|
||||
|
|
|
@ -248,244 +248,244 @@
|
|||
"revision": "4239b77079c7b5d1243b7b4736304ce8ddb6f0f2"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "7vSTKBRZq6azJnhm1k6XmNxu97M=",
|
||||
"checksumSHA1": "tN8pbihy8mw+m0UVqNNFJmx7p+Y=",
|
||||
"path": "github.com/aws/aws-sdk-go",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "BRgDFkYJonSbN+/ugKMUuSXkS4c=",
|
||||
"checksumSHA1": "NQu/L+9CIJLpgrZt3UMlbma9Pk0=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "Y9W+4GimK4Fuxq+vyIskVYFRnX4=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/awserr",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "yyYr41HZ1Aq0hWc3J5ijXwYEcac=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/awsutil",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "n98FANpNeRT5kf6pizdpI7nm6Sw=",
|
||||
"checksumSHA1": "9nE/FjZ4pYrT883KtV2/aI+Gayo=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/client",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "ieAJ+Cvp/PKv1LpUEnUXpc3OI6E=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/client/metadata",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "7/8j/q0TWtOgXyvEcv4B2Dhl00o=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/corehandlers",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "Y+cPwQL0dZMyqp3wI+KJWmA9KQ8=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/credentials",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "u3GOAJLmdvbuNUeUEcZSEAOeL/0=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "NUJUTWlc1sV8b7WjfiYc4JZbXl0=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "JEYqmF83O5n5bHkupAzA6STm0no=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/credentials/stscreds",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "ZdtYh3ZHSgP/WEIaqwJHTEhpkbs=",
|
||||
"checksumSHA1": "OnU/n7R33oYXiB4SAGd5pK7I0Bs=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/defaults",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "/EXbk/z2TWjWc1Hvb4QYs3Wmhb8=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/ec2metadata",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "W45tSKW4ZVgBk9H4lx5RbGi9OVg=",
|
||||
"checksumSHA1": "bV8wC0xzF08ztv57EXbeLjNxmsI=",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/endpoints",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "Rdm9v0vpqsO1Ka9rwktfL19D8A8=",
|
||||
"checksumSHA1": "JZ49s4cNe3nIttx3hWp04CQif4o=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/request",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "SK5Mn4Ga9+equOQTYA1DTSb3LWY=",
|
||||
"checksumSHA1": "HcGL4e6Uep4/80eCUI5xkcWjpQ0=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/session",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "1+ZxEwzc1Vz8X2l+kXkS2iATtas=",
|
||||
"checksumSHA1": "iU00ZjhAml/13g+1YXT21IqoXqg=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/aws/signer/v4",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "04ypv4x12l4q0TksA1zEVsmgpvw=",
|
||||
"path": "github.com/aws/aws-sdk-go/internal/shareddefaults",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "wk7EyvDaHwb5qqoOP/4d3cV0708=",
|
||||
"checksumSHA1": "NStHCXEvYqG72GknZyv1jaKaeH0=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/private/protocol",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "1QmQ3FqV37w0Zi44qv8pA1GeR0A=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/private/protocol/ec2query",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "O6hcK24yI6w7FA+g4Pbr+eQ7pys=",
|
||||
"checksumSHA1": "yHfT5DTbeCLs4NE2Rgnqrhe15ls=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "R00RL5jJXRYq1iiK1+PGvMfvXyM=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "ZqY5RWavBLWTo6j9xqdyBEaNFRk=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/private/protocol/query",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "Drt1JfLMa0DQEZLWrnMlTWaIcC8=",
|
||||
"checksumSHA1": "9V1PvtFQ9MObZTc3sa86WcuOtOU=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "VCTh+dEaqqhog5ncy/WTt9+/gFM=",
|
||||
"checksumSHA1": "pkeoOfZpHRvFG/AOZeTf0lwtsFg=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/private/protocol/rest",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "ODo+ko8D6unAxZuN1jGzMcN4QCc=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/private/protocol/restxml",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "0qYPUga28aQVkxZgBR3Z86AbGUQ=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "Eo9yODN5U99BK0pMzoqnBm7PCrY=",
|
||||
|
@ -493,62 +493,62 @@
|
|||
"path": "github.com/aws/aws-sdk-go/private/waiter",
|
||||
"revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
|
||||
"revisionTime": "2017-02-24T22:28:38Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "INaeHZ2L5x6RlrcQBm4q1hFqNRM=",
|
||||
"checksumSHA1": "4igS6faf4hrhDj6Jj9ErVcN1qKo=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/service/ec2",
|
||||
"revision": "5177d71d80f123f6d82aaf762387e39b88c5ba23",
|
||||
"revisionTime": "2018-01-09T00:04:15Z",
|
||||
"version": "v1.12.57",
|
||||
"versionExact": "v1.12.57"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "YNq7YhasHn9ceelWX2aG0Cg0Ga0=",
|
||||
"checksumSHA1": "uEv9kkBsVIjg7K4+Y8TVlU0Cc8o=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/service/ecr",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "SEKg+cGyOj6dKdK5ltUHsoL4R4Y=",
|
||||
"checksumSHA1": "sCaHoPWsJXRHFbilUKwN71qFTOI=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/service/s3",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "RVrBBPDYg3ViwQDLBanFehkdqkM=",
|
||||
"checksumSHA1": "ZP6QI0X9BNKk8o1p3AyLfjabS20=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/service/s3/s3iface",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "LlIpD3fzngPXshFh/5tuCWlrYzI=",
|
||||
"checksumSHA1": "g6Eo2gEoj6YEZ+tLwydnfhwo7zg=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/service/s3/s3manager",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "MerduaV3PxtZAWvOGpgoBIglo38=",
|
||||
"checksumSHA1": "W1oFtpaT4TWIIJrAvFcn/XdcT7g=",
|
||||
"comment": "v1.7.1",
|
||||
"path": "github.com/aws/aws-sdk-go/service/sts",
|
||||
"revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
|
||||
"revisionTime": "2017-08-10T20:40:06Z",
|
||||
"version": "v1.10.23",
|
||||
"versionExact": "v1.10.23"
|
||||
"revision": "0cbaf57ea311890e62f0b01652529295079e9e95",
|
||||
"revisionTime": "2018-02-05T21:18:42Z",
|
||||
"version": "v1.12.71",
|
||||
"versionExact": "v1.12.71"
|
||||
},
|
||||
{
|
||||
"checksumSHA1": "7SbTaY0kaYxgQrG3/9cjrI+BcyU=",
|
||||
|
|
Loading…
Reference in New Issue