Commit 926e0d59 authored by Justin Santa Barbara's avatar Justin Santa Barbara

Bump aws-sdk-go version to workaround #16238

This bumps aws-sdk-go to the latest version (currently unreleased), to workaround a Godep problem when a package listed in Godeps no longer exists on the master branch. See #16238 for the gory details. Fixes #16238. We will likely want to bump up again to the next released version once it is released, but this version appears to be pretty similar to the last released version (0.9.16)
parent 3298eff2
...@@ -49,53 +49,53 @@ ...@@ -49,53 +49,53 @@
}, },
{ {
"ImportPath": "github.com/aws/aws-sdk-go/aws", "ImportPath": "github.com/aws/aws-sdk-go/aws",
"Comment": "v0.9.9", "Comment": "v0.9.16-3-g4944a94",
"Rev": "c4ae871ffc03691a7b039fa751a1e7afee56e920" "Rev": "4944a94a3b092d1dad8a964415700a70f55e580a"
}, },
{ {
"ImportPath": "github.com/aws/aws-sdk-go/internal/endpoints", "ImportPath": "github.com/aws/aws-sdk-go/private/endpoints",
"Comment": "v0.9.9", "Comment": "v0.9.16-3-g4944a94",
"Rev": "c4ae871ffc03691a7b039fa751a1e7afee56e920" "Rev": "4944a94a3b092d1dad8a964415700a70f55e580a"
}, },
{ {
"ImportPath": "github.com/aws/aws-sdk-go/internal/protocol/ec2query", "ImportPath": "github.com/aws/aws-sdk-go/private/protocol/ec2query",
"Comment": "v0.9.9", "Comment": "v0.9.16-3-g4944a94",
"Rev": "c4ae871ffc03691a7b039fa751a1e7afee56e920" "Rev": "4944a94a3b092d1dad8a964415700a70f55e580a"
}, },
{ {
"ImportPath": "github.com/aws/aws-sdk-go/internal/protocol/query", "ImportPath": "github.com/aws/aws-sdk-go/private/protocol/query",
"Comment": "v0.9.9", "Comment": "v0.9.16-3-g4944a94",
"Rev": "c4ae871ffc03691a7b039fa751a1e7afee56e920" "Rev": "4944a94a3b092d1dad8a964415700a70f55e580a"
}, },
{ {
"ImportPath": "github.com/aws/aws-sdk-go/internal/protocol/rest", "ImportPath": "github.com/aws/aws-sdk-go/private/protocol/rest",
"Comment": "v0.9.9", "Comment": "v0.9.16-3-g4944a94",
"Rev": "c4ae871ffc03691a7b039fa751a1e7afee56e920" "Rev": "4944a94a3b092d1dad8a964415700a70f55e580a"
}, },
{ {
"ImportPath": "github.com/aws/aws-sdk-go/internal/protocol/xml/xmlutil", "ImportPath": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil",
"Comment": "v0.9.9", "Comment": "v0.9.16-3-g4944a94",
"Rev": "c4ae871ffc03691a7b039fa751a1e7afee56e920" "Rev": "4944a94a3b092d1dad8a964415700a70f55e580a"
}, },
{ {
"ImportPath": "github.com/aws/aws-sdk-go/internal/signer/v4", "ImportPath": "github.com/aws/aws-sdk-go/private/signer/v4",
"Comment": "v0.9.9", "Comment": "v0.9.16-3-g4944a94",
"Rev": "c4ae871ffc03691a7b039fa751a1e7afee56e920" "Rev": "4944a94a3b092d1dad8a964415700a70f55e580a"
}, },
{ {
"ImportPath": "github.com/aws/aws-sdk-go/service/autoscaling", "ImportPath": "github.com/aws/aws-sdk-go/service/autoscaling",
"Comment": "v0.9.9", "Comment": "v0.9.16-3-g4944a94",
"Rev": "c4ae871ffc03691a7b039fa751a1e7afee56e920" "Rev": "4944a94a3b092d1dad8a964415700a70f55e580a"
}, },
{ {
"ImportPath": "github.com/aws/aws-sdk-go/service/ec2", "ImportPath": "github.com/aws/aws-sdk-go/service/ec2",
"Comment": "v0.9.9", "Comment": "v0.9.16-3-g4944a94",
"Rev": "c4ae871ffc03691a7b039fa751a1e7afee56e920" "Rev": "4944a94a3b092d1dad8a964415700a70f55e580a"
}, },
{ {
"ImportPath": "github.com/aws/aws-sdk-go/service/elb", "ImportPath": "github.com/aws/aws-sdk-go/service/elb",
"Comment": "v0.9.9", "Comment": "v0.9.16-3-g4944a94",
"Rev": "c4ae871ffc03691a7b039fa751a1e7afee56e920" "Rev": "4944a94a3b092d1dad8a964415700a70f55e580a"
}, },
{ {
"ImportPath": "github.com/beorn7/perks/quantile", "ImportPath": "github.com/beorn7/perks/quantile",
......
...@@ -7,8 +7,8 @@ import ( ...@@ -7,8 +7,8 @@ import (
"github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/credentials"
) )
// The default number of retries for a service. The value of -1 indicates that // DefaultRetries is the default number of retries for a service. The value of
// the service specific retry default will be used. // -1 indicates that the service specific retry default will be used.
const DefaultRetries = -1 const DefaultRetries = -1
// A Config provides service configuration for service clients. By default, // A Config provides service configuration for service clients. By default,
......
...@@ -20,7 +20,7 @@ type lener interface { ...@@ -20,7 +20,7 @@ type lener interface {
Len() int Len() int
} }
// BuildContentLength builds the content length of a request based on the body, // BuildContentLengthHandler builds the content length of a request based on the body,
// or will use the HTTPRequest.Header's "Content-Length" if defined. If unable // or will use the HTTPRequest.Header's "Content-Length" if defined. If unable
// to determine request body length and no "Content-Length" was specified it will panic. // to determine request body length and no "Content-Length" was specified it will panic.
var BuildContentLengthHandler = request.NamedHandler{"core.BuildContentLengthHandler", func(r *request.Request) { var BuildContentLengthHandler = request.NamedHandler{"core.BuildContentLengthHandler", func(r *request.Request) {
......
...@@ -10,7 +10,7 @@ import ( ...@@ -10,7 +10,7 @@ import (
"github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/request"
) )
// ValidateParameters is a request handler to validate the input parameters. // ValidateParametersHandler is a request handler to validate the input parameters.
// Validating parameters only has meaning if done prior to the request being sent. // Validating parameters only has meaning if done prior to the request being sent.
var ValidateParametersHandler = request.NamedHandler{"core.ValidateParametersHandler", func(r *request.Request) { var ValidateParametersHandler = request.NamedHandler{"core.ValidateParametersHandler", func(r *request.Request) {
if r.ParamsFilled() { if r.ParamsFilled() {
......
...@@ -53,8 +53,8 @@ import ( ...@@ -53,8 +53,8 @@ import (
"time" "time"
) )
// Create an empty Credential object that can be used as dummy placeholder // AnonymousCredentials is an empty Credential object that can be used as
// credentials for requests that do not need signed. // dummy placeholder credentials for requests that do not need signed.
// //
// This Credentials can be used to configure a service to not sign requests // This Credentials can be used to configure a service to not sign requests
// when making service API calls. For example, when accessing public // when making service API calls. For example, when accessing public
......
...@@ -2,7 +2,9 @@ package ec2metadata ...@@ -2,7 +2,9 @@ package ec2metadata
import ( import (
"io/ioutil" "io/ioutil"
"net"
"net/http" "net/http"
"time"
"github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/awserr"
...@@ -88,7 +90,19 @@ func copyConfig(config *Config) *aws.Config { ...@@ -88,7 +90,19 @@ func copyConfig(config *Config) *aws.Config {
} }
if c.HTTPClient == nil { if c.HTTPClient == nil {
c.HTTPClient = http.DefaultClient c.HTTPClient = &http.Client{
Transport: &http.Transport{
Proxy: http.ProxyFromEnvironment,
Dial: (&net.Dialer{
// use a shorter timeout than default because the metadata
// service is local if it is running, and to fail faster
// if not running on an ec2 instance.
Timeout: 5 * time.Second,
KeepAlive: 30 * time.Second,
}).Dial,
TLSHandshakeTimeout: 10 * time.Second,
},
}
} }
if c.Logger == nil { if c.Logger == nil {
c.Logger = aws.NewDefaultLogger() c.Logger = aws.NewDefaultLogger()
......
...@@ -24,6 +24,8 @@ var retryableCodes = map[string]struct{}{ ...@@ -24,6 +24,8 @@ var retryableCodes = map[string]struct{}{
"ThrottlingException": {}, "ThrottlingException": {},
"RequestLimitExceeded": {}, "RequestLimitExceeded": {},
"RequestThrottled": {}, "RequestThrottled": {},
"LimitExceededException": {}, // Deleting 10+ DynamoDb tables at once
"TooManyRequestsException": {}, // Lambda functions
} }
// credsExpiredCodes is a collection of error codes which signify the credentials // credsExpiredCodes is a collection of error codes which signify the credentials
......
...@@ -34,11 +34,9 @@ func (d DefaultRetryer) MaxRetries() uint { ...@@ -34,11 +34,9 @@ func (d DefaultRetryer) MaxRetries() uint {
return uint(aws.IntValue(d.Service.Config.MaxRetries)) return uint(aws.IntValue(d.Service.Config.MaxRetries))
} }
var seededRand = rand.New(rand.NewSource(time.Now().UnixNano()))
// RetryRules returns the delay duration before retrying this request again // RetryRules returns the delay duration before retrying this request again
func (d DefaultRetryer) RetryRules(r *request.Request) time.Duration { func (d DefaultRetryer) RetryRules(r *request.Request) time.Duration {
delay := int(math.Pow(2, float64(r.RetryCount))) * (seededRand.Intn(30) + 30) delay := int(math.Pow(2, float64(r.RetryCount))) * (rand.Intn(30) + 30)
return time.Duration(delay) * time.Millisecond return time.Duration(delay) * time.Millisecond
} }
......
...@@ -12,7 +12,7 @@ import ( ...@@ -12,7 +12,7 @@ import (
"github.com/aws/aws-sdk-go/aws/corehandlers" "github.com/aws/aws-sdk-go/aws/corehandlers"
"github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/aws/service/serviceinfo" "github.com/aws/aws-sdk-go/aws/service/serviceinfo"
"github.com/aws/aws-sdk-go/internal/endpoints" "github.com/aws/aws-sdk-go/private/endpoints"
) )
// A Service implements the base service request and response handling // A Service implements the base service request and response handling
......
...@@ -5,4 +5,4 @@ package aws ...@@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go" const SDKName = "aws-sdk-go"
// SDKVersion is the version of this SDK // SDKVersion is the version of this SDK
const SDKVersion = "0.9.9" const SDKVersion = "0.9.16"
...@@ -25,6 +25,10 @@ ...@@ -25,6 +25,10 @@
"endpoint": "", "endpoint": "",
"signingRegion": "us-east-1" "signingRegion": "us-east-1"
}, },
"*/data.iot": {
"endpoint": "",
"signingRegion": "us-east-1"
},
"*/iam": { "*/iam": {
"endpoint": "iam.amazonaws.com", "endpoint": "iam.amazonaws.com",
"signingRegion": "us-east-1" "signingRegion": "us-east-1"
......
...@@ -26,6 +26,10 @@ var endpointsMap = endpointStruct{ ...@@ -26,6 +26,10 @@ var endpointsMap = endpointStruct{
Endpoint: "", Endpoint: "",
SigningRegion: "us-east-1", SigningRegion: "us-east-1",
}, },
"*/data.iot": {
Endpoint: "",
SigningRegion: "us-east-1",
},
"*/iam": { "*/iam": {
Endpoint: "iam.amazonaws.com", Endpoint: "iam.amazonaws.com",
SigningRegion: "us-east-1", SigningRegion: "us-east-1",
......
// Package ec2query provides serialisation of AWS EC2 requests and responses. // Package ec2query provides serialisation of AWS EC2 requests and responses.
package ec2query package ec2query
//go:generate go run ../../fixtures/protocol/generate.go ../../fixtures/protocol/input/ec2.json build_test.go //go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/ec2.json build_test.go
import ( import (
"net/url" "net/url"
"github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/internal/protocol/query/queryutil" "github.com/aws/aws-sdk-go/private/protocol/query/queryutil"
) )
// Build builds a request for the EC2 protocol. // Build builds a request for the EC2 protocol.
......
package ec2query package ec2query
//go:generate go run ../../fixtures/protocol/generate.go ../../fixtures/protocol/output/ec2.json unmarshal_test.go //go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/ec2.json unmarshal_test.go
import ( import (
"encoding/xml" "encoding/xml"
...@@ -8,7 +8,7 @@ import ( ...@@ -8,7 +8,7 @@ import (
"github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/internal/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil"
) )
// Unmarshal unmarshals a response body for the EC2 protocol. // Unmarshal unmarshals a response body for the EC2 protocol.
......
// Package query provides serialisation of AWS query requests, and responses. // Package query provides serialisation of AWS query requests, and responses.
package query package query
//go:generate go run ../../fixtures/protocol/generate.go ../../fixtures/protocol/input/query.json build_test.go //go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/query.json build_test.go
import ( import (
"net/url" "net/url"
"github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/internal/protocol/query/queryutil" "github.com/aws/aws-sdk-go/private/protocol/query/queryutil"
) )
// Build builds a request for an AWS Query service. // Build builds a request for an AWS Query service.
......
package query package query
//go:generate go run ../../fixtures/protocol/generate.go ../../fixtures/protocol/output/query.json unmarshal_test.go //go:generate go run ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/query.json unmarshal_test.go
import ( import (
"encoding/xml" "encoding/xml"
"github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/internal/protocol/xml/xmlutil" "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil"
) )
// Unmarshal unmarshals a response for an AWS Query service. // Unmarshal unmarshals a response for an AWS Query service.
......
...@@ -6,6 +6,7 @@ import ( ...@@ -6,6 +6,7 @@ import (
"encoding/base64" "encoding/base64"
"fmt" "fmt"
"io" "io"
"net/http"
"net/url" "net/url"
"path" "path"
"reflect" "reflect"
...@@ -23,6 +24,8 @@ const RFC822 = "Mon, 2 Jan 2006 15:04:05 GMT" ...@@ -23,6 +24,8 @@ const RFC822 = "Mon, 2 Jan 2006 15:04:05 GMT"
// Whether the byte value can be sent without escaping in AWS URLs // Whether the byte value can be sent without escaping in AWS URLs
var noEscape [256]bool var noEscape [256]bool
var errValueNotSet = fmt.Errorf("value not set")
func init() { func init() {
for i := 0; i < len(noEscape); i++ { for i := 0; i < len(noEscape); i++ {
// AWS expects every character except these to be escaped // AWS expects every character except these to be escaped
...@@ -67,16 +70,18 @@ func buildLocationElements(r *request.Request, v reflect.Value) { ...@@ -67,16 +70,18 @@ func buildLocationElements(r *request.Request, v reflect.Value) {
continue continue
} }
var err error
switch field.Tag.Get("location") { switch field.Tag.Get("location") {
case "headers": // header maps case "headers": // header maps
buildHeaderMap(r, m, field.Tag.Get("locationName")) err = buildHeaderMap(&r.HTTPRequest.Header, m, field.Tag.Get("locationName"))
case "header": case "header":
buildHeader(r, m, name) err = buildHeader(&r.HTTPRequest.Header, m, name)
case "uri": case "uri":
buildURI(r, m, name) err = buildURI(r.HTTPRequest.URL, m, name)
case "querystring": case "querystring":
buildQueryString(r, m, name, query) err = buildQueryString(query, m, name)
} }
r.Error = err
} }
if r.Error != nil { if r.Error != nil {
return return
...@@ -112,45 +117,77 @@ func buildBody(r *request.Request, v reflect.Value) { ...@@ -112,45 +117,77 @@ func buildBody(r *request.Request, v reflect.Value) {
} }
} }
func buildHeader(r *request.Request, v reflect.Value, name string) { func buildHeader(header *http.Header, v reflect.Value, name string) error {
str, err := convertType(v) str, err := convertType(v)
if err != nil { if err == errValueNotSet {
r.Error = awserr.New("SerializationError", "failed to encode REST request", err) return nil
} else if str != nil { } else if err != nil {
r.HTTPRequest.Header.Add(name, *str) return awserr.New("SerializationError", "failed to encode REST request", err)
} }
header.Add(name, str)
return nil
} }
func buildHeaderMap(r *request.Request, v reflect.Value, prefix string) { func buildHeaderMap(header *http.Header, v reflect.Value, prefix string) error {
for _, key := range v.MapKeys() { for _, key := range v.MapKeys() {
str, err := convertType(v.MapIndex(key)) str, err := convertType(v.MapIndex(key))
if err != nil { if err == errValueNotSet {
r.Error = awserr.New("SerializationError", "failed to encode REST request", err) continue
} else if str != nil { } else if err != nil {
r.HTTPRequest.Header.Add(prefix+key.String(), *str) return awserr.New("SerializationError", "failed to encode REST request", err)
} }
header.Add(prefix+key.String(), str)
} }
return nil
} }
func buildURI(r *request.Request, v reflect.Value, name string) { func buildURI(u *url.URL, v reflect.Value, name string) error {
value, err := convertType(v) value, err := convertType(v)
if err != nil { if err == errValueNotSet {
r.Error = awserr.New("SerializationError", "failed to encode REST request", err) return nil
} else if value != nil { } else if err != nil {
uri := r.HTTPRequest.URL.Path return awserr.New("SerializationError", "failed to encode REST request", err)
uri = strings.Replace(uri, "{"+name+"}", EscapePath(*value, true), -1)
uri = strings.Replace(uri, "{"+name+"+}", EscapePath(*value, false), -1)
r.HTTPRequest.URL.Path = uri
} }
uri := u.Path
uri = strings.Replace(uri, "{"+name+"}", EscapePath(value, true), -1)
uri = strings.Replace(uri, "{"+name+"+}", EscapePath(value, false), -1)
u.Path = uri
return nil
} }
func buildQueryString(r *request.Request, v reflect.Value, name string, query url.Values) { func buildQueryString(query url.Values, v reflect.Value, name string) error {
str, err := convertType(v) switch value := v.Interface().(type) {
if err != nil { case []*string:
r.Error = awserr.New("SerializationError", "failed to encode REST request", err) for _, item := range value {
} else if str != nil { query.Add(name, *item)
query.Set(name, *str) }
case map[string]*string:
for key, item := range value {
query.Add(key, *item)
}
case map[string][]*string:
for key, items := range value {
for _, item := range items {
query.Add(key, *item)
}
}
default:
str, err := convertType(v)
if err == errValueNotSet {
return nil
} else if err != nil {
return awserr.New("SerializationError", "failed to encode REST request", err)
}
query.Set(name, str)
} }
return nil
} }
func updatePath(url *url.URL, urlPath string) { func updatePath(url *url.URL, urlPath string) {
...@@ -189,10 +226,10 @@ func EscapePath(path string, encodeSep bool) string { ...@@ -189,10 +226,10 @@ func EscapePath(path string, encodeSep bool) string {
return buf.String() return buf.String()
} }
func convertType(v reflect.Value) (*string, error) { func convertType(v reflect.Value) (string, error) {
v = reflect.Indirect(v) v = reflect.Indirect(v)
if !v.IsValid() { if !v.IsValid() {
return nil, nil return "", errValueNotSet
} }
var str string var str string
...@@ -211,7 +248,7 @@ func convertType(v reflect.Value) (*string, error) { ...@@ -211,7 +248,7 @@ func convertType(v reflect.Value) (*string, error) {
str = value.UTC().Format(RFC822) str = value.UTC().Format(RFC822)
default: 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 nil, err return "", err
} }
return &str, nil return str, nil
} }
...@@ -17,7 +17,7 @@ import ( ...@@ -17,7 +17,7 @@ import (
"github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/internal/protocol/rest" "github.com/aws/aws-sdk-go/private/protocol/rest"
) )
const ( const (
......
...@@ -8,8 +8,8 @@ import ( ...@@ -8,8 +8,8 @@ import (
"github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/aws/service" "github.com/aws/aws-sdk-go/aws/service"
"github.com/aws/aws-sdk-go/aws/service/serviceinfo" "github.com/aws/aws-sdk-go/aws/service/serviceinfo"
"github.com/aws/aws-sdk-go/internal/protocol/query" "github.com/aws/aws-sdk-go/private/protocol/query"
"github.com/aws/aws-sdk-go/internal/signer/v4" "github.com/aws/aws-sdk-go/private/signer/v4"
) )
// Auto Scaling is designed to automatically launch or terminate EC2 instances // Auto Scaling is designed to automatically launch or terminate EC2 instances
......
...@@ -630,6 +630,10 @@ type EC2API interface { ...@@ -630,6 +630,10 @@ type EC2API interface {
ModifySnapshotAttribute(*ec2.ModifySnapshotAttributeInput) (*ec2.ModifySnapshotAttributeOutput, error) ModifySnapshotAttribute(*ec2.ModifySnapshotAttributeInput) (*ec2.ModifySnapshotAttributeOutput, error)
ModifySpotFleetRequestRequest(*ec2.ModifySpotFleetRequestInput) (*request.Request, *ec2.ModifySpotFleetRequestOutput)
ModifySpotFleetRequest(*ec2.ModifySpotFleetRequestInput) (*ec2.ModifySpotFleetRequestOutput, error)
ModifySubnetAttributeRequest(*ec2.ModifySubnetAttributeInput) (*request.Request, *ec2.ModifySubnetAttributeOutput) ModifySubnetAttributeRequest(*ec2.ModifySubnetAttributeInput) (*request.Request, *ec2.ModifySubnetAttributeOutput)
ModifySubnetAttribute(*ec2.ModifySubnetAttributeInput) (*ec2.ModifySubnetAttributeOutput, error) ModifySubnetAttribute(*ec2.ModifySubnetAttributeInput) (*ec2.ModifySubnetAttributeOutput, error)
......
...@@ -8,8 +8,8 @@ import ( ...@@ -8,8 +8,8 @@ import (
"github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/aws/service" "github.com/aws/aws-sdk-go/aws/service"
"github.com/aws/aws-sdk-go/aws/service/serviceinfo" "github.com/aws/aws-sdk-go/aws/service/serviceinfo"
"github.com/aws/aws-sdk-go/internal/protocol/ec2query" "github.com/aws/aws-sdk-go/private/protocol/ec2query"
"github.com/aws/aws-sdk-go/internal/signer/v4" "github.com/aws/aws-sdk-go/private/signer/v4"
) )
// Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity // Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity
...@@ -32,7 +32,7 @@ func New(config *aws.Config) *EC2 { ...@@ -32,7 +32,7 @@ func New(config *aws.Config) *EC2 {
ServiceInfo: serviceinfo.ServiceInfo{ ServiceInfo: serviceinfo.ServiceInfo{
Config: defaults.DefaultConfig.Merge(config), Config: defaults.DefaultConfig.Merge(config),
ServiceName: "ec2", ServiceName: "ec2",
APIVersion: "2015-04-15", APIVersion: "2015-10-01",
}, },
} }
service.Initialize() service.Initialize()
......
...@@ -8,8 +8,8 @@ import ( ...@@ -8,8 +8,8 @@ import (
"github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/aws/service" "github.com/aws/aws-sdk-go/aws/service"
"github.com/aws/aws-sdk-go/aws/service/serviceinfo" "github.com/aws/aws-sdk-go/aws/service/serviceinfo"
"github.com/aws/aws-sdk-go/internal/protocol/query" "github.com/aws/aws-sdk-go/private/protocol/query"
"github.com/aws/aws-sdk-go/internal/signer/v4" "github.com/aws/aws-sdk-go/private/signer/v4"
) )
// Elastic Load Balancing distributes incoming traffic across your EC2 instances. // Elastic Load Balancing distributes incoming traffic across your EC2 instances.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment