aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/aws
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/aws')
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/client/client.go10
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go80
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/client/logger.go106
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go1
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/config.go26
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go6
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/convert_types.go18
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go28
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go37
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go18
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go6
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go46
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/csm/enable.go67
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go51
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/csm/metric_chan.go54
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go231
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go56
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go8
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go24
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go1059
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go4
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go22
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go12
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/logger.go10
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go18
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go4
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/request/request.go210
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go2
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go2
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go40
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go8
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/request/validation.go2
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go16
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/session/doc.go2
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go35
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/session/session.go64
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go173
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/types.go83
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/version.go2
-rw-r--r--vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.go10
-rw-r--r--vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.go12
-rw-r--r--vendor/github.com/aws/aws-sdk-go/internal/sdkrand/locked_source.go29
-rw-r--r--vendor/github.com/aws/aws-sdk-go/internal/sdkuri/path.go23
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/debug.go144
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/decode.go199
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/encode.go114
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/error.go23
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/api.go196
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/error.go24
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go166
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header_value.go501
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go103
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go76
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/payload.go81
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go2
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go11
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go33
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go20
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go72
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go18
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go20
-rw-r--r--vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go1
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/api.go5185
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/body_hash.go249
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/content_md5.go36
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go24
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/doc.go64
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go4
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go13
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/service.go8
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/sse.go18
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go3
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go8
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/sts/api.go317
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/sts/doc.go64
-rw-r--r--vendor/github.com/aws/aws-sdk-go/service/sts/service.go6
76 files changed, 8640 insertions, 1878 deletions
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/client.go b/vendor/github.com/aws/aws-sdk-go/aws/client/client.go
index 788fe6e..212fe25 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/client/client.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/client/client.go
@@ -15,6 +15,12 @@ type Config struct {
15 Endpoint string 15 Endpoint string
16 SigningRegion string 16 SigningRegion string
17 SigningName string 17 SigningName string
18
19 // States that the signing name did not come from a modeled source but
20 // was derived based on other data. Used by service client constructors
21 // to determine if the signin name can be overriden based on metadata the
22 // service has.
23 SigningNameDerived bool
18} 24}
19 25
20// ConfigProvider provides a generic way for a service client to receive 26// ConfigProvider provides a generic way for a service client to receive
@@ -85,6 +91,6 @@ func (c *Client) AddDebugHandlers() {
85 return 91 return
86 } 92 }
87 93
88 c.Handlers.Send.PushFrontNamed(request.NamedHandler{Name: "awssdk.client.LogRequest", Fn: logRequest}) 94 c.Handlers.Send.PushFrontNamed(LogHTTPRequestHandler)
89 c.Handlers.Send.PushBackNamed(request.NamedHandler{Name: "awssdk.client.LogResponse", Fn: logResponse}) 95 c.Handlers.Send.PushBackNamed(LogHTTPResponseHandler)
90} 96}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
index 1313478..a397b0d 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
@@ -1,11 +1,11 @@
1package client 1package client
2 2
3import ( 3import (
4 "math/rand" 4 "strconv"
5 "sync"
6 "time" 5 "time"
7 6
8 "github.com/aws/aws-sdk-go/aws/request" 7 "github.com/aws/aws-sdk-go/aws/request"
8 "github.com/aws/aws-sdk-go/internal/sdkrand"
9) 9)
10 10
11// DefaultRetryer implements basic retry logic using exponential backoff for 11// DefaultRetryer implements basic retry logic using exponential backoff for
@@ -15,11 +15,11 @@ import (
15// the MaxRetries method: 15// the MaxRetries method:
16// 16//
17// type retryer struct { 17// type retryer struct {
18// service.DefaultRetryer 18// client.DefaultRetryer
19// } 19// }
20// 20//
21// // This implementation always has 100 max retries 21// // This implementation always has 100 max retries
22// func (d retryer) MaxRetries() uint { return 100 } 22// func (d retryer) MaxRetries() int { return 100 }
23type DefaultRetryer struct { 23type DefaultRetryer struct {
24 NumMaxRetries int 24 NumMaxRetries int
25} 25}
@@ -30,25 +30,27 @@ func (d DefaultRetryer) MaxRetries() int {
30 return d.NumMaxRetries 30 return d.NumMaxRetries
31} 31}
32 32
33var seededRand = rand.New(&lockedSource{src: rand.NewSource(time.Now().UnixNano())})
34
35// RetryRules returns the delay duration before retrying this request again 33// RetryRules returns the delay duration before retrying this request again
36func (d DefaultRetryer) RetryRules(r *request.Request) time.Duration { 34func (d DefaultRetryer) RetryRules(r *request.Request) time.Duration {
37 // Set the upper limit of delay in retrying at ~five minutes 35 // Set the upper limit of delay in retrying at ~five minutes
38 minTime := 30 36 minTime := 30
39 throttle := d.shouldThrottle(r) 37 throttle := d.shouldThrottle(r)
40 if throttle { 38 if throttle {
39 if delay, ok := getRetryDelay(r); ok {
40 return delay
41 }
42
41 minTime = 500 43 minTime = 500
42 } 44 }
43 45
44 retryCount := r.RetryCount 46 retryCount := r.RetryCount
45 if retryCount > 13 { 47 if throttle && retryCount > 8 {
46 retryCount = 13
47 } else if throttle && retryCount > 8 {
48 retryCount = 8 48 retryCount = 8
49 } else if retryCount > 13 {
50 retryCount = 13
49 } 51 }
50 52
51 delay := (1 << uint(retryCount)) * (seededRand.Intn(minTime) + minTime) 53 delay := (1 << uint(retryCount)) * (sdkrand.SeededRand.Intn(minTime) + minTime)
52 return time.Duration(delay) * time.Millisecond 54 return time.Duration(delay) * time.Millisecond
53} 55}
54 56
@@ -60,7 +62,7 @@ func (d DefaultRetryer) ShouldRetry(r *request.Request) bool {
60 return *r.Retryable 62 return *r.Retryable
61 } 63 }
62 64
63 if r.HTTPResponse.StatusCode >= 500 { 65 if r.HTTPResponse.StatusCode >= 500 && r.HTTPResponse.StatusCode != 501 {
64 return true 66 return true
65 } 67 }
66 return r.IsErrorRetryable() || d.shouldThrottle(r) 68 return r.IsErrorRetryable() || d.shouldThrottle(r)
@@ -68,29 +70,47 @@ func (d DefaultRetryer) ShouldRetry(r *request.Request) bool {
68 70
69// ShouldThrottle returns true if the request should be throttled. 71// ShouldThrottle returns true if the request should be throttled.
70func (d DefaultRetryer) shouldThrottle(r *request.Request) bool { 72func (d DefaultRetryer) shouldThrottle(r *request.Request) bool {
71 if r.HTTPResponse.StatusCode == 502 || 73 switch r.HTTPResponse.StatusCode {
72 r.HTTPResponse.StatusCode == 503 || 74 case 429:
73 r.HTTPResponse.StatusCode == 504 { 75 case 502:
74 return true 76 case 503:
77 case 504:
78 default:
79 return r.IsErrorThrottle()
75 } 80 }
76 return r.IsErrorThrottle()
77}
78 81
79// lockedSource is a thread-safe implementation of rand.Source 82 return true
80type lockedSource struct {
81 lk sync.Mutex
82 src rand.Source
83} 83}
84 84
85func (r *lockedSource) Int63() (n int64) { 85// This will look in the Retry-After header, RFC 7231, for how long
86 r.lk.Lock() 86// it will wait before attempting another request
87 n = r.src.Int63() 87func getRetryDelay(r *request.Request) (time.Duration, bool) {
88 r.lk.Unlock() 88 if !canUseRetryAfterHeader(r) {
89 return 89 return 0, false
90 }
91
92 delayStr := r.HTTPResponse.Header.Get("Retry-After")
93 if len(delayStr) == 0 {
94 return 0, false
95 }
96
97 delay, err := strconv.Atoi(delayStr)
98 if err != nil {
99 return 0, false
100 }
101
102 return time.Duration(delay) * time.Second, true
90} 103}
91 104
92func (r *lockedSource) Seed(seed int64) { 105// Will look at the status code to see if the retry header pertains to
93 r.lk.Lock() 106// the status code.
94 r.src.Seed(seed) 107func canUseRetryAfterHeader(r *request.Request) bool {
95 r.lk.Unlock() 108 switch r.HTTPResponse.StatusCode {
109 case 429:
110 case 503:
111 default:
112 return false
113 }
114
115 return true
96} 116}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go b/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go
index 1f39c91..ce9fb89 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go
@@ -44,22 +44,57 @@ func (reader *teeReaderCloser) Close() error {
44 return reader.Source.Close() 44 return reader.Source.Close()
45} 45}
46 46
47// LogHTTPRequestHandler is a SDK request handler to log the HTTP request sent
48// to a service. Will include the HTTP request body if the LogLevel of the
49// request matches LogDebugWithHTTPBody.
50var LogHTTPRequestHandler = request.NamedHandler{
51 Name: "awssdk.client.LogRequest",
52 Fn: logRequest,
53}
54
47func logRequest(r *request.Request) { 55func logRequest(r *request.Request) {
48 logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody) 56 logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody)
49 dumpedBody, err := httputil.DumpRequestOut(r.HTTPRequest, logBody) 57 bodySeekable := aws.IsReaderSeekable(r.Body)
58
59 b, err := httputil.DumpRequestOut(r.HTTPRequest, logBody)
50 if err != nil { 60 if err != nil {
51 r.Config.Logger.Log(fmt.Sprintf(logReqErrMsg, r.ClientInfo.ServiceName, r.Operation.Name, err)) 61 r.Config.Logger.Log(fmt.Sprintf(logReqErrMsg,
62 r.ClientInfo.ServiceName, r.Operation.Name, err))
52 return 63 return
53 } 64 }
54 65
55 if logBody { 66 if logBody {
67 if !bodySeekable {
68 r.SetReaderBody(aws.ReadSeekCloser(r.HTTPRequest.Body))
69 }
56 // Reset the request body because dumpRequest will re-wrap the r.HTTPRequest's 70 // Reset the request body because dumpRequest will re-wrap the r.HTTPRequest's
57 // Body as a NoOpCloser and will not be reset after read by the HTTP 71 // Body as a NoOpCloser and will not be reset after read by the HTTP
58 // client reader. 72 // client reader.
59 r.ResetBody() 73 r.ResetBody()
60 } 74 }
61 75
62 r.Config.Logger.Log(fmt.Sprintf(logReqMsg, r.ClientInfo.ServiceName, r.Operation.Name, string(dumpedBody))) 76 r.Config.Logger.Log(fmt.Sprintf(logReqMsg,
77 r.ClientInfo.ServiceName, r.Operation.Name, string(b)))
78}
79
80// LogHTTPRequestHeaderHandler is a SDK request handler to log the HTTP request sent
81// to a service. Will only log the HTTP request's headers. The request payload
82// will not be read.
83var LogHTTPRequestHeaderHandler = request.NamedHandler{
84 Name: "awssdk.client.LogRequestHeader",
85 Fn: logRequestHeader,
86}
87
88func logRequestHeader(r *request.Request) {
89 b, err := httputil.DumpRequestOut(r.HTTPRequest, false)
90 if err != nil {
91 r.Config.Logger.Log(fmt.Sprintf(logReqErrMsg,
92 r.ClientInfo.ServiceName, r.Operation.Name, err))
93 return
94 }
95
96 r.Config.Logger.Log(fmt.Sprintf(logReqMsg,
97 r.ClientInfo.ServiceName, r.Operation.Name, string(b)))
63} 98}
64 99
65const logRespMsg = `DEBUG: Response %s/%s Details: 100const logRespMsg = `DEBUG: Response %s/%s Details:
@@ -72,27 +107,44 @@ const logRespErrMsg = `DEBUG ERROR: Response %s/%s:
72%s 107%s
73-----------------------------------------------------` 108-----------------------------------------------------`
74 109
110// LogHTTPResponseHandler is a SDK request handler to log the HTTP response
111// received from a service. Will include the HTTP response body if the LogLevel
112// of the request matches LogDebugWithHTTPBody.
113var LogHTTPResponseHandler = request.NamedHandler{
114 Name: "awssdk.client.LogResponse",
115 Fn: logResponse,
116}
117
75func logResponse(r *request.Request) { 118func logResponse(r *request.Request) {
76 lw := &logWriter{r.Config.Logger, bytes.NewBuffer(nil)} 119 lw := &logWriter{r.Config.Logger, bytes.NewBuffer(nil)}
77 r.HTTPResponse.Body = &teeReaderCloser{ 120
78 Reader: io.TeeReader(r.HTTPResponse.Body, lw), 121 logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody)
79 Source: r.HTTPResponse.Body, 122 if logBody {
123 r.HTTPResponse.Body = &teeReaderCloser{
124 Reader: io.TeeReader(r.HTTPResponse.Body, lw),
125 Source: r.HTTPResponse.Body,
126 }
80 } 127 }
81 128
82 handlerFn := func(req *request.Request) { 129 handlerFn := func(req *request.Request) {
83 body, err := httputil.DumpResponse(req.HTTPResponse, false) 130 b, err := httputil.DumpResponse(req.HTTPResponse, false)
84 if err != nil { 131 if err != nil {
85 lw.Logger.Log(fmt.Sprintf(logRespErrMsg, req.ClientInfo.ServiceName, req.Operation.Name, err)) 132 lw.Logger.Log(fmt.Sprintf(logRespErrMsg,
133 req.ClientInfo.ServiceName, req.Operation.Name, err))
86 return 134 return
87 } 135 }
88 136
89 b, err := ioutil.ReadAll(lw.buf) 137 lw.Logger.Log(fmt.Sprintf(logRespMsg,
90 if err != nil { 138 req.ClientInfo.ServiceName, req.Operation.Name, string(b)))
91 lw.Logger.Log(fmt.Sprintf(logRespErrMsg, req.ClientInfo.ServiceName, req.Operation.Name, err)) 139
92 return 140 if logBody {
93 } 141 b, err := ioutil.ReadAll(lw.buf)
94 lw.Logger.Log(fmt.Sprintf(logRespMsg, req.ClientInfo.ServiceName, req.Operation.Name, string(body))) 142 if err != nil {
95 if req.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody) { 143 lw.Logger.Log(fmt.Sprintf(logRespErrMsg,
144 req.ClientInfo.ServiceName, req.Operation.Name, err))
145 return
146 }
147
96 lw.Logger.Log(string(b)) 148 lw.Logger.Log(string(b))
97 } 149 }
98 } 150 }
@@ -106,3 +158,27 @@ func logResponse(r *request.Request) {
106 Name: handlerName, Fn: handlerFn, 158 Name: handlerName, Fn: handlerFn,
107 }) 159 })
108} 160}
161
162// LogHTTPResponseHeaderHandler is a SDK request handler to log the HTTP
163// response received from a service. Will only log the HTTP response's headers.
164// The response payload will not be read.
165var LogHTTPResponseHeaderHandler = request.NamedHandler{
166 Name: "awssdk.client.LogResponseHeader",
167 Fn: logResponseHeader,
168}
169
170func logResponseHeader(r *request.Request) {
171 if r.Config.Logger == nil {
172 return
173 }
174
175 b, err := httputil.DumpResponse(r.HTTPResponse, false)
176 if err != nil {
177 r.Config.Logger.Log(fmt.Sprintf(logRespErrMsg,
178 r.ClientInfo.ServiceName, r.Operation.Name, err))
179 return
180 }
181
182 r.Config.Logger.Log(fmt.Sprintf(logRespMsg,
183 r.ClientInfo.ServiceName, r.Operation.Name, string(b)))
184}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go b/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go
index 4778056..920e9fd 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go
@@ -3,6 +3,7 @@ package metadata
3// ClientInfo wraps immutable data from the client.Client structure. 3// ClientInfo wraps immutable data from the client.Client structure.
4type ClientInfo struct { 4type ClientInfo struct {
5 ServiceName string 5 ServiceName string
6 ServiceID string
6 APIVersion string 7 APIVersion string
7 Endpoint string 8 Endpoint string
8 SigningName string 9 SigningName string
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/config.go b/vendor/github.com/aws/aws-sdk-go/aws/config.go
index d1f31f1..5421b5d 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/config.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/config.go
@@ -95,7 +95,7 @@ type Config struct {
95 // recoverable failures. 95 // recoverable failures.
96 // 96 //
97 // When nil or the value does not implement the request.Retryer interface, 97 // When nil or the value does not implement the request.Retryer interface,
98 // the request.DefaultRetryer will be used. 98 // the client.DefaultRetryer will be used.
99 // 99 //
100 // When both Retryer and MaxRetries are non-nil, the former is used and 100 // When both Retryer and MaxRetries are non-nil, the former is used and
101 // the latter ignored. 101 // the latter ignored.
@@ -151,6 +151,15 @@ type Config struct {
151 // with accelerate. 151 // with accelerate.
152 S3UseAccelerate *bool 152 S3UseAccelerate *bool
153 153
154 // S3DisableContentMD5Validation config option is temporarily disabled,
155 // For S3 GetObject API calls, #1837.
156 //
157 // Set this to `true` to disable the S3 service client from automatically
158 // adding the ContentMD5 to S3 Object Put and Upload API calls. This option
159 // will also disable the SDK from performing object ContentMD5 validation
160 // on GetObject API calls.
161 S3DisableContentMD5Validation *bool
162
154 // Set this to `true` to disable the EC2Metadata client from overriding the 163 // Set this to `true` to disable the EC2Metadata client from overriding the
155 // default http.Client's Timeout. This is helpful if you do not want the 164 // default http.Client's Timeout. This is helpful if you do not want the
156 // EC2Metadata client to create a new http.Client. This options is only 165 // EC2Metadata client to create a new http.Client. This options is only
@@ -168,7 +177,7 @@ type Config struct {
168 // 177 //
169 EC2MetadataDisableTimeoutOverride *bool 178 EC2MetadataDisableTimeoutOverride *bool
170 179
171 // Instructs the endpiont to be generated for a service client to 180 // Instructs the endpoint to be generated for a service client to
172 // be the dual stack endpoint. The dual stack endpoint will support 181 // be the dual stack endpoint. The dual stack endpoint will support
173 // both IPv4 and IPv6 addressing. 182 // both IPv4 and IPv6 addressing.
174 // 183 //
@@ -336,6 +345,15 @@ func (c *Config) WithS3Disable100Continue(disable bool) *Config {
336func (c *Config) WithS3UseAccelerate(enable bool) *Config { 345func (c *Config) WithS3UseAccelerate(enable bool) *Config {
337 c.S3UseAccelerate = &enable 346 c.S3UseAccelerate = &enable
338 return c 347 return c
348
349}
350
351// WithS3DisableContentMD5Validation sets a config
352// S3DisableContentMD5Validation value returning a Config pointer for chaining.
353func (c *Config) WithS3DisableContentMD5Validation(enable bool) *Config {
354 c.S3DisableContentMD5Validation = &enable
355 return c
356
339} 357}
340 358
341// WithUseDualStack sets a config UseDualStack value returning a Config 359// WithUseDualStack sets a config UseDualStack value returning a Config
@@ -435,6 +453,10 @@ func mergeInConfig(dst *Config, other *Config) {
435 dst.S3UseAccelerate = other.S3UseAccelerate 453 dst.S3UseAccelerate = other.S3UseAccelerate
436 } 454 }
437 455
456 if other.S3DisableContentMD5Validation != nil {
457 dst.S3DisableContentMD5Validation = other.S3DisableContentMD5Validation
458 }
459
438 if other.UseDualStack != nil { 460 if other.UseDualStack != nil {
439 dst.UseDualStack = other.UseDualStack 461 dst.UseDualStack = other.UseDualStack
440 } 462 }
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go b/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go
index e8cf93d..8fdda53 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go
@@ -4,9 +4,9 @@ package aws
4 4
5import "time" 5import "time"
6 6
7// An emptyCtx is a copy of the the Go 1.7 context.emptyCtx type. This 7// An emptyCtx is a copy of the Go 1.7 context.emptyCtx type. This is copied to
8// is copied to provide a 1.6 and 1.5 safe version of context that is compatible 8// provide a 1.6 and 1.5 safe version of context that is compatible with Go
9// with Go 1.7's Context. 9// 1.7's Context.
10// 10//
11// An emptyCtx is never canceled, has no values, and has no deadline. It is not 11// An emptyCtx is never canceled, has no values, and has no deadline. It is not
12// struct{}, since vars of this type must have distinct addresses. 12// struct{}, since vars of this type must have distinct addresses.
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go b/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go
index 3b73a7d..ff5d58e 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go
@@ -311,6 +311,24 @@ func TimeValue(v *time.Time) time.Time {
311 return time.Time{} 311 return time.Time{}
312} 312}
313 313
314// SecondsTimeValue converts an int64 pointer to a time.Time value
315// representing seconds since Epoch or time.Time{} if the pointer is nil.
316func SecondsTimeValue(v *int64) time.Time {
317 if v != nil {
318 return time.Unix((*v / 1000), 0)
319 }
320 return time.Time{}
321}
322
323// MillisecondsTimeValue converts an int64 pointer to a time.Time value
324// representing milliseconds sinch Epoch or time.Time{} if the pointer is nil.
325func MillisecondsTimeValue(v *int64) time.Time {
326 if v != nil {
327 return time.Unix(0, (*v * 1000000))
328 }
329 return time.Time{}
330}
331
314// TimeUnixMilli returns a Unix timestamp in milliseconds from "January 1, 1970 UTC". 332// TimeUnixMilli returns a Unix timestamp in milliseconds from "January 1, 1970 UTC".
315// The result is undefined if the Unix time cannot be represented by an int64. 333// The result is undefined if the Unix time cannot be represented by an int64.
316// Which includes calling TimeUnixMilli on a zero Time is undefined. 334// Which includes calling TimeUnixMilli on a zero Time is undefined.
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go
index 495e3ef..cfcddf3 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go
@@ -3,12 +3,10 @@ package corehandlers
3import ( 3import (
4 "bytes" 4 "bytes"
5 "fmt" 5 "fmt"
6 "io"
7 "io/ioutil" 6 "io/ioutil"
8 "net/http" 7 "net/http"
9 "net/url" 8 "net/url"
10 "regexp" 9 "regexp"
11 "runtime"
12 "strconv" 10 "strconv"
13 "time" 11 "time"
14 12
@@ -36,18 +34,13 @@ var BuildContentLengthHandler = request.NamedHandler{Name: "core.BuildContentLen
36 if slength := r.HTTPRequest.Header.Get("Content-Length"); slength != "" { 34 if slength := r.HTTPRequest.Header.Get("Content-Length"); slength != "" {
37 length, _ = strconv.ParseInt(slength, 10, 64) 35 length, _ = strconv.ParseInt(slength, 10, 64)
38 } else { 36 } else {
39 switch body := r.Body.(type) { 37 if r.Body != nil {
40 case nil: 38 var err error
41 length = 0 39 length, err = aws.SeekerLen(r.Body)
42 case lener: 40 if err != nil {
43 length = int64(body.Len()) 41 r.Error = awserr.New(request.ErrCodeSerialization, "failed to get request body's length", err)
44 case io.Seeker: 42 return
45 r.BodyStart, _ = body.Seek(0, 1) 43 }
46 end, _ := body.Seek(0, 2)
47 body.Seek(r.BodyStart, 0) // make sure to seek back to original location
48 length = end - r.BodyStart
49 default:
50 panic("Cannot get length of body, must provide `ContentLength`")
51 } 44 }
52 } 45 }
53 46
@@ -60,13 +53,6 @@ var BuildContentLengthHandler = request.NamedHandler{Name: "core.BuildContentLen
60 } 53 }
61}} 54}}
62 55
63// SDKVersionUserAgentHandler is a request handler for adding the SDK Version to the user agent.
64var SDKVersionUserAgentHandler = request.NamedHandler{
65 Name: "core.SDKVersionUserAgentHandler",
66 Fn: request.MakeAddToUserAgentHandler(aws.SDKName, aws.SDKVersion,
67 runtime.Version(), runtime.GOOS, runtime.GOARCH),
68}
69
70var reStatusCode = regexp.MustCompile(`^(\d{3})`) 56var reStatusCode = regexp.MustCompile(`^(\d{3})`)
71 57
72// ValidateReqSigHandler is a request handler to ensure that the request's 58// ValidateReqSigHandler is a request handler to ensure that the request's
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go
new file mode 100644
index 0000000..a15f496
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go
@@ -0,0 +1,37 @@
1package corehandlers
2
3import (
4 "os"
5 "runtime"
6
7 "github.com/aws/aws-sdk-go/aws"
8 "github.com/aws/aws-sdk-go/aws/request"
9)
10
11// SDKVersionUserAgentHandler is a request handler for adding the SDK Version
12// to the user agent.
13var SDKVersionUserAgentHandler = request.NamedHandler{
14 Name: "core.SDKVersionUserAgentHandler",
15 Fn: request.MakeAddToUserAgentHandler(aws.SDKName, aws.SDKVersion,
16 runtime.Version(), runtime.GOOS, runtime.GOARCH),
17}
18
19const execEnvVar = `AWS_EXECUTION_ENV`
20const execEnvUAKey = `exec_env`
21
22// AddHostExecEnvUserAgentHander is a request handler appending the SDK's
23// execution environment to the user agent.
24//
25// If the environment variable AWS_EXECUTION_ENV is set, its value will be
26// appended to the user agent string.
27var AddHostExecEnvUserAgentHander = request.NamedHandler{
28 Name: "core.AddHostExecEnvUserAgentHander",
29 Fn: func(r *request.Request) {
30 v := os.Getenv(execEnvVar)
31 if len(v) == 0 {
32 return
33 }
34
35 request.AddToUserAgent(r, execEnvUAKey+"/"+v)
36 },
37}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
index 42416fc..ed08699 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
@@ -178,7 +178,8 @@ func (e *Expiry) IsExpired() bool {
178type Credentials struct { 178type Credentials struct {
179 creds Value 179 creds Value
180 forceRefresh bool 180 forceRefresh bool
181 m sync.Mutex 181
182 m sync.RWMutex
182 183
183 provider Provider 184 provider Provider
184} 185}
@@ -201,6 +202,17 @@ func NewCredentials(provider Provider) *Credentials {
201// If Credentials.Expire() was called the credentials Value will be force 202// If Credentials.Expire() was called the credentials Value will be force
202// expired, and the next call to Get() will cause them to be refreshed. 203// expired, and the next call to Get() will cause them to be refreshed.
203func (c *Credentials) Get() (Value, error) { 204func (c *Credentials) Get() (Value, error) {
205 // Check the cached credentials first with just the read lock.
206 c.m.RLock()
207 if !c.isExpired() {
208 creds := c.creds
209 c.m.RUnlock()
210 return creds, nil
211 }
212 c.m.RUnlock()
213
214 // Credentials are expired need to retrieve the credentials taking the full
215 // lock.
204 c.m.Lock() 216 c.m.Lock()
205 defer c.m.Unlock() 217 defer c.m.Unlock()
206 218
@@ -234,8 +246,8 @@ func (c *Credentials) Expire() {
234// If the Credentials were forced to be expired with Expire() this will 246// If the Credentials were forced to be expired with Expire() this will
235// reflect that override. 247// reflect that override.
236func (c *Credentials) IsExpired() bool { 248func (c *Credentials) IsExpired() bool {
237 c.m.Lock() 249 c.m.RLock()
238 defer c.m.Unlock() 250 defer c.m.RUnlock()
239 251
240 return c.isExpired() 252 return c.isExpired()
241} 253}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go
index c397495..0ed791b 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go
@@ -4,7 +4,6 @@ import (
4 "bufio" 4 "bufio"
5 "encoding/json" 5 "encoding/json"
6 "fmt" 6 "fmt"
7 "path"
8 "strings" 7 "strings"
9 "time" 8 "time"
10 9
@@ -12,6 +11,7 @@ import (
12 "github.com/aws/aws-sdk-go/aws/client" 11 "github.com/aws/aws-sdk-go/aws/client"
13 "github.com/aws/aws-sdk-go/aws/credentials" 12 "github.com/aws/aws-sdk-go/aws/credentials"
14 "github.com/aws/aws-sdk-go/aws/ec2metadata" 13 "github.com/aws/aws-sdk-go/aws/ec2metadata"
14 "github.com/aws/aws-sdk-go/internal/sdkuri"
15) 15)
16 16
17// ProviderName provides a name of EC2Role provider 17// ProviderName provides a name of EC2Role provider
@@ -125,7 +125,7 @@ type ec2RoleCredRespBody struct {
125 Message string 125 Message string
126} 126}
127 127
128const iamSecurityCredsPath = "/iam/security-credentials" 128const iamSecurityCredsPath = "iam/security-credentials/"
129 129
130// requestCredList requests a list of credentials from the EC2 service. 130// requestCredList requests a list of credentials from the EC2 service.
131// If there are no credentials, or there is an error making or receiving the request 131// If there are no credentials, or there is an error making or receiving the request
@@ -153,7 +153,7 @@ func requestCredList(client *ec2metadata.EC2Metadata) ([]string, error) {
153// If the credentials cannot be found, or there is an error reading the response 153// If the credentials cannot be found, or there is an error reading the response
154// and error will be returned. 154// and error will be returned.
155func requestCred(client *ec2metadata.EC2Metadata, credsName string) (ec2RoleCredRespBody, error) { 155func requestCred(client *ec2metadata.EC2Metadata, credsName string) (ec2RoleCredRespBody, error) {
156 resp, err := client.GetMetadata(path.Join(iamSecurityCredsPath, credsName)) 156 resp, err := client.GetMetadata(sdkuri.PathJoin(iamSecurityCredsPath, credsName))
157 if err != nil { 157 if err != nil {
158 return ec2RoleCredRespBody{}, 158 return ec2RoleCredRespBody{},
159 awserr.New("EC2RoleRequestError", 159 awserr.New("EC2RoleRequestError",
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go
new file mode 100644
index 0000000..152d785
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go
@@ -0,0 +1,46 @@
1// Package csm provides Client Side Monitoring (CSM) which enables sending metrics
2// via UDP connection. Using the Start function will enable the reporting of
3// metrics on a given port. If Start is called, with different parameters, again,
4// a panic will occur.
5//
6// Pause can be called to pause any metrics publishing on a given port. Sessions
7// that have had their handlers modified via InjectHandlers may still be used.
8// However, the handlers will act as a no-op meaning no metrics will be published.
9//
10// Example:
11// r, err := csm.Start("clientID", ":31000")
12// if err != nil {
13// panic(fmt.Errorf("failed starting CSM: %v", err))
14// }
15//
16// sess, err := session.NewSession(&aws.Config{})
17// if err != nil {
18// panic(fmt.Errorf("failed loading session: %v", err))
19// }
20//
21// r.InjectHandlers(&sess.Handlers)
22//
23// client := s3.New(sess)
24// resp, err := client.GetObject(&s3.GetObjectInput{
25// Bucket: aws.String("bucket"),
26// Key: aws.String("key"),
27// })
28//
29// // Will pause monitoring
30// r.Pause()
31// resp, err = client.GetObject(&s3.GetObjectInput{
32// Bucket: aws.String("bucket"),
33// Key: aws.String("key"),
34// })
35//
36// // Resume monitoring
37// r.Continue()
38//
39// Start returns a Reporter that is used to enable or disable monitoring. If
40// access to the Reporter is required later, calling Get will return the Reporter
41// singleton.
42//
43// Example:
44// r := csm.Get()
45// r.Continue()
46package csm
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/enable.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/enable.go
new file mode 100644
index 0000000..2f0c6ea
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/csm/enable.go
@@ -0,0 +1,67 @@
1package csm
2
3import (
4 "fmt"
5 "sync"
6)
7
8var (
9 lock sync.Mutex
10)
11
12// Client side metric handler names
13const (
14 APICallMetricHandlerName = "awscsm.SendAPICallMetric"
15 APICallAttemptMetricHandlerName = "awscsm.SendAPICallAttemptMetric"
16)
17
18// Start will start the a long running go routine to capture
19// client side metrics. Calling start multiple time will only
20// start the metric listener once and will panic if a different
21// client ID or port is passed in.
22//
23// Example:
24// r, err := csm.Start("clientID", "127.0.0.1:8094")
25// if err != nil {
26// panic(fmt.Errorf("expected no error, but received %v", err))
27// }
28// sess := session.NewSession()
29// r.InjectHandlers(sess.Handlers)
30//
31// svc := s3.New(sess)
32// out, err := svc.GetObject(&s3.GetObjectInput{
33// Bucket: aws.String("bucket"),
34// Key: aws.String("key"),
35// })
36func Start(clientID string, url string) (*Reporter, error) {
37 lock.Lock()
38 defer lock.Unlock()
39
40 if sender == nil {
41 sender = newReporter(clientID, url)
42 } else {
43 if sender.clientID != clientID {
44 panic(fmt.Errorf("inconsistent client IDs. %q was expected, but received %q", sender.clientID, clientID))
45 }
46
47 if sender.url != url {
48 panic(fmt.Errorf("inconsistent URLs. %q was expected, but received %q", sender.url, url))
49 }
50 }
51
52 if err := connect(url); err != nil {
53 sender = nil
54 return nil, err
55 }
56
57 return sender, nil
58}
59
60// Get will return a reporter if one exists, if one does not exist, nil will
61// be returned.
62func Get() *Reporter {
63 lock.Lock()
64 defer lock.Unlock()
65
66 return sender
67}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go
new file mode 100644
index 0000000..4b0d630
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go
@@ -0,0 +1,51 @@
1package csm
2
3import (
4 "strconv"
5 "time"
6)
7
8type metricTime time.Time
9
10func (t metricTime) MarshalJSON() ([]byte, error) {
11 ns := time.Duration(time.Time(t).UnixNano())
12 return []byte(strconv.FormatInt(int64(ns/time.Millisecond), 10)), nil
13}
14
15type metric struct {
16 ClientID *string `json:"ClientId,omitempty"`
17 API *string `json:"Api,omitempty"`
18 Service *string `json:"Service,omitempty"`
19 Timestamp *metricTime `json:"Timestamp,omitempty"`
20 Type *string `json:"Type,omitempty"`
21 Version *int `json:"Version,omitempty"`
22
23 AttemptCount *int `json:"AttemptCount,omitempty"`
24 Latency *int `json:"Latency,omitempty"`
25
26 Fqdn *string `json:"Fqdn,omitempty"`
27 UserAgent *string `json:"UserAgent,omitempty"`
28 AttemptLatency *int `json:"AttemptLatency,omitempty"`
29
30 SessionToken *string `json:"SessionToken,omitempty"`
31 Region *string `json:"Region,omitempty"`
32 AccessKey *string `json:"AccessKey,omitempty"`
33 HTTPStatusCode *int `json:"HttpStatusCode,omitempty"`
34 XAmzID2 *string `json:"XAmzId2,omitempty"`
35 XAmzRequestID *string `json:"XAmznRequestId,omitempty"`
36
37 AWSException *string `json:"AwsException,omitempty"`
38 AWSExceptionMessage *string `json:"AwsExceptionMessage,omitempty"`
39 SDKException *string `json:"SdkException,omitempty"`
40 SDKExceptionMessage *string `json:"SdkExceptionMessage,omitempty"`
41
42 DestinationIP *string `json:"DestinationIp,omitempty"`
43 ConnectionReused *int `json:"ConnectionReused,omitempty"`
44
45 AcquireConnectionLatency *int `json:"AcquireConnectionLatency,omitempty"`
46 ConnectLatency *int `json:"ConnectLatency,omitempty"`
47 RequestLatency *int `json:"RequestLatency,omitempty"`
48 DNSLatency *int `json:"DnsLatency,omitempty"`
49 TCPLatency *int `json:"TcpLatency,omitempty"`
50 SSLLatency *int `json:"SslLatency,omitempty"`
51}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/metric_chan.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/metric_chan.go
new file mode 100644
index 0000000..514fc37
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/csm/metric_chan.go
@@ -0,0 +1,54 @@
1package csm
2
3import (
4 "sync/atomic"
5)
6
7const (
8 runningEnum = iota
9 pausedEnum
10)
11
12var (
13 // MetricsChannelSize of metrics to hold in the channel
14 MetricsChannelSize = 100
15)
16
17type metricChan struct {
18 ch chan metric
19 paused int64
20}
21
22func newMetricChan(size int) metricChan {
23 return metricChan{
24 ch: make(chan metric, size),
25 }
26}
27
28func (ch *metricChan) Pause() {
29 atomic.StoreInt64(&ch.paused, pausedEnum)
30}
31
32func (ch *metricChan) Continue() {
33 atomic.StoreInt64(&ch.paused, runningEnum)
34}
35
36func (ch *metricChan) IsPaused() bool {
37 v := atomic.LoadInt64(&ch.paused)
38 return v == pausedEnum
39}
40
41// Push will push metrics to the metric channel if the channel
42// is not paused
43func (ch *metricChan) Push(m metric) bool {
44 if ch.IsPaused() {
45 return false
46 }
47
48 select {
49 case ch.ch <- m:
50 return true
51 default:
52 return false
53 }
54}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go
new file mode 100644
index 0000000..11082e5
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go
@@ -0,0 +1,231 @@
1package csm
2
3import (
4 "encoding/json"
5 "net"
6 "time"
7
8 "github.com/aws/aws-sdk-go/aws"
9 "github.com/aws/aws-sdk-go/aws/awserr"
10 "github.com/aws/aws-sdk-go/aws/request"
11)
12
13const (
14 // DefaultPort is used when no port is specified
15 DefaultPort = "31000"
16)
17
18// Reporter will gather metrics of API requests made and
19// send those metrics to the CSM endpoint.
20type Reporter struct {
21 clientID string
22 url string
23 conn net.Conn
24 metricsCh metricChan
25 done chan struct{}
26}
27
28var (
29 sender *Reporter
30)
31
32func connect(url string) error {
33 const network = "udp"
34 if err := sender.connect(network, url); err != nil {
35 return err
36 }
37
38 if sender.done == nil {
39 sender.done = make(chan struct{})
40 go sender.start()
41 }
42
43 return nil
44}
45
46func newReporter(clientID, url string) *Reporter {
47 return &Reporter{
48 clientID: clientID,
49 url: url,
50 metricsCh: newMetricChan(MetricsChannelSize),
51 }
52}
53
54func (rep *Reporter) sendAPICallAttemptMetric(r *request.Request) {
55 if rep == nil {
56 return
57 }
58
59 now := time.Now()
60 creds, _ := r.Config.Credentials.Get()
61
62 m := metric{
63 ClientID: aws.String(rep.clientID),
64 API: aws.String(r.Operation.Name),
65 Service: aws.String(r.ClientInfo.ServiceID),
66 Timestamp: (*metricTime)(&now),
67 UserAgent: aws.String(r.HTTPRequest.Header.Get("User-Agent")),
68 Region: r.Config.Region,
69 Type: aws.String("ApiCallAttempt"),
70 Version: aws.Int(1),
71
72 XAmzRequestID: aws.String(r.RequestID),
73
74 AttemptCount: aws.Int(r.RetryCount + 1),
75 AttemptLatency: aws.Int(int(now.Sub(r.AttemptTime).Nanoseconds() / int64(time.Millisecond))),
76 AccessKey: aws.String(creds.AccessKeyID),
77 }
78
79 if r.HTTPResponse != nil {
80 m.HTTPStatusCode = aws.Int(r.HTTPResponse.StatusCode)
81 }
82
83 if r.Error != nil {
84 if awserr, ok := r.Error.(awserr.Error); ok {
85 setError(&m, awserr)
86 }
87 }
88
89 rep.metricsCh.Push(m)
90}
91
92func setError(m *metric, err awserr.Error) {
93 msg := err.Error()
94 code := err.Code()
95
96 switch code {
97 case "RequestError",
98 "SerializationError",
99 request.CanceledErrorCode:
100 m.SDKException = &code
101 m.SDKExceptionMessage = &msg
102 default:
103 m.AWSException = &code
104 m.AWSExceptionMessage = &msg
105 }
106}
107
108func (rep *Reporter) sendAPICallMetric(r *request.Request) {
109 if rep == nil {
110 return
111 }
112
113 now := time.Now()
114 m := metric{
115 ClientID: aws.String(rep.clientID),
116 API: aws.String(r.Operation.Name),
117 Service: aws.String(r.ClientInfo.ServiceID),
118 Timestamp: (*metricTime)(&now),
119 Type: aws.String("ApiCall"),
120 AttemptCount: aws.Int(r.RetryCount + 1),
121 Latency: aws.Int(int(time.Now().Sub(r.Time) / time.Millisecond)),
122 XAmzRequestID: aws.String(r.RequestID),
123 }
124
125 // TODO: Probably want to figure something out for logging dropped
126 // metrics
127 rep.metricsCh.Push(m)
128}
129
130func (rep *Reporter) connect(network, url string) error {
131 if rep.conn != nil {
132 rep.conn.Close()
133 }
134
135 conn, err := net.Dial(network, url)
136 if err != nil {
137 return awserr.New("UDPError", "Could not connect", err)
138 }
139
140 rep.conn = conn
141
142 return nil
143}
144
145func (rep *Reporter) close() {
146 if rep.done != nil {
147 close(rep.done)
148 }
149
150 rep.metricsCh.Pause()
151}
152
153func (rep *Reporter) start() {
154 defer func() {
155 rep.metricsCh.Pause()
156 }()
157
158 for {
159 select {
160 case <-rep.done:
161 rep.done = nil
162 return
163 case m := <-rep.metricsCh.ch:
164 // TODO: What to do with this error? Probably should just log
165 b, err := json.Marshal(m)
166 if err != nil {
167 continue
168 }
169
170 rep.conn.Write(b)
171 }
172 }
173}
174
175// Pause will pause the metric channel preventing any new metrics from
176// being added.
177func (rep *Reporter) Pause() {
178 lock.Lock()
179 defer lock.Unlock()
180
181 if rep == nil {
182 return
183 }
184
185 rep.close()
186}
187
188// Continue will reopen the metric channel and allow for monitoring
189// to be resumed.
190func (rep *Reporter) Continue() {
191 lock.Lock()
192 defer lock.Unlock()
193 if rep == nil {
194 return
195 }
196
197 if !rep.metricsCh.IsPaused() {
198 return
199 }
200
201 rep.metricsCh.Continue()
202}
203
204// InjectHandlers will will enable client side metrics and inject the proper
205// handlers to handle how metrics are sent.
206//
207// Example:
208// // Start must be called in order to inject the correct handlers
209// r, err := csm.Start("clientID", "127.0.0.1:8094")
210// if err != nil {
211// panic(fmt.Errorf("expected no error, but received %v", err))
212// }
213//
214// sess := session.NewSession()
215// r.InjectHandlers(&sess.Handlers)
216//
217// // create a new service client with our client side metric session
218// svc := s3.New(sess)
219func (rep *Reporter) InjectHandlers(handlers *request.Handlers) {
220 if rep == nil {
221 return
222 }
223
224 apiCallHandler := request.NamedHandler{Name: APICallMetricHandlerName, Fn: rep.sendAPICallMetric}
225 apiCallAttemptHandler := request.NamedHandler{Name: APICallAttemptMetricHandlerName, Fn: rep.sendAPICallAttemptMetric}
226
227 handlers.Complete.PushFrontNamed(apiCallHandler)
228 handlers.Complete.PushFrontNamed(apiCallAttemptHandler)
229
230 handlers.AfterRetry.PushFrontNamed(apiCallAttemptHandler)
231}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go
index 07afe3b..5040a2f 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go
@@ -9,6 +9,7 @@ package defaults
9 9
10import ( 10import (
11 "fmt" 11 "fmt"
12 "net"
12 "net/http" 13 "net/http"
13 "net/url" 14 "net/url"
14 "os" 15 "os"
@@ -72,6 +73,7 @@ func Handlers() request.Handlers {
72 handlers.Validate.PushBackNamed(corehandlers.ValidateEndpointHandler) 73 handlers.Validate.PushBackNamed(corehandlers.ValidateEndpointHandler)
73 handlers.Validate.AfterEachFn = request.HandlerListStopOnError 74 handlers.Validate.AfterEachFn = request.HandlerListStopOnError
74 handlers.Build.PushBackNamed(corehandlers.SDKVersionUserAgentHandler) 75 handlers.Build.PushBackNamed(corehandlers.SDKVersionUserAgentHandler)
76 handlers.Build.PushBackNamed(corehandlers.AddHostExecEnvUserAgentHander)
75 handlers.Build.AfterEachFn = request.HandlerListStopOnError 77 handlers.Build.AfterEachFn = request.HandlerListStopOnError
76 handlers.Sign.PushBackNamed(corehandlers.BuildContentLengthHandler) 78 handlers.Sign.PushBackNamed(corehandlers.BuildContentLengthHandler)
77 handlers.Send.PushBackNamed(corehandlers.ValidateReqSigHandler) 79 handlers.Send.PushBackNamed(corehandlers.ValidateReqSigHandler)
@@ -90,14 +92,25 @@ func Handlers() request.Handlers {
90func CredChain(cfg *aws.Config, handlers request.Handlers) *credentials.Credentials { 92func CredChain(cfg *aws.Config, handlers request.Handlers) *credentials.Credentials {
91 return credentials.NewCredentials(&credentials.ChainProvider{ 93 return credentials.NewCredentials(&credentials.ChainProvider{
92 VerboseErrors: aws.BoolValue(cfg.CredentialsChainVerboseErrors), 94 VerboseErrors: aws.BoolValue(cfg.CredentialsChainVerboseErrors),
93 Providers: []credentials.Provider{ 95 Providers: CredProviders(cfg, handlers),
94 &credentials.EnvProvider{},
95 &credentials.SharedCredentialsProvider{Filename: "", Profile: ""},
96 RemoteCredProvider(*cfg, handlers),
97 },
98 }) 96 })
99} 97}
100 98
99// CredProviders returns the slice of providers used in
100// the default credential chain.
101//
102// For applications that need to use some other provider (for example use
103// different environment variables for legacy reasons) but still fall back
104// on the default chain of providers. This allows that default chaint to be
105// automatically updated
106func CredProviders(cfg *aws.Config, handlers request.Handlers) []credentials.Provider {
107 return []credentials.Provider{
108 &credentials.EnvProvider{},
109 &credentials.SharedCredentialsProvider{Filename: "", Profile: ""},
110 RemoteCredProvider(*cfg, handlers),
111 }
112}
113
101const ( 114const (
102 httpProviderEnvVar = "AWS_CONTAINER_CREDENTIALS_FULL_URI" 115 httpProviderEnvVar = "AWS_CONTAINER_CREDENTIALS_FULL_URI"
103 ecsCredsProviderEnvVar = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" 116 ecsCredsProviderEnvVar = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"
@@ -118,14 +131,43 @@ func RemoteCredProvider(cfg aws.Config, handlers request.Handlers) credentials.P
118 return ec2RoleProvider(cfg, handlers) 131 return ec2RoleProvider(cfg, handlers)
119} 132}
120 133
134var lookupHostFn = net.LookupHost
135
136func isLoopbackHost(host string) (bool, error) {
137 ip := net.ParseIP(host)
138 if ip != nil {
139 return ip.IsLoopback(), nil
140 }
141
142 // Host is not an ip, perform lookup
143 addrs, err := lookupHostFn(host)
144 if err != nil {
145 return false, err
146 }
147 for _, addr := range addrs {
148 if !net.ParseIP(addr).IsLoopback() {
149 return false, nil
150 }
151 }
152
153 return true, nil
154}
155
121func localHTTPCredProvider(cfg aws.Config, handlers request.Handlers, u string) credentials.Provider { 156func localHTTPCredProvider(cfg aws.Config, handlers request.Handlers, u string) credentials.Provider {
122 var errMsg string 157 var errMsg string
123 158
124 parsed, err := url.Parse(u) 159 parsed, err := url.Parse(u)
125 if err != nil { 160 if err != nil {
126 errMsg = fmt.Sprintf("invalid URL, %v", err) 161 errMsg = fmt.Sprintf("invalid URL, %v", err)
127 } else if host := aws.URLHostname(parsed); !(host == "localhost" || host == "127.0.0.1") { 162 } else {
128 errMsg = fmt.Sprintf("invalid host address, %q, only localhost and 127.0.0.1 are valid.", host) 163 host := aws.URLHostname(parsed)
164 if len(host) == 0 {
165 errMsg = "unable to parse host from local HTTP cred provider URL"
166 } else if isLoopback, loopbackErr := isLoopbackHost(host); loopbackErr != nil {
167 errMsg = fmt.Sprintf("failed to resolve host %q, %v", host, loopbackErr)
168 } else if !isLoopback {
169 errMsg = fmt.Sprintf("invalid endpoint host, %q, only loopback hosts are allowed.", host)
170 }
129 } 171 }
130 172
131 if len(errMsg) > 0 { 173 if len(errMsg) > 0 {
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go
index 984407a..c215cd3 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go
@@ -4,12 +4,12 @@ import (
4 "encoding/json" 4 "encoding/json"
5 "fmt" 5 "fmt"
6 "net/http" 6 "net/http"
7 "path"
8 "strings" 7 "strings"
9 "time" 8 "time"
10 9
11 "github.com/aws/aws-sdk-go/aws/awserr" 10 "github.com/aws/aws-sdk-go/aws/awserr"
12 "github.com/aws/aws-sdk-go/aws/request" 11 "github.com/aws/aws-sdk-go/aws/request"
12 "github.com/aws/aws-sdk-go/internal/sdkuri"
13) 13)
14 14
15// GetMetadata uses the path provided to request information from the EC2 15// GetMetadata uses the path provided to request information from the EC2
@@ -19,7 +19,7 @@ func (c *EC2Metadata) GetMetadata(p string) (string, error) {
19 op := &request.Operation{ 19 op := &request.Operation{
20 Name: "GetMetadata", 20 Name: "GetMetadata",
21 HTTPMethod: "GET", 21 HTTPMethod: "GET",
22 HTTPPath: path.Join("/", "meta-data", p), 22 HTTPPath: sdkuri.PathJoin("/meta-data", p),
23 } 23 }
24 24
25 output := &metadataOutput{} 25 output := &metadataOutput{}
@@ -35,7 +35,7 @@ func (c *EC2Metadata) GetUserData() (string, error) {
35 op := &request.Operation{ 35 op := &request.Operation{
36 Name: "GetUserData", 36 Name: "GetUserData",
37 HTTPMethod: "GET", 37 HTTPMethod: "GET",
38 HTTPPath: path.Join("/", "user-data"), 38 HTTPPath: "/user-data",
39 } 39 }
40 40
41 output := &metadataOutput{} 41 output := &metadataOutput{}
@@ -56,7 +56,7 @@ func (c *EC2Metadata) GetDynamicData(p string) (string, error) {
56 op := &request.Operation{ 56 op := &request.Operation{
57 Name: "GetDynamicData", 57 Name: "GetDynamicData",
58 HTTPMethod: "GET", 58 HTTPMethod: "GET",
59 HTTPPath: path.Join("/", "dynamic", p), 59 HTTPPath: sdkuri.PathJoin("/dynamic", p),
60 } 60 }
61 61
62 output := &metadataOutput{} 62 output := &metadataOutput{}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go
index 5b4379d..ef5f732 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go
@@ -1,5 +1,10 @@
1// Package ec2metadata provides the client for making API calls to the 1// Package ec2metadata provides the client for making API calls to the
2// EC2 Metadata service. 2// EC2 Metadata service.
3//
4// This package's client can be disabled completely by setting the environment
5// variable "AWS_EC2_METADATA_DISABLED=true". This environment variable set to
6// true instructs the SDK to disable the EC2 Metadata client. The client cannot
7// be used while the environemnt variable is set to true, (case insensitive).
3package ec2metadata 8package ec2metadata
4 9
5import ( 10import (
@@ -7,17 +12,21 @@ import (
7 "errors" 12 "errors"
8 "io" 13 "io"
9 "net/http" 14 "net/http"
15 "os"
16 "strings"
10 "time" 17 "time"
11 18
12 "github.com/aws/aws-sdk-go/aws" 19 "github.com/aws/aws-sdk-go/aws"
13 "github.com/aws/aws-sdk-go/aws/awserr" 20 "github.com/aws/aws-sdk-go/aws/awserr"
14 "github.com/aws/aws-sdk-go/aws/client" 21 "github.com/aws/aws-sdk-go/aws/client"
15 "github.com/aws/aws-sdk-go/aws/client/metadata" 22 "github.com/aws/aws-sdk-go/aws/client/metadata"
23 "github.com/aws/aws-sdk-go/aws/corehandlers"
16 "github.com/aws/aws-sdk-go/aws/request" 24 "github.com/aws/aws-sdk-go/aws/request"
17) 25)
18 26
19// ServiceName is the name of the service. 27// ServiceName is the name of the service.
20const ServiceName = "ec2metadata" 28const ServiceName = "ec2metadata"
29const disableServiceEnvVar = "AWS_EC2_METADATA_DISABLED"
21 30
22// A EC2Metadata is an EC2 Metadata service Client. 31// A EC2Metadata is an EC2 Metadata service Client.
23type EC2Metadata struct { 32type EC2Metadata struct {
@@ -75,6 +84,21 @@ func NewClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegio
75 svc.Handlers.Validate.Clear() 84 svc.Handlers.Validate.Clear()
76 svc.Handlers.Validate.PushBack(validateEndpointHandler) 85 svc.Handlers.Validate.PushBack(validateEndpointHandler)
77 86
87 // Disable the EC2 Metadata service if the environment variable is set.
88 // This shortcirctes the service's functionality to always fail to send
89 // requests.
90 if strings.ToLower(os.Getenv(disableServiceEnvVar)) == "true" {
91 svc.Handlers.Send.SwapNamed(request.NamedHandler{
92 Name: corehandlers.SendHandler.Name,
93 Fn: func(r *request.Request) {
94 r.Error = awserr.New(
95 request.CanceledErrorCode,
96 "EC2 IMDS access disabled via "+disableServiceEnvVar+" env var",
97 nil)
98 },
99 })
100 }
101
78 // Add additional options to the service config 102 // Add additional options to the service config
79 for _, option := range opts { 103 for _, option := range opts {
80 option(svc.Client) 104 option(svc.Client)
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
index d6d87e4..8e823be 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
@@ -24,6 +24,7 @@ const (
24 EuCentral1RegionID = "eu-central-1" // EU (Frankfurt). 24 EuCentral1RegionID = "eu-central-1" // EU (Frankfurt).
25 EuWest1RegionID = "eu-west-1" // EU (Ireland). 25 EuWest1RegionID = "eu-west-1" // EU (Ireland).
26 EuWest2RegionID = "eu-west-2" // EU (London). 26 EuWest2RegionID = "eu-west-2" // EU (London).
27 EuWest3RegionID = "eu-west-3" // EU (Paris).
27 SaEast1RegionID = "sa-east-1" // South America (Sao Paulo). 28 SaEast1RegionID = "sa-east-1" // South America (Sao Paulo).
28 UsEast1RegionID = "us-east-1" // US East (N. Virginia). 29 UsEast1RegionID = "us-east-1" // US East (N. Virginia).
29 UsEast2RegionID = "us-east-2" // US East (Ohio). 30 UsEast2RegionID = "us-east-2" // US East (Ohio).
@@ -33,7 +34,8 @@ const (
33 34
34// AWS China partition's regions. 35// AWS China partition's regions.
35const ( 36const (
36 CnNorth1RegionID = "cn-north-1" // China (Beijing). 37 CnNorth1RegionID = "cn-north-1" // China (Beijing).
38 CnNorthwest1RegionID = "cn-northwest-1" // China (Ningxia).
37) 39)
38 40
39// AWS GovCloud (US) partition's regions. 41// AWS GovCloud (US) partition's regions.
@@ -43,18 +45,26 @@ const (
43 45
44// Service identifiers 46// Service identifiers
45const ( 47const (
48 A4bServiceID = "a4b" // A4b.
46 AcmServiceID = "acm" // Acm. 49 AcmServiceID = "acm" // Acm.
50 AcmPcaServiceID = "acm-pca" // AcmPca.
51 ApiMediatailorServiceID = "api.mediatailor" // ApiMediatailor.
52 ApiPricingServiceID = "api.pricing" // ApiPricing.
47 ApigatewayServiceID = "apigateway" // Apigateway. 53 ApigatewayServiceID = "apigateway" // Apigateway.
48 ApplicationAutoscalingServiceID = "application-autoscaling" // ApplicationAutoscaling. 54 ApplicationAutoscalingServiceID = "application-autoscaling" // ApplicationAutoscaling.
49 Appstream2ServiceID = "appstream2" // Appstream2. 55 Appstream2ServiceID = "appstream2" // Appstream2.
50 AthenaServiceID = "athena" // Athena. 56 AthenaServiceID = "athena" // Athena.
51 AutoscalingServiceID = "autoscaling" // Autoscaling. 57 AutoscalingServiceID = "autoscaling" // Autoscaling.
58 AutoscalingPlansServiceID = "autoscaling-plans" // AutoscalingPlans.
52 BatchServiceID = "batch" // Batch. 59 BatchServiceID = "batch" // Batch.
53 BudgetsServiceID = "budgets" // Budgets. 60 BudgetsServiceID = "budgets" // Budgets.
61 CeServiceID = "ce" // Ce.
62 Cloud9ServiceID = "cloud9" // Cloud9.
54 ClouddirectoryServiceID = "clouddirectory" // Clouddirectory. 63 ClouddirectoryServiceID = "clouddirectory" // Clouddirectory.
55 CloudformationServiceID = "cloudformation" // Cloudformation. 64 CloudformationServiceID = "cloudformation" // Cloudformation.
56 CloudfrontServiceID = "cloudfront" // Cloudfront. 65 CloudfrontServiceID = "cloudfront" // Cloudfront.
57 CloudhsmServiceID = "cloudhsm" // Cloudhsm. 66 CloudhsmServiceID = "cloudhsm" // Cloudhsm.
67 Cloudhsmv2ServiceID = "cloudhsmv2" // Cloudhsmv2.
58 CloudsearchServiceID = "cloudsearch" // Cloudsearch. 68 CloudsearchServiceID = "cloudsearch" // Cloudsearch.
59 CloudtrailServiceID = "cloudtrail" // Cloudtrail. 69 CloudtrailServiceID = "cloudtrail" // Cloudtrail.
60 CodebuildServiceID = "codebuild" // Codebuild. 70 CodebuildServiceID = "codebuild" // Codebuild.
@@ -65,9 +75,11 @@ const (
65 CognitoIdentityServiceID = "cognito-identity" // CognitoIdentity. 75 CognitoIdentityServiceID = "cognito-identity" // CognitoIdentity.
66 CognitoIdpServiceID = "cognito-idp" // CognitoIdp. 76 CognitoIdpServiceID = "cognito-idp" // CognitoIdp.
67 CognitoSyncServiceID = "cognito-sync" // CognitoSync. 77 CognitoSyncServiceID = "cognito-sync" // CognitoSync.
78 ComprehendServiceID = "comprehend" // Comprehend.
68 ConfigServiceID = "config" // Config. 79 ConfigServiceID = "config" // Config.
69 CurServiceID = "cur" // Cur. 80 CurServiceID = "cur" // Cur.
70 DatapipelineServiceID = "datapipeline" // Datapipeline. 81 DatapipelineServiceID = "datapipeline" // Datapipeline.
82 DaxServiceID = "dax" // Dax.
71 DevicefarmServiceID = "devicefarm" // Devicefarm. 83 DevicefarmServiceID = "devicefarm" // Devicefarm.
72 DirectconnectServiceID = "directconnect" // Directconnect. 84 DirectconnectServiceID = "directconnect" // Directconnect.
73 DiscoveryServiceID = "discovery" // Discovery. 85 DiscoveryServiceID = "discovery" // Discovery.
@@ -89,8 +101,12 @@ const (
89 EsServiceID = "es" // Es. 101 EsServiceID = "es" // Es.
90 EventsServiceID = "events" // Events. 102 EventsServiceID = "events" // Events.
91 FirehoseServiceID = "firehose" // Firehose. 103 FirehoseServiceID = "firehose" // Firehose.
104 FmsServiceID = "fms" // Fms.
92 GameliftServiceID = "gamelift" // Gamelift. 105 GameliftServiceID = "gamelift" // Gamelift.
93 GlacierServiceID = "glacier" // Glacier. 106 GlacierServiceID = "glacier" // Glacier.
107 GlueServiceID = "glue" // Glue.
108 GreengrassServiceID = "greengrass" // Greengrass.
109 GuarddutyServiceID = "guardduty" // Guardduty.
94 HealthServiceID = "health" // Health. 110 HealthServiceID = "health" // Health.
95 IamServiceID = "iam" // Iam. 111 IamServiceID = "iam" // Iam.
96 ImportexportServiceID = "importexport" // Importexport. 112 ImportexportServiceID = "importexport" // Importexport.
@@ -98,17 +114,24 @@ const (
98 IotServiceID = "iot" // Iot. 114 IotServiceID = "iot" // Iot.
99 KinesisServiceID = "kinesis" // Kinesis. 115 KinesisServiceID = "kinesis" // Kinesis.
100 KinesisanalyticsServiceID = "kinesisanalytics" // Kinesisanalytics. 116 KinesisanalyticsServiceID = "kinesisanalytics" // Kinesisanalytics.
117 KinesisvideoServiceID = "kinesisvideo" // Kinesisvideo.
101 KmsServiceID = "kms" // Kms. 118 KmsServiceID = "kms" // Kms.
102 LambdaServiceID = "lambda" // Lambda. 119 LambdaServiceID = "lambda" // Lambda.
103 LightsailServiceID = "lightsail" // Lightsail. 120 LightsailServiceID = "lightsail" // Lightsail.
104 LogsServiceID = "logs" // Logs. 121 LogsServiceID = "logs" // Logs.
105 MachinelearningServiceID = "machinelearning" // Machinelearning. 122 MachinelearningServiceID = "machinelearning" // Machinelearning.
106 MarketplacecommerceanalyticsServiceID = "marketplacecommerceanalytics" // Marketplacecommerceanalytics. 123 MarketplacecommerceanalyticsServiceID = "marketplacecommerceanalytics" // Marketplacecommerceanalytics.
124 MediaconvertServiceID = "mediaconvert" // Mediaconvert.
125 MedialiveServiceID = "medialive" // Medialive.
126 MediapackageServiceID = "mediapackage" // Mediapackage.
127 MediastoreServiceID = "mediastore" // Mediastore.
107 MeteringMarketplaceServiceID = "metering.marketplace" // MeteringMarketplace. 128 MeteringMarketplaceServiceID = "metering.marketplace" // MeteringMarketplace.
129 MghServiceID = "mgh" // Mgh.
108 MobileanalyticsServiceID = "mobileanalytics" // Mobileanalytics. 130 MobileanalyticsServiceID = "mobileanalytics" // Mobileanalytics.
109 ModelsLexServiceID = "models.lex" // ModelsLex. 131 ModelsLexServiceID = "models.lex" // ModelsLex.
110 MonitoringServiceID = "monitoring" // Monitoring. 132 MonitoringServiceID = "monitoring" // Monitoring.
111 MturkRequesterServiceID = "mturk-requester" // MturkRequester. 133 MturkRequesterServiceID = "mturk-requester" // MturkRequester.
134 NeptuneServiceID = "neptune" // Neptune.
112 OpsworksServiceID = "opsworks" // Opsworks. 135 OpsworksServiceID = "opsworks" // Opsworks.
113 OpsworksCmServiceID = "opsworks-cm" // OpsworksCm. 136 OpsworksCmServiceID = "opsworks-cm" // OpsworksCm.
114 OrganizationsServiceID = "organizations" // Organizations. 137 OrganizationsServiceID = "organizations" // Organizations.
@@ -117,12 +140,18 @@ const (
117 RdsServiceID = "rds" // Rds. 140 RdsServiceID = "rds" // Rds.
118 RedshiftServiceID = "redshift" // Redshift. 141 RedshiftServiceID = "redshift" // Redshift.
119 RekognitionServiceID = "rekognition" // Rekognition. 142 RekognitionServiceID = "rekognition" // Rekognition.
143 ResourceGroupsServiceID = "resource-groups" // ResourceGroups.
120 Route53ServiceID = "route53" // Route53. 144 Route53ServiceID = "route53" // Route53.
121 Route53domainsServiceID = "route53domains" // Route53domains. 145 Route53domainsServiceID = "route53domains" // Route53domains.
122 RuntimeLexServiceID = "runtime.lex" // RuntimeLex. 146 RuntimeLexServiceID = "runtime.lex" // RuntimeLex.
147 RuntimeSagemakerServiceID = "runtime.sagemaker" // RuntimeSagemaker.
123 S3ServiceID = "s3" // S3. 148 S3ServiceID = "s3" // S3.
149 SagemakerServiceID = "sagemaker" // Sagemaker.
124 SdbServiceID = "sdb" // Sdb. 150 SdbServiceID = "sdb" // Sdb.
151 SecretsmanagerServiceID = "secretsmanager" // Secretsmanager.
152 ServerlessrepoServiceID = "serverlessrepo" // Serverlessrepo.
125 ServicecatalogServiceID = "servicecatalog" // Servicecatalog. 153 ServicecatalogServiceID = "servicecatalog" // Servicecatalog.
154 ServicediscoveryServiceID = "servicediscovery" // Servicediscovery.
126 ShieldServiceID = "shield" // Shield. 155 ShieldServiceID = "shield" // Shield.
127 SmsServiceID = "sms" // Sms. 156 SmsServiceID = "sms" // Sms.
128 SnowballServiceID = "snowball" // Snowball. 157 SnowballServiceID = "snowball" // Snowball.
@@ -136,9 +165,11 @@ const (
136 SupportServiceID = "support" // Support. 165 SupportServiceID = "support" // Support.
137 SwfServiceID = "swf" // Swf. 166 SwfServiceID = "swf" // Swf.
138 TaggingServiceID = "tagging" // Tagging. 167 TaggingServiceID = "tagging" // Tagging.
168 TranslateServiceID = "translate" // Translate.
139 WafServiceID = "waf" // Waf. 169 WafServiceID = "waf" // Waf.
140 WafRegionalServiceID = "waf-regional" // WafRegional. 170 WafRegionalServiceID = "waf-regional" // WafRegional.
141 WorkdocsServiceID = "workdocs" // Workdocs. 171 WorkdocsServiceID = "workdocs" // Workdocs.
172 WorkmailServiceID = "workmail" // Workmail.
142 WorkspacesServiceID = "workspaces" // Workspaces. 173 WorkspacesServiceID = "workspaces" // Workspaces.
143 XrayServiceID = "xray" // Xray. 174 XrayServiceID = "xray" // Xray.
144) 175)
@@ -216,6 +247,9 @@ var awsPartition = partition{
216 "eu-west-2": region{ 247 "eu-west-2": region{
217 Description: "EU (London)", 248 Description: "EU (London)",
218 }, 249 },
250 "eu-west-3": region{
251 Description: "EU (Paris)",
252 },
219 "sa-east-1": region{ 253 "sa-east-1": region{
220 Description: "South America (Sao Paulo)", 254 Description: "South America (Sao Paulo)",
221 }, 255 },
@@ -233,6 +267,12 @@ var awsPartition = partition{
233 }, 267 },
234 }, 268 },
235 Services: services{ 269 Services: services{
270 "a4b": service{
271
272 Endpoints: endpoints{
273 "us-east-1": endpoint{},
274 },
275 },
236 "acm": service{ 276 "acm": service{
237 277
238 Endpoints: endpoints{ 278 Endpoints: endpoints{
@@ -245,6 +285,7 @@ var awsPartition = partition{
245 "eu-central-1": endpoint{}, 285 "eu-central-1": endpoint{},
246 "eu-west-1": endpoint{}, 286 "eu-west-1": endpoint{},
247 "eu-west-2": endpoint{}, 287 "eu-west-2": endpoint{},
288 "eu-west-3": endpoint{},
248 "sa-east-1": endpoint{}, 289 "sa-east-1": endpoint{},
249 "us-east-1": endpoint{}, 290 "us-east-1": endpoint{},
250 "us-east-2": endpoint{}, 291 "us-east-2": endpoint{},
@@ -252,6 +293,43 @@ var awsPartition = partition{
252 "us-west-2": endpoint{}, 293 "us-west-2": endpoint{},
253 }, 294 },
254 }, 295 },
296 "acm-pca": service{
297 Defaults: endpoint{
298 Protocols: []string{"https"},
299 },
300 Endpoints: endpoints{
301 "ap-northeast-1": endpoint{},
302 "ap-southeast-1": endpoint{},
303 "ap-southeast-2": endpoint{},
304 "ca-central-1": endpoint{},
305 "eu-central-1": endpoint{},
306 "eu-west-1": endpoint{},
307 "us-east-1": endpoint{},
308 "us-east-2": endpoint{},
309 "us-west-2": endpoint{},
310 },
311 },
312 "api.mediatailor": service{
313
314 Endpoints: endpoints{
315 "ap-northeast-1": endpoint{},
316 "ap-southeast-1": endpoint{},
317 "ap-southeast-2": endpoint{},
318 "eu-west-1": endpoint{},
319 "us-east-1": endpoint{},
320 },
321 },
322 "api.pricing": service{
323 Defaults: endpoint{
324 CredentialScope: credentialScope{
325 Service: "pricing",
326 },
327 },
328 Endpoints: endpoints{
329 "ap-south-1": endpoint{},
330 "us-east-1": endpoint{},
331 },
332 },
255 "apigateway": service{ 333 "apigateway": service{
256 334
257 Endpoints: endpoints{ 335 Endpoints: endpoints{
@@ -260,9 +338,12 @@ var awsPartition = partition{
260 "ap-south-1": endpoint{}, 338 "ap-south-1": endpoint{},
261 "ap-southeast-1": endpoint{}, 339 "ap-southeast-1": endpoint{},
262 "ap-southeast-2": endpoint{}, 340 "ap-southeast-2": endpoint{},
341 "ca-central-1": endpoint{},
263 "eu-central-1": endpoint{}, 342 "eu-central-1": endpoint{},
264 "eu-west-1": endpoint{}, 343 "eu-west-1": endpoint{},
265 "eu-west-2": endpoint{}, 344 "eu-west-2": endpoint{},
345 "eu-west-3": endpoint{},
346 "sa-east-1": endpoint{},
266 "us-east-1": endpoint{}, 347 "us-east-1": endpoint{},
267 "us-east-2": endpoint{}, 348 "us-east-2": endpoint{},
268 "us-west-1": endpoint{}, 349 "us-west-1": endpoint{},
@@ -287,6 +368,7 @@ var awsPartition = partition{
287 "eu-central-1": endpoint{}, 368 "eu-central-1": endpoint{},
288 "eu-west-1": endpoint{}, 369 "eu-west-1": endpoint{},
289 "eu-west-2": endpoint{}, 370 "eu-west-2": endpoint{},
371 "eu-west-3": endpoint{},
290 "sa-east-1": endpoint{}, 372 "sa-east-1": endpoint{},
291 "us-east-1": endpoint{}, 373 "us-east-1": endpoint{},
292 "us-east-2": endpoint{}, 374 "us-east-2": endpoint{},
@@ -311,9 +393,14 @@ var awsPartition = partition{
311 "athena": service{ 393 "athena": service{
312 394
313 Endpoints: endpoints{ 395 Endpoints: endpoints{
314 "us-east-1": endpoint{}, 396 "ap-northeast-1": endpoint{},
315 "us-east-2": endpoint{}, 397 "ap-southeast-1": endpoint{},
316 "us-west-2": endpoint{}, 398 "ap-southeast-2": endpoint{},
399 "eu-central-1": endpoint{},
400 "eu-west-1": endpoint{},
401 "us-east-1": endpoint{},
402 "us-east-2": endpoint{},
403 "us-west-2": endpoint{},
317 }, 404 },
318 }, 405 },
319 "autoscaling": service{ 406 "autoscaling": service{
@@ -330,6 +417,7 @@ var awsPartition = partition{
330 "eu-central-1": endpoint{}, 417 "eu-central-1": endpoint{},
331 "eu-west-1": endpoint{}, 418 "eu-west-1": endpoint{},
332 "eu-west-2": endpoint{}, 419 "eu-west-2": endpoint{},
420 "eu-west-3": endpoint{},
333 "sa-east-1": endpoint{}, 421 "sa-east-1": endpoint{},
334 "us-east-1": endpoint{}, 422 "us-east-1": endpoint{},
335 "us-east-2": endpoint{}, 423 "us-east-2": endpoint{},
@@ -337,12 +425,38 @@ var awsPartition = partition{
337 "us-west-2": endpoint{}, 425 "us-west-2": endpoint{},
338 }, 426 },
339 }, 427 },
428 "autoscaling-plans": service{
429 Defaults: endpoint{
430 Hostname: "autoscaling.{region}.amazonaws.com",
431 Protocols: []string{"http", "https"},
432 CredentialScope: credentialScope{
433 Service: "autoscaling-plans",
434 },
435 },
436 Endpoints: endpoints{
437 "ap-southeast-1": endpoint{},
438 "eu-west-1": endpoint{},
439 "us-east-1": endpoint{},
440 "us-east-2": endpoint{},
441 "us-west-2": endpoint{},
442 },
443 },
340 "batch": service{ 444 "batch": service{
341 445
342 Endpoints: endpoints{ 446 Endpoints: endpoints{
343 "eu-west-1": endpoint{}, 447 "ap-northeast-1": endpoint{},
344 "us-east-1": endpoint{}, 448 "ap-northeast-2": endpoint{},
345 "us-west-2": endpoint{}, 449 "ap-south-1": endpoint{},
450 "ap-southeast-1": endpoint{},
451 "ap-southeast-2": endpoint{},
452 "ca-central-1": endpoint{},
453 "eu-central-1": endpoint{},
454 "eu-west-1": endpoint{},
455 "eu-west-2": endpoint{},
456 "us-east-1": endpoint{},
457 "us-east-2": endpoint{},
458 "us-west-1": endpoint{},
459 "us-west-2": endpoint{},
346 }, 460 },
347 }, 461 },
348 "budgets": service{ 462 "budgets": service{
@@ -358,11 +472,35 @@ var awsPartition = partition{
358 }, 472 },
359 }, 473 },
360 }, 474 },
475 "ce": service{
476 PartitionEndpoint: "aws-global",
477 IsRegionalized: boxedFalse,
478
479 Endpoints: endpoints{
480 "aws-global": endpoint{
481 Hostname: "ce.us-east-1.amazonaws.com",
482 CredentialScope: credentialScope{
483 Region: "us-east-1",
484 },
485 },
486 },
487 },
488 "cloud9": service{
489
490 Endpoints: endpoints{
491 "ap-southeast-1": endpoint{},
492 "eu-west-1": endpoint{},
493 "us-east-1": endpoint{},
494 "us-east-2": endpoint{},
495 "us-west-2": endpoint{},
496 },
497 },
361 "clouddirectory": service{ 498 "clouddirectory": service{
362 499
363 Endpoints: endpoints{ 500 Endpoints: endpoints{
364 "ap-southeast-1": endpoint{}, 501 "ap-southeast-1": endpoint{},
365 "ap-southeast-2": endpoint{}, 502 "ap-southeast-2": endpoint{},
503 "eu-central-1": endpoint{},
366 "eu-west-1": endpoint{}, 504 "eu-west-1": endpoint{},
367 "eu-west-2": endpoint{}, 505 "eu-west-2": endpoint{},
368 "us-east-1": endpoint{}, 506 "us-east-1": endpoint{},
@@ -382,6 +520,7 @@ var awsPartition = partition{
382 "eu-central-1": endpoint{}, 520 "eu-central-1": endpoint{},
383 "eu-west-1": endpoint{}, 521 "eu-west-1": endpoint{},
384 "eu-west-2": endpoint{}, 522 "eu-west-2": endpoint{},
523 "eu-west-3": endpoint{},
385 "sa-east-1": endpoint{}, 524 "sa-east-1": endpoint{},
386 "us-east-1": endpoint{}, 525 "us-east-1": endpoint{},
387 "us-east-2": endpoint{}, 526 "us-east-2": endpoint{},
@@ -418,6 +557,27 @@ var awsPartition = partition{
418 "us-west-2": endpoint{}, 557 "us-west-2": endpoint{},
419 }, 558 },
420 }, 559 },
560 "cloudhsmv2": service{
561 Defaults: endpoint{
562 CredentialScope: credentialScope{
563 Service: "cloudhsm",
564 },
565 },
566 Endpoints: endpoints{
567 "ap-northeast-1": endpoint{},
568 "ap-south-1": endpoint{},
569 "ap-southeast-1": endpoint{},
570 "ap-southeast-2": endpoint{},
571 "ca-central-1": endpoint{},
572 "eu-central-1": endpoint{},
573 "eu-west-1": endpoint{},
574 "eu-west-2": endpoint{},
575 "us-east-1": endpoint{},
576 "us-east-2": endpoint{},
577 "us-west-1": endpoint{},
578 "us-west-2": endpoint{},
579 },
580 },
421 "cloudsearch": service{ 581 "cloudsearch": service{
422 582
423 Endpoints: endpoints{ 583 Endpoints: endpoints{
@@ -445,6 +605,7 @@ var awsPartition = partition{
445 "eu-central-1": endpoint{}, 605 "eu-central-1": endpoint{},
446 "eu-west-1": endpoint{}, 606 "eu-west-1": endpoint{},
447 "eu-west-2": endpoint{}, 607 "eu-west-2": endpoint{},
608 "eu-west-3": endpoint{},
448 "sa-east-1": endpoint{}, 609 "sa-east-1": endpoint{},
449 "us-east-1": endpoint{}, 610 "us-east-1": endpoint{},
450 "us-east-2": endpoint{}, 611 "us-east-2": endpoint{},
@@ -456,25 +617,63 @@ var awsPartition = partition{
456 617
457 Endpoints: endpoints{ 618 Endpoints: endpoints{
458 "ap-northeast-1": endpoint{}, 619 "ap-northeast-1": endpoint{},
620 "ap-northeast-2": endpoint{},
621 "ap-south-1": endpoint{},
459 "ap-southeast-1": endpoint{}, 622 "ap-southeast-1": endpoint{},
460 "ap-southeast-2": endpoint{}, 623 "ap-southeast-2": endpoint{},
624 "ca-central-1": endpoint{},
461 "eu-central-1": endpoint{}, 625 "eu-central-1": endpoint{},
462 "eu-west-1": endpoint{}, 626 "eu-west-1": endpoint{},
627 "eu-west-2": endpoint{},
628 "eu-west-3": endpoint{},
629 "sa-east-1": endpoint{},
463 "us-east-1": endpoint{}, 630 "us-east-1": endpoint{},
464 "us-east-2": endpoint{}, 631 "us-east-1-fips": endpoint{
465 "us-west-2": endpoint{}, 632 Hostname: "codebuild-fips.us-east-1.amazonaws.com",
633 CredentialScope: credentialScope{
634 Region: "us-east-1",
635 },
636 },
637 "us-east-2": endpoint{},
638 "us-east-2-fips": endpoint{
639 Hostname: "codebuild-fips.us-east-2.amazonaws.com",
640 CredentialScope: credentialScope{
641 Region: "us-east-2",
642 },
643 },
644 "us-west-1": endpoint{},
645 "us-west-1-fips": endpoint{
646 Hostname: "codebuild-fips.us-west-1.amazonaws.com",
647 CredentialScope: credentialScope{
648 Region: "us-west-1",
649 },
650 },
651 "us-west-2": endpoint{},
652 "us-west-2-fips": endpoint{
653 Hostname: "codebuild-fips.us-west-2.amazonaws.com",
654 CredentialScope: credentialScope{
655 Region: "us-west-2",
656 },
657 },
466 }, 658 },
467 }, 659 },
468 "codecommit": service{ 660 "codecommit": service{
469 661
470 Endpoints: endpoints{ 662 Endpoints: endpoints{
471 "ap-northeast-1": endpoint{}, 663 "ap-northeast-1": endpoint{},
664 "ap-northeast-2": endpoint{},
665 "ap-south-1": endpoint{},
472 "ap-southeast-1": endpoint{}, 666 "ap-southeast-1": endpoint{},
473 "ap-southeast-2": endpoint{}, 667 "ap-southeast-2": endpoint{},
668 "ca-central-1": endpoint{},
474 "eu-central-1": endpoint{}, 669 "eu-central-1": endpoint{},
475 "eu-west-1": endpoint{}, 670 "eu-west-1": endpoint{},
671 "eu-west-2": endpoint{},
672 "eu-west-3": endpoint{},
673 "sa-east-1": endpoint{},
476 "us-east-1": endpoint{}, 674 "us-east-1": endpoint{},
477 "us-east-2": endpoint{}, 675 "us-east-2": endpoint{},
676 "us-west-1": endpoint{},
478 "us-west-2": endpoint{}, 677 "us-west-2": endpoint{},
479 }, 678 },
480 }, 679 },
@@ -490,6 +689,7 @@ var awsPartition = partition{
490 "eu-central-1": endpoint{}, 689 "eu-central-1": endpoint{},
491 "eu-west-1": endpoint{}, 690 "eu-west-1": endpoint{},
492 "eu-west-2": endpoint{}, 691 "eu-west-2": endpoint{},
692 "eu-west-3": endpoint{},
493 "sa-east-1": endpoint{}, 693 "sa-east-1": endpoint{},
494 "us-east-1": endpoint{}, 694 "us-east-1": endpoint{},
495 "us-east-2": endpoint{}, 695 "us-east-2": endpoint{},
@@ -501,23 +701,37 @@ var awsPartition = partition{
501 701
502 Endpoints: endpoints{ 702 Endpoints: endpoints{
503 "ap-northeast-1": endpoint{}, 703 "ap-northeast-1": endpoint{},
704 "ap-northeast-2": endpoint{},
705 "ap-south-1": endpoint{},
504 "ap-southeast-1": endpoint{}, 706 "ap-southeast-1": endpoint{},
505 "ap-southeast-2": endpoint{}, 707 "ap-southeast-2": endpoint{},
708 "ca-central-1": endpoint{},
506 "eu-central-1": endpoint{}, 709 "eu-central-1": endpoint{},
507 "eu-west-1": endpoint{}, 710 "eu-west-1": endpoint{},
711 "eu-west-2": endpoint{},
712 "eu-west-3": endpoint{},
508 "sa-east-1": endpoint{}, 713 "sa-east-1": endpoint{},
509 "us-east-1": endpoint{}, 714 "us-east-1": endpoint{},
510 "us-east-2": endpoint{}, 715 "us-east-2": endpoint{},
716 "us-west-1": endpoint{},
511 "us-west-2": endpoint{}, 717 "us-west-2": endpoint{},
512 }, 718 },
513 }, 719 },
514 "codestar": service{ 720 "codestar": service{
515 721
516 Endpoints: endpoints{ 722 Endpoints: endpoints{
517 "eu-west-1": endpoint{}, 723 "ap-northeast-1": endpoint{},
518 "us-east-1": endpoint{}, 724 "ap-northeast-2": endpoint{},
519 "us-east-2": endpoint{}, 725 "ap-southeast-1": endpoint{},
520 "us-west-2": endpoint{}, 726 "ap-southeast-2": endpoint{},
727 "ca-central-1": endpoint{},
728 "eu-central-1": endpoint{},
729 "eu-west-1": endpoint{},
730 "eu-west-2": endpoint{},
731 "us-east-1": endpoint{},
732 "us-east-2": endpoint{},
733 "us-west-1": endpoint{},
734 "us-west-2": endpoint{},
521 }, 735 },
522 }, 736 },
523 "cognito-identity": service{ 737 "cognito-identity": service{
@@ -526,6 +740,7 @@ var awsPartition = partition{
526 "ap-northeast-1": endpoint{}, 740 "ap-northeast-1": endpoint{},
527 "ap-northeast-2": endpoint{}, 741 "ap-northeast-2": endpoint{},
528 "ap-south-1": endpoint{}, 742 "ap-south-1": endpoint{},
743 "ap-southeast-1": endpoint{},
529 "ap-southeast-2": endpoint{}, 744 "ap-southeast-2": endpoint{},
530 "eu-central-1": endpoint{}, 745 "eu-central-1": endpoint{},
531 "eu-west-1": endpoint{}, 746 "eu-west-1": endpoint{},
@@ -541,6 +756,7 @@ var awsPartition = partition{
541 "ap-northeast-1": endpoint{}, 756 "ap-northeast-1": endpoint{},
542 "ap-northeast-2": endpoint{}, 757 "ap-northeast-2": endpoint{},
543 "ap-south-1": endpoint{}, 758 "ap-south-1": endpoint{},
759 "ap-southeast-1": endpoint{},
544 "ap-southeast-2": endpoint{}, 760 "ap-southeast-2": endpoint{},
545 "eu-central-1": endpoint{}, 761 "eu-central-1": endpoint{},
546 "eu-west-1": endpoint{}, 762 "eu-west-1": endpoint{},
@@ -556,6 +772,7 @@ var awsPartition = partition{
556 "ap-northeast-1": endpoint{}, 772 "ap-northeast-1": endpoint{},
557 "ap-northeast-2": endpoint{}, 773 "ap-northeast-2": endpoint{},
558 "ap-south-1": endpoint{}, 774 "ap-south-1": endpoint{},
775 "ap-southeast-1": endpoint{},
559 "ap-southeast-2": endpoint{}, 776 "ap-southeast-2": endpoint{},
560 "eu-central-1": endpoint{}, 777 "eu-central-1": endpoint{},
561 "eu-west-1": endpoint{}, 778 "eu-west-1": endpoint{},
@@ -565,6 +782,17 @@ var awsPartition = partition{
565 "us-west-2": endpoint{}, 782 "us-west-2": endpoint{},
566 }, 783 },
567 }, 784 },
785 "comprehend": service{
786 Defaults: endpoint{
787 Protocols: []string{"https"},
788 },
789 Endpoints: endpoints{
790 "eu-west-1": endpoint{},
791 "us-east-1": endpoint{},
792 "us-east-2": endpoint{},
793 "us-west-2": endpoint{},
794 },
795 },
568 "config": service{ 796 "config": service{
569 797
570 Endpoints: endpoints{ 798 Endpoints: endpoints{
@@ -577,6 +805,7 @@ var awsPartition = partition{
577 "eu-central-1": endpoint{}, 805 "eu-central-1": endpoint{},
578 "eu-west-1": endpoint{}, 806 "eu-west-1": endpoint{},
579 "eu-west-2": endpoint{}, 807 "eu-west-2": endpoint{},
808 "eu-west-3": endpoint{},
580 "sa-east-1": endpoint{}, 809 "sa-east-1": endpoint{},
581 "us-east-1": endpoint{}, 810 "us-east-1": endpoint{},
582 "us-east-2": endpoint{}, 811 "us-east-2": endpoint{},
@@ -600,6 +829,21 @@ var awsPartition = partition{
600 "us-west-2": endpoint{}, 829 "us-west-2": endpoint{},
601 }, 830 },
602 }, 831 },
832 "dax": service{
833
834 Endpoints: endpoints{
835 "ap-northeast-1": endpoint{},
836 "ap-south-1": endpoint{},
837 "ap-southeast-1": endpoint{},
838 "ap-southeast-2": endpoint{},
839 "eu-west-1": endpoint{},
840 "sa-east-1": endpoint{},
841 "us-east-1": endpoint{},
842 "us-east-2": endpoint{},
843 "us-west-1": endpoint{},
844 "us-west-2": endpoint{},
845 },
846 },
603 "devicefarm": service{ 847 "devicefarm": service{
604 848
605 Endpoints: endpoints{ 849 Endpoints: endpoints{
@@ -618,6 +862,7 @@ var awsPartition = partition{
618 "eu-central-1": endpoint{}, 862 "eu-central-1": endpoint{},
619 "eu-west-1": endpoint{}, 863 "eu-west-1": endpoint{},
620 "eu-west-2": endpoint{}, 864 "eu-west-2": endpoint{},
865 "eu-west-3": endpoint{},
621 "sa-east-1": endpoint{}, 866 "sa-east-1": endpoint{},
622 "us-east-1": endpoint{}, 867 "us-east-1": endpoint{},
623 "us-east-2": endpoint{}, 868 "us-east-2": endpoint{},
@@ -643,6 +888,7 @@ var awsPartition = partition{
643 "eu-central-1": endpoint{}, 888 "eu-central-1": endpoint{},
644 "eu-west-1": endpoint{}, 889 "eu-west-1": endpoint{},
645 "eu-west-2": endpoint{}, 890 "eu-west-2": endpoint{},
891 "eu-west-3": endpoint{},
646 "sa-east-1": endpoint{}, 892 "sa-east-1": endpoint{},
647 "us-east-1": endpoint{}, 893 "us-east-1": endpoint{},
648 "us-east-2": endpoint{}, 894 "us-east-2": endpoint{},
@@ -655,14 +901,17 @@ var awsPartition = partition{
655 Endpoints: endpoints{ 901 Endpoints: endpoints{
656 "ap-northeast-1": endpoint{}, 902 "ap-northeast-1": endpoint{},
657 "ap-northeast-2": endpoint{}, 903 "ap-northeast-2": endpoint{},
904 "ap-south-1": endpoint{},
658 "ap-southeast-1": endpoint{}, 905 "ap-southeast-1": endpoint{},
659 "ap-southeast-2": endpoint{}, 906 "ap-southeast-2": endpoint{},
660 "ca-central-1": endpoint{}, 907 "ca-central-1": endpoint{},
661 "eu-central-1": endpoint{}, 908 "eu-central-1": endpoint{},
662 "eu-west-1": endpoint{}, 909 "eu-west-1": endpoint{},
663 "eu-west-2": endpoint{}, 910 "eu-west-2": endpoint{},
911 "sa-east-1": endpoint{},
664 "us-east-1": endpoint{}, 912 "us-east-1": endpoint{},
665 "us-east-2": endpoint{}, 913 "us-east-2": endpoint{},
914 "us-west-1": endpoint{},
666 "us-west-2": endpoint{}, 915 "us-west-2": endpoint{},
667 }, 916 },
668 }, 917 },
@@ -680,6 +929,7 @@ var awsPartition = partition{
680 "eu-central-1": endpoint{}, 929 "eu-central-1": endpoint{},
681 "eu-west-1": endpoint{}, 930 "eu-west-1": endpoint{},
682 "eu-west-2": endpoint{}, 931 "eu-west-2": endpoint{},
932 "eu-west-3": endpoint{},
683 "local": endpoint{ 933 "local": endpoint{
684 Hostname: "localhost:8000", 934 Hostname: "localhost:8000",
685 Protocols: []string{"http"}, 935 Protocols: []string{"http"},
@@ -708,6 +958,7 @@ var awsPartition = partition{
708 "eu-central-1": endpoint{}, 958 "eu-central-1": endpoint{},
709 "eu-west-1": endpoint{}, 959 "eu-west-1": endpoint{},
710 "eu-west-2": endpoint{}, 960 "eu-west-2": endpoint{},
961 "eu-west-3": endpoint{},
711 "sa-east-1": endpoint{}, 962 "sa-east-1": endpoint{},
712 "us-east-1": endpoint{}, 963 "us-east-1": endpoint{},
713 "us-east-2": endpoint{}, 964 "us-east-2": endpoint{},
@@ -730,12 +981,16 @@ var awsPartition = partition{
730 981
731 Endpoints: endpoints{ 982 Endpoints: endpoints{
732 "ap-northeast-1": endpoint{}, 983 "ap-northeast-1": endpoint{},
984 "ap-northeast-2": endpoint{},
985 "ap-south-1": endpoint{},
733 "ap-southeast-1": endpoint{}, 986 "ap-southeast-1": endpoint{},
734 "ap-southeast-2": endpoint{}, 987 "ap-southeast-2": endpoint{},
735 "ca-central-1": endpoint{}, 988 "ca-central-1": endpoint{},
736 "eu-central-1": endpoint{}, 989 "eu-central-1": endpoint{},
737 "eu-west-1": endpoint{}, 990 "eu-west-1": endpoint{},
738 "eu-west-2": endpoint{}, 991 "eu-west-2": endpoint{},
992 "eu-west-3": endpoint{},
993 "sa-east-1": endpoint{},
739 "us-east-1": endpoint{}, 994 "us-east-1": endpoint{},
740 "us-east-2": endpoint{}, 995 "us-east-2": endpoint{},
741 "us-west-1": endpoint{}, 996 "us-west-1": endpoint{},
@@ -746,12 +1001,16 @@ var awsPartition = partition{
746 1001
747 Endpoints: endpoints{ 1002 Endpoints: endpoints{
748 "ap-northeast-1": endpoint{}, 1003 "ap-northeast-1": endpoint{},
1004 "ap-northeast-2": endpoint{},
1005 "ap-south-1": endpoint{},
749 "ap-southeast-1": endpoint{}, 1006 "ap-southeast-1": endpoint{},
750 "ap-southeast-2": endpoint{}, 1007 "ap-southeast-2": endpoint{},
751 "ca-central-1": endpoint{}, 1008 "ca-central-1": endpoint{},
752 "eu-central-1": endpoint{}, 1009 "eu-central-1": endpoint{},
753 "eu-west-1": endpoint{}, 1010 "eu-west-1": endpoint{},
754 "eu-west-2": endpoint{}, 1011 "eu-west-2": endpoint{},
1012 "eu-west-3": endpoint{},
1013 "sa-east-1": endpoint{},
755 "us-east-1": endpoint{}, 1014 "us-east-1": endpoint{},
756 "us-east-2": endpoint{}, 1015 "us-east-2": endpoint{},
757 "us-west-1": endpoint{}, 1016 "us-west-1": endpoint{},
@@ -770,6 +1029,7 @@ var awsPartition = partition{
770 "eu-central-1": endpoint{}, 1029 "eu-central-1": endpoint{},
771 "eu-west-1": endpoint{}, 1030 "eu-west-1": endpoint{},
772 "eu-west-2": endpoint{}, 1031 "eu-west-2": endpoint{},
1032 "eu-west-3": endpoint{},
773 "sa-east-1": endpoint{}, 1033 "sa-east-1": endpoint{},
774 "us-east-1": endpoint{}, 1034 "us-east-1": endpoint{},
775 "us-east-2": endpoint{}, 1035 "us-east-2": endpoint{},
@@ -789,6 +1049,7 @@ var awsPartition = partition{
789 "eu-central-1": endpoint{}, 1049 "eu-central-1": endpoint{},
790 "eu-west-1": endpoint{}, 1050 "eu-west-1": endpoint{},
791 "eu-west-2": endpoint{}, 1051 "eu-west-2": endpoint{},
1052 "eu-west-3": endpoint{},
792 "sa-east-1": endpoint{}, 1053 "sa-east-1": endpoint{},
793 "us-east-1": endpoint{}, 1054 "us-east-1": endpoint{},
794 "us-east-2": endpoint{}, 1055 "us-east-2": endpoint{},
@@ -799,16 +1060,19 @@ var awsPartition = partition{
799 "elasticfilesystem": service{ 1060 "elasticfilesystem": service{
800 1061
801 Endpoints: endpoints{ 1062 Endpoints: endpoints{
1063 "ap-northeast-2": endpoint{},
802 "ap-southeast-2": endpoint{}, 1064 "ap-southeast-2": endpoint{},
1065 "eu-central-1": endpoint{},
803 "eu-west-1": endpoint{}, 1066 "eu-west-1": endpoint{},
804 "us-east-1": endpoint{}, 1067 "us-east-1": endpoint{},
805 "us-east-2": endpoint{}, 1068 "us-east-2": endpoint{},
1069 "us-west-1": endpoint{},
806 "us-west-2": endpoint{}, 1070 "us-west-2": endpoint{},
807 }, 1071 },
808 }, 1072 },
809 "elasticloadbalancing": service{ 1073 "elasticloadbalancing": service{
810 Defaults: endpoint{ 1074 Defaults: endpoint{
811 Protocols: []string{"http", "https"}, 1075 Protocols: []string{"https"},
812 }, 1076 },
813 Endpoints: endpoints{ 1077 Endpoints: endpoints{
814 "ap-northeast-1": endpoint{}, 1078 "ap-northeast-1": endpoint{},
@@ -820,6 +1084,7 @@ var awsPartition = partition{
820 "eu-central-1": endpoint{}, 1084 "eu-central-1": endpoint{},
821 "eu-west-1": endpoint{}, 1085 "eu-west-1": endpoint{},
822 "eu-west-2": endpoint{}, 1086 "eu-west-2": endpoint{},
1087 "eu-west-3": endpoint{},
823 "sa-east-1": endpoint{}, 1088 "sa-east-1": endpoint{},
824 "us-east-1": endpoint{}, 1089 "us-east-1": endpoint{},
825 "us-east-2": endpoint{}, 1090 "us-east-2": endpoint{},
@@ -844,6 +1109,7 @@ var awsPartition = partition{
844 }, 1109 },
845 "eu-west-1": endpoint{}, 1110 "eu-west-1": endpoint{},
846 "eu-west-2": endpoint{}, 1111 "eu-west-2": endpoint{},
1112 "eu-west-3": endpoint{},
847 "sa-east-1": endpoint{}, 1113 "sa-east-1": endpoint{},
848 "us-east-1": endpoint{ 1114 "us-east-1": endpoint{
849 SSLCommonName: "{service}.{region}.{dnsSuffix}", 1115 SSLCommonName: "{service}.{region}.{dnsSuffix}",
@@ -896,6 +1162,7 @@ var awsPartition = partition{
896 "eu-central-1": endpoint{}, 1162 "eu-central-1": endpoint{},
897 "eu-west-1": endpoint{}, 1163 "eu-west-1": endpoint{},
898 "eu-west-2": endpoint{}, 1164 "eu-west-2": endpoint{},
1165 "eu-west-3": endpoint{},
899 "sa-east-1": endpoint{}, 1166 "sa-east-1": endpoint{},
900 "us-east-1": endpoint{}, 1167 "us-east-1": endpoint{},
901 "us-east-2": endpoint{}, 1168 "us-east-2": endpoint{},
@@ -915,6 +1182,7 @@ var awsPartition = partition{
915 "eu-central-1": endpoint{}, 1182 "eu-central-1": endpoint{},
916 "eu-west-1": endpoint{}, 1183 "eu-west-1": endpoint{},
917 "eu-west-2": endpoint{}, 1184 "eu-west-2": endpoint{},
1185 "eu-west-3": endpoint{},
918 "sa-east-1": endpoint{}, 1186 "sa-east-1": endpoint{},
919 "us-east-1": endpoint{}, 1187 "us-east-1": endpoint{},
920 "us-east-2": endpoint{}, 1188 "us-east-2": endpoint{},
@@ -925,6 +1193,24 @@ var awsPartition = partition{
925 "firehose": service{ 1193 "firehose": service{
926 1194
927 Endpoints: endpoints{ 1195 Endpoints: endpoints{
1196 "ap-northeast-1": endpoint{},
1197 "ap-northeast-2": endpoint{},
1198 "ap-southeast-1": endpoint{},
1199 "ap-southeast-2": endpoint{},
1200 "ca-central-1": endpoint{},
1201 "eu-central-1": endpoint{},
1202 "eu-west-1": endpoint{},
1203 "us-east-1": endpoint{},
1204 "us-east-2": endpoint{},
1205 "us-west-1": endpoint{},
1206 "us-west-2": endpoint{},
1207 },
1208 },
1209 "fms": service{
1210 Defaults: endpoint{
1211 Protocols: []string{"https"},
1212 },
1213 Endpoints: endpoints{
928 "eu-west-1": endpoint{}, 1214 "eu-west-1": endpoint{},
929 "us-east-1": endpoint{}, 1215 "us-east-1": endpoint{},
930 "us-west-2": endpoint{}, 1216 "us-west-2": endpoint{},
@@ -937,10 +1223,15 @@ var awsPartition = partition{
937 "ap-northeast-2": endpoint{}, 1223 "ap-northeast-2": endpoint{},
938 "ap-south-1": endpoint{}, 1224 "ap-south-1": endpoint{},
939 "ap-southeast-1": endpoint{}, 1225 "ap-southeast-1": endpoint{},
1226 "ap-southeast-2": endpoint{},
1227 "ca-central-1": endpoint{},
940 "eu-central-1": endpoint{}, 1228 "eu-central-1": endpoint{},
941 "eu-west-1": endpoint{}, 1229 "eu-west-1": endpoint{},
1230 "eu-west-2": endpoint{},
942 "sa-east-1": endpoint{}, 1231 "sa-east-1": endpoint{},
943 "us-east-1": endpoint{}, 1232 "us-east-1": endpoint{},
1233 "us-east-2": endpoint{},
1234 "us-west-1": endpoint{},
944 "us-west-2": endpoint{}, 1235 "us-west-2": endpoint{},
945 }, 1236 },
946 }, 1237 },
@@ -952,11 +1243,65 @@ var awsPartition = partition{
952 "ap-northeast-1": endpoint{}, 1243 "ap-northeast-1": endpoint{},
953 "ap-northeast-2": endpoint{}, 1244 "ap-northeast-2": endpoint{},
954 "ap-south-1": endpoint{}, 1245 "ap-south-1": endpoint{},
1246 "ap-southeast-1": endpoint{},
955 "ap-southeast-2": endpoint{}, 1247 "ap-southeast-2": endpoint{},
956 "ca-central-1": endpoint{}, 1248 "ca-central-1": endpoint{},
957 "eu-central-1": endpoint{}, 1249 "eu-central-1": endpoint{},
958 "eu-west-1": endpoint{}, 1250 "eu-west-1": endpoint{},
959 "eu-west-2": endpoint{}, 1251 "eu-west-2": endpoint{},
1252 "eu-west-3": endpoint{},
1253 "us-east-1": endpoint{},
1254 "us-east-2": endpoint{},
1255 "us-west-1": endpoint{},
1256 "us-west-2": endpoint{},
1257 },
1258 },
1259 "glue": service{
1260
1261 Endpoints: endpoints{
1262 "ap-northeast-1": endpoint{},
1263 "ap-northeast-2": endpoint{},
1264 "ap-south-1": endpoint{},
1265 "ap-southeast-1": endpoint{},
1266 "ap-southeast-2": endpoint{},
1267 "eu-central-1": endpoint{},
1268 "eu-west-1": endpoint{},
1269 "eu-west-2": endpoint{},
1270 "us-east-1": endpoint{},
1271 "us-east-2": endpoint{},
1272 "us-west-2": endpoint{},
1273 },
1274 },
1275 "greengrass": service{
1276 IsRegionalized: boxedTrue,
1277 Defaults: endpoint{
1278 Protocols: []string{"https"},
1279 },
1280 Endpoints: endpoints{
1281 "ap-northeast-1": endpoint{},
1282 "ap-southeast-2": endpoint{},
1283 "eu-central-1": endpoint{},
1284 "us-east-1": endpoint{},
1285 "us-west-2": endpoint{},
1286 },
1287 },
1288 "guardduty": service{
1289 IsRegionalized: boxedTrue,
1290 Defaults: endpoint{
1291 Protocols: []string{"https"},
1292 },
1293 Endpoints: endpoints{
1294 "ap-northeast-1": endpoint{},
1295 "ap-northeast-2": endpoint{},
1296 "ap-south-1": endpoint{},
1297 "ap-southeast-1": endpoint{},
1298 "ap-southeast-2": endpoint{},
1299 "ca-central-1": endpoint{},
1300 "eu-central-1": endpoint{},
1301 "eu-west-1": endpoint{},
1302 "eu-west-2": endpoint{},
1303 "eu-west-3": endpoint{},
1304 "sa-east-1": endpoint{},
960 "us-east-1": endpoint{}, 1305 "us-east-1": endpoint{},
961 "us-east-2": endpoint{}, 1306 "us-east-2": endpoint{},
962 "us-west-1": endpoint{}, 1307 "us-west-1": endpoint{},
@@ -1004,8 +1349,11 @@ var awsPartition = partition{
1004 "ap-northeast-2": endpoint{}, 1349 "ap-northeast-2": endpoint{},
1005 "ap-south-1": endpoint{}, 1350 "ap-south-1": endpoint{},
1006 "ap-southeast-2": endpoint{}, 1351 "ap-southeast-2": endpoint{},
1352 "eu-central-1": endpoint{},
1007 "eu-west-1": endpoint{}, 1353 "eu-west-1": endpoint{},
1008 "us-east-1": endpoint{}, 1354 "us-east-1": endpoint{},
1355 "us-east-2": endpoint{},
1356 "us-west-1": endpoint{},
1009 "us-west-2": endpoint{}, 1357 "us-west-2": endpoint{},
1010 }, 1358 },
1011 }, 1359 },
@@ -1018,6 +1366,7 @@ var awsPartition = partition{
1018 Endpoints: endpoints{ 1366 Endpoints: endpoints{
1019 "ap-northeast-1": endpoint{}, 1367 "ap-northeast-1": endpoint{},
1020 "ap-northeast-2": endpoint{}, 1368 "ap-northeast-2": endpoint{},
1369 "ap-south-1": endpoint{},
1021 "ap-southeast-1": endpoint{}, 1370 "ap-southeast-1": endpoint{},
1022 "ap-southeast-2": endpoint{}, 1371 "ap-southeast-2": endpoint{},
1023 "eu-central-1": endpoint{}, 1372 "eu-central-1": endpoint{},
@@ -1040,6 +1389,7 @@ var awsPartition = partition{
1040 "eu-central-1": endpoint{}, 1389 "eu-central-1": endpoint{},
1041 "eu-west-1": endpoint{}, 1390 "eu-west-1": endpoint{},
1042 "eu-west-2": endpoint{}, 1391 "eu-west-2": endpoint{},
1392 "eu-west-3": endpoint{},
1043 "sa-east-1": endpoint{}, 1393 "sa-east-1": endpoint{},
1044 "us-east-1": endpoint{}, 1394 "us-east-1": endpoint{},
1045 "us-east-2": endpoint{}, 1395 "us-east-2": endpoint{},
@@ -1055,6 +1405,16 @@ var awsPartition = partition{
1055 "us-west-2": endpoint{}, 1405 "us-west-2": endpoint{},
1056 }, 1406 },
1057 }, 1407 },
1408 "kinesisvideo": service{
1409
1410 Endpoints: endpoints{
1411 "ap-northeast-1": endpoint{},
1412 "eu-central-1": endpoint{},
1413 "eu-west-1": endpoint{},
1414 "us-east-1": endpoint{},
1415 "us-west-2": endpoint{},
1416 },
1417 },
1058 "kms": service{ 1418 "kms": service{
1059 1419
1060 Endpoints: endpoints{ 1420 Endpoints: endpoints{
@@ -1067,6 +1427,7 @@ var awsPartition = partition{
1067 "eu-central-1": endpoint{}, 1427 "eu-central-1": endpoint{},
1068 "eu-west-1": endpoint{}, 1428 "eu-west-1": endpoint{},
1069 "eu-west-2": endpoint{}, 1429 "eu-west-2": endpoint{},
1430 "eu-west-3": endpoint{},
1070 "sa-east-1": endpoint{}, 1431 "sa-east-1": endpoint{},
1071 "us-east-1": endpoint{}, 1432 "us-east-1": endpoint{},
1072 "us-east-2": endpoint{}, 1433 "us-east-2": endpoint{},
@@ -1082,9 +1443,12 @@ var awsPartition = partition{
1082 "ap-south-1": endpoint{}, 1443 "ap-south-1": endpoint{},
1083 "ap-southeast-1": endpoint{}, 1444 "ap-southeast-1": endpoint{},
1084 "ap-southeast-2": endpoint{}, 1445 "ap-southeast-2": endpoint{},
1446 "ca-central-1": endpoint{},
1085 "eu-central-1": endpoint{}, 1447 "eu-central-1": endpoint{},
1086 "eu-west-1": endpoint{}, 1448 "eu-west-1": endpoint{},
1087 "eu-west-2": endpoint{}, 1449 "eu-west-2": endpoint{},
1450 "eu-west-3": endpoint{},
1451 "sa-east-1": endpoint{},
1088 "us-east-1": endpoint{}, 1452 "us-east-1": endpoint{},
1089 "us-east-2": endpoint{}, 1453 "us-east-2": endpoint{},
1090 "us-west-1": endpoint{}, 1454 "us-west-1": endpoint{},
@@ -1095,12 +1459,15 @@ var awsPartition = partition{
1095 1459
1096 Endpoints: endpoints{ 1460 Endpoints: endpoints{
1097 "ap-northeast-1": endpoint{}, 1461 "ap-northeast-1": endpoint{},
1462 "ap-northeast-2": endpoint{},
1098 "ap-south-1": endpoint{}, 1463 "ap-south-1": endpoint{},
1099 "ap-southeast-1": endpoint{}, 1464 "ap-southeast-1": endpoint{},
1100 "ap-southeast-2": endpoint{}, 1465 "ap-southeast-2": endpoint{},
1466 "ca-central-1": endpoint{},
1101 "eu-central-1": endpoint{}, 1467 "eu-central-1": endpoint{},
1102 "eu-west-1": endpoint{}, 1468 "eu-west-1": endpoint{},
1103 "eu-west-2": endpoint{}, 1469 "eu-west-2": endpoint{},
1470 "eu-west-3": endpoint{},
1104 "us-east-1": endpoint{}, 1471 "us-east-1": endpoint{},
1105 "us-east-2": endpoint{}, 1472 "us-east-2": endpoint{},
1106 "us-west-2": endpoint{}, 1473 "us-west-2": endpoint{},
@@ -1118,6 +1485,7 @@ var awsPartition = partition{
1118 "eu-central-1": endpoint{}, 1485 "eu-central-1": endpoint{},
1119 "eu-west-1": endpoint{}, 1486 "eu-west-1": endpoint{},
1120 "eu-west-2": endpoint{}, 1487 "eu-west-2": endpoint{},
1488 "eu-west-3": endpoint{},
1121 "sa-east-1": endpoint{}, 1489 "sa-east-1": endpoint{},
1122 "us-east-1": endpoint{}, 1490 "us-east-1": endpoint{},
1123 "us-east-2": endpoint{}, 1491 "us-east-2": endpoint{},
@@ -1138,6 +1506,65 @@ var awsPartition = partition{
1138 "us-east-1": endpoint{}, 1506 "us-east-1": endpoint{},
1139 }, 1507 },
1140 }, 1508 },
1509 "mediaconvert": service{
1510
1511 Endpoints: endpoints{
1512 "ap-northeast-1": endpoint{},
1513 "ap-northeast-2": endpoint{},
1514 "ap-south-1": endpoint{},
1515 "ap-southeast-1": endpoint{},
1516 "ap-southeast-2": endpoint{},
1517 "ca-central-1": endpoint{},
1518 "eu-central-1": endpoint{},
1519 "eu-west-1": endpoint{},
1520 "eu-west-2": endpoint{},
1521 "sa-east-1": endpoint{},
1522 "us-east-1": endpoint{},
1523 "us-east-2": endpoint{},
1524 "us-west-1": endpoint{},
1525 "us-west-2": endpoint{},
1526 },
1527 },
1528 "medialive": service{
1529
1530 Endpoints: endpoints{
1531 "ap-northeast-1": endpoint{},
1532 "ap-northeast-2": endpoint{},
1533 "ap-southeast-1": endpoint{},
1534 "ap-southeast-2": endpoint{},
1535 "eu-central-1": endpoint{},
1536 "eu-west-1": endpoint{},
1537 "sa-east-1": endpoint{},
1538 "us-east-1": endpoint{},
1539 "us-west-2": endpoint{},
1540 },
1541 },
1542 "mediapackage": service{
1543
1544 Endpoints: endpoints{
1545 "ap-northeast-1": endpoint{},
1546 "ap-northeast-2": endpoint{},
1547 "ap-southeast-1": endpoint{},
1548 "ap-southeast-2": endpoint{},
1549 "eu-central-1": endpoint{},
1550 "eu-west-1": endpoint{},
1551 "eu-west-3": endpoint{},
1552 "sa-east-1": endpoint{},
1553 "us-east-1": endpoint{},
1554 "us-west-2": endpoint{},
1555 },
1556 },
1557 "mediastore": service{
1558
1559 Endpoints: endpoints{
1560 "ap-northeast-1": endpoint{},
1561 "ap-southeast-2": endpoint{},
1562 "eu-central-1": endpoint{},
1563 "eu-west-1": endpoint{},
1564 "us-east-1": endpoint{},
1565 "us-west-2": endpoint{},
1566 },
1567 },
1141 "metering.marketplace": service{ 1568 "metering.marketplace": service{
1142 Defaults: endpoint{ 1569 Defaults: endpoint{
1143 CredentialScope: credentialScope{ 1570 CredentialScope: credentialScope{
@@ -1154,6 +1581,7 @@ var awsPartition = partition{
1154 "eu-central-1": endpoint{}, 1581 "eu-central-1": endpoint{},
1155 "eu-west-1": endpoint{}, 1582 "eu-west-1": endpoint{},
1156 "eu-west-2": endpoint{}, 1583 "eu-west-2": endpoint{},
1584 "eu-west-3": endpoint{},
1157 "sa-east-1": endpoint{}, 1585 "sa-east-1": endpoint{},
1158 "us-east-1": endpoint{}, 1586 "us-east-1": endpoint{},
1159 "us-east-2": endpoint{}, 1587 "us-east-2": endpoint{},
@@ -1161,6 +1589,12 @@ var awsPartition = partition{
1161 "us-west-2": endpoint{}, 1589 "us-west-2": endpoint{},
1162 }, 1590 },
1163 }, 1591 },
1592 "mgh": service{
1593
1594 Endpoints: endpoints{
1595 "us-west-2": endpoint{},
1596 },
1597 },
1164 "mobileanalytics": service{ 1598 "mobileanalytics": service{
1165 1599
1166 Endpoints: endpoints{ 1600 Endpoints: endpoints{
@@ -1174,7 +1608,9 @@ var awsPartition = partition{
1174 }, 1608 },
1175 }, 1609 },
1176 Endpoints: endpoints{ 1610 Endpoints: endpoints{
1611 "eu-west-1": endpoint{},
1177 "us-east-1": endpoint{}, 1612 "us-east-1": endpoint{},
1613 "us-west-2": endpoint{},
1178 }, 1614 },
1179 }, 1615 },
1180 "monitoring": service{ 1616 "monitoring": service{
@@ -1191,6 +1627,7 @@ var awsPartition = partition{
1191 "eu-central-1": endpoint{}, 1627 "eu-central-1": endpoint{},
1192 "eu-west-1": endpoint{}, 1628 "eu-west-1": endpoint{},
1193 "eu-west-2": endpoint{}, 1629 "eu-west-2": endpoint{},
1630 "eu-west-3": endpoint{},
1194 "sa-east-1": endpoint{}, 1631 "sa-east-1": endpoint{},
1195 "us-east-1": endpoint{}, 1632 "us-east-1": endpoint{},
1196 "us-east-2": endpoint{}, 1633 "us-east-2": endpoint{},
@@ -1208,6 +1645,35 @@ var awsPartition = partition{
1208 "us-east-1": endpoint{}, 1645 "us-east-1": endpoint{},
1209 }, 1646 },
1210 }, 1647 },
1648 "neptune": service{
1649
1650 Endpoints: endpoints{
1651 "eu-west-1": endpoint{
1652 Hostname: "rds.eu-west-1.amazonaws.com",
1653 CredentialScope: credentialScope{
1654 Region: "eu-west-1",
1655 },
1656 },
1657 "us-east-1": endpoint{
1658 Hostname: "rds.us-east-1.amazonaws.com",
1659 CredentialScope: credentialScope{
1660 Region: "us-east-1",
1661 },
1662 },
1663 "us-east-2": endpoint{
1664 Hostname: "rds.us-east-2.amazonaws.com",
1665 CredentialScope: credentialScope{
1666 Region: "us-east-2",
1667 },
1668 },
1669 "us-west-2": endpoint{
1670 Hostname: "rds.us-west-2.amazonaws.com",
1671 CredentialScope: credentialScope{
1672 Region: "us-west-2",
1673 },
1674 },
1675 },
1676 },
1211 "opsworks": service{ 1677 "opsworks": service{
1212 1678
1213 Endpoints: endpoints{ 1679 Endpoints: endpoints{
@@ -1216,9 +1682,11 @@ var awsPartition = partition{
1216 "ap-south-1": endpoint{}, 1682 "ap-south-1": endpoint{},
1217 "ap-southeast-1": endpoint{}, 1683 "ap-southeast-1": endpoint{},
1218 "ap-southeast-2": endpoint{}, 1684 "ap-southeast-2": endpoint{},
1685 "ca-central-1": endpoint{},
1219 "eu-central-1": endpoint{}, 1686 "eu-central-1": endpoint{},
1220 "eu-west-1": endpoint{}, 1687 "eu-west-1": endpoint{},
1221 "eu-west-2": endpoint{}, 1688 "eu-west-2": endpoint{},
1689 "eu-west-3": endpoint{},
1222 "sa-east-1": endpoint{}, 1690 "sa-east-1": endpoint{},
1223 "us-east-1": endpoint{}, 1691 "us-east-1": endpoint{},
1224 "us-east-2": endpoint{}, 1692 "us-east-2": endpoint{},
@@ -1229,9 +1697,15 @@ var awsPartition = partition{
1229 "opsworks-cm": service{ 1697 "opsworks-cm": service{
1230 1698
1231 Endpoints: endpoints{ 1699 Endpoints: endpoints{
1232 "eu-west-1": endpoint{}, 1700 "ap-northeast-1": endpoint{},
1233 "us-east-1": endpoint{}, 1701 "ap-southeast-1": endpoint{},
1234 "us-west-2": endpoint{}, 1702 "ap-southeast-2": endpoint{},
1703 "eu-central-1": endpoint{},
1704 "eu-west-1": endpoint{},
1705 "us-east-1": endpoint{},
1706 "us-east-2": endpoint{},
1707 "us-west-1": endpoint{},
1708 "us-west-2": endpoint{},
1235 }, 1709 },
1236 }, 1710 },
1237 "organizations": service{ 1711 "organizations": service{
@@ -1260,10 +1734,21 @@ var awsPartition = partition{
1260 "polly": service{ 1734 "polly": service{
1261 1735
1262 Endpoints: endpoints{ 1736 Endpoints: endpoints{
1263 "eu-west-1": endpoint{}, 1737 "ap-northeast-1": endpoint{},
1264 "us-east-1": endpoint{}, 1738 "ap-northeast-2": endpoint{},
1265 "us-east-2": endpoint{}, 1739 "ap-south-1": endpoint{},
1266 "us-west-2": endpoint{}, 1740 "ap-southeast-1": endpoint{},
1741 "ap-southeast-2": endpoint{},
1742 "ca-central-1": endpoint{},
1743 "eu-central-1": endpoint{},
1744 "eu-west-1": endpoint{},
1745 "eu-west-2": endpoint{},
1746 "eu-west-3": endpoint{},
1747 "sa-east-1": endpoint{},
1748 "us-east-1": endpoint{},
1749 "us-east-2": endpoint{},
1750 "us-west-1": endpoint{},
1751 "us-west-2": endpoint{},
1267 }, 1752 },
1268 }, 1753 },
1269 "rds": service{ 1754 "rds": service{
@@ -1278,6 +1763,7 @@ var awsPartition = partition{
1278 "eu-central-1": endpoint{}, 1763 "eu-central-1": endpoint{},
1279 "eu-west-1": endpoint{}, 1764 "eu-west-1": endpoint{},
1280 "eu-west-2": endpoint{}, 1765 "eu-west-2": endpoint{},
1766 "eu-west-3": endpoint{},
1281 "sa-east-1": endpoint{}, 1767 "sa-east-1": endpoint{},
1282 "us-east-1": endpoint{ 1768 "us-east-1": endpoint{
1283 SSLCommonName: "{service}.{dnsSuffix}", 1769 SSLCommonName: "{service}.{dnsSuffix}",
@@ -1299,6 +1785,7 @@ var awsPartition = partition{
1299 "eu-central-1": endpoint{}, 1785 "eu-central-1": endpoint{},
1300 "eu-west-1": endpoint{}, 1786 "eu-west-1": endpoint{},
1301 "eu-west-2": endpoint{}, 1787 "eu-west-2": endpoint{},
1788 "eu-west-3": endpoint{},
1302 "sa-east-1": endpoint{}, 1789 "sa-east-1": endpoint{},
1303 "us-east-1": endpoint{}, 1790 "us-east-1": endpoint{},
1304 "us-east-2": endpoint{}, 1791 "us-east-2": endpoint{},
@@ -1309,9 +1796,31 @@ var awsPartition = partition{
1309 "rekognition": service{ 1796 "rekognition": service{
1310 1797
1311 Endpoints: endpoints{ 1798 Endpoints: endpoints{
1312 "eu-west-1": endpoint{}, 1799 "ap-northeast-1": endpoint{},
1313 "us-east-1": endpoint{}, 1800 "ap-southeast-2": endpoint{},
1314 "us-west-2": endpoint{}, 1801 "eu-west-1": endpoint{},
1802 "us-east-1": endpoint{},
1803 "us-east-2": endpoint{},
1804 "us-west-2": endpoint{},
1805 },
1806 },
1807 "resource-groups": service{
1808
1809 Endpoints: endpoints{
1810 "ap-northeast-1": endpoint{},
1811 "ap-northeast-2": endpoint{},
1812 "ap-south-1": endpoint{},
1813 "ap-southeast-1": endpoint{},
1814 "ap-southeast-2": endpoint{},
1815 "ca-central-1": endpoint{},
1816 "eu-central-1": endpoint{},
1817 "eu-west-1": endpoint{},
1818 "eu-west-2": endpoint{},
1819 "sa-east-1": endpoint{},
1820 "us-east-1": endpoint{},
1821 "us-east-2": endpoint{},
1822 "us-west-1": endpoint{},
1823 "us-west-2": endpoint{},
1315 }, 1824 },
1316 }, 1825 },
1317 "route53": service{ 1826 "route53": service{
@@ -1340,7 +1849,19 @@ var awsPartition = partition{
1340 }, 1849 },
1341 }, 1850 },
1342 Endpoints: endpoints{ 1851 Endpoints: endpoints{
1852 "eu-west-1": endpoint{},
1343 "us-east-1": endpoint{}, 1853 "us-east-1": endpoint{},
1854 "us-west-2": endpoint{},
1855 },
1856 },
1857 "runtime.sagemaker": service{
1858
1859 Endpoints: endpoints{
1860 "ap-northeast-1": endpoint{},
1861 "eu-west-1": endpoint{},
1862 "us-east-1": endpoint{},
1863 "us-east-2": endpoint{},
1864 "us-west-2": endpoint{},
1344 }, 1865 },
1345 }, 1866 },
1346 "s3": service{ 1867 "s3": service{
@@ -1355,26 +1876,27 @@ var awsPartition = partition{
1355 }, 1876 },
1356 Endpoints: endpoints{ 1877 Endpoints: endpoints{
1357 "ap-northeast-1": endpoint{ 1878 "ap-northeast-1": endpoint{
1358 Hostname: "s3-ap-northeast-1.amazonaws.com", 1879 Hostname: "s3.ap-northeast-1.amazonaws.com",
1359 SignatureVersions: []string{"s3", "s3v4"}, 1880 SignatureVersions: []string{"s3", "s3v4"},
1360 }, 1881 },
1361 "ap-northeast-2": endpoint{}, 1882 "ap-northeast-2": endpoint{},
1362 "ap-south-1": endpoint{}, 1883 "ap-south-1": endpoint{},
1363 "ap-southeast-1": endpoint{ 1884 "ap-southeast-1": endpoint{
1364 Hostname: "s3-ap-southeast-1.amazonaws.com", 1885 Hostname: "s3.ap-southeast-1.amazonaws.com",
1365 SignatureVersions: []string{"s3", "s3v4"}, 1886 SignatureVersions: []string{"s3", "s3v4"},
1366 }, 1887 },
1367 "ap-southeast-2": endpoint{ 1888 "ap-southeast-2": endpoint{
1368 Hostname: "s3-ap-southeast-2.amazonaws.com", 1889 Hostname: "s3.ap-southeast-2.amazonaws.com",
1369 SignatureVersions: []string{"s3", "s3v4"}, 1890 SignatureVersions: []string{"s3", "s3v4"},
1370 }, 1891 },
1371 "ca-central-1": endpoint{}, 1892 "ca-central-1": endpoint{},
1372 "eu-central-1": endpoint{}, 1893 "eu-central-1": endpoint{},
1373 "eu-west-1": endpoint{ 1894 "eu-west-1": endpoint{
1374 Hostname: "s3-eu-west-1.amazonaws.com", 1895 Hostname: "s3.eu-west-1.amazonaws.com",
1375 SignatureVersions: []string{"s3", "s3v4"}, 1896 SignatureVersions: []string{"s3", "s3v4"},
1376 }, 1897 },
1377 "eu-west-2": endpoint{}, 1898 "eu-west-2": endpoint{},
1899 "eu-west-3": endpoint{},
1378 "s3-external-1": endpoint{ 1900 "s3-external-1": endpoint{
1379 Hostname: "s3-external-1.amazonaws.com", 1901 Hostname: "s3-external-1.amazonaws.com",
1380 SignatureVersions: []string{"s3", "s3v4"}, 1902 SignatureVersions: []string{"s3", "s3v4"},
@@ -1383,7 +1905,7 @@ var awsPartition = partition{
1383 }, 1905 },
1384 }, 1906 },
1385 "sa-east-1": endpoint{ 1907 "sa-east-1": endpoint{
1386 Hostname: "s3-sa-east-1.amazonaws.com", 1908 Hostname: "s3.sa-east-1.amazonaws.com",
1387 SignatureVersions: []string{"s3", "s3v4"}, 1909 SignatureVersions: []string{"s3", "s3v4"},
1388 }, 1910 },
1389 "us-east-1": endpoint{ 1911 "us-east-1": endpoint{
@@ -1392,15 +1914,26 @@ var awsPartition = partition{
1392 }, 1914 },
1393 "us-east-2": endpoint{}, 1915 "us-east-2": endpoint{},
1394 "us-west-1": endpoint{ 1916 "us-west-1": endpoint{
1395 Hostname: "s3-us-west-1.amazonaws.com", 1917 Hostname: "s3.us-west-1.amazonaws.com",
1396 SignatureVersions: []string{"s3", "s3v4"}, 1918 SignatureVersions: []string{"s3", "s3v4"},
1397 }, 1919 },
1398 "us-west-2": endpoint{ 1920 "us-west-2": endpoint{
1399 Hostname: "s3-us-west-2.amazonaws.com", 1921 Hostname: "s3.us-west-2.amazonaws.com",
1400 SignatureVersions: []string{"s3", "s3v4"}, 1922 SignatureVersions: []string{"s3", "s3v4"},
1401 }, 1923 },
1402 }, 1924 },
1403 }, 1925 },
1926 "sagemaker": service{
1927
1928 Endpoints: endpoints{
1929 "ap-northeast-1": endpoint{},
1930 "ap-northeast-2": endpoint{},
1931 "eu-west-1": endpoint{},
1932 "us-east-1": endpoint{},
1933 "us-east-2": endpoint{},
1934 "us-west-2": endpoint{},
1935 },
1936 },
1404 "sdb": service{ 1937 "sdb": service{
1405 Defaults: endpoint{ 1938 Defaults: endpoint{
1406 Protocols: []string{"http", "https"}, 1939 Protocols: []string{"http", "https"},
@@ -1419,21 +1952,104 @@ var awsPartition = partition{
1419 "us-west-2": endpoint{}, 1952 "us-west-2": endpoint{},
1420 }, 1953 },
1421 }, 1954 },
1955 "secretsmanager": service{
1956
1957 Endpoints: endpoints{
1958 "ap-northeast-1": endpoint{},
1959 "ap-northeast-2": endpoint{},
1960 "ap-south-1": endpoint{},
1961 "ap-southeast-1": endpoint{},
1962 "ap-southeast-2": endpoint{},
1963 "ca-central-1": endpoint{},
1964 "eu-central-1": endpoint{},
1965 "eu-west-1": endpoint{},
1966 "eu-west-2": endpoint{},
1967 "sa-east-1": endpoint{},
1968 "us-east-1": endpoint{},
1969 "us-east-2": endpoint{},
1970 "us-west-1": endpoint{},
1971 "us-west-2": endpoint{},
1972 },
1973 },
1974 "serverlessrepo": service{
1975 Defaults: endpoint{
1976 Protocols: []string{"https"},
1977 },
1978 Endpoints: endpoints{
1979 "ap-northeast-1": endpoint{
1980 Protocols: []string{"https"},
1981 },
1982 "ap-northeast-2": endpoint{
1983 Protocols: []string{"https"},
1984 },
1985 "ap-south-1": endpoint{
1986 Protocols: []string{"https"},
1987 },
1988 "ap-southeast-1": endpoint{
1989 Protocols: []string{"https"},
1990 },
1991 "ap-southeast-2": endpoint{
1992 Protocols: []string{"https"},
1993 },
1994 "ca-central-1": endpoint{
1995 Protocols: []string{"https"},
1996 },
1997 "eu-central-1": endpoint{
1998 Protocols: []string{"https"},
1999 },
2000 "eu-west-1": endpoint{
2001 Protocols: []string{"https"},
2002 },
2003 "eu-west-2": endpoint{
2004 Protocols: []string{"https"},
2005 },
2006 "sa-east-1": endpoint{
2007 Protocols: []string{"https"},
2008 },
2009 "us-east-1": endpoint{
2010 Protocols: []string{"https"},
2011 },
2012 "us-east-2": endpoint{
2013 Protocols: []string{"https"},
2014 },
2015 "us-west-1": endpoint{
2016 Protocols: []string{"https"},
2017 },
2018 "us-west-2": endpoint{
2019 Protocols: []string{"https"},
2020 },
2021 },
2022 },
1422 "servicecatalog": service{ 2023 "servicecatalog": service{
1423 2024
1424 Endpoints: endpoints{ 2025 Endpoints: endpoints{
1425 "ap-northeast-1": endpoint{}, 2026 "ap-northeast-1": endpoint{},
2027 "ap-northeast-2": endpoint{},
2028 "ap-south-1": endpoint{},
1426 "ap-southeast-1": endpoint{}, 2029 "ap-southeast-1": endpoint{},
1427 "ap-southeast-2": endpoint{}, 2030 "ap-southeast-2": endpoint{},
1428 "ca-central-1": endpoint{}, 2031 "ca-central-1": endpoint{},
1429 "eu-central-1": endpoint{}, 2032 "eu-central-1": endpoint{},
1430 "eu-west-1": endpoint{}, 2033 "eu-west-1": endpoint{},
1431 "eu-west-2": endpoint{}, 2034 "eu-west-2": endpoint{},
2035 "eu-west-3": endpoint{},
2036 "sa-east-1": endpoint{},
1432 "us-east-1": endpoint{}, 2037 "us-east-1": endpoint{},
1433 "us-east-2": endpoint{}, 2038 "us-east-2": endpoint{},
2039 "us-west-1": endpoint{},
1434 "us-west-2": endpoint{}, 2040 "us-west-2": endpoint{},
1435 }, 2041 },
1436 }, 2042 },
2043 "servicediscovery": service{
2044
2045 Endpoints: endpoints{
2046 "eu-west-1": endpoint{},
2047 "us-east-1": endpoint{},
2048 "us-east-2": endpoint{},
2049 "us-west-1": endpoint{},
2050 "us-west-2": endpoint{},
2051 },
2052 },
1437 "shield": service{ 2053 "shield": service{
1438 IsRegionalized: boxedFalse, 2054 IsRegionalized: boxedFalse,
1439 Defaults: endpoint{ 2055 Defaults: endpoint{
@@ -1447,19 +2063,36 @@ var awsPartition = partition{
1447 "sms": service{ 2063 "sms": service{
1448 2064
1449 Endpoints: endpoints{ 2065 Endpoints: endpoints{
2066 "ap-northeast-1": endpoint{},
2067 "ap-northeast-2": endpoint{},
2068 "ap-south-1": endpoint{},
2069 "ap-southeast-1": endpoint{},
1450 "ap-southeast-2": endpoint{}, 2070 "ap-southeast-2": endpoint{},
2071 "ca-central-1": endpoint{},
2072 "eu-central-1": endpoint{},
1451 "eu-west-1": endpoint{}, 2073 "eu-west-1": endpoint{},
2074 "eu-west-2": endpoint{},
2075 "eu-west-3": endpoint{},
2076 "sa-east-1": endpoint{},
1452 "us-east-1": endpoint{}, 2077 "us-east-1": endpoint{},
2078 "us-east-2": endpoint{},
2079 "us-west-1": endpoint{},
2080 "us-west-2": endpoint{},
1453 }, 2081 },
1454 }, 2082 },
1455 "snowball": service{ 2083 "snowball": service{
1456 2084
1457 Endpoints: endpoints{ 2085 Endpoints: endpoints{
2086 "ap-northeast-1": endpoint{},
1458 "ap-south-1": endpoint{}, 2087 "ap-south-1": endpoint{},
2088 "ap-southeast-1": endpoint{},
1459 "ap-southeast-2": endpoint{}, 2089 "ap-southeast-2": endpoint{},
2090 "ca-central-1": endpoint{},
1460 "eu-central-1": endpoint{}, 2091 "eu-central-1": endpoint{},
1461 "eu-west-1": endpoint{}, 2092 "eu-west-1": endpoint{},
1462 "eu-west-2": endpoint{}, 2093 "eu-west-2": endpoint{},
2094 "eu-west-3": endpoint{},
2095 "sa-east-1": endpoint{},
1463 "us-east-1": endpoint{}, 2096 "us-east-1": endpoint{},
1464 "us-east-2": endpoint{}, 2097 "us-east-2": endpoint{},
1465 "us-west-1": endpoint{}, 2098 "us-west-1": endpoint{},
@@ -1480,6 +2113,7 @@ var awsPartition = partition{
1480 "eu-central-1": endpoint{}, 2113 "eu-central-1": endpoint{},
1481 "eu-west-1": endpoint{}, 2114 "eu-west-1": endpoint{},
1482 "eu-west-2": endpoint{}, 2115 "eu-west-2": endpoint{},
2116 "eu-west-3": endpoint{},
1483 "sa-east-1": endpoint{}, 2117 "sa-east-1": endpoint{},
1484 "us-east-1": endpoint{}, 2118 "us-east-1": endpoint{},
1485 "us-east-2": endpoint{}, 2119 "us-east-2": endpoint{},
@@ -1502,7 +2136,32 @@ var awsPartition = partition{
1502 "eu-central-1": endpoint{}, 2136 "eu-central-1": endpoint{},
1503 "eu-west-1": endpoint{}, 2137 "eu-west-1": endpoint{},
1504 "eu-west-2": endpoint{}, 2138 "eu-west-2": endpoint{},
1505 "sa-east-1": endpoint{}, 2139 "eu-west-3": endpoint{},
2140 "fips-us-east-1": endpoint{
2141 Hostname: "sqs-fips.us-east-1.amazonaws.com",
2142 CredentialScope: credentialScope{
2143 Region: "us-east-1",
2144 },
2145 },
2146 "fips-us-east-2": endpoint{
2147 Hostname: "sqs-fips.us-east-2.amazonaws.com",
2148 CredentialScope: credentialScope{
2149 Region: "us-east-2",
2150 },
2151 },
2152 "fips-us-west-1": endpoint{
2153 Hostname: "sqs-fips.us-west-1.amazonaws.com",
2154 CredentialScope: credentialScope{
2155 Region: "us-west-1",
2156 },
2157 },
2158 "fips-us-west-2": endpoint{
2159 Hostname: "sqs-fips.us-west-2.amazonaws.com",
2160 CredentialScope: credentialScope{
2161 Region: "us-west-2",
2162 },
2163 },
2164 "sa-east-1": endpoint{},
1506 "us-east-1": endpoint{ 2165 "us-east-1": endpoint{
1507 SSLCommonName: "queue.{dnsSuffix}", 2166 SSLCommonName: "queue.{dnsSuffix}",
1508 }, 2167 },
@@ -1523,6 +2182,7 @@ var awsPartition = partition{
1523 "eu-central-1": endpoint{}, 2182 "eu-central-1": endpoint{},
1524 "eu-west-1": endpoint{}, 2183 "eu-west-1": endpoint{},
1525 "eu-west-2": endpoint{}, 2184 "eu-west-2": endpoint{},
2185 "eu-west-3": endpoint{},
1526 "sa-east-1": endpoint{}, 2186 "sa-east-1": endpoint{},
1527 "us-east-1": endpoint{}, 2187 "us-east-1": endpoint{},
1528 "us-east-2": endpoint{}, 2188 "us-east-2": endpoint{},
@@ -1534,10 +2194,16 @@ var awsPartition = partition{
1534 2194
1535 Endpoints: endpoints{ 2195 Endpoints: endpoints{
1536 "ap-northeast-1": endpoint{}, 2196 "ap-northeast-1": endpoint{},
2197 "ap-northeast-2": endpoint{},
2198 "ap-southeast-1": endpoint{},
2199 "ap-southeast-2": endpoint{},
2200 "ca-central-1": endpoint{},
1537 "eu-central-1": endpoint{}, 2201 "eu-central-1": endpoint{},
1538 "eu-west-1": endpoint{}, 2202 "eu-west-1": endpoint{},
2203 "eu-west-2": endpoint{},
1539 "us-east-1": endpoint{}, 2204 "us-east-1": endpoint{},
1540 "us-east-2": endpoint{}, 2205 "us-east-2": endpoint{},
2206 "us-west-1": endpoint{},
1541 "us-west-2": endpoint{}, 2207 "us-west-2": endpoint{},
1542 }, 2208 },
1543 }, 2209 },
@@ -1553,6 +2219,7 @@ var awsPartition = partition{
1553 "eu-central-1": endpoint{}, 2219 "eu-central-1": endpoint{},
1554 "eu-west-1": endpoint{}, 2220 "eu-west-1": endpoint{},
1555 "eu-west-2": endpoint{}, 2221 "eu-west-2": endpoint{},
2222 "eu-west-3": endpoint{},
1556 "sa-east-1": endpoint{}, 2223 "sa-east-1": endpoint{},
1557 "us-east-1": endpoint{}, 2224 "us-east-1": endpoint{},
1558 "us-east-2": endpoint{}, 2225 "us-east-2": endpoint{},
@@ -1577,6 +2244,7 @@ var awsPartition = partition{
1577 "eu-central-1": endpoint{}, 2244 "eu-central-1": endpoint{},
1578 "eu-west-1": endpoint{}, 2245 "eu-west-1": endpoint{},
1579 "eu-west-2": endpoint{}, 2246 "eu-west-2": endpoint{},
2247 "eu-west-3": endpoint{},
1580 "local": endpoint{ 2248 "local": endpoint{
1581 Hostname: "localhost:8000", 2249 Hostname: "localhost:8000",
1582 Protocols: []string{"http"}, 2250 Protocols: []string{"http"},
@@ -1615,6 +2283,7 @@ var awsPartition = partition{
1615 "eu-central-1": endpoint{}, 2283 "eu-central-1": endpoint{},
1616 "eu-west-1": endpoint{}, 2284 "eu-west-1": endpoint{},
1617 "eu-west-2": endpoint{}, 2285 "eu-west-2": endpoint{},
2286 "eu-west-3": endpoint{},
1618 "sa-east-1": endpoint{}, 2287 "sa-east-1": endpoint{},
1619 "us-east-1": endpoint{}, 2288 "us-east-1": endpoint{},
1620 "us-east-1-fips": endpoint{ 2289 "us-east-1-fips": endpoint{
@@ -1664,6 +2333,7 @@ var awsPartition = partition{
1664 "eu-central-1": endpoint{}, 2333 "eu-central-1": endpoint{},
1665 "eu-west-1": endpoint{}, 2334 "eu-west-1": endpoint{},
1666 "eu-west-2": endpoint{}, 2335 "eu-west-2": endpoint{},
2336 "eu-west-3": endpoint{},
1667 "sa-east-1": endpoint{}, 2337 "sa-east-1": endpoint{},
1668 "us-east-1": endpoint{}, 2338 "us-east-1": endpoint{},
1669 "us-east-2": endpoint{}, 2339 "us-east-2": endpoint{},
@@ -1683,6 +2353,7 @@ var awsPartition = partition{
1683 "eu-central-1": endpoint{}, 2353 "eu-central-1": endpoint{},
1684 "eu-west-1": endpoint{}, 2354 "eu-west-1": endpoint{},
1685 "eu-west-2": endpoint{}, 2355 "eu-west-2": endpoint{},
2356 "eu-west-3": endpoint{},
1686 "sa-east-1": endpoint{}, 2357 "sa-east-1": endpoint{},
1687 "us-east-1": endpoint{}, 2358 "us-east-1": endpoint{},
1688 "us-east-2": endpoint{}, 2359 "us-east-2": endpoint{},
@@ -1690,6 +2361,17 @@ var awsPartition = partition{
1690 "us-west-2": endpoint{}, 2361 "us-west-2": endpoint{},
1691 }, 2362 },
1692 }, 2363 },
2364 "translate": service{
2365 Defaults: endpoint{
2366 Protocols: []string{"https"},
2367 },
2368 Endpoints: endpoints{
2369 "eu-west-1": endpoint{},
2370 "us-east-1": endpoint{},
2371 "us-east-2": endpoint{},
2372 "us-west-2": endpoint{},
2373 },
2374 },
1693 "waf": service{ 2375 "waf": service{
1694 PartitionEndpoint: "aws-global", 2376 PartitionEndpoint: "aws-global",
1695 IsRegionalized: boxedFalse, 2377 IsRegionalized: boxedFalse,
@@ -1707,8 +2389,12 @@ var awsPartition = partition{
1707 2389
1708 Endpoints: endpoints{ 2390 Endpoints: endpoints{
1709 "ap-northeast-1": endpoint{}, 2391 "ap-northeast-1": endpoint{},
2392 "ap-southeast-2": endpoint{},
2393 "eu-central-1": endpoint{},
1710 "eu-west-1": endpoint{}, 2394 "eu-west-1": endpoint{},
1711 "us-east-1": endpoint{}, 2395 "us-east-1": endpoint{},
2396 "us-east-2": endpoint{},
2397 "us-west-1": endpoint{},
1712 "us-west-2": endpoint{}, 2398 "us-west-2": endpoint{},
1713 }, 2399 },
1714 }, 2400 },
@@ -1723,14 +2409,28 @@ var awsPartition = partition{
1723 "us-west-2": endpoint{}, 2409 "us-west-2": endpoint{},
1724 }, 2410 },
1725 }, 2411 },
2412 "workmail": service{
2413 Defaults: endpoint{
2414 Protocols: []string{"https"},
2415 },
2416 Endpoints: endpoints{
2417 "eu-west-1": endpoint{},
2418 "us-east-1": endpoint{},
2419 "us-west-2": endpoint{},
2420 },
2421 },
1726 "workspaces": service{ 2422 "workspaces": service{
1727 2423
1728 Endpoints: endpoints{ 2424 Endpoints: endpoints{
1729 "ap-northeast-1": endpoint{}, 2425 "ap-northeast-1": endpoint{},
2426 "ap-northeast-2": endpoint{},
1730 "ap-southeast-1": endpoint{}, 2427 "ap-southeast-1": endpoint{},
1731 "ap-southeast-2": endpoint{}, 2428 "ap-southeast-2": endpoint{},
2429 "ca-central-1": endpoint{},
1732 "eu-central-1": endpoint{}, 2430 "eu-central-1": endpoint{},
1733 "eu-west-1": endpoint{}, 2431 "eu-west-1": endpoint{},
2432 "eu-west-2": endpoint{},
2433 "sa-east-1": endpoint{},
1734 "us-east-1": endpoint{}, 2434 "us-east-1": endpoint{},
1735 "us-west-2": endpoint{}, 2435 "us-west-2": endpoint{},
1736 }, 2436 },
@@ -1781,44 +2481,86 @@ var awscnPartition = partition{
1781 "cn-north-1": region{ 2481 "cn-north-1": region{
1782 Description: "China (Beijing)", 2482 Description: "China (Beijing)",
1783 }, 2483 },
2484 "cn-northwest-1": region{
2485 Description: "China (Ningxia)",
2486 },
1784 }, 2487 },
1785 Services: services{ 2488 Services: services{
2489 "apigateway": service{
2490
2491 Endpoints: endpoints{
2492 "cn-north-1": endpoint{},
2493 "cn-northwest-1": endpoint{},
2494 },
2495 },
2496 "application-autoscaling": service{
2497 Defaults: endpoint{
2498 Hostname: "autoscaling.{region}.amazonaws.com",
2499 Protocols: []string{"http", "https"},
2500 CredentialScope: credentialScope{
2501 Service: "application-autoscaling",
2502 },
2503 },
2504 Endpoints: endpoints{
2505 "cn-north-1": endpoint{},
2506 "cn-northwest-1": endpoint{},
2507 },
2508 },
1786 "autoscaling": service{ 2509 "autoscaling": service{
1787 Defaults: endpoint{ 2510 Defaults: endpoint{
1788 Protocols: []string{"http", "https"}, 2511 Protocols: []string{"http", "https"},
1789 }, 2512 },
1790 Endpoints: endpoints{ 2513 Endpoints: endpoints{
1791 "cn-north-1": endpoint{}, 2514 "cn-north-1": endpoint{},
2515 "cn-northwest-1": endpoint{},
1792 }, 2516 },
1793 }, 2517 },
1794 "cloudformation": service{ 2518 "cloudformation": service{
1795 2519
1796 Endpoints: endpoints{ 2520 Endpoints: endpoints{
1797 "cn-north-1": endpoint{}, 2521 "cn-north-1": endpoint{},
2522 "cn-northwest-1": endpoint{},
1798 }, 2523 },
1799 }, 2524 },
1800 "cloudtrail": service{ 2525 "cloudtrail": service{
1801 2526
1802 Endpoints: endpoints{ 2527 Endpoints: endpoints{
1803 "cn-north-1": endpoint{}, 2528 "cn-north-1": endpoint{},
2529 "cn-northwest-1": endpoint{},
1804 }, 2530 },
1805 }, 2531 },
1806 "codedeploy": service{ 2532 "codedeploy": service{
1807 2533
1808 Endpoints: endpoints{ 2534 Endpoints: endpoints{
2535 "cn-north-1": endpoint{},
2536 "cn-northwest-1": endpoint{},
2537 },
2538 },
2539 "cognito-identity": service{
2540
2541 Endpoints: endpoints{
1809 "cn-north-1": endpoint{}, 2542 "cn-north-1": endpoint{},
1810 }, 2543 },
1811 }, 2544 },
1812 "config": service{ 2545 "config": service{
1813 2546
1814 Endpoints: endpoints{ 2547 Endpoints: endpoints{
1815 "cn-north-1": endpoint{}, 2548 "cn-north-1": endpoint{},
2549 "cn-northwest-1": endpoint{},
1816 }, 2550 },
1817 }, 2551 },
1818 "directconnect": service{ 2552 "directconnect": service{
1819 2553
1820 Endpoints: endpoints{ 2554 Endpoints: endpoints{
1821 "cn-north-1": endpoint{}, 2555 "cn-north-1": endpoint{},
2556 "cn-northwest-1": endpoint{},
2557 },
2558 },
2559 "ds": service{
2560
2561 Endpoints: endpoints{
2562 "cn-north-1": endpoint{},
2563 "cn-northwest-1": endpoint{},
1822 }, 2564 },
1823 }, 2565 },
1824 "dynamodb": service{ 2566 "dynamodb": service{
@@ -1826,7 +2568,8 @@ var awscnPartition = partition{
1826 Protocols: []string{"http", "https"}, 2568 Protocols: []string{"http", "https"},
1827 }, 2569 },
1828 Endpoints: endpoints{ 2570 Endpoints: endpoints{
1829 "cn-north-1": endpoint{}, 2571 "cn-north-1": endpoint{},
2572 "cn-northwest-1": endpoint{},
1830 }, 2573 },
1831 }, 2574 },
1832 "ec2": service{ 2575 "ec2": service{
@@ -1834,7 +2577,8 @@ var awscnPartition = partition{
1834 Protocols: []string{"http", "https"}, 2577 Protocols: []string{"http", "https"},
1835 }, 2578 },
1836 Endpoints: endpoints{ 2579 Endpoints: endpoints{
1837 "cn-north-1": endpoint{}, 2580 "cn-north-1": endpoint{},
2581 "cn-northwest-1": endpoint{},
1838 }, 2582 },
1839 }, 2583 },
1840 "ec2metadata": service{ 2584 "ec2metadata": service{
@@ -1848,24 +2592,41 @@ var awscnPartition = partition{
1848 }, 2592 },
1849 }, 2593 },
1850 }, 2594 },
2595 "ecr": service{
2596
2597 Endpoints: endpoints{
2598 "cn-north-1": endpoint{},
2599 "cn-northwest-1": endpoint{},
2600 },
2601 },
2602 "ecs": service{
2603
2604 Endpoints: endpoints{
2605 "cn-north-1": endpoint{},
2606 "cn-northwest-1": endpoint{},
2607 },
2608 },
1851 "elasticache": service{ 2609 "elasticache": service{
1852 2610
1853 Endpoints: endpoints{ 2611 Endpoints: endpoints{
1854 "cn-north-1": endpoint{}, 2612 "cn-north-1": endpoint{},
2613 "cn-northwest-1": endpoint{},
1855 }, 2614 },
1856 }, 2615 },
1857 "elasticbeanstalk": service{ 2616 "elasticbeanstalk": service{
1858 2617
1859 Endpoints: endpoints{ 2618 Endpoints: endpoints{
1860 "cn-north-1": endpoint{}, 2619 "cn-north-1": endpoint{},
2620 "cn-northwest-1": endpoint{},
1861 }, 2621 },
1862 }, 2622 },
1863 "elasticloadbalancing": service{ 2623 "elasticloadbalancing": service{
1864 Defaults: endpoint{ 2624 Defaults: endpoint{
1865 Protocols: []string{"http", "https"}, 2625 Protocols: []string{"https"},
1866 }, 2626 },
1867 Endpoints: endpoints{ 2627 Endpoints: endpoints{
1868 "cn-north-1": endpoint{}, 2628 "cn-north-1": endpoint{},
2629 "cn-northwest-1": endpoint{},
1869 }, 2630 },
1870 }, 2631 },
1871 "elasticmapreduce": service{ 2632 "elasticmapreduce": service{
@@ -1873,13 +2634,21 @@ var awscnPartition = partition{
1873 Protocols: []string{"http", "https"}, 2634 Protocols: []string{"http", "https"},
1874 }, 2635 },
1875 Endpoints: endpoints{ 2636 Endpoints: endpoints{
1876 "cn-north-1": endpoint{}, 2637 "cn-north-1": endpoint{},
2638 "cn-northwest-1": endpoint{},
2639 },
2640 },
2641 "es": service{
2642
2643 Endpoints: endpoints{
2644 "cn-northwest-1": endpoint{},
1877 }, 2645 },
1878 }, 2646 },
1879 "events": service{ 2647 "events": service{
1880 2648
1881 Endpoints: endpoints{ 2649 Endpoints: endpoints{
1882 "cn-north-1": endpoint{}, 2650 "cn-north-1": endpoint{},
2651 "cn-northwest-1": endpoint{},
1883 }, 2652 },
1884 }, 2653 },
1885 "glacier": service{ 2654 "glacier": service{
@@ -1887,7 +2656,8 @@ var awscnPartition = partition{
1887 Protocols: []string{"http", "https"}, 2656 Protocols: []string{"http", "https"},
1888 }, 2657 },
1889 Endpoints: endpoints{ 2658 Endpoints: endpoints{
1890 "cn-north-1": endpoint{}, 2659 "cn-north-1": endpoint{},
2660 "cn-northwest-1": endpoint{},
1891 }, 2661 },
1892 }, 2662 },
1893 "iam": service{ 2663 "iam": service{
@@ -1903,16 +2673,35 @@ var awscnPartition = partition{
1903 }, 2673 },
1904 }, 2674 },
1905 }, 2675 },
2676 "iot": service{
2677 Defaults: endpoint{
2678 CredentialScope: credentialScope{
2679 Service: "execute-api",
2680 },
2681 },
2682 Endpoints: endpoints{
2683 "cn-north-1": endpoint{},
2684 },
2685 },
1906 "kinesis": service{ 2686 "kinesis": service{
1907 2687
1908 Endpoints: endpoints{ 2688 Endpoints: endpoints{
1909 "cn-north-1": endpoint{}, 2689 "cn-north-1": endpoint{},
2690 "cn-northwest-1": endpoint{},
2691 },
2692 },
2693 "lambda": service{
2694
2695 Endpoints: endpoints{
2696 "cn-north-1": endpoint{},
2697 "cn-northwest-1": endpoint{},
1910 }, 2698 },
1911 }, 2699 },
1912 "logs": service{ 2700 "logs": service{
1913 2701
1914 Endpoints: endpoints{ 2702 Endpoints: endpoints{
1915 "cn-north-1": endpoint{}, 2703 "cn-north-1": endpoint{},
2704 "cn-northwest-1": endpoint{},
1916 }, 2705 },
1917 }, 2706 },
1918 "monitoring": service{ 2707 "monitoring": service{
@@ -1920,19 +2709,22 @@ var awscnPartition = partition{
1920 Protocols: []string{"http", "https"}, 2709 Protocols: []string{"http", "https"},
1921 }, 2710 },
1922 Endpoints: endpoints{ 2711 Endpoints: endpoints{
1923 "cn-north-1": endpoint{}, 2712 "cn-north-1": endpoint{},
2713 "cn-northwest-1": endpoint{},
1924 }, 2714 },
1925 }, 2715 },
1926 "rds": service{ 2716 "rds": service{
1927 2717
1928 Endpoints: endpoints{ 2718 Endpoints: endpoints{
1929 "cn-north-1": endpoint{}, 2719 "cn-north-1": endpoint{},
2720 "cn-northwest-1": endpoint{},
1930 }, 2721 },
1931 }, 2722 },
1932 "redshift": service{ 2723 "redshift": service{
1933 2724
1934 Endpoints: endpoints{ 2725 Endpoints: endpoints{
1935 "cn-north-1": endpoint{}, 2726 "cn-north-1": endpoint{},
2727 "cn-northwest-1": endpoint{},
1936 }, 2728 },
1937 }, 2729 },
1938 "s3": service{ 2730 "s3": service{
@@ -1941,6 +2733,20 @@ var awscnPartition = partition{
1941 SignatureVersions: []string{"s3v4"}, 2733 SignatureVersions: []string{"s3v4"},
1942 }, 2734 },
1943 Endpoints: endpoints{ 2735 Endpoints: endpoints{
2736 "cn-north-1": endpoint{},
2737 "cn-northwest-1": endpoint{},
2738 },
2739 },
2740 "sms": service{
2741
2742 Endpoints: endpoints{
2743 "cn-north-1": endpoint{},
2744 "cn-northwest-1": endpoint{},
2745 },
2746 },
2747 "snowball": service{
2748
2749 Endpoints: endpoints{
1944 "cn-north-1": endpoint{}, 2750 "cn-north-1": endpoint{},
1945 }, 2751 },
1946 }, 2752 },
@@ -1949,7 +2755,8 @@ var awscnPartition = partition{
1949 Protocols: []string{"http", "https"}, 2755 Protocols: []string{"http", "https"},
1950 }, 2756 },
1951 Endpoints: endpoints{ 2757 Endpoints: endpoints{
1952 "cn-north-1": endpoint{}, 2758 "cn-north-1": endpoint{},
2759 "cn-northwest-1": endpoint{},
1953 }, 2760 },
1954 }, 2761 },
1955 "sqs": service{ 2762 "sqs": service{
@@ -1958,7 +2765,15 @@ var awscnPartition = partition{
1958 Protocols: []string{"http", "https"}, 2765 Protocols: []string{"http", "https"},
1959 }, 2766 },
1960 Endpoints: endpoints{ 2767 Endpoints: endpoints{
1961 "cn-north-1": endpoint{}, 2768 "cn-north-1": endpoint{},
2769 "cn-northwest-1": endpoint{},
2770 },
2771 },
2772 "ssm": service{
2773
2774 Endpoints: endpoints{
2775 "cn-north-1": endpoint{},
2776 "cn-northwest-1": endpoint{},
1962 }, 2777 },
1963 }, 2778 },
1964 "storagegateway": service{ 2779 "storagegateway": service{
@@ -1975,25 +2790,29 @@ var awscnPartition = partition{
1975 }, 2790 },
1976 }, 2791 },
1977 Endpoints: endpoints{ 2792 Endpoints: endpoints{
1978 "cn-north-1": endpoint{}, 2793 "cn-north-1": endpoint{},
2794 "cn-northwest-1": endpoint{},
1979 }, 2795 },
1980 }, 2796 },
1981 "sts": service{ 2797 "sts": service{
1982 2798
1983 Endpoints: endpoints{ 2799 Endpoints: endpoints{
1984 "cn-north-1": endpoint{}, 2800 "cn-north-1": endpoint{},
2801 "cn-northwest-1": endpoint{},
1985 }, 2802 },
1986 }, 2803 },
1987 "swf": service{ 2804 "swf": service{
1988 2805
1989 Endpoints: endpoints{ 2806 Endpoints: endpoints{
1990 "cn-north-1": endpoint{}, 2807 "cn-north-1": endpoint{},
2808 "cn-northwest-1": endpoint{},
1991 }, 2809 },
1992 }, 2810 },
1993 "tagging": service{ 2811 "tagging": service{
1994 2812
1995 Endpoints: endpoints{ 2813 Endpoints: endpoints{
1996 "cn-north-1": endpoint{}, 2814 "cn-north-1": endpoint{},
2815 "cn-northwest-1": endpoint{},
1997 }, 2816 },
1998 }, 2817 },
1999 }, 2818 },
@@ -2025,6 +2844,18 @@ var awsusgovPartition = partition{
2025 }, 2844 },
2026 }, 2845 },
2027 Services: services{ 2846 Services: services{
2847 "acm": service{
2848
2849 Endpoints: endpoints{
2850 "us-gov-west-1": endpoint{},
2851 },
2852 },
2853 "apigateway": service{
2854
2855 Endpoints: endpoints{
2856 "us-gov-west-1": endpoint{},
2857 },
2858 },
2028 "autoscaling": service{ 2859 "autoscaling": service{
2029 2860
2030 Endpoints: endpoints{ 2861 Endpoints: endpoints{
@@ -2045,6 +2876,16 @@ var awsusgovPartition = partition{
2045 "us-gov-west-1": endpoint{}, 2876 "us-gov-west-1": endpoint{},
2046 }, 2877 },
2047 }, 2878 },
2879 "cloudhsmv2": service{
2880 Defaults: endpoint{
2881 CredentialScope: credentialScope{
2882 Service: "cloudhsm",
2883 },
2884 },
2885 Endpoints: endpoints{
2886 "us-gov-west-1": endpoint{},
2887 },
2888 },
2048 "cloudtrail": service{ 2889 "cloudtrail": service{
2049 2890
2050 Endpoints: endpoints{ 2891 Endpoints: endpoints{
@@ -2069,10 +2910,22 @@ var awsusgovPartition = partition{
2069 "us-gov-west-1": endpoint{}, 2910 "us-gov-west-1": endpoint{},
2070 }, 2911 },
2071 }, 2912 },
2913 "dms": service{
2914
2915 Endpoints: endpoints{
2916 "us-gov-west-1": endpoint{},
2917 },
2918 },
2072 "dynamodb": service{ 2919 "dynamodb": service{
2073 2920
2074 Endpoints: endpoints{ 2921 Endpoints: endpoints{
2075 "us-gov-west-1": endpoint{}, 2922 "us-gov-west-1": endpoint{},
2923 "us-gov-west-1-fips": endpoint{
2924 Hostname: "dynamodb.us-gov-west-1.amazonaws.com",
2925 CredentialScope: credentialScope{
2926 Region: "us-gov-west-1",
2927 },
2928 },
2076 }, 2929 },
2077 }, 2930 },
2078 "ec2": service{ 2931 "ec2": service{
@@ -2092,12 +2945,30 @@ var awsusgovPartition = partition{
2092 }, 2945 },
2093 }, 2946 },
2094 }, 2947 },
2948 "ecr": service{
2949
2950 Endpoints: endpoints{
2951 "us-gov-west-1": endpoint{},
2952 },
2953 },
2954 "ecs": service{
2955
2956 Endpoints: endpoints{
2957 "us-gov-west-1": endpoint{},
2958 },
2959 },
2095 "elasticache": service{ 2960 "elasticache": service{
2096 2961
2097 Endpoints: endpoints{ 2962 Endpoints: endpoints{
2098 "us-gov-west-1": endpoint{}, 2963 "us-gov-west-1": endpoint{},
2099 }, 2964 },
2100 }, 2965 },
2966 "elasticbeanstalk": service{
2967
2968 Endpoints: endpoints{
2969 "us-gov-west-1": endpoint{},
2970 },
2971 },
2101 "elasticloadbalancing": service{ 2972 "elasticloadbalancing": service{
2102 2973
2103 Endpoints: endpoints{ 2974 Endpoints: endpoints{
@@ -2114,6 +2985,12 @@ var awsusgovPartition = partition{
2114 }, 2985 },
2115 }, 2986 },
2116 }, 2987 },
2988 "es": service{
2989
2990 Endpoints: endpoints{
2991 "us-gov-west-1": endpoint{},
2992 },
2993 },
2117 "events": service{ 2994 "events": service{
2118 2995
2119 Endpoints: endpoints{ 2996 Endpoints: endpoints{
@@ -2141,6 +3018,12 @@ var awsusgovPartition = partition{
2141 }, 3018 },
2142 }, 3019 },
2143 }, 3020 },
3021 "inspector": service{
3022
3023 Endpoints: endpoints{
3024 "us-gov-west-1": endpoint{},
3025 },
3026 },
2144 "kinesis": service{ 3027 "kinesis": service{
2145 3028
2146 Endpoints: endpoints{ 3029 Endpoints: endpoints{
@@ -2165,12 +3048,28 @@ var awsusgovPartition = partition{
2165 "us-gov-west-1": endpoint{}, 3048 "us-gov-west-1": endpoint{},
2166 }, 3049 },
2167 }, 3050 },
3051 "metering.marketplace": service{
3052 Defaults: endpoint{
3053 CredentialScope: credentialScope{
3054 Service: "aws-marketplace",
3055 },
3056 },
3057 Endpoints: endpoints{
3058 "us-gov-west-1": endpoint{},
3059 },
3060 },
2168 "monitoring": service{ 3061 "monitoring": service{
2169 3062
2170 Endpoints: endpoints{ 3063 Endpoints: endpoints{
2171 "us-gov-west-1": endpoint{}, 3064 "us-gov-west-1": endpoint{},
2172 }, 3065 },
2173 }, 3066 },
3067 "polly": service{
3068
3069 Endpoints: endpoints{
3070 "us-gov-west-1": endpoint{},
3071 },
3072 },
2174 "rds": service{ 3073 "rds": service{
2175 3074
2176 Endpoints: endpoints{ 3075 Endpoints: endpoints{
@@ -2183,6 +3082,12 @@ var awsusgovPartition = partition{
2183 "us-gov-west-1": endpoint{}, 3082 "us-gov-west-1": endpoint{},
2184 }, 3083 },
2185 }, 3084 },
3085 "rekognition": service{
3086
3087 Endpoints: endpoints{
3088 "us-gov-west-1": endpoint{},
3089 },
3090 },
2186 "s3": service{ 3091 "s3": service{
2187 Defaults: endpoint{ 3092 Defaults: endpoint{
2188 SignatureVersions: []string{"s3", "s3v4"}, 3093 SignatureVersions: []string{"s3", "s3v4"},
@@ -2195,11 +3100,17 @@ var awsusgovPartition = partition{
2195 }, 3100 },
2196 }, 3101 },
2197 "us-gov-west-1": endpoint{ 3102 "us-gov-west-1": endpoint{
2198 Hostname: "s3-us-gov-west-1.amazonaws.com", 3103 Hostname: "s3.us-gov-west-1.amazonaws.com",
2199 Protocols: []string{"http", "https"}, 3104 Protocols: []string{"http", "https"},
2200 }, 3105 },
2201 }, 3106 },
2202 }, 3107 },
3108 "sms": service{
3109
3110 Endpoints: endpoints{
3111 "us-gov-west-1": endpoint{},
3112 },
3113 },
2203 "snowball": service{ 3114 "snowball": service{
2204 3115
2205 Endpoints: endpoints{ 3116 Endpoints: endpoints{
@@ -2223,6 +3134,18 @@ var awsusgovPartition = partition{
2223 }, 3134 },
2224 }, 3135 },
2225 }, 3136 },
3137 "ssm": service{
3138
3139 Endpoints: endpoints{
3140 "us-gov-west-1": endpoint{},
3141 },
3142 },
3143 "storagegateway": service{
3144
3145 Endpoints: endpoints{
3146 "us-gov-west-1": endpoint{},
3147 },
3148 },
2226 "streams.dynamodb": service{ 3149 "streams.dynamodb": service{
2227 Defaults: endpoint{ 3150 Defaults: endpoint{
2228 CredentialScope: credentialScope{ 3151 CredentialScope: credentialScope{
@@ -2231,6 +3154,12 @@ var awsusgovPartition = partition{
2231 }, 3154 },
2232 Endpoints: endpoints{ 3155 Endpoints: endpoints{
2233 "us-gov-west-1": endpoint{}, 3156 "us-gov-west-1": endpoint{},
3157 "us-gov-west-1-fips": endpoint{
3158 Hostname: "dynamodb.us-gov-west-1.amazonaws.com",
3159 CredentialScope: credentialScope{
3160 Region: "us-gov-west-1",
3161 },
3162 },
2234 }, 3163 },
2235 }, 3164 },
2236 "sts": service{ 3165 "sts": service{
@@ -2245,5 +3174,19 @@ var awsusgovPartition = partition{
2245 "us-gov-west-1": endpoint{}, 3174 "us-gov-west-1": endpoint{},
2246 }, 3175 },
2247 }, 3176 },
3177 "tagging": service{
3178
3179 Endpoints: endpoints{
3180 "us-gov-west-1": endpoint{},
3181 },
3182 },
3183 "translate": service{
3184 Defaults: endpoint{
3185 Protocols: []string{"https"},
3186 },
3187 Endpoints: endpoints{
3188 "us-gov-west-1": endpoint{},
3189 },
3190 },
2248 }, 3191 },
2249} 3192}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go
index a0e9bc4..84316b9 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go
@@ -21,12 +21,12 @@
21// partitions := resolver.(endpoints.EnumPartitions).Partitions() 21// partitions := resolver.(endpoints.EnumPartitions).Partitions()
22// 22//
23// for _, p := range partitions { 23// for _, p := range partitions {
24// fmt.Println("Regions for", p.Name) 24// fmt.Println("Regions for", p.ID())
25// for id, _ := range p.Regions() { 25// for id, _ := range p.Regions() {
26// fmt.Println("*", id) 26// fmt.Println("*", id)
27// } 27// }
28// 28//
29// fmt.Println("Services for", p.Name) 29// fmt.Println("Services for", p.ID())
30// for id, _ := range p.Services() { 30// for id, _ := range p.Services() {
31// fmt.Println("*", id) 31// fmt.Println("*", id)
32// } 32// }
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go
index 9c3eedb..e29c095 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go
@@ -206,10 +206,11 @@ func (p Partition) EndpointFor(service, region string, opts ...func(*Options)) (
206// enumerating over the regions in a partition. 206// enumerating over the regions in a partition.
207func (p Partition) Regions() map[string]Region { 207func (p Partition) Regions() map[string]Region {
208 rs := map[string]Region{} 208 rs := map[string]Region{}
209 for id := range p.p.Regions { 209 for id, r := range p.p.Regions {
210 rs[id] = Region{ 210 rs[id] = Region{
211 id: id, 211 id: id,
212 p: p.p, 212 desc: r.Description,
213 p: p.p,
213 } 214 }
214 } 215 }
215 216
@@ -240,6 +241,10 @@ type Region struct {
240// ID returns the region's identifier. 241// ID returns the region's identifier.
241func (r Region) ID() string { return r.id } 242func (r Region) ID() string { return r.id }
242 243
244// Description returns the region's description. The region description
245// is free text, it can be empty, and it may change between SDK releases.
246func (r Region) Description() string { return r.desc }
247
243// ResolveEndpoint resolves an endpoint from the context of the region given 248// ResolveEndpoint resolves an endpoint from the context of the region given
244// a service. See Partition.EndpointFor for usage and errors that can be returned. 249// a service. See Partition.EndpointFor for usage and errors that can be returned.
245func (r Region) ResolveEndpoint(service string, opts ...func(*Options)) (ResolvedEndpoint, error) { 250func (r Region) ResolveEndpoint(service string, opts ...func(*Options)) (ResolvedEndpoint, error) {
@@ -284,10 +289,11 @@ func (s Service) ResolveEndpoint(region string, opts ...func(*Options)) (Resolve
284func (s Service) Regions() map[string]Region { 289func (s Service) Regions() map[string]Region {
285 rs := map[string]Region{} 290 rs := map[string]Region{}
286 for id := range s.p.Services[s.id].Endpoints { 291 for id := range s.p.Services[s.id].Endpoints {
287 if _, ok := s.p.Regions[id]; ok { 292 if r, ok := s.p.Regions[id]; ok {
288 rs[id] = Region{ 293 rs[id] = Region{
289 id: id, 294 id: id,
290 p: s.p, 295 desc: r.Description,
296 p: s.p,
291 } 297 }
292 } 298 }
293 } 299 }
@@ -347,6 +353,10 @@ type ResolvedEndpoint struct {
347 // The service name that should be used for signing requests. 353 // The service name that should be used for signing requests.
348 SigningName string 354 SigningName string
349 355
356 // States that the signing name for this endpoint was derived from metadata
357 // passed in, but was not explicitly modeled.
358 SigningNameDerived bool
359
350 // The signing method that should be used for signing requests. 360 // The signing method that should be used for signing requests.
351 SigningMethod string 361 SigningMethod string
352} 362}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go
index 13d968a..ff6f76d 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go
@@ -226,16 +226,20 @@ func (e endpoint) resolve(service, region, dnsSuffix string, defs []endpoint, op
226 if len(signingRegion) == 0 { 226 if len(signingRegion) == 0 {
227 signingRegion = region 227 signingRegion = region
228 } 228 }
229
229 signingName := e.CredentialScope.Service 230 signingName := e.CredentialScope.Service
231 var signingNameDerived bool
230 if len(signingName) == 0 { 232 if len(signingName) == 0 {
231 signingName = service 233 signingName = service
234 signingNameDerived = true
232 } 235 }
233 236
234 return ResolvedEndpoint{ 237 return ResolvedEndpoint{
235 URL: u, 238 URL: u,
236 SigningRegion: signingRegion, 239 SigningRegion: signingRegion,
237 SigningName: signingName, 240 SigningName: signingName,
238 SigningMethod: getByPriority(e.SignatureVersions, signerPriority, defaultSigner), 241 SigningNameDerived: signingNameDerived,
242 SigningMethod: getByPriority(e.SignatureVersions, signerPriority, defaultSigner),
239 } 243 }
240} 244}
241 245
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/logger.go b/vendor/github.com/aws/aws-sdk-go/aws/logger.go
index db87188..6ed15b2 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/logger.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/logger.go
@@ -26,14 +26,14 @@ func (l *LogLevelType) Value() LogLevelType {
26 26
27// Matches returns true if the v LogLevel is enabled by this LogLevel. Should be 27// Matches returns true if the v LogLevel is enabled by this LogLevel. Should be
28// used with logging sub levels. Is safe to use on nil value LogLevelTypes. If 28// used with logging sub levels. Is safe to use on nil value LogLevelTypes. If
29// LogLevel is nill, will default to LogOff comparison. 29// LogLevel is nil, will default to LogOff comparison.
30func (l *LogLevelType) Matches(v LogLevelType) bool { 30func (l *LogLevelType) Matches(v LogLevelType) bool {
31 c := l.Value() 31 c := l.Value()
32 return c&v == v 32 return c&v == v
33} 33}
34 34
35// AtLeast returns true if this LogLevel is at least high enough to satisfies v. 35// AtLeast returns true if this LogLevel is at least high enough to satisfies v.
36// Is safe to use on nil value LogLevelTypes. If LogLevel is nill, will default 36// Is safe to use on nil value LogLevelTypes. If LogLevel is nil, will default
37// to LogOff comparison. 37// to LogOff comparison.
38func (l *LogLevelType) AtLeast(v LogLevelType) bool { 38func (l *LogLevelType) AtLeast(v LogLevelType) bool {
39 c := l.Value() 39 c := l.Value()
@@ -71,6 +71,12 @@ const (
71 // LogDebugWithRequestErrors states the SDK should log when service requests fail 71 // LogDebugWithRequestErrors states the SDK should log when service requests fail
72 // to build, send, validate, or unmarshal. 72 // to build, send, validate, or unmarshal.
73 LogDebugWithRequestErrors 73 LogDebugWithRequestErrors
74
75 // LogDebugWithEventStreamBody states the SDK should log EventStream
76 // request and response bodys. This should be used to log the EventStream
77 // wire unmarshaled message content of requests and responses made while
78 // using the SDK Will also enable LogDebug.
79 LogDebugWithEventStreamBody
74) 80)
75 81
76// A Logger is a minimalistic interface for the SDK to log messages to. Should 82// A Logger is a minimalistic interface for the SDK to log messages to. Should
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go b/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go
index 802ac88..605a72d 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go
@@ -14,6 +14,7 @@ type Handlers struct {
14 Send HandlerList 14 Send HandlerList
15 ValidateResponse HandlerList 15 ValidateResponse HandlerList
16 Unmarshal HandlerList 16 Unmarshal HandlerList
17 UnmarshalStream HandlerList
17 UnmarshalMeta HandlerList 18 UnmarshalMeta HandlerList
18 UnmarshalError HandlerList 19 UnmarshalError HandlerList
19 Retry HandlerList 20 Retry HandlerList
@@ -30,6 +31,7 @@ func (h *Handlers) Copy() Handlers {
30 Send: h.Send.copy(), 31 Send: h.Send.copy(),
31 ValidateResponse: h.ValidateResponse.copy(), 32 ValidateResponse: h.ValidateResponse.copy(),
32 Unmarshal: h.Unmarshal.copy(), 33 Unmarshal: h.Unmarshal.copy(),
34 UnmarshalStream: h.UnmarshalStream.copy(),
33 UnmarshalError: h.UnmarshalError.copy(), 35 UnmarshalError: h.UnmarshalError.copy(),
34 UnmarshalMeta: h.UnmarshalMeta.copy(), 36 UnmarshalMeta: h.UnmarshalMeta.copy(),
35 Retry: h.Retry.copy(), 37 Retry: h.Retry.copy(),
@@ -45,6 +47,7 @@ func (h *Handlers) Clear() {
45 h.Send.Clear() 47 h.Send.Clear()
46 h.Sign.Clear() 48 h.Sign.Clear()
47 h.Unmarshal.Clear() 49 h.Unmarshal.Clear()
50 h.UnmarshalStream.Clear()
48 h.UnmarshalMeta.Clear() 51 h.UnmarshalMeta.Clear()
49 h.UnmarshalError.Clear() 52 h.UnmarshalError.Clear()
50 h.ValidateResponse.Clear() 53 h.ValidateResponse.Clear()
@@ -172,6 +175,21 @@ func (l *HandlerList) SwapNamed(n NamedHandler) (swapped bool) {
172 return swapped 175 return swapped
173} 176}
174 177
178// Swap will swap out all handlers matching the name passed in. The matched
179// handlers will be swapped in. True is returned if the handlers were swapped.
180func (l *HandlerList) Swap(name string, replace NamedHandler) bool {
181 var swapped bool
182
183 for i := 0; i < len(l.list); i++ {
184 if l.list[i].Name == name {
185 l.list[i] = replace
186 swapped = true
187 }
188 }
189
190 return swapped
191}
192
175// SetBackNamed will replace the named handler if it exists in the handler list. 193// SetBackNamed will replace the named handler if it exists in the handler list.
176// If the handler does not exist the handler will be added to the end of the list. 194// If the handler does not exist the handler will be added to the end of the list.
177func (l *HandlerList) SetBackNamed(n NamedHandler) { 195func (l *HandlerList) SetBackNamed(n NamedHandler) {
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go b/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go
index 02f07f4..b0c2ef4 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go
@@ -3,6 +3,8 @@ package request
3import ( 3import (
4 "io" 4 "io"
5 "sync" 5 "sync"
6
7 "github.com/aws/aws-sdk-go/internal/sdkio"
6) 8)
7 9
8// offsetReader is a thread-safe io.ReadCloser to prevent racing 10// offsetReader is a thread-safe io.ReadCloser to prevent racing
@@ -15,7 +17,7 @@ type offsetReader struct {
15 17
16func newOffsetReader(buf io.ReadSeeker, offset int64) *offsetReader { 18func newOffsetReader(buf io.ReadSeeker, offset int64) *offsetReader {
17 reader := &offsetReader{} 19 reader := &offsetReader{}
18 buf.Seek(offset, 0) 20 buf.Seek(offset, sdkio.SeekStart)
19 21
20 reader.buf = buf 22 reader.buf = buf
21 return reader 23 return reader
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go
index 299dc37..75f0fe0 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go
@@ -14,6 +14,7 @@ import (
14 "github.com/aws/aws-sdk-go/aws" 14 "github.com/aws/aws-sdk-go/aws"
15 "github.com/aws/aws-sdk-go/aws/awserr" 15 "github.com/aws/aws-sdk-go/aws/awserr"
16 "github.com/aws/aws-sdk-go/aws/client/metadata" 16 "github.com/aws/aws-sdk-go/aws/client/metadata"
17 "github.com/aws/aws-sdk-go/internal/sdkio"
17) 18)
18 19
19const ( 20const (
@@ -24,10 +25,14 @@ const (
24 // ErrCodeRead is an error that is returned during HTTP reads. 25 // ErrCodeRead is an error that is returned during HTTP reads.
25 ErrCodeRead = "ReadError" 26 ErrCodeRead = "ReadError"
26 27
27 // ErrCodeResponseTimeout is the connection timeout error that is recieved 28 // ErrCodeResponseTimeout is the connection timeout error that is received
28 // during body reads. 29 // during body reads.
29 ErrCodeResponseTimeout = "ResponseTimeout" 30 ErrCodeResponseTimeout = "ResponseTimeout"
30 31
32 // ErrCodeInvalidPresignExpire is returned when the expire time provided to
33 // presign is invalid
34 ErrCodeInvalidPresignExpire = "InvalidPresignExpireError"
35
31 // CanceledErrorCode is the error code that will be returned by an 36 // CanceledErrorCode is the error code that will be returned by an
32 // API request that was canceled. Requests given a aws.Context may 37 // API request that was canceled. Requests given a aws.Context may
33 // return this error when canceled. 38 // return this error when canceled.
@@ -41,8 +46,8 @@ type Request struct {
41 Handlers Handlers 46 Handlers Handlers
42 47
43 Retryer 48 Retryer
49 AttemptTime time.Time
44 Time time.Time 50 Time time.Time
45 ExpireTime time.Duration
46 Operation *Operation 51 Operation *Operation
47 HTTPRequest *http.Request 52 HTTPRequest *http.Request
48 HTTPResponse *http.Response 53 HTTPResponse *http.Response
@@ -60,6 +65,11 @@ type Request struct {
60 LastSignedAt time.Time 65 LastSignedAt time.Time
61 DisableFollowRedirects bool 66 DisableFollowRedirects bool
62 67
68 // A value greater than 0 instructs the request to be signed as Presigned URL
69 // You should not set this field directly. Instead use Request's
70 // Presign or PresignRequest methods.
71 ExpireTime time.Duration
72
63 context aws.Context 73 context aws.Context
64 74
65 built bool 75 built bool
@@ -104,12 +114,15 @@ func New(cfg aws.Config, clientInfo metadata.ClientInfo, handlers Handlers,
104 err = awserr.New("InvalidEndpointURL", "invalid endpoint uri", err) 114 err = awserr.New("InvalidEndpointURL", "invalid endpoint uri", err)
105 } 115 }
106 116
117 SanitizeHostForHeader(httpReq)
118
107 r := &Request{ 119 r := &Request{
108 Config: cfg, 120 Config: cfg,
109 ClientInfo: clientInfo, 121 ClientInfo: clientInfo,
110 Handlers: handlers.Copy(), 122 Handlers: handlers.Copy(),
111 123
112 Retryer: retryer, 124 Retryer: retryer,
125 AttemptTime: time.Now(),
113 Time: time.Now(), 126 Time: time.Now(),
114 ExpireTime: 0, 127 ExpireTime: 0,
115 Operation: operation, 128 Operation: operation,
@@ -214,6 +227,9 @@ func (r *Request) SetContext(ctx aws.Context) {
214 227
215// WillRetry returns if the request's can be retried. 228// WillRetry returns if the request's can be retried.
216func (r *Request) WillRetry() bool { 229func (r *Request) WillRetry() bool {
230 if !aws.IsReaderSeekable(r.Body) && r.HTTPRequest.Body != NoBody {
231 return false
232 }
217 return r.Error != nil && aws.BoolValue(r.Retryable) && r.RetryCount < r.MaxRetries() 233 return r.Error != nil && aws.BoolValue(r.Retryable) && r.RetryCount < r.MaxRetries()
218} 234}
219 235
@@ -245,39 +261,70 @@ func (r *Request) SetStringBody(s string) {
245// SetReaderBody will set the request's body reader. 261// SetReaderBody will set the request's body reader.
246func (r *Request) SetReaderBody(reader io.ReadSeeker) { 262func (r *Request) SetReaderBody(reader io.ReadSeeker) {
247 r.Body = reader 263 r.Body = reader
264 r.BodyStart, _ = reader.Seek(0, sdkio.SeekCurrent) // Get the Bodies current offset.
248 r.ResetBody() 265 r.ResetBody()
249} 266}
250 267
251// Presign returns the request's signed URL. Error will be returned 268// Presign returns the request's signed URL. Error will be returned
252// if the signing fails. 269// if the signing fails.
253func (r *Request) Presign(expireTime time.Duration) (string, error) { 270//
254 r.ExpireTime = expireTime 271// It is invalid to create a presigned URL with a expire duration 0 or less. An
272// error is returned if expire duration is 0 or less.
273func (r *Request) Presign(expire time.Duration) (string, error) {
274 r = r.copy()
275
276 // Presign requires all headers be hoisted. There is no way to retrieve
277 // the signed headers not hoisted without this. Making the presigned URL
278 // useless.
255 r.NotHoist = false 279 r.NotHoist = false
256 280
281 u, _, err := getPresignedURL(r, expire)
282 return u, err
283}
284
285// PresignRequest behaves just like presign, with the addition of returning a
286// set of headers that were signed.
287//
288// It is invalid to create a presigned URL with a expire duration 0 or less. An
289// error is returned if expire duration is 0 or less.
290//
291// Returns the URL string for the API operation with signature in the query string,
292// and the HTTP headers that were included in the signature. These headers must
293// be included in any HTTP request made with the presigned URL.
294//
295// To prevent hoisting any headers to the query string set NotHoist to true on
296// this Request value prior to calling PresignRequest.
297func (r *Request) PresignRequest(expire time.Duration) (string, http.Header, error) {
298 r = r.copy()
299 return getPresignedURL(r, expire)
300}
301
302// IsPresigned returns true if the request represents a presigned API url.
303func (r *Request) IsPresigned() bool {
304 return r.ExpireTime != 0
305}
306
307func getPresignedURL(r *Request, expire time.Duration) (string, http.Header, error) {
308 if expire <= 0 {
309 return "", nil, awserr.New(
310 ErrCodeInvalidPresignExpire,
311 "presigned URL requires an expire duration greater than 0",
312 nil,
313 )
314 }
315
316 r.ExpireTime = expire
317
257 if r.Operation.BeforePresignFn != nil { 318 if r.Operation.BeforePresignFn != nil {
258 r = r.copy() 319 if err := r.Operation.BeforePresignFn(r); err != nil {
259 err := r.Operation.BeforePresignFn(r) 320 return "", nil, err
260 if err != nil {
261 return "", err
262 } 321 }
263 } 322 }
264 323
265 r.Sign() 324 if err := r.Sign(); err != nil {
266 if r.Error != nil { 325 return "", nil, err
267 return "", r.Error
268 } 326 }
269 return r.HTTPRequest.URL.String(), nil
270}
271 327
272// PresignRequest behaves just like presign, but hoists all headers and signs them.
273// Also returns the signed hash back to the user
274func (r *Request) PresignRequest(expireTime time.Duration) (string, http.Header, error) {
275 r.ExpireTime = expireTime
276 r.NotHoist = true
277 r.Sign()
278 if r.Error != nil {
279 return "", nil, r.Error
280 }
281 return r.HTTPRequest.URL.String(), r.SignedHeaderVals, nil 328 return r.HTTPRequest.URL.String(), r.SignedHeaderVals, nil
282} 329}
283 330
@@ -297,7 +344,7 @@ func debugLogReqError(r *Request, stage string, retrying bool, err error) {
297 344
298// Build will build the request's object so it can be signed and sent 345// Build will build the request's object so it can be signed and sent
299// to the service. Build will also validate all the request's parameters. 346// to the service. Build will also validate all the request's parameters.
300// Anny additional build Handlers set on this request will be run 347// Any additional build Handlers set on this request will be run
301// in the order they were set. 348// in the order they were set.
302// 349//
303// The request will only be built once. Multiple calls to build will have 350// The request will only be built once. Multiple calls to build will have
@@ -323,9 +370,9 @@ func (r *Request) Build() error {
323 return r.Error 370 return r.Error
324} 371}
325 372
326// Sign will sign the request returning error if errors are encountered. 373// Sign will sign the request, returning error if errors are encountered.
327// 374//
328// Send will build the request prior to signing. All Sign Handlers will 375// Sign will build the request prior to signing. All Sign Handlers will
329// be executed in the order they were set. 376// be executed in the order they were set.
330func (r *Request) Sign() error { 377func (r *Request) Sign() error {
331 r.Build() 378 r.Build()
@@ -358,7 +405,7 @@ func (r *Request) getNextRequestBody() (io.ReadCloser, error) {
358 // of the SDK if they used that field. 405 // of the SDK if they used that field.
359 // 406 //
360 // Related golang/go#18257 407 // Related golang/go#18257
361 l, err := computeBodyLength(r.Body) 408 l, err := aws.SeekerLen(r.Body)
362 if err != nil { 409 if err != nil {
363 return nil, awserr.New(ErrCodeSerialization, "failed to compute request body size", err) 410 return nil, awserr.New(ErrCodeSerialization, "failed to compute request body size", err)
364 } 411 }
@@ -376,7 +423,8 @@ func (r *Request) getNextRequestBody() (io.ReadCloser, error) {
376 // Transfer-Encoding: chunked bodies for these methods. 423 // Transfer-Encoding: chunked bodies for these methods.
377 // 424 //
378 // This would only happen if a aws.ReaderSeekerCloser was used with 425 // This would only happen if a aws.ReaderSeekerCloser was used with
379 // a io.Reader that was not also an io.Seeker. 426 // a io.Reader that was not also an io.Seeker, or did not implement
427 // Len() method.
380 switch r.Operation.HTTPMethod { 428 switch r.Operation.HTTPMethod {
381 case "GET", "HEAD", "DELETE": 429 case "GET", "HEAD", "DELETE":
382 body = NoBody 430 body = NoBody
@@ -388,49 +436,13 @@ func (r *Request) getNextRequestBody() (io.ReadCloser, error) {
388 return body, nil 436 return body, nil
389} 437}
390 438
391// Attempts to compute the length of the body of the reader using the
392// io.Seeker interface. If the value is not seekable because of being
393// a ReaderSeekerCloser without an unerlying Seeker -1 will be returned.
394// If no error occurs the length of the body will be returned.
395func computeBodyLength(r io.ReadSeeker) (int64, error) {
396 seekable := true
397 // Determine if the seeker is actually seekable. ReaderSeekerCloser
398 // hides the fact that a io.Readers might not actually be seekable.
399 switch v := r.(type) {
400 case aws.ReaderSeekerCloser:
401 seekable = v.IsSeeker()
402 case *aws.ReaderSeekerCloser:
403 seekable = v.IsSeeker()
404 }
405 if !seekable {
406 return -1, nil
407 }
408
409 curOffset, err := r.Seek(0, 1)
410 if err != nil {
411 return 0, err
412 }
413
414 endOffset, err := r.Seek(0, 2)
415 if err != nil {
416 return 0, err
417 }
418
419 _, err = r.Seek(curOffset, 0)
420 if err != nil {
421 return 0, err
422 }
423
424 return endOffset - curOffset, nil
425}
426
427// GetBody will return an io.ReadSeeker of the Request's underlying 439// GetBody will return an io.ReadSeeker of the Request's underlying
428// input body with a concurrency safe wrapper. 440// input body with a concurrency safe wrapper.
429func (r *Request) GetBody() io.ReadSeeker { 441func (r *Request) GetBody() io.ReadSeeker {
430 return r.safeBody 442 return r.safeBody
431} 443}
432 444
433// Send will send the request returning error if errors are encountered. 445// Send will send the request, returning error if errors are encountered.
434// 446//
435// Send will sign the request prior to sending. All Send Handlers will 447// Send will sign the request prior to sending. All Send Handlers will
436// be executed in the order they were set. 448// be executed in the order they were set.
@@ -451,6 +463,7 @@ func (r *Request) Send() error {
451 }() 463 }()
452 464
453 for { 465 for {
466 r.AttemptTime = time.Now()
454 if aws.BoolValue(r.Retryable) { 467 if aws.BoolValue(r.Retryable) {
455 if r.Config.LogLevel.Matches(aws.LogDebugWithRequestRetries) { 468 if r.Config.LogLevel.Matches(aws.LogDebugWithRequestRetries) {
456 r.Config.Logger.Log(fmt.Sprintf("DEBUG: Retrying Request %s/%s, attempt %d", 469 r.Config.Logger.Log(fmt.Sprintf("DEBUG: Retrying Request %s/%s, attempt %d",
@@ -573,3 +586,72 @@ func shouldRetryCancel(r *Request) bool {
573 errStr != "net/http: request canceled while waiting for connection") 586 errStr != "net/http: request canceled while waiting for connection")
574 587
575} 588}
589
590// SanitizeHostForHeader removes default port from host and updates request.Host
591func SanitizeHostForHeader(r *http.Request) {
592 host := getHost(r)
593 port := portOnly(host)
594 if port != "" && isDefaultPort(r.URL.Scheme, port) {
595 r.Host = stripPort(host)
596 }
597}
598
599// Returns host from request
600func getHost(r *http.Request) string {
601 if r.Host != "" {
602 return r.Host
603 }
604
605 return r.URL.Host
606}
607
608// Hostname returns u.Host, without any port number.
609//
610// If Host is an IPv6 literal with a port number, Hostname returns the
611// IPv6 literal without the square brackets. IPv6 literals may include
612// a zone identifier.
613//
614// Copied from the Go 1.8 standard library (net/url)
615func stripPort(hostport string) string {
616 colon := strings.IndexByte(hostport, ':')
617 if colon == -1 {
618 return hostport
619 }
620 if i := strings.IndexByte(hostport, ']'); i != -1 {
621 return strings.TrimPrefix(hostport[:i], "[")
622 }
623 return hostport[:colon]
624}
625
626// Port returns the port part of u.Host, without the leading colon.
627// If u.Host doesn't contain a port, Port returns an empty string.
628//
629// Copied from the Go 1.8 standard library (net/url)
630func portOnly(hostport string) string {
631 colon := strings.IndexByte(hostport, ':')
632 if colon == -1 {
633 return ""
634 }
635 if i := strings.Index(hostport, "]:"); i != -1 {
636 return hostport[i+len("]:"):]
637 }
638 if strings.Contains(hostport, "]") {
639 return ""
640 }
641 return hostport[colon+len(":"):]
642}
643
644// Returns true if the specified URI is using the standard port
645// (i.e. port 80 for HTTP URIs or 443 for HTTPS URIs)
646func isDefaultPort(scheme, port string) bool {
647 if port == "" {
648 return true
649 }
650
651 lowerCaseScheme := strings.ToLower(scheme)
652 if (lowerCaseScheme == "http" && port == "80") || (lowerCaseScheme == "https" && port == "443") {
653 return true
654 }
655
656 return false
657}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go
index 869b97a..e36e468 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go
@@ -21,7 +21,7 @@ func (noBody) WriteTo(io.Writer) (int64, error) { return 0, nil }
21var NoBody = noBody{} 21var NoBody = noBody{}
22 22
23// ResetBody rewinds the request body back to its starting position, and 23// ResetBody rewinds the request body back to its starting position, and
24// set's the HTTP Request body reference. When the body is read prior 24// sets the HTTP Request body reference. When the body is read prior
25// to being sent in the HTTP request it will need to be rewound. 25// to being sent in the HTTP request it will need to be rewound.
26// 26//
27// ResetBody will automatically be called by the SDK's build handler, but if 27// ResetBody will automatically be called by the SDK's build handler, but if
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go
index c32fc69..7c6a800 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go
@@ -11,7 +11,7 @@ import (
11var NoBody = http.NoBody 11var NoBody = http.NoBody
12 12
13// ResetBody rewinds the request body back to its starting position, and 13// ResetBody rewinds the request body back to its starting position, and
14// set's the HTTP Request body reference. When the body is read prior 14// sets the HTTP Request body reference. When the body is read prior
15// to being sent in the HTTP request it will need to be rewound. 15// to being sent in the HTTP request it will need to be rewound.
16// 16//
17// ResetBody will automatically be called by the SDK's build handler, but if 17// ResetBody will automatically be called by the SDK's build handler, but if
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go
index 59de673..a633ed5 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go
@@ -35,8 +35,12 @@ type Pagination struct {
35 // NewRequest should always be built from the same API operations. It is 35 // NewRequest should always be built from the same API operations. It is
36 // undefined if different API operations are returned on subsequent calls. 36 // undefined if different API operations are returned on subsequent calls.
37 NewRequest func() (*Request, error) 37 NewRequest func() (*Request, error)
38 // EndPageOnSameToken, when enabled, will allow the paginator to stop on
39 // token that are the same as its previous tokens.
40 EndPageOnSameToken bool
38 41
39 started bool 42 started bool
43 prevTokens []interface{}
40 nextTokens []interface{} 44 nextTokens []interface{}
41 45
42 err error 46 err error
@@ -49,7 +53,15 @@ type Pagination struct {
49// 53//
50// Will always return true if Next has not been called yet. 54// Will always return true if Next has not been called yet.
51func (p *Pagination) HasNextPage() bool { 55func (p *Pagination) HasNextPage() bool {
52 return !(p.started && len(p.nextTokens) == 0) 56 if !p.started {
57 return true
58 }
59
60 hasNextPage := len(p.nextTokens) != 0
61 if p.EndPageOnSameToken {
62 return hasNextPage && !awsutil.DeepEqual(p.nextTokens, p.prevTokens)
63 }
64 return hasNextPage
53} 65}
54 66
55// Err returns the error Pagination encountered when retrieving the next page. 67// Err returns the error Pagination encountered when retrieving the next page.
@@ -96,6 +108,7 @@ func (p *Pagination) Next() bool {
96 return false 108 return false
97 } 109 }
98 110
111 p.prevTokens = p.nextTokens
99 p.nextTokens = req.nextPageTokens() 112 p.nextTokens = req.nextPageTokens()
100 p.curPage = req.Data 113 p.curPage = req.Data
101 114
@@ -142,13 +155,28 @@ func (r *Request) nextPageTokens() []interface{} {
142 tokens := []interface{}{} 155 tokens := []interface{}{}
143 tokenAdded := false 156 tokenAdded := false
144 for _, outToken := range r.Operation.OutputTokens { 157 for _, outToken := range r.Operation.OutputTokens {
145 v, _ := awsutil.ValuesAtPath(r.Data, outToken) 158 vs, _ := awsutil.ValuesAtPath(r.Data, outToken)
146 if len(v) > 0 { 159 if len(vs) == 0 {
147 tokens = append(tokens, v[0])
148 tokenAdded = true
149 } else {
150 tokens = append(tokens, nil) 160 tokens = append(tokens, nil)
161 continue
162 }
163 v := vs[0]
164
165 switch tv := v.(type) {
166 case *string:
167 if len(aws.StringValue(tv)) == 0 {
168 tokens = append(tokens, nil)
169 continue
170 }
171 case string:
172 if len(tv) == 0 {
173 tokens = append(tokens, nil)
174 continue
175 }
151 } 176 }
177
178 tokenAdded = true
179 tokens = append(tokens, v)
152 } 180 }
153 if !tokenAdded { 181 if !tokenAdded {
154 return nil 182 return nil
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
index 8d369c1..7d52702 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
@@ -8,7 +8,7 @@ import (
8) 8)
9 9
10// Retryer is an interface to control retry logic for a given service. 10// Retryer is an interface to control retry logic for a given service.
11// The default implementation used by most services is the service.DefaultRetryer 11// The default implementation used by most services is the client.DefaultRetryer
12// structure, which contains basic retry logic using exponential backoff. 12// structure, which contains basic retry logic using exponential backoff.
13type Retryer interface { 13type Retryer interface {
14 RetryRules(*Request) time.Duration 14 RetryRules(*Request) time.Duration
@@ -70,8 +70,8 @@ func isCodeExpiredCreds(code string) bool {
70} 70}
71 71
72var validParentCodes = map[string]struct{}{ 72var validParentCodes = map[string]struct{}{
73 ErrCodeSerialization: struct{}{}, 73 ErrCodeSerialization: {},
74 ErrCodeRead: struct{}{}, 74 ErrCodeRead: {},
75} 75}
76 76
77type temporaryError interface { 77type temporaryError interface {
@@ -97,7 +97,7 @@ func isNestedErrorRetryable(parentErr awserr.Error) bool {
97 } 97 }
98 98
99 if t, ok := err.(temporaryError); ok { 99 if t, ok := err.(temporaryError); ok {
100 return t.Temporary() 100 return t.Temporary() || isErrConnectionReset(err)
101 } 101 }
102 102
103 return isErrConnectionReset(err) 103 return isErrConnectionReset(err)
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go b/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go
index 2520286..4012462 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go
@@ -220,7 +220,7 @@ type ErrParamMinLen struct {
220func NewErrParamMinLen(field string, min int) *ErrParamMinLen { 220func NewErrParamMinLen(field string, min int) *ErrParamMinLen {
221 return &ErrParamMinLen{ 221 return &ErrParamMinLen{
222 errInvalidParam: errInvalidParam{ 222 errInvalidParam: errInvalidParam{
223 code: ParamMinValueErrCode, 223 code: ParamMinLenErrCode,
224 field: field, 224 field: field,
225 msg: fmt.Sprintf("minimum field size of %v", min), 225 msg: fmt.Sprintf("minimum field size of %v", min),
226 }, 226 },
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go b/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go
index 22d2f80..4601f88 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go
@@ -79,8 +79,9 @@ type Waiter struct {
79 MaxAttempts int 79 MaxAttempts int
80 Delay WaiterDelay 80 Delay WaiterDelay
81 81
82 RequestOptions []Option 82 RequestOptions []Option
83 NewRequest func([]Option) (*Request, error) 83 NewRequest func([]Option) (*Request, error)
84 SleepWithContext func(aws.Context, time.Duration) error
84} 85}
85 86
86// ApplyOptions updates the waiter with the list of waiter options provided. 87// ApplyOptions updates the waiter with the list of waiter options provided.
@@ -195,8 +196,15 @@ func (w Waiter) WaitWithContext(ctx aws.Context) error {
195 if sleepFn := req.Config.SleepDelay; sleepFn != nil { 196 if sleepFn := req.Config.SleepDelay; sleepFn != nil {
196 // Support SleepDelay for backwards compatibility and testing 197 // Support SleepDelay for backwards compatibility and testing
197 sleepFn(delay) 198 sleepFn(delay)
198 } else if err := aws.SleepWithContext(ctx, delay); err != nil { 199 } else {
199 return awserr.New(CanceledErrorCode, "waiter context canceled", err) 200 sleepCtxFn := w.SleepWithContext
201 if sleepCtxFn == nil {
202 sleepCtxFn = aws.SleepWithContext
203 }
204
205 if err := sleepCtxFn(ctx, delay); err != nil {
206 return awserr.New(CanceledErrorCode, "waiter context canceled", err)
207 }
200 } 208 }
201 } 209 }
202 210
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
index ea7b886..98d420f 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
@@ -128,7 +128,7 @@ read. The Session will be created from configuration values from the shared
128credentials file (~/.aws/credentials) over those in the shared config file (~/.aws/config). 128credentials file (~/.aws/credentials) over those in the shared config file (~/.aws/config).
129 129
130Credentials are the values the SDK should use for authenticating requests with 130Credentials are the values the SDK should use for authenticating requests with
131AWS Services. They arfrom a configuration file will need to include both 131AWS Services. They are from a configuration file will need to include both
132aws_access_key_id and aws_secret_access_key must be provided together in the 132aws_access_key_id and aws_secret_access_key must be provided together in the
133same file to be considered valid. The values will be ignored if not a complete 133same file to be considered valid. The values will be ignored if not a complete
134group. aws_session_token is an optional field that can be provided if both of 134group. aws_session_token is an optional field that can be provided if both of
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
index 7357e54..82e04d7 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
@@ -5,8 +5,12 @@ import (
5 "strconv" 5 "strconv"
6 6
7 "github.com/aws/aws-sdk-go/aws/credentials" 7 "github.com/aws/aws-sdk-go/aws/credentials"
8 "github.com/aws/aws-sdk-go/aws/defaults"
8) 9)
9 10
11// EnvProviderName provides a name of the provider when config is loaded from environment.
12const EnvProviderName = "EnvConfigCredentials"
13
10// envConfig is a collection of environment values the SDK will read 14// envConfig is a collection of environment values the SDK will read
11// setup config from. All environment values are optional. But some values 15// setup config from. All environment values are optional. But some values
12// such as credentials require multiple values to be complete or the values 16// such as credentials require multiple values to be complete or the values
@@ -76,7 +80,7 @@ type envConfig struct {
76 SharedConfigFile string 80 SharedConfigFile string
77 81
78 // Sets the path to a custom Credentials Authroity (CA) Bundle PEM file 82 // Sets the path to a custom Credentials Authroity (CA) Bundle PEM file
79 // that the SDK will use instead of the the system's root CA bundle. 83 // that the SDK will use instead of the system's root CA bundle.
80 // Only use this if you want to configure the SDK to use a custom set 84 // Only use this if you want to configure the SDK to use a custom set
81 // of CAs. 85 // of CAs.
82 // 86 //
@@ -92,9 +96,23 @@ type envConfig struct {
92 // 96 //
93 // AWS_CA_BUNDLE=$HOME/my_custom_ca_bundle 97 // AWS_CA_BUNDLE=$HOME/my_custom_ca_bundle
94 CustomCABundle string 98 CustomCABundle string
99
100 csmEnabled string
101 CSMEnabled bool
102 CSMPort string
103 CSMClientID string
95} 104}
96 105
97var ( 106var (
107 csmEnabledEnvKey = []string{
108 "AWS_CSM_ENABLED",
109 }
110 csmPortEnvKey = []string{
111 "AWS_CSM_PORT",
112 }
113 csmClientIDEnvKey = []string{
114 "AWS_CSM_CLIENT_ID",
115 }
98 credAccessEnvKey = []string{ 116 credAccessEnvKey = []string{
99 "AWS_ACCESS_KEY_ID", 117 "AWS_ACCESS_KEY_ID",
100 "AWS_ACCESS_KEY", 118 "AWS_ACCESS_KEY",
@@ -153,11 +171,17 @@ func envConfigLoad(enableSharedConfig bool) envConfig {
153 setFromEnvVal(&cfg.Creds.SecretAccessKey, credSecretEnvKey) 171 setFromEnvVal(&cfg.Creds.SecretAccessKey, credSecretEnvKey)
154 setFromEnvVal(&cfg.Creds.SessionToken, credSessionEnvKey) 172 setFromEnvVal(&cfg.Creds.SessionToken, credSessionEnvKey)
155 173
174 // CSM environment variables
175 setFromEnvVal(&cfg.csmEnabled, csmEnabledEnvKey)
176 setFromEnvVal(&cfg.CSMPort, csmPortEnvKey)
177 setFromEnvVal(&cfg.CSMClientID, csmClientIDEnvKey)
178 cfg.CSMEnabled = len(cfg.csmEnabled) > 0
179
156 // Require logical grouping of credentials 180 // Require logical grouping of credentials
157 if len(cfg.Creds.AccessKeyID) == 0 || len(cfg.Creds.SecretAccessKey) == 0 { 181 if len(cfg.Creds.AccessKeyID) == 0 || len(cfg.Creds.SecretAccessKey) == 0 {
158 cfg.Creds = credentials.Value{} 182 cfg.Creds = credentials.Value{}
159 } else { 183 } else {
160 cfg.Creds.ProviderName = "EnvConfigCredentials" 184 cfg.Creds.ProviderName = EnvProviderName
161 } 185 }
162 186
163 regionKeys := regionEnvKeys 187 regionKeys := regionEnvKeys
@@ -173,6 +197,13 @@ func envConfigLoad(enableSharedConfig bool) envConfig {
173 setFromEnvVal(&cfg.SharedCredentialsFile, sharedCredsFileEnvKey) 197 setFromEnvVal(&cfg.SharedCredentialsFile, sharedCredsFileEnvKey)
174 setFromEnvVal(&cfg.SharedConfigFile, sharedConfigFileEnvKey) 198 setFromEnvVal(&cfg.SharedConfigFile, sharedConfigFileEnvKey)
175 199
200 if len(cfg.SharedCredentialsFile) == 0 {
201 cfg.SharedCredentialsFile = defaults.SharedCredentialsFilename()
202 }
203 if len(cfg.SharedConfigFile) == 0 {
204 cfg.SharedConfigFile = defaults.SharedConfigFilename()
205 }
206
176 cfg.CustomCABundle = os.Getenv("AWS_CA_BUNDLE") 207 cfg.CustomCABundle = os.Getenv("AWS_CA_BUNDLE")
177 208
178 return cfg 209 return cfg
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
index 9f75d5a..51f3055 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
@@ -15,6 +15,7 @@ import (
15 "github.com/aws/aws-sdk-go/aws/corehandlers" 15 "github.com/aws/aws-sdk-go/aws/corehandlers"
16 "github.com/aws/aws-sdk-go/aws/credentials" 16 "github.com/aws/aws-sdk-go/aws/credentials"
17 "github.com/aws/aws-sdk-go/aws/credentials/stscreds" 17 "github.com/aws/aws-sdk-go/aws/credentials/stscreds"
18 "github.com/aws/aws-sdk-go/aws/csm"
18 "github.com/aws/aws-sdk-go/aws/defaults" 19 "github.com/aws/aws-sdk-go/aws/defaults"
19 "github.com/aws/aws-sdk-go/aws/endpoints" 20 "github.com/aws/aws-sdk-go/aws/endpoints"
20 "github.com/aws/aws-sdk-go/aws/request" 21 "github.com/aws/aws-sdk-go/aws/request"
@@ -26,7 +27,7 @@ import (
26// Sessions are safe to create service clients concurrently, but it is not safe 27// Sessions are safe to create service clients concurrently, but it is not safe
27// to mutate the Session concurrently. 28// to mutate the Session concurrently.
28// 29//
29// The Session satisfies the service client's client.ClientConfigProvider. 30// The Session satisfies the service client's client.ConfigProvider.
30type Session struct { 31type Session struct {
31 Config *aws.Config 32 Config *aws.Config
32 Handlers request.Handlers 33 Handlers request.Handlers
@@ -58,7 +59,12 @@ func New(cfgs ...*aws.Config) *Session {
58 envCfg := loadEnvConfig() 59 envCfg := loadEnvConfig()
59 60
60 if envCfg.EnableSharedConfig { 61 if envCfg.EnableSharedConfig {
61 s, err := newSession(Options{}, envCfg, cfgs...) 62 var cfg aws.Config
63 cfg.MergeIn(cfgs...)
64 s, err := NewSessionWithOptions(Options{
65 Config: cfg,
66 SharedConfigState: SharedConfigEnable,
67 })
62 if err != nil { 68 if err != nil {
63 // Old session.New expected all errors to be discovered when 69 // Old session.New expected all errors to be discovered when
64 // a request is made, and would report the errors then. This 70 // a request is made, and would report the errors then. This
@@ -76,10 +82,16 @@ func New(cfgs ...*aws.Config) *Session {
76 r.Error = err 82 r.Error = err
77 }) 83 })
78 } 84 }
85
79 return s 86 return s
80 } 87 }
81 88
82 return deprecatedNewSession(cfgs...) 89 s := deprecatedNewSession(cfgs...)
90 if envCfg.CSMEnabled {
91 enableCSM(&s.Handlers, envCfg.CSMClientID, envCfg.CSMPort, s.Config.Logger)
92 }
93
94 return s
83} 95}
84 96
85// NewSession returns a new Session created from SDK defaults, config files, 97// NewSession returns a new Session created from SDK defaults, config files,
@@ -243,13 +255,6 @@ func NewSessionWithOptions(opts Options) (*Session, error) {
243 envCfg.EnableSharedConfig = true 255 envCfg.EnableSharedConfig = true
244 } 256 }
245 257
246 if len(envCfg.SharedCredentialsFile) == 0 {
247 envCfg.SharedCredentialsFile = defaults.SharedCredentialsFilename()
248 }
249 if len(envCfg.SharedConfigFile) == 0 {
250 envCfg.SharedConfigFile = defaults.SharedConfigFilename()
251 }
252
253 // Only use AWS_CA_BUNDLE if session option is not provided. 258 // Only use AWS_CA_BUNDLE if session option is not provided.
254 if len(envCfg.CustomCABundle) != 0 && opts.CustomCABundle == nil { 259 if len(envCfg.CustomCABundle) != 0 && opts.CustomCABundle == nil {
255 f, err := os.Open(envCfg.CustomCABundle) 260 f, err := os.Open(envCfg.CustomCABundle)
@@ -302,10 +307,22 @@ func deprecatedNewSession(cfgs ...*aws.Config) *Session {
302 } 307 }
303 308
304 initHandlers(s) 309 initHandlers(s)
305
306 return s 310 return s
307} 311}
308 312
313func enableCSM(handlers *request.Handlers, clientID string, port string, logger aws.Logger) {
314 logger.Log("Enabling CSM")
315 if len(port) == 0 {
316 port = csm.DefaultPort
317 }
318
319 r, err := csm.Start(clientID, "127.0.0.1:"+port)
320 if err != nil {
321 return
322 }
323 r.InjectHandlers(handlers)
324}
325
309func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session, error) { 326func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session, error) {
310 cfg := defaults.Config() 327 cfg := defaults.Config()
311 handlers := defaults.Handlers() 328 handlers := defaults.Handlers()
@@ -345,6 +362,9 @@ func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session,
345 } 362 }
346 363
347 initHandlers(s) 364 initHandlers(s)
365 if envCfg.CSMEnabled {
366 enableCSM(&s.Handlers, envCfg.CSMClientID, envCfg.CSMPort, s.Config.Logger)
367 }
348 368
349 // Setup HTTP client with custom cert bundle if enabled 369 // Setup HTTP client with custom cert bundle if enabled
350 if opts.CustomCABundle != nil { 370 if opts.CustomCABundle != nil {
@@ -573,11 +593,12 @@ func (s *Session) clientConfigWithErr(serviceName string, cfgs ...*aws.Config) (
573 } 593 }
574 594
575 return client.Config{ 595 return client.Config{
576 Config: s.Config, 596 Config: s.Config,
577 Handlers: s.Handlers, 597 Handlers: s.Handlers,
578 Endpoint: resolved.URL, 598 Endpoint: resolved.URL,
579 SigningRegion: resolved.SigningRegion, 599 SigningRegion: resolved.SigningRegion,
580 SigningName: resolved.SigningName, 600 SigningNameDerived: resolved.SigningNameDerived,
601 SigningName: resolved.SigningName,
581 }, err 602 }, err
582} 603}
583 604
@@ -597,10 +618,11 @@ func (s *Session) ClientConfigNoResolveEndpoint(cfgs ...*aws.Config) client.Conf
597 } 618 }
598 619
599 return client.Config{ 620 return client.Config{
600 Config: s.Config, 621 Config: s.Config,
601 Handlers: s.Handlers, 622 Handlers: s.Handlers,
602 Endpoint: resolved.URL, 623 Endpoint: resolved.URL,
603 SigningRegion: resolved.SigningRegion, 624 SigningRegion: resolved.SigningRegion,
604 SigningName: resolved.SigningName, 625 SigningNameDerived: resolved.SigningNameDerived,
626 SigningName: resolved.SigningName,
605 } 627 }
606} 628}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
index 434ac87..8aa0681 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
@@ -45,7 +45,7 @@
45// If signing a request intended for HTTP2 server, and you're using Go 1.6.2 45// If signing a request intended for HTTP2 server, and you're using Go 1.6.2
46// through 1.7.4 you should use the URL.RawPath as the pre-escaped form of the 46// through 1.7.4 you should use the URL.RawPath as the pre-escaped form of the
47// request URL. https://github.com/golang/go/issues/16847 points to a bug in 47// request URL. https://github.com/golang/go/issues/16847 points to a bug in
48// Go pre 1.8 that failes to make HTTP2 requests using absolute URL in the HTTP 48// Go pre 1.8 that fails to make HTTP2 requests using absolute URL in the HTTP
49// message. URL.Opaque generally will force Go to make requests with absolute URL. 49// message. URL.Opaque generally will force Go to make requests with absolute URL.
50// URL.RawPath does not do this, but RawPath must be a valid escaping of Path 50// URL.RawPath does not do this, but RawPath must be a valid escaping of Path
51// or url.EscapedPath will ignore the RawPath escaping. 51// or url.EscapedPath will ignore the RawPath escaping.
@@ -55,7 +55,6 @@
55package v4 55package v4
56 56
57import ( 57import (
58 "bytes"
59 "crypto/hmac" 58 "crypto/hmac"
60 "crypto/sha256" 59 "crypto/sha256"
61 "encoding/hex" 60 "encoding/hex"
@@ -72,6 +71,7 @@ import (
72 "github.com/aws/aws-sdk-go/aws" 71 "github.com/aws/aws-sdk-go/aws"
73 "github.com/aws/aws-sdk-go/aws/credentials" 72 "github.com/aws/aws-sdk-go/aws/credentials"
74 "github.com/aws/aws-sdk-go/aws/request" 73 "github.com/aws/aws-sdk-go/aws/request"
74 "github.com/aws/aws-sdk-go/internal/sdkio"
75 "github.com/aws/aws-sdk-go/private/protocol/rest" 75 "github.com/aws/aws-sdk-go/private/protocol/rest"
76) 76)
77 77
@@ -98,25 +98,25 @@ var ignoredHeaders = rules{
98var requiredSignedHeaders = rules{ 98var requiredSignedHeaders = rules{
99 whitelist{ 99 whitelist{
100 mapRule{ 100 mapRule{
101 "Cache-Control": struct{}{}, 101 "Cache-Control": struct{}{},
102 "Content-Disposition": struct{}{}, 102 "Content-Disposition": struct{}{},
103 "Content-Encoding": struct{}{}, 103 "Content-Encoding": struct{}{},
104 "Content-Language": struct{}{}, 104 "Content-Language": struct{}{},
105 "Content-Md5": struct{}{}, 105 "Content-Md5": struct{}{},
106 "Content-Type": struct{}{}, 106 "Content-Type": struct{}{},
107 "Expires": struct{}{}, 107 "Expires": struct{}{},
108 "If-Match": struct{}{}, 108 "If-Match": struct{}{},
109 "If-Modified-Since": struct{}{}, 109 "If-Modified-Since": struct{}{},
110 "If-None-Match": struct{}{}, 110 "If-None-Match": struct{}{},
111 "If-Unmodified-Since": struct{}{}, 111 "If-Unmodified-Since": struct{}{},
112 "Range": struct{}{}, 112 "Range": struct{}{},
113 "X-Amz-Acl": struct{}{}, 113 "X-Amz-Acl": struct{}{},
114 "X-Amz-Copy-Source": struct{}{}, 114 "X-Amz-Copy-Source": struct{}{},
115 "X-Amz-Copy-Source-If-Match": struct{}{}, 115 "X-Amz-Copy-Source-If-Match": struct{}{},
116 "X-Amz-Copy-Source-If-Modified-Since": struct{}{}, 116 "X-Amz-Copy-Source-If-Modified-Since": struct{}{},
117 "X-Amz-Copy-Source-If-None-Match": struct{}{}, 117 "X-Amz-Copy-Source-If-None-Match": struct{}{},
118 "X-Amz-Copy-Source-If-Unmodified-Since": struct{}{}, 118 "X-Amz-Copy-Source-If-Unmodified-Since": struct{}{},
119 "X-Amz-Copy-Source-Range": struct{}{}, 119 "X-Amz-Copy-Source-Range": struct{}{},
120 "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{}, 120 "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{},
121 "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{}, 121 "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{},
122 "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{}, 122 "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{},
@@ -135,6 +135,7 @@ var requiredSignedHeaders = rules{
135 "X-Amz-Server-Side-Encryption-Customer-Key-Md5": struct{}{}, 135 "X-Amz-Server-Side-Encryption-Customer-Key-Md5": struct{}{},
136 "X-Amz-Storage-Class": struct{}{}, 136 "X-Amz-Storage-Class": struct{}{},
137 "X-Amz-Website-Redirect-Location": struct{}{}, 137 "X-Amz-Website-Redirect-Location": struct{}{},
138 "X-Amz-Content-Sha256": struct{}{},
138 }, 139 },
139 }, 140 },
140 patterns{"X-Amz-Meta-"}, 141 patterns{"X-Amz-Meta-"},
@@ -269,7 +270,7 @@ type signingCtx struct {
269// "X-Amz-Content-Sha256" header with a precomputed value. The signer will 270// "X-Amz-Content-Sha256" header with a precomputed value. The signer will
270// only compute the hash if the request header value is empty. 271// only compute the hash if the request header value is empty.
271func (v4 Signer) Sign(r *http.Request, body io.ReadSeeker, service, region string, signTime time.Time) (http.Header, error) { 272func (v4 Signer) Sign(r *http.Request, body io.ReadSeeker, service, region string, signTime time.Time) (http.Header, error) {
272 return v4.signWithBody(r, body, service, region, 0, signTime) 273 return v4.signWithBody(r, body, service, region, 0, false, signTime)
273} 274}
274 275
275// Presign signs AWS v4 requests with the provided body, service name, region 276// Presign signs AWS v4 requests with the provided body, service name, region
@@ -303,10 +304,10 @@ func (v4 Signer) Sign(r *http.Request, body io.ReadSeeker, service, region strin
303// presigned request's signature you can set the "X-Amz-Content-Sha256" 304// presigned request's signature you can set the "X-Amz-Content-Sha256"
304// HTTP header and that will be included in the request's signature. 305// HTTP header and that will be included in the request's signature.
305func (v4 Signer) Presign(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, signTime time.Time) (http.Header, error) { 306func (v4 Signer) Presign(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, signTime time.Time) (http.Header, error) {
306 return v4.signWithBody(r, body, service, region, exp, signTime) 307 return v4.signWithBody(r, body, service, region, exp, true, signTime)
307} 308}
308 309
309func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, signTime time.Time) (http.Header, error) { 310func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, isPresign bool, signTime time.Time) (http.Header, error) {
310 currentTimeFn := v4.currentTimeFn 311 currentTimeFn := v4.currentTimeFn
311 if currentTimeFn == nil { 312 if currentTimeFn == nil {
312 currentTimeFn = time.Now 313 currentTimeFn = time.Now
@@ -318,7 +319,7 @@ func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, regi
318 Query: r.URL.Query(), 319 Query: r.URL.Query(),
319 Time: signTime, 320 Time: signTime,
320 ExpireTime: exp, 321 ExpireTime: exp,
321 isPresign: exp != 0, 322 isPresign: isPresign,
322 ServiceName: service, 323 ServiceName: service,
323 Region: region, 324 Region: region,
324 DisableURIPathEscaping: v4.DisableURIPathEscaping, 325 DisableURIPathEscaping: v4.DisableURIPathEscaping,
@@ -340,8 +341,11 @@ func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, regi
340 return http.Header{}, err 341 return http.Header{}, err
341 } 342 }
342 343
344 ctx.sanitizeHostForHeader()
343 ctx.assignAmzQueryValues() 345 ctx.assignAmzQueryValues()
344 ctx.build(v4.DisableHeaderHoisting) 346 if err := ctx.build(v4.DisableHeaderHoisting); err != nil {
347 return nil, err
348 }
345 349
346 // If the request is not presigned the body should be attached to it. This 350 // If the request is not presigned the body should be attached to it. This
347 // prevents the confusion of wanting to send a signed request without 351 // prevents the confusion of wanting to send a signed request without
@@ -364,6 +368,10 @@ func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, regi
364 return ctx.SignedHeaderVals, nil 368 return ctx.SignedHeaderVals, nil
365} 369}
366 370
371func (ctx *signingCtx) sanitizeHostForHeader() {
372 request.SanitizeHostForHeader(ctx.Request)
373}
374
367func (ctx *signingCtx) handlePresignRemoval() { 375func (ctx *signingCtx) handlePresignRemoval() {
368 if !ctx.isPresign { 376 if !ctx.isPresign {
369 return 377 return
@@ -402,7 +410,7 @@ var SignRequestHandler = request.NamedHandler{
402} 410}
403 411
404// SignSDKRequest signs an AWS request with the V4 signature. This 412// SignSDKRequest signs an AWS request with the V4 signature. This
405// request handler is bested used only with the SDK's built in service client's 413// request handler should only be used with the SDK's built in service client's
406// API operation requests. 414// API operation requests.
407// 415//
408// This function should not be used on its on its own, but in conjunction with 416// This function should not be used on its on its own, but in conjunction with
@@ -468,7 +476,7 @@ func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time
468 } 476 }
469 477
470 signedHeaders, err := v4.signWithBody(req.HTTPRequest, req.GetBody(), 478 signedHeaders, err := v4.signWithBody(req.HTTPRequest, req.GetBody(),
471 name, region, req.ExpireTime, signingTime, 479 name, region, req.ExpireTime, req.ExpireTime > 0, signingTime,
472 ) 480 )
473 if err != nil { 481 if err != nil {
474 req.Error = err 482 req.Error = err
@@ -499,10 +507,14 @@ func (v4 *Signer) logSigningInfo(ctx *signingCtx) {
499 v4.Logger.Log(msg) 507 v4.Logger.Log(msg)
500} 508}
501 509
502func (ctx *signingCtx) build(disableHeaderHoisting bool) { 510func (ctx *signingCtx) build(disableHeaderHoisting bool) error {
503 ctx.buildTime() // no depends 511 ctx.buildTime() // no depends
504 ctx.buildCredentialString() // no depends 512 ctx.buildCredentialString() // no depends
505 513
514 if err := ctx.buildBodyDigest(); err != nil {
515 return err
516 }
517
506 unsignedHeaders := ctx.Request.Header 518 unsignedHeaders := ctx.Request.Header
507 if ctx.isPresign { 519 if ctx.isPresign {
508 if !disableHeaderHoisting { 520 if !disableHeaderHoisting {
@@ -514,7 +526,6 @@ func (ctx *signingCtx) build(disableHeaderHoisting bool) {
514 } 526 }
515 } 527 }
516 528
517 ctx.buildBodyDigest()
518 ctx.buildCanonicalHeaders(ignoredHeaders, unsignedHeaders) 529 ctx.buildCanonicalHeaders(ignoredHeaders, unsignedHeaders)
519 ctx.buildCanonicalString() // depends on canon headers / signed headers 530 ctx.buildCanonicalString() // depends on canon headers / signed headers
520 ctx.buildStringToSign() // depends on canon string 531 ctx.buildStringToSign() // depends on canon string
@@ -530,6 +541,8 @@ func (ctx *signingCtx) build(disableHeaderHoisting bool) {
530 } 541 }
531 ctx.Request.Header.Set("Authorization", strings.Join(parts, ", ")) 542 ctx.Request.Header.Set("Authorization", strings.Join(parts, ", "))
532 } 543 }
544
545 return nil
533} 546}
534 547
535func (ctx *signingCtx) buildTime() { 548func (ctx *signingCtx) buildTime() {
@@ -604,14 +617,18 @@ func (ctx *signingCtx) buildCanonicalHeaders(r rule, header http.Header) {
604 headerValues := make([]string, len(headers)) 617 headerValues := make([]string, len(headers))
605 for i, k := range headers { 618 for i, k := range headers {
606 if k == "host" { 619 if k == "host" {
607 headerValues[i] = "host:" + ctx.Request.URL.Host 620 if ctx.Request.Host != "" {
621 headerValues[i] = "host:" + ctx.Request.Host
622 } else {
623 headerValues[i] = "host:" + ctx.Request.URL.Host
624 }
608 } else { 625 } else {
609 headerValues[i] = k + ":" + 626 headerValues[i] = k + ":" +
610 strings.Join(ctx.SignedHeaderVals[k], ",") 627 strings.Join(ctx.SignedHeaderVals[k], ",")
611 } 628 }
612 } 629 }
613 630 stripExcessSpaces(headerValues)
614 ctx.canonicalHeaders = strings.Join(stripExcessSpaces(headerValues), "\n") 631 ctx.canonicalHeaders = strings.Join(headerValues, "\n")
615} 632}
616 633
617func (ctx *signingCtx) buildCanonicalString() { 634func (ctx *signingCtx) buildCanonicalString() {
@@ -652,21 +669,34 @@ func (ctx *signingCtx) buildSignature() {
652 ctx.signature = hex.EncodeToString(signature) 669 ctx.signature = hex.EncodeToString(signature)
653} 670}
654 671
655func (ctx *signingCtx) buildBodyDigest() { 672func (ctx *signingCtx) buildBodyDigest() error {
656 hash := ctx.Request.Header.Get("X-Amz-Content-Sha256") 673 hash := ctx.Request.Header.Get("X-Amz-Content-Sha256")
657 if hash == "" { 674 if hash == "" {
658 if ctx.unsignedPayload || (ctx.isPresign && ctx.ServiceName == "s3") { 675 includeSHA256Header := ctx.unsignedPayload ||
676 ctx.ServiceName == "s3" ||
677 ctx.ServiceName == "glacier"
678
679 s3Presign := ctx.isPresign && ctx.ServiceName == "s3"
680
681 if ctx.unsignedPayload || s3Presign {
659 hash = "UNSIGNED-PAYLOAD" 682 hash = "UNSIGNED-PAYLOAD"
683 includeSHA256Header = !s3Presign
660 } else if ctx.Body == nil { 684 } else if ctx.Body == nil {
661 hash = emptyStringSHA256 685 hash = emptyStringSHA256
662 } else { 686 } else {
687 if !aws.IsReaderSeekable(ctx.Body) {
688 return fmt.Errorf("cannot use unseekable request body %T, for signed request with body", ctx.Body)
689 }
663 hash = hex.EncodeToString(makeSha256Reader(ctx.Body)) 690 hash = hex.EncodeToString(makeSha256Reader(ctx.Body))
664 } 691 }
665 if ctx.unsignedPayload || ctx.ServiceName == "s3" || ctx.ServiceName == "glacier" { 692
693 if includeSHA256Header {
666 ctx.Request.Header.Set("X-Amz-Content-Sha256", hash) 694 ctx.Request.Header.Set("X-Amz-Content-Sha256", hash)
667 } 695 }
668 } 696 }
669 ctx.bodyDigest = hash 697 ctx.bodyDigest = hash
698
699 return nil
670} 700}
671 701
672// isRequestSigned returns if the request is currently signed or presigned 702// isRequestSigned returns if the request is currently signed or presigned
@@ -706,56 +736,53 @@ func makeSha256(data []byte) []byte {
706 736
707func makeSha256Reader(reader io.ReadSeeker) []byte { 737func makeSha256Reader(reader io.ReadSeeker) []byte {
708 hash := sha256.New() 738 hash := sha256.New()
709 start, _ := reader.Seek(0, 1) 739 start, _ := reader.Seek(0, sdkio.SeekCurrent)
710 defer reader.Seek(start, 0) 740 defer reader.Seek(start, sdkio.SeekStart)
711 741
712 io.Copy(hash, reader) 742 io.Copy(hash, reader)
713 return hash.Sum(nil) 743 return hash.Sum(nil)
714} 744}
715 745
716const doubleSpaces = " " 746const doubleSpace = " "
717
718var doubleSpaceBytes = []byte(doubleSpaces)
719 747
720func stripExcessSpaces(headerVals []string) []string { 748// stripExcessSpaces will rewrite the passed in slice's string values to not
721 vals := make([]string, len(headerVals)) 749// contain muliple side-by-side spaces.
722 for i, str := range headerVals { 750func stripExcessSpaces(vals []string) {
723 // Trim leading and trailing spaces 751 var j, k, l, m, spaces int
724 trimmed := strings.TrimSpace(str) 752 for i, str := range vals {
753 // Trim trailing spaces
754 for j = len(str) - 1; j >= 0 && str[j] == ' '; j-- {
755 }
725 756
726 idx := strings.Index(trimmed, doubleSpaces) 757 // Trim leading spaces
727 var buf []byte 758 for k = 0; k < j && str[k] == ' '; k++ {
728 for idx > -1 { 759 }
729 // Multiple adjacent spaces found 760 str = str[k : j+1]
730 if buf == nil {
731 // first time create the buffer
732 buf = []byte(trimmed)
733 }
734 761
735 stripToIdx := -1 762 // Strip multiple spaces.
736 for j := idx + 1; j < len(buf); j++ { 763 j = strings.Index(str, doubleSpace)
737 if buf[j] != ' ' { 764 if j < 0 {
738 buf = append(buf[:idx+1], buf[j:]...) 765 vals[i] = str
739 stripToIdx = j 766 continue
740 break 767 }
741 }
742 }
743 768
744 if stripToIdx >= 0 { 769 buf := []byte(str)
745 idx = bytes.Index(buf[stripToIdx:], doubleSpaceBytes) 770 for k, m, l = j, j, len(buf); k < l; k++ {
746 if idx >= 0 { 771 if buf[k] == ' ' {
747 idx += stripToIdx 772 if spaces == 0 {
773 // First space.
774 buf[m] = buf[k]
775 m++
748 } 776 }
777 spaces++
749 } else { 778 } else {
750 idx = -1 779 // End of multiple spaces.
780 spaces = 0
781 buf[m] = buf[k]
782 m++
751 } 783 }
752 } 784 }
753 785
754 if buf != nil { 786 vals[i] = string(buf[:m])
755 vals[i] = string(buf)
756 } else {
757 vals[i] = trimmed
758 }
759 } 787 }
760 return vals
761} 788}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/types.go b/vendor/github.com/aws/aws-sdk-go/aws/types.go
index 0e2d864..8b6f234 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/types.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/types.go
@@ -3,6 +3,8 @@ package aws
3import ( 3import (
4 "io" 4 "io"
5 "sync" 5 "sync"
6
7 "github.com/aws/aws-sdk-go/internal/sdkio"
6) 8)
7 9
8// ReadSeekCloser wraps a io.Reader returning a ReaderSeekerCloser. Should 10// ReadSeekCloser wraps a io.Reader returning a ReaderSeekerCloser. Should
@@ -22,6 +24,22 @@ type ReaderSeekerCloser struct {
22 r io.Reader 24 r io.Reader
23} 25}
24 26
27// IsReaderSeekable returns if the underlying reader type can be seeked. A
28// io.Reader might not actually be seekable if it is the ReaderSeekerCloser
29// type.
30func IsReaderSeekable(r io.Reader) bool {
31 switch v := r.(type) {
32 case ReaderSeekerCloser:
33 return v.IsSeeker()
34 case *ReaderSeekerCloser:
35 return v.IsSeeker()
36 case io.ReadSeeker:
37 return true
38 default:
39 return false
40 }
41}
42
25// Read reads from the reader up to size of p. The number of bytes read, and 43// Read reads from the reader up to size of p. The number of bytes read, and
26// error if it occurred will be returned. 44// error if it occurred will be returned.
27// 45//
@@ -56,6 +74,71 @@ func (r ReaderSeekerCloser) IsSeeker() bool {
56 return ok 74 return ok
57} 75}
58 76
77// HasLen returns the length of the underlying reader if the value implements
78// the Len() int method.
79func (r ReaderSeekerCloser) HasLen() (int, bool) {
80 type lenner interface {
81 Len() int
82 }
83
84 if lr, ok := r.r.(lenner); ok {
85 return lr.Len(), true
86 }
87
88 return 0, false
89}
90
91// GetLen returns the length of the bytes remaining in the underlying reader.
92// Checks first for Len(), then io.Seeker to determine the size of the
93// underlying reader.
94//
95// Will return -1 if the length cannot be determined.
96func (r ReaderSeekerCloser) GetLen() (int64, error) {
97 if l, ok := r.HasLen(); ok {
98 return int64(l), nil
99 }
100
101 if s, ok := r.r.(io.Seeker); ok {
102 return seekerLen(s)
103 }
104
105 return -1, nil
106}
107
108// SeekerLen attempts to get the number of bytes remaining at the seeker's
109// current position. Returns the number of bytes remaining or error.
110func SeekerLen(s io.Seeker) (int64, error) {
111 // Determine if the seeker is actually seekable. ReaderSeekerCloser
112 // hides the fact that a io.Readers might not actually be seekable.
113 switch v := s.(type) {
114 case ReaderSeekerCloser:
115 return v.GetLen()
116 case *ReaderSeekerCloser:
117 return v.GetLen()
118 }
119
120 return seekerLen(s)
121}
122
123func seekerLen(s io.Seeker) (int64, error) {
124 curOffset, err := s.Seek(0, sdkio.SeekCurrent)
125 if err != nil {
126 return 0, err
127 }
128
129 endOffset, err := s.Seek(0, sdkio.SeekEnd)
130 if err != nil {
131 return 0, err
132 }
133
134 _, err = s.Seek(curOffset, sdkio.SeekStart)
135 if err != nil {
136 return 0, err
137 }
138
139 return endOffset - curOffset, nil
140}
141
59// Close closes the ReaderSeekerCloser. 142// Close closes the ReaderSeekerCloser.
60// 143//
61// If the ReaderSeekerCloser is not an io.Closer nothing will be done. 144// If the ReaderSeekerCloser is not an io.Closer nothing will be done.
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go
index bbf4c2f..c4d155c 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/version.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go
@@ -5,4 +5,4 @@ package aws
5const SDKName = "aws-sdk-go" 5const SDKName = "aws-sdk-go"
6 6
7// SDKVersion is the version of this SDK 7// SDKVersion is the version of this SDK
8const SDKVersion = "1.8.34" 8const SDKVersion = "1.14.31"
diff --git a/vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.go b/vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.go
new file mode 100644
index 0000000..5aa9137
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.go
@@ -0,0 +1,10 @@
1// +build !go1.7
2
3package sdkio
4
5// Copy of Go 1.7 io package's Seeker constants.
6const (
7 SeekStart = 0 // seek relative to the origin of the file
8 SeekCurrent = 1 // seek relative to the current offset
9 SeekEnd = 2 // seek relative to the end
10)
diff --git a/vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.go b/vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.go
new file mode 100644
index 0000000..e5f0056
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.go
@@ -0,0 +1,12 @@
1// +build go1.7
2
3package sdkio
4
5import "io"
6
7// Alias for Go 1.7 io package Seeker constants
8const (
9 SeekStart = io.SeekStart // seek relative to the origin of the file
10 SeekCurrent = io.SeekCurrent // seek relative to the current offset
11 SeekEnd = io.SeekEnd // seek relative to the end
12)
diff --git a/vendor/github.com/aws/aws-sdk-go/internal/sdkrand/locked_source.go b/vendor/github.com/aws/aws-sdk-go/internal/sdkrand/locked_source.go
new file mode 100644
index 0000000..0c9802d
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/internal/sdkrand/locked_source.go
@@ -0,0 +1,29 @@
1package sdkrand
2
3import (
4 "math/rand"
5 "sync"
6 "time"
7)
8
9// lockedSource is a thread-safe implementation of rand.Source
10type lockedSource struct {
11 lk sync.Mutex
12 src rand.Source
13}
14
15func (r *lockedSource) Int63() (n int64) {
16 r.lk.Lock()
17 n = r.src.Int63()
18 r.lk.Unlock()
19 return
20}
21
22func (r *lockedSource) Seed(seed int64) {
23 r.lk.Lock()
24 r.src.Seed(seed)
25 r.lk.Unlock()
26}
27
28// SeededRand is a new RNG using a thread safe implementation of rand.Source
29var SeededRand = rand.New(&lockedSource{src: rand.NewSource(time.Now().UnixNano())})
diff --git a/vendor/github.com/aws/aws-sdk-go/internal/sdkuri/path.go b/vendor/github.com/aws/aws-sdk-go/internal/sdkuri/path.go
new file mode 100644
index 0000000..38ea61a
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/internal/sdkuri/path.go
@@ -0,0 +1,23 @@
1package sdkuri
2
3import (
4 "path"
5 "strings"
6)
7
8// PathJoin will join the elements of the path delimited by the "/"
9// character. Similar to path.Join with the exception the trailing "/"
10// character is preserved if present.
11func PathJoin(elems ...string) string {
12 if len(elems) == 0 {
13 return ""
14 }
15
16 hasTrailing := strings.HasSuffix(elems[len(elems)-1], "/")
17 str := path.Join(elems...)
18 if hasTrailing && str != "/" {
19 str += "/"
20 }
21
22 return str
23}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/debug.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/debug.go
new file mode 100644
index 0000000..ecc7bf8
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/debug.go
@@ -0,0 +1,144 @@
1package eventstream
2
3import (
4 "bytes"
5 "encoding/base64"
6 "encoding/json"
7 "fmt"
8 "strconv"
9)
10
11type decodedMessage struct {
12 rawMessage
13 Headers decodedHeaders `json:"headers"`
14}
15type jsonMessage struct {
16 Length json.Number `json:"total_length"`
17 HeadersLen json.Number `json:"headers_length"`
18 PreludeCRC json.Number `json:"prelude_crc"`
19 Headers decodedHeaders `json:"headers"`
20 Payload []byte `json:"payload"`
21 CRC json.Number `json:"message_crc"`
22}
23
24func (d *decodedMessage) UnmarshalJSON(b []byte) (err error) {
25 var jsonMsg jsonMessage
26 if err = json.Unmarshal(b, &jsonMsg); err != nil {
27 return err
28 }
29
30 d.Length, err = numAsUint32(jsonMsg.Length)
31 if err != nil {
32 return err
33 }
34 d.HeadersLen, err = numAsUint32(jsonMsg.HeadersLen)
35 if err != nil {
36 return err
37 }
38 d.PreludeCRC, err = numAsUint32(jsonMsg.PreludeCRC)
39 if err != nil {
40 return err
41 }
42 d.Headers = jsonMsg.Headers
43 d.Payload = jsonMsg.Payload
44 d.CRC, err = numAsUint32(jsonMsg.CRC)
45 if err != nil {
46 return err
47 }
48
49 return nil
50}
51
52func (d *decodedMessage) MarshalJSON() ([]byte, error) {
53 jsonMsg := jsonMessage{
54 Length: json.Number(strconv.Itoa(int(d.Length))),
55 HeadersLen: json.Number(strconv.Itoa(int(d.HeadersLen))),
56 PreludeCRC: json.Number(strconv.Itoa(int(d.PreludeCRC))),
57 Headers: d.Headers,
58 Payload: d.Payload,
59 CRC: json.Number(strconv.Itoa(int(d.CRC))),
60 }
61
62 return json.Marshal(jsonMsg)
63}
64
65func numAsUint32(n json.Number) (uint32, error) {
66 v, err := n.Int64()
67 if err != nil {
68 return 0, fmt.Errorf("failed to get int64 json number, %v", err)
69 }
70
71 return uint32(v), nil
72}
73
74func (d decodedMessage) Message() Message {
75 return Message{
76 Headers: Headers(d.Headers),
77 Payload: d.Payload,
78 }
79}
80
81type decodedHeaders Headers
82
83func (hs *decodedHeaders) UnmarshalJSON(b []byte) error {
84 var jsonHeaders []struct {
85 Name string `json:"name"`
86 Type valueType `json:"type"`
87 Value interface{} `json:"value"`
88 }
89
90 decoder := json.NewDecoder(bytes.NewReader(b))
91 decoder.UseNumber()
92 if err := decoder.Decode(&jsonHeaders); err != nil {
93 return err
94 }
95
96 var headers Headers
97 for _, h := range jsonHeaders {
98 value, err := valueFromType(h.Type, h.Value)
99 if err != nil {
100 return err
101 }
102 headers.Set(h.Name, value)
103 }
104 (*hs) = decodedHeaders(headers)
105
106 return nil
107}
108
109func valueFromType(typ valueType, val interface{}) (Value, error) {
110 switch typ {
111 case trueValueType:
112 return BoolValue(true), nil
113 case falseValueType:
114 return BoolValue(false), nil
115 case int8ValueType:
116 v, err := val.(json.Number).Int64()
117 return Int8Value(int8(v)), err
118 case int16ValueType:
119 v, err := val.(json.Number).Int64()
120 return Int16Value(int16(v)), err
121 case int32ValueType:
122 v, err := val.(json.Number).Int64()
123 return Int32Value(int32(v)), err
124 case int64ValueType:
125 v, err := val.(json.Number).Int64()
126 return Int64Value(v), err
127 case bytesValueType:
128 v, err := base64.StdEncoding.DecodeString(val.(string))
129 return BytesValue(v), err
130 case stringValueType:
131 v, err := base64.StdEncoding.DecodeString(val.(string))
132 return StringValue(string(v)), err
133 case timestampValueType:
134 v, err := val.(json.Number).Int64()
135 return TimestampValue(timeFromEpochMilli(v)), err
136 case uuidValueType:
137 v, err := base64.StdEncoding.DecodeString(val.(string))
138 var tv UUIDValue
139 copy(tv[:], v)
140 return tv, err
141 default:
142 panic(fmt.Sprintf("unknown type, %s, %T", typ.String(), val))
143 }
144}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/decode.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/decode.go
new file mode 100644
index 0000000..4b972b2
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/decode.go
@@ -0,0 +1,199 @@
1package eventstream
2
3import (
4 "bytes"
5 "encoding/binary"
6 "encoding/hex"
7 "encoding/json"
8 "fmt"
9 "hash"
10 "hash/crc32"
11 "io"
12
13 "github.com/aws/aws-sdk-go/aws"
14)
15
16// Decoder provides decoding of an Event Stream messages.
17type Decoder struct {
18 r io.Reader
19 logger aws.Logger
20}
21
22// NewDecoder initializes and returns a Decoder for decoding event
23// stream messages from the reader provided.
24func NewDecoder(r io.Reader) *Decoder {
25 return &Decoder{
26 r: r,
27 }
28}
29
30// Decode attempts to decode a single message from the event stream reader.
31// Will return the event stream message, or error if Decode fails to read
32// the message from the stream.
33func (d *Decoder) Decode(payloadBuf []byte) (m Message, err error) {
34 reader := d.r
35 if d.logger != nil {
36 debugMsgBuf := bytes.NewBuffer(nil)
37 reader = io.TeeReader(reader, debugMsgBuf)
38 defer func() {
39 logMessageDecode(d.logger, debugMsgBuf, m, err)
40 }()
41 }
42
43 crc := crc32.New(crc32IEEETable)
44 hashReader := io.TeeReader(reader, crc)
45
46 prelude, err := decodePrelude(hashReader, crc)
47 if err != nil {
48 return Message{}, err
49 }
50
51 if prelude.HeadersLen > 0 {
52 lr := io.LimitReader(hashReader, int64(prelude.HeadersLen))
53 m.Headers, err = decodeHeaders(lr)
54 if err != nil {
55 return Message{}, err
56 }
57 }
58
59 if payloadLen := prelude.PayloadLen(); payloadLen > 0 {
60 buf, err := decodePayload(payloadBuf, io.LimitReader(hashReader, int64(payloadLen)))
61 if err != nil {
62 return Message{}, err
63 }
64 m.Payload = buf
65 }
66
67 msgCRC := crc.Sum32()
68 if err := validateCRC(reader, msgCRC); err != nil {
69 return Message{}, err
70 }
71
72 return m, nil
73}
74
75// UseLogger specifies the Logger that that the decoder should use to log the
76// message decode to.
77func (d *Decoder) UseLogger(logger aws.Logger) {
78 d.logger = logger
79}
80
81func logMessageDecode(logger aws.Logger, msgBuf *bytes.Buffer, msg Message, decodeErr error) {
82 w := bytes.NewBuffer(nil)
83 defer func() { logger.Log(w.String()) }()
84
85 fmt.Fprintf(w, "Raw message:\n%s\n",
86 hex.Dump(msgBuf.Bytes()))
87
88 if decodeErr != nil {
89 fmt.Fprintf(w, "Decode error: %v\n", decodeErr)
90 return
91 }
92
93 rawMsg, err := msg.rawMessage()
94 if err != nil {
95 fmt.Fprintf(w, "failed to create raw message, %v\n", err)
96 return
97 }
98
99 decodedMsg := decodedMessage{
100 rawMessage: rawMsg,
101 Headers: decodedHeaders(msg.Headers),
102 }
103
104 fmt.Fprintf(w, "Decoded message:\n")
105 encoder := json.NewEncoder(w)
106 if err := encoder.Encode(decodedMsg); err != nil {
107 fmt.Fprintf(w, "failed to generate decoded message, %v\n", err)
108 }
109}
110
111func decodePrelude(r io.Reader, crc hash.Hash32) (messagePrelude, error) {
112 var p messagePrelude
113
114 var err error
115 p.Length, err = decodeUint32(r)
116 if err != nil {
117 return messagePrelude{}, err
118 }
119
120 p.HeadersLen, err = decodeUint32(r)
121 if err != nil {
122 return messagePrelude{}, err
123 }
124
125 if err := p.ValidateLens(); err != nil {
126 return messagePrelude{}, err
127 }
128
129 preludeCRC := crc.Sum32()
130 if err := validateCRC(r, preludeCRC); err != nil {
131 return messagePrelude{}, err
132 }
133
134 p.PreludeCRC = preludeCRC
135
136 return p, nil
137}
138
139func decodePayload(buf []byte, r io.Reader) ([]byte, error) {
140 w := bytes.NewBuffer(buf[0:0])
141
142 _, err := io.Copy(w, r)
143 return w.Bytes(), err
144}
145
146func decodeUint8(r io.Reader) (uint8, error) {
147 type byteReader interface {
148 ReadByte() (byte, error)
149 }
150
151 if br, ok := r.(byteReader); ok {
152 v, err := br.ReadByte()
153 return uint8(v), err
154 }
155
156 var b [1]byte
157 _, err := io.ReadFull(r, b[:])
158 return uint8(b[0]), err
159}
160func decodeUint16(r io.Reader) (uint16, error) {
161 var b [2]byte
162 bs := b[:]
163 _, err := io.ReadFull(r, bs)
164 if err != nil {
165 return 0, err
166 }
167 return binary.BigEndian.Uint16(bs), nil
168}
169func decodeUint32(r io.Reader) (uint32, error) {
170 var b [4]byte
171 bs := b[:]
172 _, err := io.ReadFull(r, bs)
173 if err != nil {
174 return 0, err
175 }
176 return binary.BigEndian.Uint32(bs), nil
177}
178func decodeUint64(r io.Reader) (uint64, error) {
179 var b [8]byte
180 bs := b[:]
181 _, err := io.ReadFull(r, bs)
182 if err != nil {
183 return 0, err
184 }
185 return binary.BigEndian.Uint64(bs), nil
186}
187
188func validateCRC(r io.Reader, expect uint32) error {
189 msgCRC, err := decodeUint32(r)
190 if err != nil {
191 return err
192 }
193
194 if msgCRC != expect {
195 return ChecksumError{}
196 }
197
198 return nil
199}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/encode.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/encode.go
new file mode 100644
index 0000000..150a609
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/encode.go
@@ -0,0 +1,114 @@
1package eventstream
2
3import (
4 "bytes"
5 "encoding/binary"
6 "hash"
7 "hash/crc32"
8 "io"
9)
10
11// Encoder provides EventStream message encoding.
12type Encoder struct {
13 w io.Writer
14
15 headersBuf *bytes.Buffer
16}
17
18// NewEncoder initializes and returns an Encoder to encode Event Stream
19// messages to an io.Writer.
20func NewEncoder(w io.Writer) *Encoder {
21 return &Encoder{
22 w: w,
23 headersBuf: bytes.NewBuffer(nil),
24 }
25}
26
27// Encode encodes a single EventStream message to the io.Writer the Encoder
28// was created with. An error is returned if writing the message fails.
29func (e *Encoder) Encode(msg Message) error {
30 e.headersBuf.Reset()
31
32 err := encodeHeaders(e.headersBuf, msg.Headers)
33 if err != nil {
34 return err
35 }
36
37 crc := crc32.New(crc32IEEETable)
38 hashWriter := io.MultiWriter(e.w, crc)
39
40 headersLen := uint32(e.headersBuf.Len())
41 payloadLen := uint32(len(msg.Payload))
42
43 if err := encodePrelude(hashWriter, crc, headersLen, payloadLen); err != nil {
44 return err
45 }
46
47 if headersLen > 0 {
48 if _, err := io.Copy(hashWriter, e.headersBuf); err != nil {
49 return err
50 }
51 }
52
53 if payloadLen > 0 {
54 if _, err := hashWriter.Write(msg.Payload); err != nil {
55 return err
56 }
57 }
58
59 msgCRC := crc.Sum32()
60 return binary.Write(e.w, binary.BigEndian, msgCRC)
61}
62
63func encodePrelude(w io.Writer, crc hash.Hash32, headersLen, payloadLen uint32) error {
64 p := messagePrelude{
65 Length: minMsgLen + headersLen + payloadLen,
66 HeadersLen: headersLen,
67 }
68 if err := p.ValidateLens(); err != nil {
69 return err
70 }
71
72 err := binaryWriteFields(w, binary.BigEndian,
73 p.Length,
74 p.HeadersLen,
75 )
76 if err != nil {
77 return err
78 }
79
80 p.PreludeCRC = crc.Sum32()
81 err = binary.Write(w, binary.BigEndian, p.PreludeCRC)
82 if err != nil {
83 return err
84 }
85
86 return nil
87}
88
89func encodeHeaders(w io.Writer, headers Headers) error {
90 for _, h := range headers {
91 hn := headerName{
92 Len: uint8(len(h.Name)),
93 }
94 copy(hn.Name[:hn.Len], h.Name)
95 if err := hn.encode(w); err != nil {
96 return err
97 }
98
99 if err := h.Value.encode(w); err != nil {
100 return err
101 }
102 }
103
104 return nil
105}
106
107func binaryWriteFields(w io.Writer, order binary.ByteOrder, vs ...interface{}) error {
108 for _, v := range vs {
109 if err := binary.Write(w, order, v); err != nil {
110 return err
111 }
112 }
113 return nil
114}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/error.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/error.go
new file mode 100644
index 0000000..5481ef3
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/error.go
@@ -0,0 +1,23 @@
1package eventstream
2
3import "fmt"
4
5// LengthError provides the error for items being larger than a maximum length.
6type LengthError struct {
7 Part string
8 Want int
9 Have int
10 Value interface{}
11}
12
13func (e LengthError) Error() string {
14 return fmt.Sprintf("%s length invalid, %d/%d, %v",
15 e.Part, e.Want, e.Have, e.Value)
16}
17
18// ChecksumError provides the error for message checksum invalidation errors.
19type ChecksumError struct{}
20
21func (e ChecksumError) Error() string {
22 return "message checksum mismatch"
23}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/api.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/api.go
new file mode 100644
index 0000000..97937c8
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/api.go
@@ -0,0 +1,196 @@
1package eventstreamapi
2
3import (
4 "fmt"
5 "io"
6
7 "github.com/aws/aws-sdk-go/aws"
8 "github.com/aws/aws-sdk-go/private/protocol"
9 "github.com/aws/aws-sdk-go/private/protocol/eventstream"
10)
11
12// Unmarshaler provides the interface for unmarshaling a EventStream
13// message into a SDK type.
14type Unmarshaler interface {
15 UnmarshalEvent(protocol.PayloadUnmarshaler, eventstream.Message) error
16}
17
18// EventStream headers with specific meaning to async API functionality.
19const (
20 MessageTypeHeader = `:message-type` // Identifies type of message.
21 EventMessageType = `event`
22 ErrorMessageType = `error`
23 ExceptionMessageType = `exception`
24
25 // Message Events
26 EventTypeHeader = `:event-type` // Identifies message event type e.g. "Stats".
27
28 // Message Error
29 ErrorCodeHeader = `:error-code`
30 ErrorMessageHeader = `:error-message`
31
32 // Message Exception
33 ExceptionTypeHeader = `:exception-type`
34)
35
36// EventReader provides reading from the EventStream of an reader.
37type EventReader struct {
38 reader io.ReadCloser
39 decoder *eventstream.Decoder
40
41 unmarshalerForEventType func(string) (Unmarshaler, error)
42 payloadUnmarshaler protocol.PayloadUnmarshaler
43
44 payloadBuf []byte
45}
46
47// NewEventReader returns a EventReader built from the reader and unmarshaler
48// provided. Use ReadStream method to start reading from the EventStream.
49func NewEventReader(
50 reader io.ReadCloser,
51 payloadUnmarshaler protocol.PayloadUnmarshaler,
52 unmarshalerForEventType func(string) (Unmarshaler, error),
53) *EventReader {
54 return &EventReader{
55 reader: reader,
56 decoder: eventstream.NewDecoder(reader),
57 payloadUnmarshaler: payloadUnmarshaler,
58 unmarshalerForEventType: unmarshalerForEventType,
59 payloadBuf: make([]byte, 10*1024),
60 }
61}
62
63// UseLogger instructs the EventReader to use the logger and log level
64// specified.
65func (r *EventReader) UseLogger(logger aws.Logger, logLevel aws.LogLevelType) {
66 if logger != nil && logLevel.Matches(aws.LogDebugWithEventStreamBody) {
67 r.decoder.UseLogger(logger)
68 }
69}
70
71// ReadEvent attempts to read a message from the EventStream and return the
72// unmarshaled event value that the message is for.
73//
74// For EventStream API errors check if the returned error satisfies the
75// awserr.Error interface to get the error's Code and Message components.
76//
77// EventUnmarshalers called with EventStream messages must take copies of the
78// message's Payload. The payload will is reused between events read.
79func (r *EventReader) ReadEvent() (event interface{}, err error) {
80 msg, err := r.decoder.Decode(r.payloadBuf)
81 if err != nil {
82 return nil, err
83 }
84 defer func() {
85 // Reclaim payload buffer for next message read.
86 r.payloadBuf = msg.Payload[0:0]
87 }()
88
89 typ, err := GetHeaderString(msg, MessageTypeHeader)
90 if err != nil {
91 return nil, err
92 }
93
94 switch typ {
95 case EventMessageType:
96 return r.unmarshalEventMessage(msg)
97 case ExceptionMessageType:
98 err = r.unmarshalEventException(msg)
99 return nil, err
100 case ErrorMessageType:
101 return nil, r.unmarshalErrorMessage(msg)
102 default:
103 return nil, fmt.Errorf("unknown eventstream message type, %v", typ)
104 }
105}
106
107func (r *EventReader) unmarshalEventMessage(
108 msg eventstream.Message,
109) (event interface{}, err error) {
110 eventType, err := GetHeaderString(msg, EventTypeHeader)
111 if err != nil {
112 return nil, err
113 }
114
115 ev, err := r.unmarshalerForEventType(eventType)
116 if err != nil {
117 return nil, err
118 }
119
120 err = ev.UnmarshalEvent(r.payloadUnmarshaler, msg)
121 if err != nil {
122 return nil, err
123 }
124
125 return ev, nil
126}
127
128func (r *EventReader) unmarshalEventException(
129 msg eventstream.Message,
130) (err error) {
131 eventType, err := GetHeaderString(msg, ExceptionTypeHeader)
132 if err != nil {
133 return err
134 }
135
136 ev, err := r.unmarshalerForEventType(eventType)
137 if err != nil {
138 return err
139 }
140
141 err = ev.UnmarshalEvent(r.payloadUnmarshaler, msg)
142 if err != nil {
143 return err
144 }
145
146 var ok bool
147 err, ok = ev.(error)
148 if !ok {
149 err = messageError{
150 code: "SerializationError",
151 msg: fmt.Sprintf(
152 "event stream exception %s mapped to non-error %T, %v",
153 eventType, ev, ev,
154 ),
155 }
156 }
157
158 return err
159}
160
161func (r *EventReader) unmarshalErrorMessage(msg eventstream.Message) (err error) {
162 var msgErr messageError
163
164 msgErr.code, err = GetHeaderString(msg, ErrorCodeHeader)
165 if err != nil {
166 return err
167 }
168
169 msgErr.msg, err = GetHeaderString(msg, ErrorMessageHeader)
170 if err != nil {
171 return err
172 }
173
174 return msgErr
175}
176
177// Close closes the EventReader's EventStream reader.
178func (r *EventReader) Close() error {
179 return r.reader.Close()
180}
181
182// GetHeaderString returns the value of the header as a string. If the header
183// is not set or the value is not a string an error will be returned.
184func GetHeaderString(msg eventstream.Message, headerName string) (string, error) {
185 headerVal := msg.Headers.Get(headerName)
186 if headerVal == nil {
187 return "", fmt.Errorf("error header %s not present", headerName)
188 }
189
190 v, ok := headerVal.Get().(string)
191 if !ok {
192 return "", fmt.Errorf("error header value is not a string, %T", headerVal)
193 }
194
195 return v, nil
196}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/error.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/error.go
new file mode 100644
index 0000000..5ea5a98
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/error.go
@@ -0,0 +1,24 @@
1package eventstreamapi
2
3import "fmt"
4
5type messageError struct {
6 code string
7 msg string
8}
9
10func (e messageError) Code() string {
11 return e.code
12}
13
14func (e messageError) Message() string {
15 return e.msg
16}
17
18func (e messageError) Error() string {
19 return fmt.Sprintf("%s: %s", e.code, e.msg)
20}
21
22func (e messageError) OrigErr() error {
23 return nil
24}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go
new file mode 100644
index 0000000..3b44dde
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go
@@ -0,0 +1,166 @@
1package eventstream
2
3import (
4 "encoding/binary"
5 "fmt"
6 "io"
7)
8
9// Headers are a collection of EventStream header values.
10type Headers []Header
11
12// Header is a single EventStream Key Value header pair.
13type Header struct {
14 Name string
15 Value Value
16}
17
18// Set associates the name with a value. If the header name already exists in
19// the Headers the value will be replaced with the new one.
20func (hs *Headers) Set(name string, value Value) {
21 var i int
22 for ; i < len(*hs); i++ {
23 if (*hs)[i].Name == name {
24 (*hs)[i].Value = value
25 return
26 }
27 }
28
29 *hs = append(*hs, Header{
30 Name: name, Value: value,
31 })
32}
33
34// Get returns the Value associated with the header. Nil is returned if the
35// value does not exist.
36func (hs Headers) Get(name string) Value {
37 for i := 0; i < len(hs); i++ {
38 if h := hs[i]; h.Name == name {
39 return h.Value
40 }
41 }
42 return nil
43}
44
45// Del deletes the value in the Headers if it exists.
46func (hs *Headers) Del(name string) {
47 for i := 0; i < len(*hs); i++ {
48 if (*hs)[i].Name == name {
49 copy((*hs)[i:], (*hs)[i+1:])
50 (*hs) = (*hs)[:len(*hs)-1]
51 }
52 }
53}
54
55func decodeHeaders(r io.Reader) (Headers, error) {
56 hs := Headers{}
57
58 for {
59 name, err := decodeHeaderName(r)
60 if err != nil {
61 if err == io.EOF {
62 // EOF while getting header name means no more headers
63 break
64 }
65 return nil, err
66 }
67
68 value, err := decodeHeaderValue(r)
69 if err != nil {
70 return nil, err
71 }
72
73 hs.Set(name, value)
74 }
75
76 return hs, nil
77}
78
79func decodeHeaderName(r io.Reader) (string, error) {
80 var n headerName
81
82 var err error
83 n.Len, err = decodeUint8(r)
84 if err != nil {
85 return "", err
86 }
87
88 name := n.Name[:n.Len]
89 if _, err := io.ReadFull(r, name); err != nil {
90 return "", err
91 }
92
93 return string(name), nil
94}
95
96func decodeHeaderValue(r io.Reader) (Value, error) {
97 var raw rawValue
98
99 typ, err := decodeUint8(r)
100 if err != nil {
101 return nil, err
102 }
103 raw.Type = valueType(typ)
104
105 var v Value
106
107 switch raw.Type {
108 case trueValueType:
109 v = BoolValue(true)
110 case falseValueType:
111 v = BoolValue(false)
112 case int8ValueType:
113 var tv Int8Value
114 err = tv.decode(r)
115 v = tv
116 case int16ValueType:
117 var tv Int16Value
118 err = tv.decode(r)
119 v = tv
120 case int32ValueType:
121 var tv Int32Value
122 err = tv.decode(r)
123 v = tv
124 case int64ValueType:
125 var tv Int64Value
126 err = tv.decode(r)
127 v = tv
128 case bytesValueType:
129 var tv BytesValue
130 err = tv.decode(r)
131 v = tv
132 case stringValueType:
133 var tv StringValue
134 err = tv.decode(r)
135 v = tv
136 case timestampValueType:
137 var tv TimestampValue
138 err = tv.decode(r)
139 v = tv
140 case uuidValueType:
141 var tv UUIDValue
142 err = tv.decode(r)
143 v = tv
144 default:
145 panic(fmt.Sprintf("unknown value type %d", raw.Type))
146 }
147
148 // Error could be EOF, let caller deal with it
149 return v, err
150}
151
152const maxHeaderNameLen = 255
153
154type headerName struct {
155 Len uint8
156 Name [maxHeaderNameLen]byte
157}
158
159func (v headerName) encode(w io.Writer) error {
160 if err := binary.Write(w, binary.BigEndian, v.Len); err != nil {
161 return err
162 }
163
164 _, err := w.Write(v.Name[:v.Len])
165 return err
166}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header_value.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header_value.go
new file mode 100644
index 0000000..e3fc076
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header_value.go
@@ -0,0 +1,501 @@
1package eventstream
2
3import (
4 "encoding/base64"
5 "encoding/binary"
6 "fmt"
7 "io"
8 "strconv"
9 "time"
10)
11
12const maxHeaderValueLen = 1<<15 - 1 // 2^15-1 or 32KB - 1
13
14// valueType is the EventStream header value type.
15type valueType uint8
16
17// Header value types
18const (
19 trueValueType valueType = iota
20 falseValueType
21 int8ValueType // Byte
22 int16ValueType // Short
23 int32ValueType // Integer
24 int64ValueType // Long
25 bytesValueType
26 stringValueType
27 timestampValueType
28 uuidValueType
29)
30
31func (t valueType) String() string {
32 switch t {
33 case trueValueType:
34 return "bool"
35 case falseValueType:
36 return "bool"
37 case int8ValueType:
38 return "int8"
39 case int16ValueType:
40 return "int16"
41 case int32ValueType:
42 return "int32"
43 case int64ValueType:
44 return "int64"
45 case bytesValueType:
46 return "byte_array"
47 case stringValueType:
48 return "string"
49 case timestampValueType:
50 return "timestamp"
51 case uuidValueType:
52 return "uuid"
53 default:
54 return fmt.Sprintf("unknown value type %d", uint8(t))
55 }
56}
57
58type rawValue struct {
59 Type valueType
60 Len uint16 // Only set for variable length slices
61 Value []byte // byte representation of value, BigEndian encoding.
62}
63
64func (r rawValue) encodeScalar(w io.Writer, v interface{}) error {
65 return binaryWriteFields(w, binary.BigEndian,
66 r.Type,
67 v,
68 )
69}
70
71func (r rawValue) encodeFixedSlice(w io.Writer, v []byte) error {
72 binary.Write(w, binary.BigEndian, r.Type)
73
74 _, err := w.Write(v)
75 return err
76}
77
78func (r rawValue) encodeBytes(w io.Writer, v []byte) error {
79 if len(v) > maxHeaderValueLen {
80 return LengthError{
81 Part: "header value",
82 Want: maxHeaderValueLen, Have: len(v),
83 Value: v,
84 }
85 }
86 r.Len = uint16(len(v))
87
88 err := binaryWriteFields(w, binary.BigEndian,
89 r.Type,
90 r.Len,
91 )
92 if err != nil {
93 return err
94 }
95
96 _, err = w.Write(v)
97 return err
98}
99
100func (r rawValue) encodeString(w io.Writer, v string) error {
101 if len(v) > maxHeaderValueLen {
102 return LengthError{
103 Part: "header value",
104 Want: maxHeaderValueLen, Have: len(v),
105 Value: v,
106 }
107 }
108 r.Len = uint16(len(v))
109
110 type stringWriter interface {
111 WriteString(string) (int, error)
112 }
113
114 err := binaryWriteFields(w, binary.BigEndian,
115 r.Type,
116 r.Len,
117 )
118 if err != nil {
119 return err
120 }
121
122 if sw, ok := w.(stringWriter); ok {
123 _, err = sw.WriteString(v)
124 } else {
125 _, err = w.Write([]byte(v))
126 }
127
128 return err
129}
130
131func decodeFixedBytesValue(r io.Reader, buf []byte) error {
132 _, err := io.ReadFull(r, buf)
133 return err
134}
135
136func decodeBytesValue(r io.Reader) ([]byte, error) {
137 var raw rawValue
138 var err error
139 raw.Len, err = decodeUint16(r)
140 if err != nil {
141 return nil, err
142 }
143
144 buf := make([]byte, raw.Len)
145 _, err = io.ReadFull(r, buf)
146 if err != nil {
147 return nil, err
148 }
149
150 return buf, nil
151}
152
153func decodeStringValue(r io.Reader) (string, error) {
154 v, err := decodeBytesValue(r)
155 return string(v), err
156}
157
158// Value represents the abstract header value.
159type Value interface {
160 Get() interface{}
161 String() string
162 valueType() valueType
163 encode(io.Writer) error
164}
165
166// An BoolValue provides eventstream encoding, and representation
167// of a Go bool value.
168type BoolValue bool
169
170// Get returns the underlying type
171func (v BoolValue) Get() interface{} {
172 return bool(v)
173}
174
175// valueType returns the EventStream header value type value.
176func (v BoolValue) valueType() valueType {
177 if v {
178 return trueValueType
179 }
180 return falseValueType
181}
182
183func (v BoolValue) String() string {
184 return strconv.FormatBool(bool(v))
185}
186
187// encode encodes the BoolValue into an eventstream binary value
188// representation.
189func (v BoolValue) encode(w io.Writer) error {
190 return binary.Write(w, binary.BigEndian, v.valueType())
191}
192
193// An Int8Value provides eventstream encoding, and representation of a Go
194// int8 value.
195type Int8Value int8
196
197// Get returns the underlying value.
198func (v Int8Value) Get() interface{} {
199 return int8(v)
200}
201
202// valueType returns the EventStream header value type value.
203func (Int8Value) valueType() valueType {
204 return int8ValueType
205}
206
207func (v Int8Value) String() string {
208 return fmt.Sprintf("0x%02x", int8(v))
209}
210
211// encode encodes the Int8Value into an eventstream binary value
212// representation.
213func (v Int8Value) encode(w io.Writer) error {
214 raw := rawValue{
215 Type: v.valueType(),
216 }
217
218 return raw.encodeScalar(w, v)
219}
220
221func (v *Int8Value) decode(r io.Reader) error {
222 n, err := decodeUint8(r)
223 if err != nil {
224 return err
225 }
226
227 *v = Int8Value(n)
228 return nil
229}
230
231// An Int16Value provides eventstream encoding, and representation of a Go
232// int16 value.
233type Int16Value int16
234
235// Get returns the underlying value.
236func (v Int16Value) Get() interface{} {
237 return int16(v)
238}
239
240// valueType returns the EventStream header value type value.
241func (Int16Value) valueType() valueType {
242 return int16ValueType
243}
244
245func (v Int16Value) String() string {
246 return fmt.Sprintf("0x%04x", int16(v))
247}
248
249// encode encodes the Int16Value into an eventstream binary value
250// representation.
251func (v Int16Value) encode(w io.Writer) error {
252 raw := rawValue{
253 Type: v.valueType(),
254 }
255 return raw.encodeScalar(w, v)
256}
257
258func (v *Int16Value) decode(r io.Reader) error {
259 n, err := decodeUint16(r)
260 if err != nil {
261 return err
262 }
263
264 *v = Int16Value(n)
265 return nil
266}
267
268// An Int32Value provides eventstream encoding, and representation of a Go
269// int32 value.
270type Int32Value int32
271
272// Get returns the underlying value.
273func (v Int32Value) Get() interface{} {
274 return int32(v)
275}
276
277// valueType returns the EventStream header value type value.
278func (Int32Value) valueType() valueType {
279 return int32ValueType
280}
281
282func (v Int32Value) String() string {
283 return fmt.Sprintf("0x%08x", int32(v))
284}
285
286// encode encodes the Int32Value into an eventstream binary value
287// representation.
288func (v Int32Value) encode(w io.Writer) error {
289 raw := rawValue{
290 Type: v.valueType(),
291 }
292 return raw.encodeScalar(w, v)
293}
294
295func (v *Int32Value) decode(r io.Reader) error {
296 n, err := decodeUint32(r)
297 if err != nil {
298 return err
299 }
300
301 *v = Int32Value(n)
302 return nil
303}
304
305// An Int64Value provides eventstream encoding, and representation of a Go
306// int64 value.
307type Int64Value int64
308
309// Get returns the underlying value.
310func (v Int64Value) Get() interface{} {
311 return int64(v)
312}
313
314// valueType returns the EventStream header value type value.
315func (Int64Value) valueType() valueType {
316 return int64ValueType
317}
318
319func (v Int64Value) String() string {
320 return fmt.Sprintf("0x%016x", int64(v))
321}
322
323// encode encodes the Int64Value into an eventstream binary value
324// representation.
325func (v Int64Value) encode(w io.Writer) error {
326 raw := rawValue{
327 Type: v.valueType(),
328 }
329 return raw.encodeScalar(w, v)
330}
331
332func (v *Int64Value) decode(r io.Reader) error {
333 n, err := decodeUint64(r)
334 if err != nil {
335 return err
336 }
337
338 *v = Int64Value(n)
339 return nil
340}
341
342// An BytesValue provides eventstream encoding, and representation of a Go
343// byte slice.
344type BytesValue []byte
345
346// Get returns the underlying value.
347func (v BytesValue) Get() interface{} {
348 return []byte(v)
349}
350
351// valueType returns the EventStream header value type value.
352func (BytesValue) valueType() valueType {
353 return bytesValueType
354}
355
356func (v BytesValue) String() string {
357 return base64.StdEncoding.EncodeToString([]byte(v))
358}
359
360// encode encodes the BytesValue into an eventstream binary value
361// representation.
362func (v BytesValue) encode(w io.Writer) error {
363 raw := rawValue{
364 Type: v.valueType(),
365 }
366
367 return raw.encodeBytes(w, []byte(v))
368}
369
370func (v *BytesValue) decode(r io.Reader) error {
371 buf, err := decodeBytesValue(r)
372 if err != nil {
373 return err
374 }
375
376 *v = BytesValue(buf)
377 return nil
378}
379
380// An StringValue provides eventstream encoding, and representation of a Go
381// string.
382type StringValue string
383
384// Get returns the underlying value.
385func (v StringValue) Get() interface{} {
386 return string(v)
387}
388
389// valueType returns the EventStream header value type value.
390func (StringValue) valueType() valueType {
391 return stringValueType
392}
393
394func (v StringValue) String() string {
395 return string(v)
396}
397
398// encode encodes the StringValue into an eventstream binary value
399// representation.
400func (v StringValue) encode(w io.Writer) error {
401 raw := rawValue{
402 Type: v.valueType(),
403 }
404
405 return raw.encodeString(w, string(v))
406}
407
408func (v *StringValue) decode(r io.Reader) error {
409 s, err := decodeStringValue(r)
410 if err != nil {
411 return err
412 }
413
414 *v = StringValue(s)
415 return nil
416}
417
418// An TimestampValue provides eventstream encoding, and representation of a Go
419// timestamp.
420type TimestampValue time.Time
421
422// Get returns the underlying value.
423func (v TimestampValue) Get() interface{} {
424 return time.Time(v)
425}
426
427// valueType returns the EventStream header value type value.
428func (TimestampValue) valueType() valueType {
429 return timestampValueType
430}
431
432func (v TimestampValue) epochMilli() int64 {
433 nano := time.Time(v).UnixNano()
434 msec := nano / int64(time.Millisecond)
435 return msec
436}
437
438func (v TimestampValue) String() string {
439 msec := v.epochMilli()
440 return strconv.FormatInt(msec, 10)
441}
442
443// encode encodes the TimestampValue into an eventstream binary value
444// representation.
445func (v TimestampValue) encode(w io.Writer) error {
446 raw := rawValue{
447 Type: v.valueType(),
448 }
449
450 msec := v.epochMilli()
451 return raw.encodeScalar(w, msec)
452}
453
454func (v *TimestampValue) decode(r io.Reader) error {
455 n, err := decodeUint64(r)
456 if err != nil {
457 return err
458 }
459
460 *v = TimestampValue(timeFromEpochMilli(int64(n)))
461 return nil
462}
463
464func timeFromEpochMilli(t int64) time.Time {
465 secs := t / 1e3
466 msec := t % 1e3
467 return time.Unix(secs, msec*int64(time.Millisecond)).UTC()
468}
469
470// An UUIDValue provides eventstream encoding, and representation of a UUID
471// value.
472type UUIDValue [16]byte
473
474// Get returns the underlying value.
475func (v UUIDValue) Get() interface{} {
476 return v[:]
477}
478
479// valueType returns the EventStream header value type value.
480func (UUIDValue) valueType() valueType {
481 return uuidValueType
482}
483
484func (v UUIDValue) String() string {
485 return fmt.Sprintf(`%X-%X-%X-%X-%X`, v[0:4], v[4:6], v[6:8], v[8:10], v[10:])
486}
487
488// encode encodes the UUIDValue into an eventstream binary value
489// representation.
490func (v UUIDValue) encode(w io.Writer) error {
491 raw := rawValue{
492 Type: v.valueType(),
493 }
494
495 return raw.encodeFixedSlice(w, v[:])
496}
497
498func (v *UUIDValue) decode(r io.Reader) error {
499 tv := (*v)[:]
500 return decodeFixedBytesValue(r, tv)
501}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go
new file mode 100644
index 0000000..2dc012a
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go
@@ -0,0 +1,103 @@
1package eventstream
2
3import (
4 "bytes"
5 "encoding/binary"
6 "hash/crc32"
7)
8
9const preludeLen = 8
10const preludeCRCLen = 4
11const msgCRCLen = 4
12const minMsgLen = preludeLen + preludeCRCLen + msgCRCLen
13const maxPayloadLen = 1024 * 1024 * 16 // 16MB
14const maxHeadersLen = 1024 * 128 // 128KB
15const maxMsgLen = minMsgLen + maxHeadersLen + maxPayloadLen
16
17var crc32IEEETable = crc32.MakeTable(crc32.IEEE)
18
19// A Message provides the eventstream message representation.
20type Message struct {
21 Headers Headers
22 Payload []byte
23}
24
25func (m *Message) rawMessage() (rawMessage, error) {
26 var raw rawMessage
27
28 if len(m.Headers) > 0 {
29 var headers bytes.Buffer
30 if err := encodeHeaders(&headers, m.Headers); err != nil {
31 return rawMessage{}, err
32 }
33 raw.Headers = headers.Bytes()
34 raw.HeadersLen = uint32(len(raw.Headers))
35 }
36
37 raw.Length = raw.HeadersLen + uint32(len(m.Payload)) + minMsgLen
38
39 hash := crc32.New(crc32IEEETable)
40 binaryWriteFields(hash, binary.BigEndian, raw.Length, raw.HeadersLen)
41 raw.PreludeCRC = hash.Sum32()
42
43 binaryWriteFields(hash, binary.BigEndian, raw.PreludeCRC)
44
45 if raw.HeadersLen > 0 {
46 hash.Write(raw.Headers)
47 }
48
49 // Read payload bytes and update hash for it as well.
50 if len(m.Payload) > 0 {
51 raw.Payload = m.Payload
52 hash.Write(raw.Payload)
53 }
54
55 raw.CRC = hash.Sum32()
56
57 return raw, nil
58}
59
60type messagePrelude struct {
61 Length uint32
62 HeadersLen uint32
63 PreludeCRC uint32
64}
65
66func (p messagePrelude) PayloadLen() uint32 {
67 return p.Length - p.HeadersLen - minMsgLen
68}
69
70func (p messagePrelude) ValidateLens() error {
71 if p.Length == 0 || p.Length > maxMsgLen {
72 return LengthError{
73 Part: "message prelude",
74 Want: maxMsgLen,
75 Have: int(p.Length),
76 }
77 }
78 if p.HeadersLen > maxHeadersLen {
79 return LengthError{
80 Part: "message headers",
81 Want: maxHeadersLen,
82 Have: int(p.HeadersLen),
83 }
84 }
85 if payloadLen := p.PayloadLen(); payloadLen > maxPayloadLen {
86 return LengthError{
87 Part: "message payload",
88 Want: maxPayloadLen,
89 Have: int(payloadLen),
90 }
91 }
92
93 return nil
94}
95
96type rawMessage struct {
97 messagePrelude
98
99 Headers []byte
100 Payload []byte
101
102 CRC uint32
103}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go
new file mode 100644
index 0000000..776d110
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go
@@ -0,0 +1,76 @@
1package protocol
2
3import (
4 "encoding/base64"
5 "encoding/json"
6 "fmt"
7 "strconv"
8
9 "github.com/aws/aws-sdk-go/aws"
10)
11
12// EscapeMode is the mode that should be use for escaping a value
13type EscapeMode uint
14
15// The modes for escaping a value before it is marshaled, and unmarshaled.
16const (
17 NoEscape EscapeMode = iota
18 Base64Escape
19 QuotedEscape
20)
21
22// EncodeJSONValue marshals the value into a JSON string, and optionally base64
23// encodes the string before returning it.
24//
25// Will panic if the escape mode is unknown.
26func EncodeJSONValue(v aws.JSONValue, escape EscapeMode) (string, error) {
27 b, err := json.Marshal(v)
28 if err != nil {
29 return "", err
30 }
31
32 switch escape {
33 case NoEscape:
34 return string(b), nil
35 case Base64Escape:
36 return base64.StdEncoding.EncodeToString(b), nil
37 case QuotedEscape:
38 return strconv.Quote(string(b)), nil
39 }
40
41 panic(fmt.Sprintf("EncodeJSONValue called with unknown EscapeMode, %v", escape))
42}
43
44// DecodeJSONValue will attempt to decode the string input as a JSONValue.
45// Optionally decoding base64 the value first before JSON unmarshaling.
46//
47// Will panic if the escape mode is unknown.
48func DecodeJSONValue(v string, escape EscapeMode) (aws.JSONValue, error) {
49 var b []byte
50 var err error
51
52 switch escape {
53 case NoEscape:
54 b = []byte(v)
55 case Base64Escape:
56 b, err = base64.StdEncoding.DecodeString(v)
57 case QuotedEscape:
58 var u string
59 u, err = strconv.Unquote(v)
60 b = []byte(u)
61 default:
62 panic(fmt.Sprintf("DecodeJSONValue called with unknown EscapeMode, %v", escape))
63 }
64
65 if err != nil {
66 return nil, err
67 }
68
69 m := aws.JSONValue{}
70 err = json.Unmarshal(b, &m)
71 if err != nil {
72 return nil, err
73 }
74
75 return m, nil
76}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/payload.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/payload.go
new file mode 100644
index 0000000..e21614a
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/payload.go
@@ -0,0 +1,81 @@
1package protocol
2
3import (
4 "io"
5 "io/ioutil"
6 "net/http"
7
8 "github.com/aws/aws-sdk-go/aws"
9 "github.com/aws/aws-sdk-go/aws/client/metadata"
10 "github.com/aws/aws-sdk-go/aws/request"
11)
12
13// PayloadUnmarshaler provides the interface for unmarshaling a payload's
14// reader into a SDK shape.
15type PayloadUnmarshaler interface {
16 UnmarshalPayload(io.Reader, interface{}) error
17}
18
19// HandlerPayloadUnmarshal implements the PayloadUnmarshaler from a
20// HandlerList. This provides the support for unmarshaling a payload reader to
21// a shape without needing a SDK request first.
22type HandlerPayloadUnmarshal struct {
23 Unmarshalers request.HandlerList
24}
25
26// UnmarshalPayload unmarshals the io.Reader payload into the SDK shape using
27// the Unmarshalers HandlerList provided. Returns an error if unable
28// unmarshaling fails.
29func (h HandlerPayloadUnmarshal) UnmarshalPayload(r io.Reader, v interface{}) error {
30 req := &request.Request{
31 HTTPRequest: &http.Request{},
32 HTTPResponse: &http.Response{
33 StatusCode: 200,
34 Header: http.Header{},
35 Body: ioutil.NopCloser(r),
36 },
37 Data: v,
38 }
39
40 h.Unmarshalers.Run(req)
41
42 return req.Error
43}
44
45// PayloadMarshaler provides the interface for marshaling a SDK shape into and
46// io.Writer.
47type PayloadMarshaler interface {
48 MarshalPayload(io.Writer, interface{}) error
49}
50
51// HandlerPayloadMarshal implements the PayloadMarshaler from a HandlerList.
52// This provides support for marshaling a SDK shape into an io.Writer without
53// needing a SDK request first.
54type HandlerPayloadMarshal struct {
55 Marshalers request.HandlerList
56}
57
58// MarshalPayload marshals the SDK shape into the io.Writer using the
59// Marshalers HandlerList provided. Returns an error if unable if marshal
60// fails.
61func (h HandlerPayloadMarshal) MarshalPayload(w io.Writer, v interface{}) error {
62 req := request.New(
63 aws.Config{},
64 metadata.ClientInfo{},
65 request.Handlers{},
66 nil,
67 &request.Operation{HTTPMethod: "GET"},
68 v,
69 nil,
70 )
71
72 h.Marshalers.Run(req)
73
74 if req.Error != nil {
75 return req.Error
76 }
77
78 io.Copy(w, req.GetBody())
79
80 return nil
81}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
index 18169f0..60e5b09 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
@@ -25,7 +25,7 @@ func Build(r *request.Request) {
25 return 25 return
26 } 26 }
27 27
28 if r.ExpireTime == 0 { 28 if !r.IsPresigned() {
29 r.HTTPRequest.Method = "POST" 29 r.HTTPRequest.Method = "POST"
30 r.HTTPRequest.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=utf-8") 30 r.HTTPRequest.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=utf-8")
31 r.SetBufferBody([]byte(body.Encode())) 31 r.SetBufferBody([]byte(body.Encode()))
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go
index 524ca95..75866d0 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go
@@ -121,6 +121,10 @@ func (q *queryParser) parseList(v url.Values, value reflect.Value, prefix string
121 return nil 121 return nil
122 } 122 }
123 123
124 if _, ok := value.Interface().([]byte); ok {
125 return q.parseScalar(v, value, prefix, tag)
126 }
127
124 // check for unflattened list member 128 // check for unflattened list member
125 if !q.isEC2 && tag.Get("flattened") == "" { 129 if !q.isEC2 && tag.Get("flattened") == "" {
126 if listName := tag.Get("locationNameList"); listName == "" { 130 if listName := tag.Get("locationNameList"); listName == "" {
@@ -229,7 +233,12 @@ func (q *queryParser) parseScalar(v url.Values, r reflect.Value, name string, ta
229 v.Set(name, strconv.FormatFloat(float64(value), 'f', -1, 32)) 233 v.Set(name, strconv.FormatFloat(float64(value), 'f', -1, 32))
230 case time.Time: 234 case time.Time:
231 const ISO8601UTC = "2006-01-02T15:04:05Z" 235 const ISO8601UTC = "2006-01-02T15:04:05Z"
232 v.Set(name, value.UTC().Format(ISO8601UTC)) 236 format := tag.Get("timestampFormat")
237 if len(format) == 0 {
238 format = protocol.ISO8601TimeFormatName
239 }
240
241 v.Set(name, protocol.FormatTime(format, value))
233 default: 242 default:
234 return fmt.Errorf("unsupported value for param %s: %v (%s)", name, r.Interface(), r.Type().Name()) 243 return fmt.Errorf("unsupported value for param %s: %v (%s)", name, r.Interface(), r.Type().Name())
235 } 244 }
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
index 7161835..b34f525 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
@@ -4,7 +4,6 @@ package rest
4import ( 4import (
5 "bytes" 5 "bytes"
6 "encoding/base64" 6 "encoding/base64"
7 "encoding/json"
8 "fmt" 7 "fmt"
9 "io" 8 "io"
10 "net/http" 9 "net/http"
@@ -18,11 +17,9 @@ import (
18 "github.com/aws/aws-sdk-go/aws" 17 "github.com/aws/aws-sdk-go/aws"
19 "github.com/aws/aws-sdk-go/aws/awserr" 18 "github.com/aws/aws-sdk-go/aws/awserr"
20 "github.com/aws/aws-sdk-go/aws/request" 19 "github.com/aws/aws-sdk-go/aws/request"
20 "github.com/aws/aws-sdk-go/private/protocol"
21) 21)
22 22
23// RFC822 returns an RFC822 formatted timestamp for AWS protocols
24const RFC822 = "Mon, 2 Jan 2006 15:04:05 GMT"
25
26// Whether the byte value can be sent without escaping in AWS URLs 23// Whether the byte value can be sent without escaping in AWS URLs
27var noEscape [256]bool 24var noEscape [256]bool
28 25
@@ -252,13 +249,12 @@ func EscapePath(path string, encodeSep bool) string {
252 return buf.String() 249 return buf.String()
253} 250}
254 251
255func convertType(v reflect.Value, tag reflect.StructTag) (string, error) { 252func convertType(v reflect.Value, tag reflect.StructTag) (str string, err error) {
256 v = reflect.Indirect(v) 253 v = reflect.Indirect(v)
257 if !v.IsValid() { 254 if !v.IsValid() {
258 return "", errValueNotSet 255 return "", errValueNotSet
259 } 256 }
260 257
261 var str string
262 switch value := v.Interface().(type) { 258 switch value := v.Interface().(type) {
263 case string: 259 case string:
264 str = value 260 str = value
@@ -271,19 +267,28 @@ func convertType(v reflect.Value, tag reflect.StructTag) (string, error) {
271 case float64: 267 case float64:
272 str = strconv.FormatFloat(value, 'f', -1, 64) 268 str = strconv.FormatFloat(value, 'f', -1, 64)
273 case time.Time: 269 case time.Time:
274 str = value.UTC().Format(RFC822) 270 format := tag.Get("timestampFormat")
271 if len(format) == 0 {
272 format = protocol.RFC822TimeFormatName
273 if tag.Get("location") == "querystring" {
274 format = protocol.ISO8601TimeFormatName
275 }
276 }
277 str = protocol.FormatTime(format, value)
275 case aws.JSONValue: 278 case aws.JSONValue:
276 b, err := json.Marshal(value) 279 if len(value) == 0 {
277 if err != nil { 280 return "", errValueNotSet
278 return "", err
279 } 281 }
282 escaping := protocol.NoEscape
280 if tag.Get("location") == "header" { 283 if tag.Get("location") == "header" {
281 str = base64.StdEncoding.EncodeToString(b) 284 escaping = protocol.Base64Escape
282 } else { 285 }
283 str = string(b) 286 str, err = protocol.EncodeJSONValue(value, escaping)
287 if err != nil {
288 return "", fmt.Errorf("unable to encode JSONValue, %v", err)
284 } 289 }
285 default: 290 default:
286 err := fmt.Errorf("Unsupported value for param %v (%s)", v.Interface(), v.Type()) 291 err := fmt.Errorf("unsupported value for param %v (%s)", v.Interface(), v.Type())
287 return "", err 292 return "", err
288 } 293 }
289 return str, nil 294 return str, nil
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
index 7a779ee..33fd53b 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
@@ -3,7 +3,6 @@ package rest
3import ( 3import (
4 "bytes" 4 "bytes"
5 "encoding/base64" 5 "encoding/base64"
6 "encoding/json"
7 "fmt" 6 "fmt"
8 "io" 7 "io"
9 "io/ioutil" 8 "io/ioutil"
@@ -16,6 +15,7 @@ import (
16 "github.com/aws/aws-sdk-go/aws" 15 "github.com/aws/aws-sdk-go/aws"
17 "github.com/aws/aws-sdk-go/aws/awserr" 16 "github.com/aws/aws-sdk-go/aws/awserr"
18 "github.com/aws/aws-sdk-go/aws/request" 17 "github.com/aws/aws-sdk-go/aws/request"
18 "github.com/aws/aws-sdk-go/private/protocol"
19) 19)
20 20
21// UnmarshalHandler is a named request handler for unmarshaling rest protocol requests 21// UnmarshalHandler is a named request handler for unmarshaling rest protocol requests
@@ -198,23 +198,21 @@ func unmarshalHeader(v reflect.Value, header string, tag reflect.StructTag) erro
198 } 198 }
199 v.Set(reflect.ValueOf(&f)) 199 v.Set(reflect.ValueOf(&f))
200 case *time.Time: 200 case *time.Time:
201 t, err := time.Parse(RFC822, header) 201 format := tag.Get("timestampFormat")
202 if len(format) == 0 {
203 format = protocol.RFC822TimeFormatName
204 }
205 t, err := protocol.ParseTime(format, header)
202 if err != nil { 206 if err != nil {
203 return err 207 return err
204 } 208 }
205 v.Set(reflect.ValueOf(&t)) 209 v.Set(reflect.ValueOf(&t))
206 case aws.JSONValue: 210 case aws.JSONValue:
207 b := []byte(header) 211 escaping := protocol.NoEscape
208 var err error
209 if tag.Get("location") == "header" { 212 if tag.Get("location") == "header" {
210 b, err = base64.StdEncoding.DecodeString(header) 213 escaping = protocol.Base64Escape
211 if err != nil {
212 return err
213 }
214 } 214 }
215 215 m, err := protocol.DecodeJSONValue(header, escaping)
216 m := aws.JSONValue{}
217 err = json.Unmarshal(b, &m)
218 if err != nil { 216 if err != nil {
219 return err 217 return err
220 } 218 }
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go
new file mode 100644
index 0000000..b7ed6c6
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go
@@ -0,0 +1,72 @@
1package protocol
2
3import (
4 "strconv"
5 "time"
6)
7
8// Names of time formats supported by the SDK
9const (
10 RFC822TimeFormatName = "rfc822"
11 ISO8601TimeFormatName = "iso8601"
12 UnixTimeFormatName = "unixTimestamp"
13)
14
15// Time formats supported by the SDK
16const (
17 // RFC 7231#section-7.1.1.1 timetamp format. e.g Tue, 29 Apr 2014 18:30:38 GMT
18 RFC822TimeFormat = "Mon, 2 Jan 2006 15:04:05 GMT"
19
20 // RFC3339 a subset of the ISO8601 timestamp format. e.g 2014-04-29T18:30:38Z
21 ISO8601TimeFormat = "2006-01-02T15:04:05Z"
22)
23
24// IsKnownTimestampFormat returns if the timestamp format name
25// is know to the SDK's protocols.
26func IsKnownTimestampFormat(name string) bool {
27 switch name {
28 case RFC822TimeFormatName:
29 fallthrough
30 case ISO8601TimeFormatName:
31 fallthrough
32 case UnixTimeFormatName:
33 return true
34 default:
35 return false
36 }
37}
38
39// FormatTime returns a string value of the time.
40func FormatTime(name string, t time.Time) string {
41 t = t.UTC()
42
43 switch name {
44 case RFC822TimeFormatName:
45 return t.Format(RFC822TimeFormat)
46 case ISO8601TimeFormatName:
47 return t.Format(ISO8601TimeFormat)
48 case UnixTimeFormatName:
49 return strconv.FormatInt(t.Unix(), 10)
50 default:
51 panic("unknown timestamp format name, " + name)
52 }
53}
54
55// ParseTime attempts to parse the time given the format. Returns
56// the time if it was able to be parsed, and fails otherwise.
57func ParseTime(formatName, value string) (time.Time, error) {
58 switch formatName {
59 case RFC822TimeFormatName:
60 return time.Parse(RFC822TimeFormat, value)
61 case ISO8601TimeFormatName:
62 return time.Parse(ISO8601TimeFormat, value)
63 case UnixTimeFormatName:
64 v, err := strconv.ParseFloat(value, 64)
65 if err != nil {
66 return time.Time{}, err
67 }
68 return time.Unix(int64(v), 0), nil
69 default:
70 panic("unknown timestamp format name, " + formatName)
71 }
72}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
index 7091b45..07764c8 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
@@ -13,9 +13,13 @@ import (
13 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol"
14) 14)
15 15
16// BuildXML will serialize params into an xml.Encoder. 16// BuildXML will serialize params into an xml.Encoder. Error will be returned
17// Error will be returned if the serialization of any of the params or nested values fails. 17// if the serialization of any of the params or nested values fails.
18func BuildXML(params interface{}, e *xml.Encoder) error { 18func BuildXML(params interface{}, e *xml.Encoder) error {
19 return buildXML(params, e, false)
20}
21
22func buildXML(params interface{}, e *xml.Encoder, sorted bool) error {
19 b := xmlBuilder{encoder: e, namespaces: map[string]string{}} 23 b := xmlBuilder{encoder: e, namespaces: map[string]string{}}
20 root := NewXMLElement(xml.Name{}) 24 root := NewXMLElement(xml.Name{})
21 if err := b.buildValue(reflect.ValueOf(params), root, ""); err != nil { 25 if err := b.buildValue(reflect.ValueOf(params), root, ""); err != nil {
@@ -23,7 +27,7 @@ func BuildXML(params interface{}, e *xml.Encoder) error {
23 } 27 }
24 for _, c := range root.Children { 28 for _, c := range root.Children {
25 for _, v := range c { 29 for _, v := range c {
26 return StructToXML(e, v, false) 30 return StructToXML(e, v, sorted)
27 } 31 }
28 } 32 }
29 return nil 33 return nil
@@ -278,8 +282,12 @@ func (b *xmlBuilder) buildScalar(value reflect.Value, current *XMLNode, tag refl
278 case float32: 282 case float32:
279 str = strconv.FormatFloat(float64(converted), 'f', -1, 32) 283 str = strconv.FormatFloat(float64(converted), 'f', -1, 32)
280 case time.Time: 284 case time.Time:
281 const ISO8601UTC = "2006-01-02T15:04:05Z" 285 format := tag.Get("timestampFormat")
282 str = converted.UTC().Format(ISO8601UTC) 286 if len(format) == 0 {
287 format = protocol.ISO8601TimeFormatName
288 }
289
290 str = protocol.FormatTime(format, converted)
283 default: 291 default:
284 return fmt.Errorf("unsupported value for param %s: %v (%s)", 292 return fmt.Errorf("unsupported value for param %s: %v (%s)",
285 tag.Get("locationName"), value.Interface(), value.Type().Name()) 293 tag.Get("locationName"), value.Interface(), value.Type().Name())
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
index 8758462..ff1ef68 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
@@ -9,6 +9,8 @@ import (
9 "strconv" 9 "strconv"
10 "strings" 10 "strings"
11 "time" 11 "time"
12
13 "github.com/aws/aws-sdk-go/private/protocol"
12) 14)
13 15
14// UnmarshalXML deserializes an xml.Decoder into the container v. V 16// UnmarshalXML deserializes an xml.Decoder into the container v. V
@@ -52,9 +54,15 @@ func parse(r reflect.Value, node *XMLNode, tag reflect.StructTag) error {
52 if t == "" { 54 if t == "" {
53 switch rtype.Kind() { 55 switch rtype.Kind() {
54 case reflect.Struct: 56 case reflect.Struct:
55 t = "structure" 57 // also it can't be a time object
58 if _, ok := r.Interface().(*time.Time); !ok {
59 t = "structure"
60 }
56 case reflect.Slice: 61 case reflect.Slice:
57 t = "list" 62 // also it can't be a byte slice
63 if _, ok := r.Interface().([]byte); !ok {
64 t = "list"
65 }
58 case reflect.Map: 66 case reflect.Map:
59 t = "map" 67 t = "map"
60 } 68 }
@@ -247,8 +255,12 @@ func parseScalar(r reflect.Value, node *XMLNode, tag reflect.StructTag) error {
247 } 255 }
248 r.Set(reflect.ValueOf(&v)) 256 r.Set(reflect.ValueOf(&v))
249 case *time.Time: 257 case *time.Time:
250 const ISO8601UTC = "2006-01-02T15:04:05Z" 258 format := tag.Get("timestampFormat")
251 t, err := time.Parse(ISO8601UTC, node.Text) 259 if len(format) == 0 {
260 format = protocol.ISO8601TimeFormatName
261 }
262
263 t, err := protocol.ParseTime(format, node.Text)
252 if err != nil { 264 if err != nil {
253 return err 265 return err
254 } 266 }
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go
index 3e970b6..515ce15 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go
@@ -29,6 +29,7 @@ func NewXMLElement(name xml.Name) *XMLNode {
29 29
30// AddChild adds child to the XMLNode. 30// AddChild adds child to the XMLNode.
31func (n *XMLNode) AddChild(child *XMLNode) { 31func (n *XMLNode) AddChild(child *XMLNode) {
32 child.parent = n
32 if _, ok := n.Children[child.Name.Local]; !ok { 33 if _, ok := n.Children[child.Name.Local]; !ok {
33 n.Children[child.Name.Local] = []*XMLNode{} 34 n.Children[child.Name.Local] = []*XMLNode{}
34 } 35 }
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
index 52ac02c..0e999ca 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
@@ -3,14 +3,22 @@
3package s3 3package s3
4 4
5import ( 5import (
6 "bytes"
6 "fmt" 7 "fmt"
7 "io" 8 "io"
9 "sync"
10 "sync/atomic"
8 "time" 11 "time"
9 12
10 "github.com/aws/aws-sdk-go/aws" 13 "github.com/aws/aws-sdk-go/aws"
14 "github.com/aws/aws-sdk-go/aws/awserr"
11 "github.com/aws/aws-sdk-go/aws/awsutil" 15 "github.com/aws/aws-sdk-go/aws/awsutil"
16 "github.com/aws/aws-sdk-go/aws/client"
12 "github.com/aws/aws-sdk-go/aws/request" 17 "github.com/aws/aws-sdk-go/aws/request"
13 "github.com/aws/aws-sdk-go/private/protocol" 18 "github.com/aws/aws-sdk-go/private/protocol"
19 "github.com/aws/aws-sdk-go/private/protocol/eventstream"
20 "github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi"
21 "github.com/aws/aws-sdk-go/private/protocol/rest"
14 "github.com/aws/aws-sdk-go/private/protocol/restxml" 22 "github.com/aws/aws-sdk-go/private/protocol/restxml"
15) 23)
16 24
@@ -18,19 +26,18 @@ const opAbortMultipartUpload = "AbortMultipartUpload"
18 26
19// AbortMultipartUploadRequest generates a "aws/request.Request" representing the 27// AbortMultipartUploadRequest generates a "aws/request.Request" representing the
20// client's request for the AbortMultipartUpload operation. The "output" return 28// client's request for the AbortMultipartUpload operation. The "output" return
21// value can be used to capture response data after the request's "Send" method 29// value will be populated with the request's response once the request completes
22// is called. 30// successfuly.
23// 31//
24// See AbortMultipartUpload for usage and error information. 32// Use "Send" method on the returned Request to send the API call to the service.
33// the "output" return value is not valid until after Send returns without error.
25// 34//
26// Creating a request object using this method should be used when you want to inject 35// See AbortMultipartUpload for more information on using the AbortMultipartUpload
27// custom logic into the request's lifecycle using a custom handler, or if you want to 36// API call, and error handling.
28// access properties on the request object before or after sending the request. If 37//
29// you just want the service response, call the AbortMultipartUpload method directly 38// This method is useful when you want to inject custom logic or configuration
30// instead. 39// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31// 40//
32// Note: You must call the "Send" method on the returned request object in order
33// to execute the request.
34// 41//
35// // Example sending a request using the AbortMultipartUploadRequest method. 42// // Example sending a request using the AbortMultipartUploadRequest method.
36// req, resp := client.AbortMultipartUploadRequest(params) 43// req, resp := client.AbortMultipartUploadRequest(params)
@@ -40,7 +47,7 @@ const opAbortMultipartUpload = "AbortMultipartUpload"
40// fmt.Println(resp) 47// fmt.Println(resp)
41// } 48// }
42// 49//
43// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload 50// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload
44func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req *request.Request, output *AbortMultipartUploadOutput) { 51func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req *request.Request, output *AbortMultipartUploadOutput) {
45 op := &request.Operation{ 52 op := &request.Operation{
46 Name: opAbortMultipartUpload, 53 Name: opAbortMultipartUpload,
@@ -76,7 +83,7 @@ func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req
76// * ErrCodeNoSuchUpload "NoSuchUpload" 83// * ErrCodeNoSuchUpload "NoSuchUpload"
77// The specified multipart upload does not exist. 84// The specified multipart upload does not exist.
78// 85//
79// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload 86// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload
80func (c *S3) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) { 87func (c *S3) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) {
81 req, out := c.AbortMultipartUploadRequest(input) 88 req, out := c.AbortMultipartUploadRequest(input)
82 return out, req.Send() 89 return out, req.Send()
@@ -102,19 +109,18 @@ const opCompleteMultipartUpload = "CompleteMultipartUpload"
102 109
103// CompleteMultipartUploadRequest generates a "aws/request.Request" representing the 110// CompleteMultipartUploadRequest generates a "aws/request.Request" representing the
104// client's request for the CompleteMultipartUpload operation. The "output" return 111// client's request for the CompleteMultipartUpload operation. The "output" return
105// value can be used to capture response data after the request's "Send" method 112// value will be populated with the request's response once the request completes
106// is called. 113// successfuly.
114//
115// Use "Send" method on the returned Request to send the API call to the service.
116// the "output" return value is not valid until after Send returns without error.
107// 117//
108// See CompleteMultipartUpload for usage and error information. 118// See CompleteMultipartUpload for more information on using the CompleteMultipartUpload
119// API call, and error handling.
109// 120//
110// Creating a request object using this method should be used when you want to inject 121// This method is useful when you want to inject custom logic or configuration
111// custom logic into the request's lifecycle using a custom handler, or if you want to 122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
112// access properties on the request object before or after sending the request. If
113// you just want the service response, call the CompleteMultipartUpload method directly
114// instead.
115// 123//
116// Note: You must call the "Send" method on the returned request object in order
117// to execute the request.
118// 124//
119// // Example sending a request using the CompleteMultipartUploadRequest method. 125// // Example sending a request using the CompleteMultipartUploadRequest method.
120// req, resp := client.CompleteMultipartUploadRequest(params) 126// req, resp := client.CompleteMultipartUploadRequest(params)
@@ -124,7 +130,7 @@ const opCompleteMultipartUpload = "CompleteMultipartUpload"
124// fmt.Println(resp) 130// fmt.Println(resp)
125// } 131// }
126// 132//
127// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload 133// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload
128func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) (req *request.Request, output *CompleteMultipartUploadOutput) { 134func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) (req *request.Request, output *CompleteMultipartUploadOutput) {
129 op := &request.Operation{ 135 op := &request.Operation{
130 Name: opCompleteMultipartUpload, 136 Name: opCompleteMultipartUpload,
@@ -151,7 +157,7 @@ func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput)
151// 157//
152// See the AWS API reference guide for Amazon Simple Storage Service's 158// See the AWS API reference guide for Amazon Simple Storage Service's
153// API operation CompleteMultipartUpload for usage and error information. 159// API operation CompleteMultipartUpload for usage and error information.
154// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload 160// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload
155func (c *S3) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*CompleteMultipartUploadOutput, error) { 161func (c *S3) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*CompleteMultipartUploadOutput, error) {
156 req, out := c.CompleteMultipartUploadRequest(input) 162 req, out := c.CompleteMultipartUploadRequest(input)
157 return out, req.Send() 163 return out, req.Send()
@@ -177,19 +183,18 @@ const opCopyObject = "CopyObject"
177 183
178// CopyObjectRequest generates a "aws/request.Request" representing the 184// CopyObjectRequest generates a "aws/request.Request" representing the
179// client's request for the CopyObject operation. The "output" return 185// client's request for the CopyObject operation. The "output" return
180// value can be used to capture response data after the request's "Send" method 186// value will be populated with the request's response once the request completes
181// is called. 187// successfuly.
182// 188//
183// See CopyObject for usage and error information. 189// Use "Send" method on the returned Request to send the API call to the service.
190// the "output" return value is not valid until after Send returns without error.
184// 191//
185// Creating a request object using this method should be used when you want to inject 192// See CopyObject for more information on using the CopyObject
186// custom logic into the request's lifecycle using a custom handler, or if you want to 193// API call, and error handling.
187// access properties on the request object before or after sending the request. If 194//
188// you just want the service response, call the CopyObject method directly 195// This method is useful when you want to inject custom logic or configuration
189// instead. 196// into the SDK's request lifecycle. Such as custom headers, or retry logic.
190// 197//
191// Note: You must call the "Send" method on the returned request object in order
192// to execute the request.
193// 198//
194// // Example sending a request using the CopyObjectRequest method. 199// // Example sending a request using the CopyObjectRequest method.
195// req, resp := client.CopyObjectRequest(params) 200// req, resp := client.CopyObjectRequest(params)
@@ -199,7 +204,7 @@ const opCopyObject = "CopyObject"
199// fmt.Println(resp) 204// fmt.Println(resp)
200// } 205// }
201// 206//
202// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject 207// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject
203func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, output *CopyObjectOutput) { 208func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, output *CopyObjectOutput) {
204 op := &request.Operation{ 209 op := &request.Operation{
205 Name: opCopyObject, 210 Name: opCopyObject,
@@ -232,7 +237,7 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
232// The source object of the COPY operation is not in the active tier and is 237// The source object of the COPY operation is not in the active tier and is
233// only stored in Amazon Glacier. 238// only stored in Amazon Glacier.
234// 239//
235// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject 240// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject
236func (c *S3) CopyObject(input *CopyObjectInput) (*CopyObjectOutput, error) { 241func (c *S3) CopyObject(input *CopyObjectInput) (*CopyObjectOutput, error) {
237 req, out := c.CopyObjectRequest(input) 242 req, out := c.CopyObjectRequest(input)
238 return out, req.Send() 243 return out, req.Send()
@@ -258,19 +263,18 @@ const opCreateBucket = "CreateBucket"
258 263
259// CreateBucketRequest generates a "aws/request.Request" representing the 264// CreateBucketRequest generates a "aws/request.Request" representing the
260// client's request for the CreateBucket operation. The "output" return 265// client's request for the CreateBucket operation. The "output" return
261// value can be used to capture response data after the request's "Send" method 266// value will be populated with the request's response once the request completes
262// is called. 267// successfuly.
268//
269// Use "Send" method on the returned Request to send the API call to the service.
270// the "output" return value is not valid until after Send returns without error.
263// 271//
264// See CreateBucket for usage and error information. 272// See CreateBucket for more information on using the CreateBucket
273// API call, and error handling.
265// 274//
266// Creating a request object using this method should be used when you want to inject 275// This method is useful when you want to inject custom logic or configuration
267// custom logic into the request's lifecycle using a custom handler, or if you want to 276// into the SDK's request lifecycle. Such as custom headers, or retry logic.
268// access properties on the request object before or after sending the request. If
269// you just want the service response, call the CreateBucket method directly
270// instead.
271// 277//
272// Note: You must call the "Send" method on the returned request object in order
273// to execute the request.
274// 278//
275// // Example sending a request using the CreateBucketRequest method. 279// // Example sending a request using the CreateBucketRequest method.
276// req, resp := client.CreateBucketRequest(params) 280// req, resp := client.CreateBucketRequest(params)
@@ -280,7 +284,7 @@ const opCreateBucket = "CreateBucket"
280// fmt.Println(resp) 284// fmt.Println(resp)
281// } 285// }
282// 286//
283// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket 287// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket
284func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request, output *CreateBucketOutput) { 288func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request, output *CreateBucketOutput) {
285 op := &request.Operation{ 289 op := &request.Operation{
286 Name: opCreateBucket, 290 Name: opCreateBucket,
@@ -315,7 +319,7 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request
315// 319//
316// * ErrCodeBucketAlreadyOwnedByYou "BucketAlreadyOwnedByYou" 320// * ErrCodeBucketAlreadyOwnedByYou "BucketAlreadyOwnedByYou"
317// 321//
318// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket 322// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket
319func (c *S3) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) { 323func (c *S3) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) {
320 req, out := c.CreateBucketRequest(input) 324 req, out := c.CreateBucketRequest(input)
321 return out, req.Send() 325 return out, req.Send()
@@ -341,19 +345,18 @@ const opCreateMultipartUpload = "CreateMultipartUpload"
341 345
342// CreateMultipartUploadRequest generates a "aws/request.Request" representing the 346// CreateMultipartUploadRequest generates a "aws/request.Request" representing the
343// client's request for the CreateMultipartUpload operation. The "output" return 347// client's request for the CreateMultipartUpload operation. The "output" return
344// value can be used to capture response data after the request's "Send" method 348// value will be populated with the request's response once the request completes
345// is called. 349// successfuly.
346// 350//
347// See CreateMultipartUpload for usage and error information. 351// Use "Send" method on the returned Request to send the API call to the service.
352// the "output" return value is not valid until after Send returns without error.
348// 353//
349// Creating a request object using this method should be used when you want to inject 354// See CreateMultipartUpload for more information on using the CreateMultipartUpload
350// custom logic into the request's lifecycle using a custom handler, or if you want to 355// API call, and error handling.
351// access properties on the request object before or after sending the request. If 356//
352// you just want the service response, call the CreateMultipartUpload method directly 357// This method is useful when you want to inject custom logic or configuration
353// instead. 358// into the SDK's request lifecycle. Such as custom headers, or retry logic.
354// 359//
355// Note: You must call the "Send" method on the returned request object in order
356// to execute the request.
357// 360//
358// // Example sending a request using the CreateMultipartUploadRequest method. 361// // Example sending a request using the CreateMultipartUploadRequest method.
359// req, resp := client.CreateMultipartUploadRequest(params) 362// req, resp := client.CreateMultipartUploadRequest(params)
@@ -363,7 +366,7 @@ const opCreateMultipartUpload = "CreateMultipartUpload"
363// fmt.Println(resp) 366// fmt.Println(resp)
364// } 367// }
365// 368//
366// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload 369// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload
367func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (req *request.Request, output *CreateMultipartUploadOutput) { 370func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (req *request.Request, output *CreateMultipartUploadOutput) {
368 op := &request.Operation{ 371 op := &request.Operation{
369 Name: opCreateMultipartUpload, 372 Name: opCreateMultipartUpload,
@@ -396,7 +399,7 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re
396// 399//
397// See the AWS API reference guide for Amazon Simple Storage Service's 400// See the AWS API reference guide for Amazon Simple Storage Service's
398// API operation CreateMultipartUpload for usage and error information. 401// API operation CreateMultipartUpload for usage and error information.
399// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload 402// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload
400func (c *S3) CreateMultipartUpload(input *CreateMultipartUploadInput) (*CreateMultipartUploadOutput, error) { 403func (c *S3) CreateMultipartUpload(input *CreateMultipartUploadInput) (*CreateMultipartUploadOutput, error) {
401 req, out := c.CreateMultipartUploadRequest(input) 404 req, out := c.CreateMultipartUploadRequest(input)
402 return out, req.Send() 405 return out, req.Send()
@@ -422,19 +425,18 @@ const opDeleteBucket = "DeleteBucket"
422 425
423// DeleteBucketRequest generates a "aws/request.Request" representing the 426// DeleteBucketRequest generates a "aws/request.Request" representing the
424// client's request for the DeleteBucket operation. The "output" return 427// client's request for the DeleteBucket operation. The "output" return
425// value can be used to capture response data after the request's "Send" method 428// value will be populated with the request's response once the request completes
426// is called. 429// successfuly.
430//
431// Use "Send" method on the returned Request to send the API call to the service.
432// the "output" return value is not valid until after Send returns without error.
427// 433//
428// See DeleteBucket for usage and error information. 434// See DeleteBucket for more information on using the DeleteBucket
435// API call, and error handling.
429// 436//
430// Creating a request object using this method should be used when you want to inject 437// This method is useful when you want to inject custom logic or configuration
431// custom logic into the request's lifecycle using a custom handler, or if you want to 438// into the SDK's request lifecycle. Such as custom headers, or retry logic.
432// access properties on the request object before or after sending the request. If
433// you just want the service response, call the DeleteBucket method directly
434// instead.
435// 439//
436// Note: You must call the "Send" method on the returned request object in order
437// to execute the request.
438// 440//
439// // Example sending a request using the DeleteBucketRequest method. 441// // Example sending a request using the DeleteBucketRequest method.
440// req, resp := client.DeleteBucketRequest(params) 442// req, resp := client.DeleteBucketRequest(params)
@@ -444,7 +446,7 @@ const opDeleteBucket = "DeleteBucket"
444// fmt.Println(resp) 446// fmt.Println(resp)
445// } 447// }
446// 448//
447// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket 449// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket
448func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request, output *DeleteBucketOutput) { 450func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request, output *DeleteBucketOutput) {
449 op := &request.Operation{ 451 op := &request.Operation{
450 Name: opDeleteBucket, 452 Name: opDeleteBucket,
@@ -474,7 +476,7 @@ func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request
474// 476//
475// See the AWS API reference guide for Amazon Simple Storage Service's 477// See the AWS API reference guide for Amazon Simple Storage Service's
476// API operation DeleteBucket for usage and error information. 478// API operation DeleteBucket for usage and error information.
477// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket 479// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket
478func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) { 480func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) {
479 req, out := c.DeleteBucketRequest(input) 481 req, out := c.DeleteBucketRequest(input)
480 return out, req.Send() 482 return out, req.Send()
@@ -500,19 +502,18 @@ const opDeleteBucketAnalyticsConfiguration = "DeleteBucketAnalyticsConfiguration
500 502
501// DeleteBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the 503// DeleteBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
502// client's request for the DeleteBucketAnalyticsConfiguration operation. The "output" return 504// client's request for the DeleteBucketAnalyticsConfiguration operation. The "output" return
503// value can be used to capture response data after the request's "Send" method 505// value will be populated with the request's response once the request completes
504// is called. 506// successfuly.
505// 507//
506// See DeleteBucketAnalyticsConfiguration for usage and error information. 508// Use "Send" method on the returned Request to send the API call to the service.
509// the "output" return value is not valid until after Send returns without error.
507// 510//
508// Creating a request object using this method should be used when you want to inject 511// See DeleteBucketAnalyticsConfiguration for more information on using the DeleteBucketAnalyticsConfiguration
509// custom logic into the request's lifecycle using a custom handler, or if you want to 512// API call, and error handling.
510// access properties on the request object before or after sending the request. If 513//
511// you just want the service response, call the DeleteBucketAnalyticsConfiguration method directly 514// This method is useful when you want to inject custom logic or configuration
512// instead. 515// into the SDK's request lifecycle. Such as custom headers, or retry logic.
513// 516//
514// Note: You must call the "Send" method on the returned request object in order
515// to execute the request.
516// 517//
517// // Example sending a request using the DeleteBucketAnalyticsConfigurationRequest method. 518// // Example sending a request using the DeleteBucketAnalyticsConfigurationRequest method.
518// req, resp := client.DeleteBucketAnalyticsConfigurationRequest(params) 519// req, resp := client.DeleteBucketAnalyticsConfigurationRequest(params)
@@ -522,7 +523,7 @@ const opDeleteBucketAnalyticsConfiguration = "DeleteBucketAnalyticsConfiguration
522// fmt.Println(resp) 523// fmt.Println(resp)
523// } 524// }
524// 525//
525// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration 526// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
526func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyticsConfigurationInput) (req *request.Request, output *DeleteBucketAnalyticsConfigurationOutput) { 527func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyticsConfigurationInput) (req *request.Request, output *DeleteBucketAnalyticsConfigurationOutput) {
527 op := &request.Operation{ 528 op := &request.Operation{
528 Name: opDeleteBucketAnalyticsConfiguration, 529 Name: opDeleteBucketAnalyticsConfiguration,
@@ -552,7 +553,7 @@ func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyt
552// 553//
553// See the AWS API reference guide for Amazon Simple Storage Service's 554// See the AWS API reference guide for Amazon Simple Storage Service's
554// API operation DeleteBucketAnalyticsConfiguration for usage and error information. 555// API operation DeleteBucketAnalyticsConfiguration for usage and error information.
555// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration 556// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
556func (c *S3) DeleteBucketAnalyticsConfiguration(input *DeleteBucketAnalyticsConfigurationInput) (*DeleteBucketAnalyticsConfigurationOutput, error) { 557func (c *S3) DeleteBucketAnalyticsConfiguration(input *DeleteBucketAnalyticsConfigurationInput) (*DeleteBucketAnalyticsConfigurationOutput, error) {
557 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input) 558 req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
558 return out, req.Send() 559 return out, req.Send()
@@ -578,19 +579,18 @@ const opDeleteBucketCors = "DeleteBucketCors"
578 579
579// DeleteBucketCorsRequest generates a "aws/request.Request" representing the 580// DeleteBucketCorsRequest generates a "aws/request.Request" representing the
580// client's request for the DeleteBucketCors operation. The "output" return 581// client's request for the DeleteBucketCors operation. The "output" return
581// value can be used to capture response data after the request's "Send" method 582// value will be populated with the request's response once the request completes
582// is called. 583// successfuly.
584//
585// Use "Send" method on the returned Request to send the API call to the service.
586// the "output" return value is not valid until after Send returns without error.
583// 587//
584// See DeleteBucketCors for usage and error information. 588// See DeleteBucketCors for more information on using the DeleteBucketCors
589// API call, and error handling.
585// 590//
586// Creating a request object using this method should be used when you want to inject 591// This method is useful when you want to inject custom logic or configuration
587// custom logic into the request's lifecycle using a custom handler, or if you want to 592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
588// access properties on the request object before or after sending the request. If
589// you just want the service response, call the DeleteBucketCors method directly
590// instead.
591// 593//
592// Note: You must call the "Send" method on the returned request object in order
593// to execute the request.
594// 594//
595// // Example sending a request using the DeleteBucketCorsRequest method. 595// // Example sending a request using the DeleteBucketCorsRequest method.
596// req, resp := client.DeleteBucketCorsRequest(params) 596// req, resp := client.DeleteBucketCorsRequest(params)
@@ -600,7 +600,7 @@ const opDeleteBucketCors = "DeleteBucketCors"
600// fmt.Println(resp) 600// fmt.Println(resp)
601// } 601// }
602// 602//
603// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors 603// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
604func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request.Request, output *DeleteBucketCorsOutput) { 604func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request.Request, output *DeleteBucketCorsOutput) {
605 op := &request.Operation{ 605 op := &request.Operation{
606 Name: opDeleteBucketCors, 606 Name: opDeleteBucketCors,
@@ -629,7 +629,7 @@ func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request
629// 629//
630// See the AWS API reference guide for Amazon Simple Storage Service's 630// See the AWS API reference guide for Amazon Simple Storage Service's
631// API operation DeleteBucketCors for usage and error information. 631// API operation DeleteBucketCors for usage and error information.
632// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors 632// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
633func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) { 633func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) {
634 req, out := c.DeleteBucketCorsRequest(input) 634 req, out := c.DeleteBucketCorsRequest(input)
635 return out, req.Send() 635 return out, req.Send()
@@ -651,23 +651,98 @@ func (c *S3) DeleteBucketCorsWithContext(ctx aws.Context, input *DeleteBucketCor
651 return out, req.Send() 651 return out, req.Send()
652} 652}
653 653
654const opDeleteBucketEncryption = "DeleteBucketEncryption"
655
656// DeleteBucketEncryptionRequest generates a "aws/request.Request" representing the
657// client's request for the DeleteBucketEncryption operation. The "output" return
658// value will be populated with the request's response once the request completes
659// successfuly.
660//
661// Use "Send" method on the returned Request to send the API call to the service.
662// the "output" return value is not valid until after Send returns without error.
663//
664// See DeleteBucketEncryption for more information on using the DeleteBucketEncryption
665// API call, and error handling.
666//
667// This method is useful when you want to inject custom logic or configuration
668// into the SDK's request lifecycle. Such as custom headers, or retry logic.
669//
670//
671// // Example sending a request using the DeleteBucketEncryptionRequest method.
672// req, resp := client.DeleteBucketEncryptionRequest(params)
673//
674// err := req.Send()
675// if err == nil { // resp is now filled
676// fmt.Println(resp)
677// }
678//
679// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
680func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) (req *request.Request, output *DeleteBucketEncryptionOutput) {
681 op := &request.Operation{
682 Name: opDeleteBucketEncryption,
683 HTTPMethod: "DELETE",
684 HTTPPath: "/{Bucket}?encryption",
685 }
686
687 if input == nil {
688 input = &DeleteBucketEncryptionInput{}
689 }
690
691 output = &DeleteBucketEncryptionOutput{}
692 req = c.newRequest(op, input, output)
693 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
694 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
695 return
696}
697
698// DeleteBucketEncryption API operation for Amazon Simple Storage Service.
699//
700// Deletes the server-side encryption configuration from the bucket.
701//
702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
703// with awserr.Error's Code and Message methods to get detailed information about
704// the error.
705//
706// See the AWS API reference guide for Amazon Simple Storage Service's
707// API operation DeleteBucketEncryption for usage and error information.
708// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketEncryption
709func (c *S3) DeleteBucketEncryption(input *DeleteBucketEncryptionInput) (*DeleteBucketEncryptionOutput, error) {
710 req, out := c.DeleteBucketEncryptionRequest(input)
711 return out, req.Send()
712}
713
714// DeleteBucketEncryptionWithContext is the same as DeleteBucketEncryption with the addition of
715// the ability to pass a context and additional request options.
716//
717// See DeleteBucketEncryption for details on how to use this API operation.
718//
719// The context must be non-nil and will be used for request cancellation. If
720// the context is nil a panic will occur. In the future the SDK may create
721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
722// for more information on using Contexts.
723func (c *S3) DeleteBucketEncryptionWithContext(ctx aws.Context, input *DeleteBucketEncryptionInput, opts ...request.Option) (*DeleteBucketEncryptionOutput, error) {
724 req, out := c.DeleteBucketEncryptionRequest(input)
725 req.SetContext(ctx)
726 req.ApplyOptions(opts...)
727 return out, req.Send()
728}
729
654const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration" 730const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration"
655 731
656// DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the 732// DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
657// client's request for the DeleteBucketInventoryConfiguration operation. The "output" return 733// client's request for the DeleteBucketInventoryConfiguration operation. The "output" return
658// value can be used to capture response data after the request's "Send" method 734// value will be populated with the request's response once the request completes
659// is called. 735// successfuly.
736//
737// Use "Send" method on the returned Request to send the API call to the service.
738// the "output" return value is not valid until after Send returns without error.
660// 739//
661// See DeleteBucketInventoryConfiguration for usage and error information. 740// See DeleteBucketInventoryConfiguration for more information on using the DeleteBucketInventoryConfiguration
741// API call, and error handling.
662// 742//
663// Creating a request object using this method should be used when you want to inject 743// This method is useful when you want to inject custom logic or configuration
664// custom logic into the request's lifecycle using a custom handler, or if you want to 744// into the SDK's request lifecycle. Such as custom headers, or retry logic.
665// access properties on the request object before or after sending the request. If
666// you just want the service response, call the DeleteBucketInventoryConfiguration method directly
667// instead.
668// 745//
669// Note: You must call the "Send" method on the returned request object in order
670// to execute the request.
671// 746//
672// // Example sending a request using the DeleteBucketInventoryConfigurationRequest method. 747// // Example sending a request using the DeleteBucketInventoryConfigurationRequest method.
673// req, resp := client.DeleteBucketInventoryConfigurationRequest(params) 748// req, resp := client.DeleteBucketInventoryConfigurationRequest(params)
@@ -677,7 +752,7 @@ const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration
677// fmt.Println(resp) 752// fmt.Println(resp)
678// } 753// }
679// 754//
680// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration 755// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
681func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInventoryConfigurationInput) (req *request.Request, output *DeleteBucketInventoryConfigurationOutput) { 756func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInventoryConfigurationInput) (req *request.Request, output *DeleteBucketInventoryConfigurationOutput) {
682 op := &request.Operation{ 757 op := &request.Operation{
683 Name: opDeleteBucketInventoryConfiguration, 758 Name: opDeleteBucketInventoryConfiguration,
@@ -707,7 +782,7 @@ func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInvent
707// 782//
708// See the AWS API reference guide for Amazon Simple Storage Service's 783// See the AWS API reference guide for Amazon Simple Storage Service's
709// API operation DeleteBucketInventoryConfiguration for usage and error information. 784// API operation DeleteBucketInventoryConfiguration for usage and error information.
710// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration 785// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
711func (c *S3) DeleteBucketInventoryConfiguration(input *DeleteBucketInventoryConfigurationInput) (*DeleteBucketInventoryConfigurationOutput, error) { 786func (c *S3) DeleteBucketInventoryConfiguration(input *DeleteBucketInventoryConfigurationInput) (*DeleteBucketInventoryConfigurationOutput, error) {
712 req, out := c.DeleteBucketInventoryConfigurationRequest(input) 787 req, out := c.DeleteBucketInventoryConfigurationRequest(input)
713 return out, req.Send() 788 return out, req.Send()
@@ -733,19 +808,18 @@ const opDeleteBucketLifecycle = "DeleteBucketLifecycle"
733 808
734// DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the 809// DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the
735// client's request for the DeleteBucketLifecycle operation. The "output" return 810// client's request for the DeleteBucketLifecycle operation. The "output" return
736// value can be used to capture response data after the request's "Send" method 811// value will be populated with the request's response once the request completes
737// is called. 812// successfuly.
813//
814// Use "Send" method on the returned Request to send the API call to the service.
815// the "output" return value is not valid until after Send returns without error.
738// 816//
739// See DeleteBucketLifecycle for usage and error information. 817// See DeleteBucketLifecycle for more information on using the DeleteBucketLifecycle
818// API call, and error handling.
740// 819//
741// Creating a request object using this method should be used when you want to inject 820// This method is useful when you want to inject custom logic or configuration
742// custom logic into the request's lifecycle using a custom handler, or if you want to 821// into the SDK's request lifecycle. Such as custom headers, or retry logic.
743// access properties on the request object before or after sending the request. If
744// you just want the service response, call the DeleteBucketLifecycle method directly
745// instead.
746// 822//
747// Note: You must call the "Send" method on the returned request object in order
748// to execute the request.
749// 823//
750// // Example sending a request using the DeleteBucketLifecycleRequest method. 824// // Example sending a request using the DeleteBucketLifecycleRequest method.
751// req, resp := client.DeleteBucketLifecycleRequest(params) 825// req, resp := client.DeleteBucketLifecycleRequest(params)
@@ -755,7 +829,7 @@ const opDeleteBucketLifecycle = "DeleteBucketLifecycle"
755// fmt.Println(resp) 829// fmt.Println(resp)
756// } 830// }
757// 831//
758// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle 832// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
759func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *request.Request, output *DeleteBucketLifecycleOutput) { 833func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (req *request.Request, output *DeleteBucketLifecycleOutput) {
760 op := &request.Operation{ 834 op := &request.Operation{
761 Name: opDeleteBucketLifecycle, 835 Name: opDeleteBucketLifecycle,
@@ -784,7 +858,7 @@ func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (re
784// 858//
785// See the AWS API reference guide for Amazon Simple Storage Service's 859// See the AWS API reference guide for Amazon Simple Storage Service's
786// API operation DeleteBucketLifecycle for usage and error information. 860// API operation DeleteBucketLifecycle for usage and error information.
787// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle 861// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
788func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) { 862func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) {
789 req, out := c.DeleteBucketLifecycleRequest(input) 863 req, out := c.DeleteBucketLifecycleRequest(input)
790 return out, req.Send() 864 return out, req.Send()
@@ -810,19 +884,18 @@ const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration"
810 884
811// DeleteBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the 885// DeleteBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
812// client's request for the DeleteBucketMetricsConfiguration operation. The "output" return 886// client's request for the DeleteBucketMetricsConfiguration operation. The "output" return
813// value can be used to capture response data after the request's "Send" method 887// value will be populated with the request's response once the request completes
814// is called. 888// successfuly.
815// 889//
816// See DeleteBucketMetricsConfiguration for usage and error information. 890// Use "Send" method on the returned Request to send the API call to the service.
891// the "output" return value is not valid until after Send returns without error.
817// 892//
818// Creating a request object using this method should be used when you want to inject 893// See DeleteBucketMetricsConfiguration for more information on using the DeleteBucketMetricsConfiguration
819// custom logic into the request's lifecycle using a custom handler, or if you want to 894// API call, and error handling.
820// access properties on the request object before or after sending the request. If 895//
821// you just want the service response, call the DeleteBucketMetricsConfiguration method directly 896// This method is useful when you want to inject custom logic or configuration
822// instead. 897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
823// 898//
824// Note: You must call the "Send" method on the returned request object in order
825// to execute the request.
826// 899//
827// // Example sending a request using the DeleteBucketMetricsConfigurationRequest method. 900// // Example sending a request using the DeleteBucketMetricsConfigurationRequest method.
828// req, resp := client.DeleteBucketMetricsConfigurationRequest(params) 901// req, resp := client.DeleteBucketMetricsConfigurationRequest(params)
@@ -832,7 +905,7 @@ const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration"
832// fmt.Println(resp) 905// fmt.Println(resp)
833// } 906// }
834// 907//
835// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration 908// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
836func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsConfigurationInput) (req *request.Request, output *DeleteBucketMetricsConfigurationOutput) { 909func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsConfigurationInput) (req *request.Request, output *DeleteBucketMetricsConfigurationOutput) {
837 op := &request.Operation{ 910 op := &request.Operation{
838 Name: opDeleteBucketMetricsConfiguration, 911 Name: opDeleteBucketMetricsConfiguration,
@@ -862,7 +935,7 @@ func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsC
862// 935//
863// See the AWS API reference guide for Amazon Simple Storage Service's 936// See the AWS API reference guide for Amazon Simple Storage Service's
864// API operation DeleteBucketMetricsConfiguration for usage and error information. 937// API operation DeleteBucketMetricsConfiguration for usage and error information.
865// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration 938// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
866func (c *S3) DeleteBucketMetricsConfiguration(input *DeleteBucketMetricsConfigurationInput) (*DeleteBucketMetricsConfigurationOutput, error) { 939func (c *S3) DeleteBucketMetricsConfiguration(input *DeleteBucketMetricsConfigurationInput) (*DeleteBucketMetricsConfigurationOutput, error) {
867 req, out := c.DeleteBucketMetricsConfigurationRequest(input) 940 req, out := c.DeleteBucketMetricsConfigurationRequest(input)
868 return out, req.Send() 941 return out, req.Send()
@@ -888,19 +961,18 @@ const opDeleteBucketPolicy = "DeleteBucketPolicy"
888 961
889// DeleteBucketPolicyRequest generates a "aws/request.Request" representing the 962// DeleteBucketPolicyRequest generates a "aws/request.Request" representing the
890// client's request for the DeleteBucketPolicy operation. The "output" return 963// client's request for the DeleteBucketPolicy operation. The "output" return
891// value can be used to capture response data after the request's "Send" method 964// value will be populated with the request's response once the request completes
892// is called. 965// successfuly.
966//
967// Use "Send" method on the returned Request to send the API call to the service.
968// the "output" return value is not valid until after Send returns without error.
893// 969//
894// See DeleteBucketPolicy for usage and error information. 970// See DeleteBucketPolicy for more information on using the DeleteBucketPolicy
971// API call, and error handling.
895// 972//
896// Creating a request object using this method should be used when you want to inject 973// This method is useful when you want to inject custom logic or configuration
897// custom logic into the request's lifecycle using a custom handler, or if you want to 974// into the SDK's request lifecycle. Such as custom headers, or retry logic.
898// access properties on the request object before or after sending the request. If
899// you just want the service response, call the DeleteBucketPolicy method directly
900// instead.
901// 975//
902// Note: You must call the "Send" method on the returned request object in order
903// to execute the request.
904// 976//
905// // Example sending a request using the DeleteBucketPolicyRequest method. 977// // Example sending a request using the DeleteBucketPolicyRequest method.
906// req, resp := client.DeleteBucketPolicyRequest(params) 978// req, resp := client.DeleteBucketPolicyRequest(params)
@@ -910,7 +982,7 @@ const opDeleteBucketPolicy = "DeleteBucketPolicy"
910// fmt.Println(resp) 982// fmt.Println(resp)
911// } 983// }
912// 984//
913// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy 985// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
914func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) { 986func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *request.Request, output *DeleteBucketPolicyOutput) {
915 op := &request.Operation{ 987 op := &request.Operation{
916 Name: opDeleteBucketPolicy, 988 Name: opDeleteBucketPolicy,
@@ -939,7 +1011,7 @@ func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *req
939// 1011//
940// See the AWS API reference guide for Amazon Simple Storage Service's 1012// See the AWS API reference guide for Amazon Simple Storage Service's
941// API operation DeleteBucketPolicy for usage and error information. 1013// API operation DeleteBucketPolicy for usage and error information.
942// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy 1014// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
943func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) { 1015func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) {
944 req, out := c.DeleteBucketPolicyRequest(input) 1016 req, out := c.DeleteBucketPolicyRequest(input)
945 return out, req.Send() 1017 return out, req.Send()
@@ -965,19 +1037,18 @@ const opDeleteBucketReplication = "DeleteBucketReplication"
965 1037
966// DeleteBucketReplicationRequest generates a "aws/request.Request" representing the 1038// DeleteBucketReplicationRequest generates a "aws/request.Request" representing the
967// client's request for the DeleteBucketReplication operation. The "output" return 1039// client's request for the DeleteBucketReplication operation. The "output" return
968// value can be used to capture response data after the request's "Send" method 1040// value will be populated with the request's response once the request completes
969// is called. 1041// successfuly.
970// 1042//
971// See DeleteBucketReplication for usage and error information. 1043// Use "Send" method on the returned Request to send the API call to the service.
1044// the "output" return value is not valid until after Send returns without error.
972// 1045//
973// Creating a request object using this method should be used when you want to inject 1046// See DeleteBucketReplication for more information on using the DeleteBucketReplication
974// custom logic into the request's lifecycle using a custom handler, or if you want to 1047// API call, and error handling.
975// access properties on the request object before or after sending the request. If 1048//
976// you just want the service response, call the DeleteBucketReplication method directly 1049// This method is useful when you want to inject custom logic or configuration
977// instead. 1050// into the SDK's request lifecycle. Such as custom headers, or retry logic.
978// 1051//
979// Note: You must call the "Send" method on the returned request object in order
980// to execute the request.
981// 1052//
982// // Example sending a request using the DeleteBucketReplicationRequest method. 1053// // Example sending a request using the DeleteBucketReplicationRequest method.
983// req, resp := client.DeleteBucketReplicationRequest(params) 1054// req, resp := client.DeleteBucketReplicationRequest(params)
@@ -987,7 +1058,7 @@ const opDeleteBucketReplication = "DeleteBucketReplication"
987// fmt.Println(resp) 1058// fmt.Println(resp)
988// } 1059// }
989// 1060//
990// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication 1061// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
991func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) { 1062func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) (req *request.Request, output *DeleteBucketReplicationOutput) {
992 op := &request.Operation{ 1063 op := &request.Operation{
993 Name: opDeleteBucketReplication, 1064 Name: opDeleteBucketReplication,
@@ -1016,7 +1087,7 @@ func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput)
1016// 1087//
1017// See the AWS API reference guide for Amazon Simple Storage Service's 1088// See the AWS API reference guide for Amazon Simple Storage Service's
1018// API operation DeleteBucketReplication for usage and error information. 1089// API operation DeleteBucketReplication for usage and error information.
1019// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication 1090// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
1020func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) { 1091func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) {
1021 req, out := c.DeleteBucketReplicationRequest(input) 1092 req, out := c.DeleteBucketReplicationRequest(input)
1022 return out, req.Send() 1093 return out, req.Send()
@@ -1042,19 +1113,18 @@ const opDeleteBucketTagging = "DeleteBucketTagging"
1042 1113
1043// DeleteBucketTaggingRequest generates a "aws/request.Request" representing the 1114// DeleteBucketTaggingRequest generates a "aws/request.Request" representing the
1044// client's request for the DeleteBucketTagging operation. The "output" return 1115// client's request for the DeleteBucketTagging operation. The "output" return
1045// value can be used to capture response data after the request's "Send" method 1116// value will be populated with the request's response once the request completes
1046// is called. 1117// successfuly.
1118//
1119// Use "Send" method on the returned Request to send the API call to the service.
1120// the "output" return value is not valid until after Send returns without error.
1047// 1121//
1048// See DeleteBucketTagging for usage and error information. 1122// See DeleteBucketTagging for more information on using the DeleteBucketTagging
1123// API call, and error handling.
1049// 1124//
1050// Creating a request object using this method should be used when you want to inject 1125// This method is useful when you want to inject custom logic or configuration
1051// custom logic into the request's lifecycle using a custom handler, or if you want to 1126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1052// access properties on the request object before or after sending the request. If
1053// you just want the service response, call the DeleteBucketTagging method directly
1054// instead.
1055// 1127//
1056// Note: You must call the "Send" method on the returned request object in order
1057// to execute the request.
1058// 1128//
1059// // Example sending a request using the DeleteBucketTaggingRequest method. 1129// // Example sending a request using the DeleteBucketTaggingRequest method.
1060// req, resp := client.DeleteBucketTaggingRequest(params) 1130// req, resp := client.DeleteBucketTaggingRequest(params)
@@ -1064,7 +1134,7 @@ const opDeleteBucketTagging = "DeleteBucketTagging"
1064// fmt.Println(resp) 1134// fmt.Println(resp)
1065// } 1135// }
1066// 1136//
1067// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging 1137// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
1068func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) { 1138func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *request.Request, output *DeleteBucketTaggingOutput) {
1069 op := &request.Operation{ 1139 op := &request.Operation{
1070 Name: opDeleteBucketTagging, 1140 Name: opDeleteBucketTagging,
@@ -1093,7 +1163,7 @@ func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *r
1093// 1163//
1094// See the AWS API reference guide for Amazon Simple Storage Service's 1164// See the AWS API reference guide for Amazon Simple Storage Service's
1095// API operation DeleteBucketTagging for usage and error information. 1165// API operation DeleteBucketTagging for usage and error information.
1096// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging 1166// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
1097func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) { 1167func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) {
1098 req, out := c.DeleteBucketTaggingRequest(input) 1168 req, out := c.DeleteBucketTaggingRequest(input)
1099 return out, req.Send() 1169 return out, req.Send()
@@ -1119,19 +1189,18 @@ const opDeleteBucketWebsite = "DeleteBucketWebsite"
1119 1189
1120// DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the 1190// DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the
1121// client's request for the DeleteBucketWebsite operation. The "output" return 1191// client's request for the DeleteBucketWebsite operation. The "output" return
1122// value can be used to capture response data after the request's "Send" method 1192// value will be populated with the request's response once the request completes
1123// is called. 1193// successfuly.
1124// 1194//
1125// See DeleteBucketWebsite for usage and error information. 1195// Use "Send" method on the returned Request to send the API call to the service.
1196// the "output" return value is not valid until after Send returns without error.
1126// 1197//
1127// Creating a request object using this method should be used when you want to inject 1198// See DeleteBucketWebsite for more information on using the DeleteBucketWebsite
1128// custom logic into the request's lifecycle using a custom handler, or if you want to 1199// API call, and error handling.
1129// access properties on the request object before or after sending the request. If 1200//
1130// you just want the service response, call the DeleteBucketWebsite method directly 1201// This method is useful when you want to inject custom logic or configuration
1131// instead. 1202// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1132// 1203//
1133// Note: You must call the "Send" method on the returned request object in order
1134// to execute the request.
1135// 1204//
1136// // Example sending a request using the DeleteBucketWebsiteRequest method. 1205// // Example sending a request using the DeleteBucketWebsiteRequest method.
1137// req, resp := client.DeleteBucketWebsiteRequest(params) 1206// req, resp := client.DeleteBucketWebsiteRequest(params)
@@ -1141,7 +1210,7 @@ const opDeleteBucketWebsite = "DeleteBucketWebsite"
1141// fmt.Println(resp) 1210// fmt.Println(resp)
1142// } 1211// }
1143// 1212//
1144// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite 1213// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
1145func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *request.Request, output *DeleteBucketWebsiteOutput) { 1214func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *request.Request, output *DeleteBucketWebsiteOutput) {
1146 op := &request.Operation{ 1215 op := &request.Operation{
1147 Name: opDeleteBucketWebsite, 1216 Name: opDeleteBucketWebsite,
@@ -1170,7 +1239,7 @@ func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *r
1170// 1239//
1171// See the AWS API reference guide for Amazon Simple Storage Service's 1240// See the AWS API reference guide for Amazon Simple Storage Service's
1172// API operation DeleteBucketWebsite for usage and error information. 1241// API operation DeleteBucketWebsite for usage and error information.
1173// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite 1242// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
1174func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) { 1243func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) {
1175 req, out := c.DeleteBucketWebsiteRequest(input) 1244 req, out := c.DeleteBucketWebsiteRequest(input)
1176 return out, req.Send() 1245 return out, req.Send()
@@ -1196,19 +1265,18 @@ const opDeleteObject = "DeleteObject"
1196 1265
1197// DeleteObjectRequest generates a "aws/request.Request" representing the 1266// DeleteObjectRequest generates a "aws/request.Request" representing the
1198// client's request for the DeleteObject operation. The "output" return 1267// client's request for the DeleteObject operation. The "output" return
1199// value can be used to capture response data after the request's "Send" method 1268// value will be populated with the request's response once the request completes
1200// is called. 1269// successfuly.
1270//
1271// Use "Send" method on the returned Request to send the API call to the service.
1272// the "output" return value is not valid until after Send returns without error.
1201// 1273//
1202// See DeleteObject for usage and error information. 1274// See DeleteObject for more information on using the DeleteObject
1275// API call, and error handling.
1203// 1276//
1204// Creating a request object using this method should be used when you want to inject 1277// This method is useful when you want to inject custom logic or configuration
1205// custom logic into the request's lifecycle using a custom handler, or if you want to 1278// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1206// access properties on the request object before or after sending the request. If
1207// you just want the service response, call the DeleteObject method directly
1208// instead.
1209// 1279//
1210// Note: You must call the "Send" method on the returned request object in order
1211// to execute the request.
1212// 1280//
1213// // Example sending a request using the DeleteObjectRequest method. 1281// // Example sending a request using the DeleteObjectRequest method.
1214// req, resp := client.DeleteObjectRequest(params) 1282// req, resp := client.DeleteObjectRequest(params)
@@ -1218,7 +1286,7 @@ const opDeleteObject = "DeleteObject"
1218// fmt.Println(resp) 1286// fmt.Println(resp)
1219// } 1287// }
1220// 1288//
1221// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject 1289// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
1222func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) { 1290func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request, output *DeleteObjectOutput) {
1223 op := &request.Operation{ 1291 op := &request.Operation{
1224 Name: opDeleteObject, 1292 Name: opDeleteObject,
@@ -1247,7 +1315,7 @@ func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request
1247// 1315//
1248// See the AWS API reference guide for Amazon Simple Storage Service's 1316// See the AWS API reference guide for Amazon Simple Storage Service's
1249// API operation DeleteObject for usage and error information. 1317// API operation DeleteObject for usage and error information.
1250// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject 1318// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
1251func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) { 1319func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) {
1252 req, out := c.DeleteObjectRequest(input) 1320 req, out := c.DeleteObjectRequest(input)
1253 return out, req.Send() 1321 return out, req.Send()
@@ -1273,19 +1341,18 @@ const opDeleteObjectTagging = "DeleteObjectTagging"
1273 1341
1274// DeleteObjectTaggingRequest generates a "aws/request.Request" representing the 1342// DeleteObjectTaggingRequest generates a "aws/request.Request" representing the
1275// client's request for the DeleteObjectTagging operation. The "output" return 1343// client's request for the DeleteObjectTagging operation. The "output" return
1276// value can be used to capture response data after the request's "Send" method 1344// value will be populated with the request's response once the request completes
1277// is called. 1345// successfuly.
1278// 1346//
1279// See DeleteObjectTagging for usage and error information. 1347// Use "Send" method on the returned Request to send the API call to the service.
1348// the "output" return value is not valid until after Send returns without error.
1280// 1349//
1281// Creating a request object using this method should be used when you want to inject 1350// See DeleteObjectTagging for more information on using the DeleteObjectTagging
1282// custom logic into the request's lifecycle using a custom handler, or if you want to 1351// API call, and error handling.
1283// access properties on the request object before or after sending the request. If 1352//
1284// you just want the service response, call the DeleteObjectTagging method directly 1353// This method is useful when you want to inject custom logic or configuration
1285// instead. 1354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1286// 1355//
1287// Note: You must call the "Send" method on the returned request object in order
1288// to execute the request.
1289// 1356//
1290// // Example sending a request using the DeleteObjectTaggingRequest method. 1357// // Example sending a request using the DeleteObjectTaggingRequest method.
1291// req, resp := client.DeleteObjectTaggingRequest(params) 1358// req, resp := client.DeleteObjectTaggingRequest(params)
@@ -1295,7 +1362,7 @@ const opDeleteObjectTagging = "DeleteObjectTagging"
1295// fmt.Println(resp) 1362// fmt.Println(resp)
1296// } 1363// }
1297// 1364//
1298// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging 1365// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
1299func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *request.Request, output *DeleteObjectTaggingOutput) { 1366func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *request.Request, output *DeleteObjectTaggingOutput) {
1300 op := &request.Operation{ 1367 op := &request.Operation{
1301 Name: opDeleteObjectTagging, 1368 Name: opDeleteObjectTagging,
@@ -1322,7 +1389,7 @@ func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *r
1322// 1389//
1323// See the AWS API reference guide for Amazon Simple Storage Service's 1390// See the AWS API reference guide for Amazon Simple Storage Service's
1324// API operation DeleteObjectTagging for usage and error information. 1391// API operation DeleteObjectTagging for usage and error information.
1325// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging 1392// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
1326func (c *S3) DeleteObjectTagging(input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error) { 1393func (c *S3) DeleteObjectTagging(input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error) {
1327 req, out := c.DeleteObjectTaggingRequest(input) 1394 req, out := c.DeleteObjectTaggingRequest(input)
1328 return out, req.Send() 1395 return out, req.Send()
@@ -1348,19 +1415,18 @@ const opDeleteObjects = "DeleteObjects"
1348 1415
1349// DeleteObjectsRequest generates a "aws/request.Request" representing the 1416// DeleteObjectsRequest generates a "aws/request.Request" representing the
1350// client's request for the DeleteObjects operation. The "output" return 1417// client's request for the DeleteObjects operation. The "output" return
1351// value can be used to capture response data after the request's "Send" method 1418// value will be populated with the request's response once the request completes
1352// is called. 1419// successfuly.
1420//
1421// Use "Send" method on the returned Request to send the API call to the service.
1422// the "output" return value is not valid until after Send returns without error.
1353// 1423//
1354// See DeleteObjects for usage and error information. 1424// See DeleteObjects for more information on using the DeleteObjects
1425// API call, and error handling.
1355// 1426//
1356// Creating a request object using this method should be used when you want to inject 1427// This method is useful when you want to inject custom logic or configuration
1357// custom logic into the request's lifecycle using a custom handler, or if you want to 1428// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1358// access properties on the request object before or after sending the request. If
1359// you just want the service response, call the DeleteObjects method directly
1360// instead.
1361// 1429//
1362// Note: You must call the "Send" method on the returned request object in order
1363// to execute the request.
1364// 1430//
1365// // Example sending a request using the DeleteObjectsRequest method. 1431// // Example sending a request using the DeleteObjectsRequest method.
1366// req, resp := client.DeleteObjectsRequest(params) 1432// req, resp := client.DeleteObjectsRequest(params)
@@ -1370,7 +1436,7 @@ const opDeleteObjects = "DeleteObjects"
1370// fmt.Println(resp) 1436// fmt.Println(resp)
1371// } 1437// }
1372// 1438//
1373// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects 1439// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
1374func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Request, output *DeleteObjectsOutput) { 1440func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Request, output *DeleteObjectsOutput) {
1375 op := &request.Operation{ 1441 op := &request.Operation{
1376 Name: opDeleteObjects, 1442 Name: opDeleteObjects,
@@ -1398,7 +1464,7 @@ func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Reque
1398// 1464//
1399// See the AWS API reference guide for Amazon Simple Storage Service's 1465// See the AWS API reference guide for Amazon Simple Storage Service's
1400// API operation DeleteObjects for usage and error information. 1466// API operation DeleteObjects for usage and error information.
1401// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects 1467// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
1402func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) { 1468func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) {
1403 req, out := c.DeleteObjectsRequest(input) 1469 req, out := c.DeleteObjectsRequest(input)
1404 return out, req.Send() 1470 return out, req.Send()
@@ -1424,19 +1490,18 @@ const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration"
1424 1490
1425// GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the 1491// GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
1426// client's request for the GetBucketAccelerateConfiguration operation. The "output" return 1492// client's request for the GetBucketAccelerateConfiguration operation. The "output" return
1427// value can be used to capture response data after the request's "Send" method 1493// value will be populated with the request's response once the request completes
1428// is called. 1494// successfuly.
1429// 1495//
1430// See GetBucketAccelerateConfiguration for usage and error information. 1496// Use "Send" method on the returned Request to send the API call to the service.
1497// the "output" return value is not valid until after Send returns without error.
1431// 1498//
1432// Creating a request object using this method should be used when you want to inject 1499// See GetBucketAccelerateConfiguration for more information on using the GetBucketAccelerateConfiguration
1433// custom logic into the request's lifecycle using a custom handler, or if you want to 1500// API call, and error handling.
1434// access properties on the request object before or after sending the request. If 1501//
1435// you just want the service response, call the GetBucketAccelerateConfiguration method directly 1502// This method is useful when you want to inject custom logic or configuration
1436// instead. 1503// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1437// 1504//
1438// Note: You must call the "Send" method on the returned request object in order
1439// to execute the request.
1440// 1505//
1441// // Example sending a request using the GetBucketAccelerateConfigurationRequest method. 1506// // Example sending a request using the GetBucketAccelerateConfigurationRequest method.
1442// req, resp := client.GetBucketAccelerateConfigurationRequest(params) 1507// req, resp := client.GetBucketAccelerateConfigurationRequest(params)
@@ -1446,7 +1511,7 @@ const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration"
1446// fmt.Println(resp) 1511// fmt.Println(resp)
1447// } 1512// }
1448// 1513//
1449// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration 1514// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
1450func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateConfigurationInput) (req *request.Request, output *GetBucketAccelerateConfigurationOutput) { 1515func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateConfigurationInput) (req *request.Request, output *GetBucketAccelerateConfigurationOutput) {
1451 op := &request.Operation{ 1516 op := &request.Operation{
1452 Name: opGetBucketAccelerateConfiguration, 1517 Name: opGetBucketAccelerateConfiguration,
@@ -1473,7 +1538,7 @@ func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateC
1473// 1538//
1474// See the AWS API reference guide for Amazon Simple Storage Service's 1539// See the AWS API reference guide for Amazon Simple Storage Service's
1475// API operation GetBucketAccelerateConfiguration for usage and error information. 1540// API operation GetBucketAccelerateConfiguration for usage and error information.
1476// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration 1541// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
1477func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) { 1542func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) {
1478 req, out := c.GetBucketAccelerateConfigurationRequest(input) 1543 req, out := c.GetBucketAccelerateConfigurationRequest(input)
1479 return out, req.Send() 1544 return out, req.Send()
@@ -1499,19 +1564,18 @@ const opGetBucketAcl = "GetBucketAcl"
1499 1564
1500// GetBucketAclRequest generates a "aws/request.Request" representing the 1565// GetBucketAclRequest generates a "aws/request.Request" representing the
1501// client's request for the GetBucketAcl operation. The "output" return 1566// client's request for the GetBucketAcl operation. The "output" return
1502// value can be used to capture response data after the request's "Send" method 1567// value will be populated with the request's response once the request completes
1503// is called. 1568// successfuly.
1569//
1570// Use "Send" method on the returned Request to send the API call to the service.
1571// the "output" return value is not valid until after Send returns without error.
1504// 1572//
1505// See GetBucketAcl for usage and error information. 1573// See GetBucketAcl for more information on using the GetBucketAcl
1574// API call, and error handling.
1506// 1575//
1507// Creating a request object using this method should be used when you want to inject 1576// This method is useful when you want to inject custom logic or configuration
1508// custom logic into the request's lifecycle using a custom handler, or if you want to 1577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1509// access properties on the request object before or after sending the request. If
1510// you just want the service response, call the GetBucketAcl method directly
1511// instead.
1512// 1578//
1513// Note: You must call the "Send" method on the returned request object in order
1514// to execute the request.
1515// 1579//
1516// // Example sending a request using the GetBucketAclRequest method. 1580// // Example sending a request using the GetBucketAclRequest method.
1517// req, resp := client.GetBucketAclRequest(params) 1581// req, resp := client.GetBucketAclRequest(params)
@@ -1521,7 +1585,7 @@ const opGetBucketAcl = "GetBucketAcl"
1521// fmt.Println(resp) 1585// fmt.Println(resp)
1522// } 1586// }
1523// 1587//
1524// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl 1588// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
1525func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request, output *GetBucketAclOutput) { 1589func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request, output *GetBucketAclOutput) {
1526 op := &request.Operation{ 1590 op := &request.Operation{
1527 Name: opGetBucketAcl, 1591 Name: opGetBucketAcl,
@@ -1548,7 +1612,7 @@ func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request
1548// 1612//
1549// See the AWS API reference guide for Amazon Simple Storage Service's 1613// See the AWS API reference guide for Amazon Simple Storage Service's
1550// API operation GetBucketAcl for usage and error information. 1614// API operation GetBucketAcl for usage and error information.
1551// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl 1615// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
1552func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) { 1616func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) {
1553 req, out := c.GetBucketAclRequest(input) 1617 req, out := c.GetBucketAclRequest(input)
1554 return out, req.Send() 1618 return out, req.Send()
@@ -1574,19 +1638,18 @@ const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration"
1574 1638
1575// GetBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the 1639// GetBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
1576// client's request for the GetBucketAnalyticsConfiguration operation. The "output" return 1640// client's request for the GetBucketAnalyticsConfiguration operation. The "output" return
1577// value can be used to capture response data after the request's "Send" method 1641// value will be populated with the request's response once the request completes
1578// is called. 1642// successfuly.
1579// 1643//
1580// See GetBucketAnalyticsConfiguration for usage and error information. 1644// Use "Send" method on the returned Request to send the API call to the service.
1645// the "output" return value is not valid until after Send returns without error.
1581// 1646//
1582// Creating a request object using this method should be used when you want to inject 1647// See GetBucketAnalyticsConfiguration for more information on using the GetBucketAnalyticsConfiguration
1583// custom logic into the request's lifecycle using a custom handler, or if you want to 1648// API call, and error handling.
1584// access properties on the request object before or after sending the request. If 1649//
1585// you just want the service response, call the GetBucketAnalyticsConfiguration method directly 1650// This method is useful when you want to inject custom logic or configuration
1586// instead. 1651// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1587// 1652//
1588// Note: You must call the "Send" method on the returned request object in order
1589// to execute the request.
1590// 1653//
1591// // Example sending a request using the GetBucketAnalyticsConfigurationRequest method. 1654// // Example sending a request using the GetBucketAnalyticsConfigurationRequest method.
1592// req, resp := client.GetBucketAnalyticsConfigurationRequest(params) 1655// req, resp := client.GetBucketAnalyticsConfigurationRequest(params)
@@ -1596,7 +1659,7 @@ const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration"
1596// fmt.Println(resp) 1659// fmt.Println(resp)
1597// } 1660// }
1598// 1661//
1599// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration 1662// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
1600func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsConfigurationInput) (req *request.Request, output *GetBucketAnalyticsConfigurationOutput) { 1663func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsConfigurationInput) (req *request.Request, output *GetBucketAnalyticsConfigurationOutput) {
1601 op := &request.Operation{ 1664 op := &request.Operation{
1602 Name: opGetBucketAnalyticsConfiguration, 1665 Name: opGetBucketAnalyticsConfiguration,
@@ -1624,7 +1687,7 @@ func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsCon
1624// 1687//
1625// See the AWS API reference guide for Amazon Simple Storage Service's 1688// See the AWS API reference guide for Amazon Simple Storage Service's
1626// API operation GetBucketAnalyticsConfiguration for usage and error information. 1689// API operation GetBucketAnalyticsConfiguration for usage and error information.
1627// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration 1690// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
1628func (c *S3) GetBucketAnalyticsConfiguration(input *GetBucketAnalyticsConfigurationInput) (*GetBucketAnalyticsConfigurationOutput, error) { 1691func (c *S3) GetBucketAnalyticsConfiguration(input *GetBucketAnalyticsConfigurationInput) (*GetBucketAnalyticsConfigurationOutput, error) {
1629 req, out := c.GetBucketAnalyticsConfigurationRequest(input) 1692 req, out := c.GetBucketAnalyticsConfigurationRequest(input)
1630 return out, req.Send() 1693 return out, req.Send()
@@ -1650,19 +1713,18 @@ const opGetBucketCors = "GetBucketCors"
1650 1713
1651// GetBucketCorsRequest generates a "aws/request.Request" representing the 1714// GetBucketCorsRequest generates a "aws/request.Request" representing the
1652// client's request for the GetBucketCors operation. The "output" return 1715// client's request for the GetBucketCors operation. The "output" return
1653// value can be used to capture response data after the request's "Send" method 1716// value will be populated with the request's response once the request completes
1654// is called. 1717// successfuly.
1718//
1719// Use "Send" method on the returned Request to send the API call to the service.
1720// the "output" return value is not valid until after Send returns without error.
1655// 1721//
1656// See GetBucketCors for usage and error information. 1722// See GetBucketCors for more information on using the GetBucketCors
1723// API call, and error handling.
1657// 1724//
1658// Creating a request object using this method should be used when you want to inject 1725// This method is useful when you want to inject custom logic or configuration
1659// custom logic into the request's lifecycle using a custom handler, or if you want to 1726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1660// access properties on the request object before or after sending the request. If
1661// you just want the service response, call the GetBucketCors method directly
1662// instead.
1663// 1727//
1664// Note: You must call the "Send" method on the returned request object in order
1665// to execute the request.
1666// 1728//
1667// // Example sending a request using the GetBucketCorsRequest method. 1729// // Example sending a request using the GetBucketCorsRequest method.
1668// req, resp := client.GetBucketCorsRequest(params) 1730// req, resp := client.GetBucketCorsRequest(params)
@@ -1672,7 +1734,7 @@ const opGetBucketCors = "GetBucketCors"
1672// fmt.Println(resp) 1734// fmt.Println(resp)
1673// } 1735// }
1674// 1736//
1675// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors 1737// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
1676func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Request, output *GetBucketCorsOutput) { 1738func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Request, output *GetBucketCorsOutput) {
1677 op := &request.Operation{ 1739 op := &request.Operation{
1678 Name: opGetBucketCors, 1740 Name: opGetBucketCors,
@@ -1699,7 +1761,7 @@ func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Reque
1699// 1761//
1700// See the AWS API reference guide for Amazon Simple Storage Service's 1762// See the AWS API reference guide for Amazon Simple Storage Service's
1701// API operation GetBucketCors for usage and error information. 1763// API operation GetBucketCors for usage and error information.
1702// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors 1764// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
1703func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) { 1765func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) {
1704 req, out := c.GetBucketCorsRequest(input) 1766 req, out := c.GetBucketCorsRequest(input)
1705 return out, req.Send() 1767 return out, req.Send()
@@ -1721,23 +1783,96 @@ func (c *S3) GetBucketCorsWithContext(ctx aws.Context, input *GetBucketCorsInput
1721 return out, req.Send() 1783 return out, req.Send()
1722} 1784}
1723 1785
1786const opGetBucketEncryption = "GetBucketEncryption"
1787
1788// GetBucketEncryptionRequest generates a "aws/request.Request" representing the
1789// client's request for the GetBucketEncryption operation. The "output" return
1790// value will be populated with the request's response once the request completes
1791// successfuly.
1792//
1793// Use "Send" method on the returned Request to send the API call to the service.
1794// the "output" return value is not valid until after Send returns without error.
1795//
1796// See GetBucketEncryption for more information on using the GetBucketEncryption
1797// API call, and error handling.
1798//
1799// This method is useful when you want to inject custom logic or configuration
1800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1801//
1802//
1803// // Example sending a request using the GetBucketEncryptionRequest method.
1804// req, resp := client.GetBucketEncryptionRequest(params)
1805//
1806// err := req.Send()
1807// if err == nil { // resp is now filled
1808// fmt.Println(resp)
1809// }
1810//
1811// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
1812func (c *S3) GetBucketEncryptionRequest(input *GetBucketEncryptionInput) (req *request.Request, output *GetBucketEncryptionOutput) {
1813 op := &request.Operation{
1814 Name: opGetBucketEncryption,
1815 HTTPMethod: "GET",
1816 HTTPPath: "/{Bucket}?encryption",
1817 }
1818
1819 if input == nil {
1820 input = &GetBucketEncryptionInput{}
1821 }
1822
1823 output = &GetBucketEncryptionOutput{}
1824 req = c.newRequest(op, input, output)
1825 return
1826}
1827
1828// GetBucketEncryption API operation for Amazon Simple Storage Service.
1829//
1830// Returns the server-side encryption configuration of a bucket.
1831//
1832// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1833// with awserr.Error's Code and Message methods to get detailed information about
1834// the error.
1835//
1836// See the AWS API reference guide for Amazon Simple Storage Service's
1837// API operation GetBucketEncryption for usage and error information.
1838// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketEncryption
1839func (c *S3) GetBucketEncryption(input *GetBucketEncryptionInput) (*GetBucketEncryptionOutput, error) {
1840 req, out := c.GetBucketEncryptionRequest(input)
1841 return out, req.Send()
1842}
1843
1844// GetBucketEncryptionWithContext is the same as GetBucketEncryption with the addition of
1845// the ability to pass a context and additional request options.
1846//
1847// See GetBucketEncryption for details on how to use this API operation.
1848//
1849// The context must be non-nil and will be used for request cancellation. If
1850// the context is nil a panic will occur. In the future the SDK may create
1851// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1852// for more information on using Contexts.
1853func (c *S3) GetBucketEncryptionWithContext(ctx aws.Context, input *GetBucketEncryptionInput, opts ...request.Option) (*GetBucketEncryptionOutput, error) {
1854 req, out := c.GetBucketEncryptionRequest(input)
1855 req.SetContext(ctx)
1856 req.ApplyOptions(opts...)
1857 return out, req.Send()
1858}
1859
1724const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration" 1860const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration"
1725 1861
1726// GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the 1862// GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
1727// client's request for the GetBucketInventoryConfiguration operation. The "output" return 1863// client's request for the GetBucketInventoryConfiguration operation. The "output" return
1728// value can be used to capture response data after the request's "Send" method 1864// value will be populated with the request's response once the request completes
1729// is called. 1865// successfuly.
1730// 1866//
1731// See GetBucketInventoryConfiguration for usage and error information. 1867// Use "Send" method on the returned Request to send the API call to the service.
1868// the "output" return value is not valid until after Send returns without error.
1732// 1869//
1733// Creating a request object using this method should be used when you want to inject 1870// See GetBucketInventoryConfiguration for more information on using the GetBucketInventoryConfiguration
1734// custom logic into the request's lifecycle using a custom handler, or if you want to 1871// API call, and error handling.
1735// access properties on the request object before or after sending the request. If 1872//
1736// you just want the service response, call the GetBucketInventoryConfiguration method directly 1873// This method is useful when you want to inject custom logic or configuration
1737// instead. 1874// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1738// 1875//
1739// Note: You must call the "Send" method on the returned request object in order
1740// to execute the request.
1741// 1876//
1742// // Example sending a request using the GetBucketInventoryConfigurationRequest method. 1877// // Example sending a request using the GetBucketInventoryConfigurationRequest method.
1743// req, resp := client.GetBucketInventoryConfigurationRequest(params) 1878// req, resp := client.GetBucketInventoryConfigurationRequest(params)
@@ -1747,7 +1882,7 @@ const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration"
1747// fmt.Println(resp) 1882// fmt.Println(resp)
1748// } 1883// }
1749// 1884//
1750// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration 1885// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
1751func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryConfigurationInput) (req *request.Request, output *GetBucketInventoryConfigurationOutput) { 1886func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryConfigurationInput) (req *request.Request, output *GetBucketInventoryConfigurationOutput) {
1752 op := &request.Operation{ 1887 op := &request.Operation{
1753 Name: opGetBucketInventoryConfiguration, 1888 Name: opGetBucketInventoryConfiguration,
@@ -1775,7 +1910,7 @@ func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryCon
1775// 1910//
1776// See the AWS API reference guide for Amazon Simple Storage Service's 1911// See the AWS API reference guide for Amazon Simple Storage Service's
1777// API operation GetBucketInventoryConfiguration for usage and error information. 1912// API operation GetBucketInventoryConfiguration for usage and error information.
1778// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration 1913// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
1779func (c *S3) GetBucketInventoryConfiguration(input *GetBucketInventoryConfigurationInput) (*GetBucketInventoryConfigurationOutput, error) { 1914func (c *S3) GetBucketInventoryConfiguration(input *GetBucketInventoryConfigurationInput) (*GetBucketInventoryConfigurationOutput, error) {
1780 req, out := c.GetBucketInventoryConfigurationRequest(input) 1915 req, out := c.GetBucketInventoryConfigurationRequest(input)
1781 return out, req.Send() 1916 return out, req.Send()
@@ -1801,19 +1936,18 @@ const opGetBucketLifecycle = "GetBucketLifecycle"
1801 1936
1802// GetBucketLifecycleRequest generates a "aws/request.Request" representing the 1937// GetBucketLifecycleRequest generates a "aws/request.Request" representing the
1803// client's request for the GetBucketLifecycle operation. The "output" return 1938// client's request for the GetBucketLifecycle operation. The "output" return
1804// value can be used to capture response data after the request's "Send" method 1939// value will be populated with the request's response once the request completes
1805// is called. 1940// successfuly.
1941//
1942// Use "Send" method on the returned Request to send the API call to the service.
1943// the "output" return value is not valid until after Send returns without error.
1806// 1944//
1807// See GetBucketLifecycle for usage and error information. 1945// See GetBucketLifecycle for more information on using the GetBucketLifecycle
1946// API call, and error handling.
1808// 1947//
1809// Creating a request object using this method should be used when you want to inject 1948// This method is useful when you want to inject custom logic or configuration
1810// custom logic into the request's lifecycle using a custom handler, or if you want to 1949// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1811// access properties on the request object before or after sending the request. If
1812// you just want the service response, call the GetBucketLifecycle method directly
1813// instead.
1814// 1950//
1815// Note: You must call the "Send" method on the returned request object in order
1816// to execute the request.
1817// 1951//
1818// // Example sending a request using the GetBucketLifecycleRequest method. 1952// // Example sending a request using the GetBucketLifecycleRequest method.
1819// req, resp := client.GetBucketLifecycleRequest(params) 1953// req, resp := client.GetBucketLifecycleRequest(params)
@@ -1823,7 +1957,7 @@ const opGetBucketLifecycle = "GetBucketLifecycle"
1823// fmt.Println(resp) 1957// fmt.Println(resp)
1824// } 1958// }
1825// 1959//
1826// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle 1960// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
1827func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *request.Request, output *GetBucketLifecycleOutput) { 1961func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *request.Request, output *GetBucketLifecycleOutput) {
1828 if c.Client.Config.Logger != nil { 1962 if c.Client.Config.Logger != nil {
1829 c.Client.Config.Logger.Log("This operation, GetBucketLifecycle, has been deprecated") 1963 c.Client.Config.Logger.Log("This operation, GetBucketLifecycle, has been deprecated")
@@ -1853,7 +1987,7 @@ func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *req
1853// 1987//
1854// See the AWS API reference guide for Amazon Simple Storage Service's 1988// See the AWS API reference guide for Amazon Simple Storage Service's
1855// API operation GetBucketLifecycle for usage and error information. 1989// API operation GetBucketLifecycle for usage and error information.
1856// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle 1990// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
1857func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) { 1991func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) {
1858 req, out := c.GetBucketLifecycleRequest(input) 1992 req, out := c.GetBucketLifecycleRequest(input)
1859 return out, req.Send() 1993 return out, req.Send()
@@ -1879,19 +2013,18 @@ const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration"
1879 2013
1880// GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 2014// GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
1881// client's request for the GetBucketLifecycleConfiguration operation. The "output" return 2015// client's request for the GetBucketLifecycleConfiguration operation. The "output" return
1882// value can be used to capture response data after the request's "Send" method 2016// value will be populated with the request's response once the request completes
1883// is called. 2017// successfuly.
1884// 2018//
1885// See GetBucketLifecycleConfiguration for usage and error information. 2019// Use "Send" method on the returned Request to send the API call to the service.
2020// the "output" return value is not valid until after Send returns without error.
1886// 2021//
1887// Creating a request object using this method should be used when you want to inject 2022// See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration
1888// custom logic into the request's lifecycle using a custom handler, or if you want to 2023// API call, and error handling.
1889// access properties on the request object before or after sending the request. If 2024//
1890// you just want the service response, call the GetBucketLifecycleConfiguration method directly 2025// This method is useful when you want to inject custom logic or configuration
1891// instead. 2026// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1892// 2027//
1893// Note: You must call the "Send" method on the returned request object in order
1894// to execute the request.
1895// 2028//
1896// // Example sending a request using the GetBucketLifecycleConfigurationRequest method. 2029// // Example sending a request using the GetBucketLifecycleConfigurationRequest method.
1897// req, resp := client.GetBucketLifecycleConfigurationRequest(params) 2030// req, resp := client.GetBucketLifecycleConfigurationRequest(params)
@@ -1901,7 +2034,7 @@ const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration"
1901// fmt.Println(resp) 2034// fmt.Println(resp)
1902// } 2035// }
1903// 2036//
1904// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration 2037// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
1905func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) { 2038func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleConfigurationInput) (req *request.Request, output *GetBucketLifecycleConfigurationOutput) {
1906 op := &request.Operation{ 2039 op := &request.Operation{
1907 Name: opGetBucketLifecycleConfiguration, 2040 Name: opGetBucketLifecycleConfiguration,
@@ -1928,7 +2061,7 @@ func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleCon
1928// 2061//
1929// See the AWS API reference guide for Amazon Simple Storage Service's 2062// See the AWS API reference guide for Amazon Simple Storage Service's
1930// API operation GetBucketLifecycleConfiguration for usage and error information. 2063// API operation GetBucketLifecycleConfiguration for usage and error information.
1931// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration 2064// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
1932func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) { 2065func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) {
1933 req, out := c.GetBucketLifecycleConfigurationRequest(input) 2066 req, out := c.GetBucketLifecycleConfigurationRequest(input)
1934 return out, req.Send() 2067 return out, req.Send()
@@ -1954,19 +2087,18 @@ const opGetBucketLocation = "GetBucketLocation"
1954 2087
1955// GetBucketLocationRequest generates a "aws/request.Request" representing the 2088// GetBucketLocationRequest generates a "aws/request.Request" representing the
1956// client's request for the GetBucketLocation operation. The "output" return 2089// client's request for the GetBucketLocation operation. The "output" return
1957// value can be used to capture response data after the request's "Send" method 2090// value will be populated with the request's response once the request completes
1958// is called. 2091// successfuly.
2092//
2093// Use "Send" method on the returned Request to send the API call to the service.
2094// the "output" return value is not valid until after Send returns without error.
1959// 2095//
1960// See GetBucketLocation for usage and error information. 2096// See GetBucketLocation for more information on using the GetBucketLocation
2097// API call, and error handling.
1961// 2098//
1962// Creating a request object using this method should be used when you want to inject 2099// This method is useful when you want to inject custom logic or configuration
1963// custom logic into the request's lifecycle using a custom handler, or if you want to 2100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1964// access properties on the request object before or after sending the request. If
1965// you just want the service response, call the GetBucketLocation method directly
1966// instead.
1967// 2101//
1968// Note: You must call the "Send" method on the returned request object in order
1969// to execute the request.
1970// 2102//
1971// // Example sending a request using the GetBucketLocationRequest method. 2103// // Example sending a request using the GetBucketLocationRequest method.
1972// req, resp := client.GetBucketLocationRequest(params) 2104// req, resp := client.GetBucketLocationRequest(params)
@@ -1976,7 +2108,7 @@ const opGetBucketLocation = "GetBucketLocation"
1976// fmt.Println(resp) 2108// fmt.Println(resp)
1977// } 2109// }
1978// 2110//
1979// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation 2111// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
1980func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *request.Request, output *GetBucketLocationOutput) { 2112func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *request.Request, output *GetBucketLocationOutput) {
1981 op := &request.Operation{ 2113 op := &request.Operation{
1982 Name: opGetBucketLocation, 2114 Name: opGetBucketLocation,
@@ -2003,7 +2135,7 @@ func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *reque
2003// 2135//
2004// See the AWS API reference guide for Amazon Simple Storage Service's 2136// See the AWS API reference guide for Amazon Simple Storage Service's
2005// API operation GetBucketLocation for usage and error information. 2137// API operation GetBucketLocation for usage and error information.
2006// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation 2138// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
2007func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) { 2139func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) {
2008 req, out := c.GetBucketLocationRequest(input) 2140 req, out := c.GetBucketLocationRequest(input)
2009 return out, req.Send() 2141 return out, req.Send()
@@ -2029,19 +2161,18 @@ const opGetBucketLogging = "GetBucketLogging"
2029 2161
2030// GetBucketLoggingRequest generates a "aws/request.Request" representing the 2162// GetBucketLoggingRequest generates a "aws/request.Request" representing the
2031// client's request for the GetBucketLogging operation. The "output" return 2163// client's request for the GetBucketLogging operation. The "output" return
2032// value can be used to capture response data after the request's "Send" method 2164// value will be populated with the request's response once the request completes
2033// is called. 2165// successfuly.
2034// 2166//
2035// See GetBucketLogging for usage and error information. 2167// Use "Send" method on the returned Request to send the API call to the service.
2168// the "output" return value is not valid until after Send returns without error.
2036// 2169//
2037// Creating a request object using this method should be used when you want to inject 2170// See GetBucketLogging for more information on using the GetBucketLogging
2038// custom logic into the request's lifecycle using a custom handler, or if you want to 2171// API call, and error handling.
2039// access properties on the request object before or after sending the request. If 2172//
2040// you just want the service response, call the GetBucketLogging method directly 2173// This method is useful when you want to inject custom logic or configuration
2041// instead. 2174// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2042// 2175//
2043// Note: You must call the "Send" method on the returned request object in order
2044// to execute the request.
2045// 2176//
2046// // Example sending a request using the GetBucketLoggingRequest method. 2177// // Example sending a request using the GetBucketLoggingRequest method.
2047// req, resp := client.GetBucketLoggingRequest(params) 2178// req, resp := client.GetBucketLoggingRequest(params)
@@ -2051,7 +2182,7 @@ const opGetBucketLogging = "GetBucketLogging"
2051// fmt.Println(resp) 2182// fmt.Println(resp)
2052// } 2183// }
2053// 2184//
2054// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging 2185// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
2055func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request.Request, output *GetBucketLoggingOutput) { 2186func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request.Request, output *GetBucketLoggingOutput) {
2056 op := &request.Operation{ 2187 op := &request.Operation{
2057 Name: opGetBucketLogging, 2188 Name: opGetBucketLogging,
@@ -2079,7 +2210,7 @@ func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request
2079// 2210//
2080// See the AWS API reference guide for Amazon Simple Storage Service's 2211// See the AWS API reference guide for Amazon Simple Storage Service's
2081// API operation GetBucketLogging for usage and error information. 2212// API operation GetBucketLogging for usage and error information.
2082// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging 2213// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
2083func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) { 2214func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) {
2084 req, out := c.GetBucketLoggingRequest(input) 2215 req, out := c.GetBucketLoggingRequest(input)
2085 return out, req.Send() 2216 return out, req.Send()
@@ -2105,19 +2236,18 @@ const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration"
2105 2236
2106// GetBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the 2237// GetBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
2107// client's request for the GetBucketMetricsConfiguration operation. The "output" return 2238// client's request for the GetBucketMetricsConfiguration operation. The "output" return
2108// value can be used to capture response data after the request's "Send" method 2239// value will be populated with the request's response once the request completes
2109// is called. 2240// successfuly.
2241//
2242// Use "Send" method on the returned Request to send the API call to the service.
2243// the "output" return value is not valid until after Send returns without error.
2110// 2244//
2111// See GetBucketMetricsConfiguration for usage and error information. 2245// See GetBucketMetricsConfiguration for more information on using the GetBucketMetricsConfiguration
2246// API call, and error handling.
2112// 2247//
2113// Creating a request object using this method should be used when you want to inject 2248// This method is useful when you want to inject custom logic or configuration
2114// custom logic into the request's lifecycle using a custom handler, or if you want to 2249// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2115// access properties on the request object before or after sending the request. If
2116// you just want the service response, call the GetBucketMetricsConfiguration method directly
2117// instead.
2118// 2250//
2119// Note: You must call the "Send" method on the returned request object in order
2120// to execute the request.
2121// 2251//
2122// // Example sending a request using the GetBucketMetricsConfigurationRequest method. 2252// // Example sending a request using the GetBucketMetricsConfigurationRequest method.
2123// req, resp := client.GetBucketMetricsConfigurationRequest(params) 2253// req, resp := client.GetBucketMetricsConfigurationRequest(params)
@@ -2127,7 +2257,7 @@ const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration"
2127// fmt.Println(resp) 2257// fmt.Println(resp)
2128// } 2258// }
2129// 2259//
2130// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration 2260// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
2131func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigurationInput) (req *request.Request, output *GetBucketMetricsConfigurationOutput) { 2261func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigurationInput) (req *request.Request, output *GetBucketMetricsConfigurationOutput) {
2132 op := &request.Operation{ 2262 op := &request.Operation{
2133 Name: opGetBucketMetricsConfiguration, 2263 Name: opGetBucketMetricsConfiguration,
@@ -2155,7 +2285,7 @@ func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigu
2155// 2285//
2156// See the AWS API reference guide for Amazon Simple Storage Service's 2286// See the AWS API reference guide for Amazon Simple Storage Service's
2157// API operation GetBucketMetricsConfiguration for usage and error information. 2287// API operation GetBucketMetricsConfiguration for usage and error information.
2158// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration 2288// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
2159func (c *S3) GetBucketMetricsConfiguration(input *GetBucketMetricsConfigurationInput) (*GetBucketMetricsConfigurationOutput, error) { 2289func (c *S3) GetBucketMetricsConfiguration(input *GetBucketMetricsConfigurationInput) (*GetBucketMetricsConfigurationOutput, error) {
2160 req, out := c.GetBucketMetricsConfigurationRequest(input) 2290 req, out := c.GetBucketMetricsConfigurationRequest(input)
2161 return out, req.Send() 2291 return out, req.Send()
@@ -2181,19 +2311,18 @@ const opGetBucketNotification = "GetBucketNotification"
2181 2311
2182// GetBucketNotificationRequest generates a "aws/request.Request" representing the 2312// GetBucketNotificationRequest generates a "aws/request.Request" representing the
2183// client's request for the GetBucketNotification operation. The "output" return 2313// client's request for the GetBucketNotification operation. The "output" return
2184// value can be used to capture response data after the request's "Send" method 2314// value will be populated with the request's response once the request completes
2185// is called. 2315// successfuly.
2186// 2316//
2187// See GetBucketNotification for usage and error information. 2317// Use "Send" method on the returned Request to send the API call to the service.
2318// the "output" return value is not valid until after Send returns without error.
2188// 2319//
2189// Creating a request object using this method should be used when you want to inject 2320// See GetBucketNotification for more information on using the GetBucketNotification
2190// custom logic into the request's lifecycle using a custom handler, or if you want to 2321// API call, and error handling.
2191// access properties on the request object before or after sending the request. If 2322//
2192// you just want the service response, call the GetBucketNotification method directly 2323// This method is useful when you want to inject custom logic or configuration
2193// instead. 2324// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2194// 2325//
2195// Note: You must call the "Send" method on the returned request object in order
2196// to execute the request.
2197// 2326//
2198// // Example sending a request using the GetBucketNotificationRequest method. 2327// // Example sending a request using the GetBucketNotificationRequest method.
2199// req, resp := client.GetBucketNotificationRequest(params) 2328// req, resp := client.GetBucketNotificationRequest(params)
@@ -2203,7 +2332,7 @@ const opGetBucketNotification = "GetBucketNotification"
2203// fmt.Println(resp) 2332// fmt.Println(resp)
2204// } 2333// }
2205// 2334//
2206// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification 2335// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
2207func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfigurationDeprecated) { 2336func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfigurationDeprecated) {
2208 if c.Client.Config.Logger != nil { 2337 if c.Client.Config.Logger != nil {
2209 c.Client.Config.Logger.Log("This operation, GetBucketNotification, has been deprecated") 2338 c.Client.Config.Logger.Log("This operation, GetBucketNotification, has been deprecated")
@@ -2233,7 +2362,7 @@ func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurat
2233// 2362//
2234// See the AWS API reference guide for Amazon Simple Storage Service's 2363// See the AWS API reference guide for Amazon Simple Storage Service's
2235// API operation GetBucketNotification for usage and error information. 2364// API operation GetBucketNotification for usage and error information.
2236// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification 2365// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
2237func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) { 2366func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) {
2238 req, out := c.GetBucketNotificationRequest(input) 2367 req, out := c.GetBucketNotificationRequest(input)
2239 return out, req.Send() 2368 return out, req.Send()
@@ -2259,19 +2388,18 @@ const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration
2259 2388
2260// GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the 2389// GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
2261// client's request for the GetBucketNotificationConfiguration operation. The "output" return 2390// client's request for the GetBucketNotificationConfiguration operation. The "output" return
2262// value can be used to capture response data after the request's "Send" method 2391// value will be populated with the request's response once the request completes
2263// is called. 2392// successfuly.
2393//
2394// Use "Send" method on the returned Request to send the API call to the service.
2395// the "output" return value is not valid until after Send returns without error.
2264// 2396//
2265// See GetBucketNotificationConfiguration for usage and error information. 2397// See GetBucketNotificationConfiguration for more information on using the GetBucketNotificationConfiguration
2398// API call, and error handling.
2266// 2399//
2267// Creating a request object using this method should be used when you want to inject 2400// This method is useful when you want to inject custom logic or configuration
2268// custom logic into the request's lifecycle using a custom handler, or if you want to 2401// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2269// access properties on the request object before or after sending the request. If
2270// you just want the service response, call the GetBucketNotificationConfiguration method directly
2271// instead.
2272// 2402//
2273// Note: You must call the "Send" method on the returned request object in order
2274// to execute the request.
2275// 2403//
2276// // Example sending a request using the GetBucketNotificationConfigurationRequest method. 2404// // Example sending a request using the GetBucketNotificationConfigurationRequest method.
2277// req, resp := client.GetBucketNotificationConfigurationRequest(params) 2405// req, resp := client.GetBucketNotificationConfigurationRequest(params)
@@ -2281,7 +2409,7 @@ const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration
2281// fmt.Println(resp) 2409// fmt.Println(resp)
2282// } 2410// }
2283// 2411//
2284// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration 2412// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
2285func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfiguration) { 2413func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificationConfigurationRequest) (req *request.Request, output *NotificationConfiguration) {
2286 op := &request.Operation{ 2414 op := &request.Operation{
2287 Name: opGetBucketNotificationConfiguration, 2415 Name: opGetBucketNotificationConfiguration,
@@ -2308,7 +2436,7 @@ func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificat
2308// 2436//
2309// See the AWS API reference guide for Amazon Simple Storage Service's 2437// See the AWS API reference guide for Amazon Simple Storage Service's
2310// API operation GetBucketNotificationConfiguration for usage and error information. 2438// API operation GetBucketNotificationConfiguration for usage and error information.
2311// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration 2439// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
2312func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) { 2440func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) {
2313 req, out := c.GetBucketNotificationConfigurationRequest(input) 2441 req, out := c.GetBucketNotificationConfigurationRequest(input)
2314 return out, req.Send() 2442 return out, req.Send()
@@ -2334,19 +2462,18 @@ const opGetBucketPolicy = "GetBucketPolicy"
2334 2462
2335// GetBucketPolicyRequest generates a "aws/request.Request" representing the 2463// GetBucketPolicyRequest generates a "aws/request.Request" representing the
2336// client's request for the GetBucketPolicy operation. The "output" return 2464// client's request for the GetBucketPolicy operation. The "output" return
2337// value can be used to capture response data after the request's "Send" method 2465// value will be populated with the request's response once the request completes
2338// is called. 2466// successfuly.
2339// 2467//
2340// See GetBucketPolicy for usage and error information. 2468// Use "Send" method on the returned Request to send the API call to the service.
2469// the "output" return value is not valid until after Send returns without error.
2341// 2470//
2342// Creating a request object using this method should be used when you want to inject 2471// See GetBucketPolicy for more information on using the GetBucketPolicy
2343// custom logic into the request's lifecycle using a custom handler, or if you want to 2472// API call, and error handling.
2344// access properties on the request object before or after sending the request. If 2473//
2345// you just want the service response, call the GetBucketPolicy method directly 2474// This method is useful when you want to inject custom logic or configuration
2346// instead. 2475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2347// 2476//
2348// Note: You must call the "Send" method on the returned request object in order
2349// to execute the request.
2350// 2477//
2351// // Example sending a request using the GetBucketPolicyRequest method. 2478// // Example sending a request using the GetBucketPolicyRequest method.
2352// req, resp := client.GetBucketPolicyRequest(params) 2479// req, resp := client.GetBucketPolicyRequest(params)
@@ -2356,7 +2483,7 @@ const opGetBucketPolicy = "GetBucketPolicy"
2356// fmt.Println(resp) 2483// fmt.Println(resp)
2357// } 2484// }
2358// 2485//
2359// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy 2486// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
2360func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) { 2487func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.Request, output *GetBucketPolicyOutput) {
2361 op := &request.Operation{ 2488 op := &request.Operation{
2362 Name: opGetBucketPolicy, 2489 Name: opGetBucketPolicy,
@@ -2383,7 +2510,7 @@ func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.R
2383// 2510//
2384// See the AWS API reference guide for Amazon Simple Storage Service's 2511// See the AWS API reference guide for Amazon Simple Storage Service's
2385// API operation GetBucketPolicy for usage and error information. 2512// API operation GetBucketPolicy for usage and error information.
2386// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy 2513// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
2387func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) { 2514func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) {
2388 req, out := c.GetBucketPolicyRequest(input) 2515 req, out := c.GetBucketPolicyRequest(input)
2389 return out, req.Send() 2516 return out, req.Send()
@@ -2409,19 +2536,18 @@ const opGetBucketReplication = "GetBucketReplication"
2409 2536
2410// GetBucketReplicationRequest generates a "aws/request.Request" representing the 2537// GetBucketReplicationRequest generates a "aws/request.Request" representing the
2411// client's request for the GetBucketReplication operation. The "output" return 2538// client's request for the GetBucketReplication operation. The "output" return
2412// value can be used to capture response data after the request's "Send" method 2539// value will be populated with the request's response once the request completes
2413// is called. 2540// successfuly.
2541//
2542// Use "Send" method on the returned Request to send the API call to the service.
2543// the "output" return value is not valid until after Send returns without error.
2414// 2544//
2415// See GetBucketReplication for usage and error information. 2545// See GetBucketReplication for more information on using the GetBucketReplication
2546// API call, and error handling.
2416// 2547//
2417// Creating a request object using this method should be used when you want to inject 2548// This method is useful when you want to inject custom logic or configuration
2418// custom logic into the request's lifecycle using a custom handler, or if you want to 2549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2419// access properties on the request object before or after sending the request. If
2420// you just want the service response, call the GetBucketReplication method directly
2421// instead.
2422// 2550//
2423// Note: You must call the "Send" method on the returned request object in order
2424// to execute the request.
2425// 2551//
2426// // Example sending a request using the GetBucketReplicationRequest method. 2552// // Example sending a request using the GetBucketReplicationRequest method.
2427// req, resp := client.GetBucketReplicationRequest(params) 2553// req, resp := client.GetBucketReplicationRequest(params)
@@ -2431,7 +2557,7 @@ const opGetBucketReplication = "GetBucketReplication"
2431// fmt.Println(resp) 2557// fmt.Println(resp)
2432// } 2558// }
2433// 2559//
2434// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication 2560// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
2435func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) { 2561func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req *request.Request, output *GetBucketReplicationOutput) {
2436 op := &request.Operation{ 2562 op := &request.Operation{
2437 Name: opGetBucketReplication, 2563 Name: opGetBucketReplication,
@@ -2458,7 +2584,7 @@ func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req
2458// 2584//
2459// See the AWS API reference guide for Amazon Simple Storage Service's 2585// See the AWS API reference guide for Amazon Simple Storage Service's
2460// API operation GetBucketReplication for usage and error information. 2586// API operation GetBucketReplication for usage and error information.
2461// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication 2587// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
2462func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) { 2588func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) {
2463 req, out := c.GetBucketReplicationRequest(input) 2589 req, out := c.GetBucketReplicationRequest(input)
2464 return out, req.Send() 2590 return out, req.Send()
@@ -2484,19 +2610,18 @@ const opGetBucketRequestPayment = "GetBucketRequestPayment"
2484 2610
2485// GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the 2611// GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the
2486// client's request for the GetBucketRequestPayment operation. The "output" return 2612// client's request for the GetBucketRequestPayment operation. The "output" return
2487// value can be used to capture response data after the request's "Send" method 2613// value will be populated with the request's response once the request completes
2488// is called. 2614// successfuly.
2489// 2615//
2490// See GetBucketRequestPayment for usage and error information. 2616// Use "Send" method on the returned Request to send the API call to the service.
2617// the "output" return value is not valid until after Send returns without error.
2491// 2618//
2492// Creating a request object using this method should be used when you want to inject 2619// See GetBucketRequestPayment for more information on using the GetBucketRequestPayment
2493// custom logic into the request's lifecycle using a custom handler, or if you want to 2620// API call, and error handling.
2494// access properties on the request object before or after sending the request. If 2621//
2495// you just want the service response, call the GetBucketRequestPayment method directly 2622// This method is useful when you want to inject custom logic or configuration
2496// instead. 2623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2497// 2624//
2498// Note: You must call the "Send" method on the returned request object in order
2499// to execute the request.
2500// 2625//
2501// // Example sending a request using the GetBucketRequestPaymentRequest method. 2626// // Example sending a request using the GetBucketRequestPaymentRequest method.
2502// req, resp := client.GetBucketRequestPaymentRequest(params) 2627// req, resp := client.GetBucketRequestPaymentRequest(params)
@@ -2506,7 +2631,7 @@ const opGetBucketRequestPayment = "GetBucketRequestPayment"
2506// fmt.Println(resp) 2631// fmt.Println(resp)
2507// } 2632// }
2508// 2633//
2509// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment 2634// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
2510func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *request.Request, output *GetBucketRequestPaymentOutput) { 2635func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) (req *request.Request, output *GetBucketRequestPaymentOutput) {
2511 op := &request.Operation{ 2636 op := &request.Operation{
2512 Name: opGetBucketRequestPayment, 2637 Name: opGetBucketRequestPayment,
@@ -2533,7 +2658,7 @@ func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput)
2533// 2658//
2534// See the AWS API reference guide for Amazon Simple Storage Service's 2659// See the AWS API reference guide for Amazon Simple Storage Service's
2535// API operation GetBucketRequestPayment for usage and error information. 2660// API operation GetBucketRequestPayment for usage and error information.
2536// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment 2661// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
2537func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) { 2662func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) {
2538 req, out := c.GetBucketRequestPaymentRequest(input) 2663 req, out := c.GetBucketRequestPaymentRequest(input)
2539 return out, req.Send() 2664 return out, req.Send()
@@ -2559,19 +2684,18 @@ const opGetBucketTagging = "GetBucketTagging"
2559 2684
2560// GetBucketTaggingRequest generates a "aws/request.Request" representing the 2685// GetBucketTaggingRequest generates a "aws/request.Request" representing the
2561// client's request for the GetBucketTagging operation. The "output" return 2686// client's request for the GetBucketTagging operation. The "output" return
2562// value can be used to capture response data after the request's "Send" method 2687// value will be populated with the request's response once the request completes
2563// is called. 2688// successfuly.
2689//
2690// Use "Send" method on the returned Request to send the API call to the service.
2691// the "output" return value is not valid until after Send returns without error.
2564// 2692//
2565// See GetBucketTagging for usage and error information. 2693// See GetBucketTagging for more information on using the GetBucketTagging
2694// API call, and error handling.
2566// 2695//
2567// Creating a request object using this method should be used when you want to inject 2696// This method is useful when you want to inject custom logic or configuration
2568// custom logic into the request's lifecycle using a custom handler, or if you want to 2697// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2569// access properties on the request object before or after sending the request. If
2570// you just want the service response, call the GetBucketTagging method directly
2571// instead.
2572// 2698//
2573// Note: You must call the "Send" method on the returned request object in order
2574// to execute the request.
2575// 2699//
2576// // Example sending a request using the GetBucketTaggingRequest method. 2700// // Example sending a request using the GetBucketTaggingRequest method.
2577// req, resp := client.GetBucketTaggingRequest(params) 2701// req, resp := client.GetBucketTaggingRequest(params)
@@ -2581,7 +2705,7 @@ const opGetBucketTagging = "GetBucketTagging"
2581// fmt.Println(resp) 2705// fmt.Println(resp)
2582// } 2706// }
2583// 2707//
2584// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging 2708// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
2585func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) { 2709func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request.Request, output *GetBucketTaggingOutput) {
2586 op := &request.Operation{ 2710 op := &request.Operation{
2587 Name: opGetBucketTagging, 2711 Name: opGetBucketTagging,
@@ -2608,7 +2732,7 @@ func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request
2608// 2732//
2609// See the AWS API reference guide for Amazon Simple Storage Service's 2733// See the AWS API reference guide for Amazon Simple Storage Service's
2610// API operation GetBucketTagging for usage and error information. 2734// API operation GetBucketTagging for usage and error information.
2611// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging 2735// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
2612func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) { 2736func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) {
2613 req, out := c.GetBucketTaggingRequest(input) 2737 req, out := c.GetBucketTaggingRequest(input)
2614 return out, req.Send() 2738 return out, req.Send()
@@ -2634,19 +2758,18 @@ const opGetBucketVersioning = "GetBucketVersioning"
2634 2758
2635// GetBucketVersioningRequest generates a "aws/request.Request" representing the 2759// GetBucketVersioningRequest generates a "aws/request.Request" representing the
2636// client's request for the GetBucketVersioning operation. The "output" return 2760// client's request for the GetBucketVersioning operation. The "output" return
2637// value can be used to capture response data after the request's "Send" method 2761// value will be populated with the request's response once the request completes
2638// is called. 2762// successfuly.
2639// 2763//
2640// See GetBucketVersioning for usage and error information. 2764// Use "Send" method on the returned Request to send the API call to the service.
2765// the "output" return value is not valid until after Send returns without error.
2641// 2766//
2642// Creating a request object using this method should be used when you want to inject 2767// See GetBucketVersioning for more information on using the GetBucketVersioning
2643// custom logic into the request's lifecycle using a custom handler, or if you want to 2768// API call, and error handling.
2644// access properties on the request object before or after sending the request. If 2769//
2645// you just want the service response, call the GetBucketVersioning method directly 2770// This method is useful when you want to inject custom logic or configuration
2646// instead. 2771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2647// 2772//
2648// Note: You must call the "Send" method on the returned request object in order
2649// to execute the request.
2650// 2773//
2651// // Example sending a request using the GetBucketVersioningRequest method. 2774// // Example sending a request using the GetBucketVersioningRequest method.
2652// req, resp := client.GetBucketVersioningRequest(params) 2775// req, resp := client.GetBucketVersioningRequest(params)
@@ -2656,7 +2779,7 @@ const opGetBucketVersioning = "GetBucketVersioning"
2656// fmt.Println(resp) 2779// fmt.Println(resp)
2657// } 2780// }
2658// 2781//
2659// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning 2782// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
2660func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *request.Request, output *GetBucketVersioningOutput) { 2783func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *request.Request, output *GetBucketVersioningOutput) {
2661 op := &request.Operation{ 2784 op := &request.Operation{
2662 Name: opGetBucketVersioning, 2785 Name: opGetBucketVersioning,
@@ -2683,7 +2806,7 @@ func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *r
2683// 2806//
2684// See the AWS API reference guide for Amazon Simple Storage Service's 2807// See the AWS API reference guide for Amazon Simple Storage Service's
2685// API operation GetBucketVersioning for usage and error information. 2808// API operation GetBucketVersioning for usage and error information.
2686// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning 2809// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
2687func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) { 2810func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) {
2688 req, out := c.GetBucketVersioningRequest(input) 2811 req, out := c.GetBucketVersioningRequest(input)
2689 return out, req.Send() 2812 return out, req.Send()
@@ -2709,19 +2832,18 @@ const opGetBucketWebsite = "GetBucketWebsite"
2709 2832
2710// GetBucketWebsiteRequest generates a "aws/request.Request" representing the 2833// GetBucketWebsiteRequest generates a "aws/request.Request" representing the
2711// client's request for the GetBucketWebsite operation. The "output" return 2834// client's request for the GetBucketWebsite operation. The "output" return
2712// value can be used to capture response data after the request's "Send" method 2835// value will be populated with the request's response once the request completes
2713// is called. 2836// successfuly.
2837//
2838// Use "Send" method on the returned Request to send the API call to the service.
2839// the "output" return value is not valid until after Send returns without error.
2714// 2840//
2715// See GetBucketWebsite for usage and error information. 2841// See GetBucketWebsite for more information on using the GetBucketWebsite
2842// API call, and error handling.
2716// 2843//
2717// Creating a request object using this method should be used when you want to inject 2844// This method is useful when you want to inject custom logic or configuration
2718// custom logic into the request's lifecycle using a custom handler, or if you want to 2845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2719// access properties on the request object before or after sending the request. If
2720// you just want the service response, call the GetBucketWebsite method directly
2721// instead.
2722// 2846//
2723// Note: You must call the "Send" method on the returned request object in order
2724// to execute the request.
2725// 2847//
2726// // Example sending a request using the GetBucketWebsiteRequest method. 2848// // Example sending a request using the GetBucketWebsiteRequest method.
2727// req, resp := client.GetBucketWebsiteRequest(params) 2849// req, resp := client.GetBucketWebsiteRequest(params)
@@ -2731,7 +2853,7 @@ const opGetBucketWebsite = "GetBucketWebsite"
2731// fmt.Println(resp) 2853// fmt.Println(resp)
2732// } 2854// }
2733// 2855//
2734// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite 2856// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
2735func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request.Request, output *GetBucketWebsiteOutput) { 2857func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request.Request, output *GetBucketWebsiteOutput) {
2736 op := &request.Operation{ 2858 op := &request.Operation{
2737 Name: opGetBucketWebsite, 2859 Name: opGetBucketWebsite,
@@ -2758,7 +2880,7 @@ func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request
2758// 2880//
2759// See the AWS API reference guide for Amazon Simple Storage Service's 2881// See the AWS API reference guide for Amazon Simple Storage Service's
2760// API operation GetBucketWebsite for usage and error information. 2882// API operation GetBucketWebsite for usage and error information.
2761// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite 2883// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
2762func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) { 2884func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) {
2763 req, out := c.GetBucketWebsiteRequest(input) 2885 req, out := c.GetBucketWebsiteRequest(input)
2764 return out, req.Send() 2886 return out, req.Send()
@@ -2784,19 +2906,18 @@ const opGetObject = "GetObject"
2784 2906
2785// GetObjectRequest generates a "aws/request.Request" representing the 2907// GetObjectRequest generates a "aws/request.Request" representing the
2786// client's request for the GetObject operation. The "output" return 2908// client's request for the GetObject operation. The "output" return
2787// value can be used to capture response data after the request's "Send" method 2909// value will be populated with the request's response once the request completes
2788// is called. 2910// successfuly.
2911//
2912// Use "Send" method on the returned Request to send the API call to the service.
2913// the "output" return value is not valid until after Send returns without error.
2789// 2914//
2790// See GetObject for usage and error information. 2915// See GetObject for more information on using the GetObject
2916// API call, and error handling.
2791// 2917//
2792// Creating a request object using this method should be used when you want to inject 2918// This method is useful when you want to inject custom logic or configuration
2793// custom logic into the request's lifecycle using a custom handler, or if you want to 2919// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2794// access properties on the request object before or after sending the request. If
2795// you just want the service response, call the GetObject method directly
2796// instead.
2797// 2920//
2798// Note: You must call the "Send" method on the returned request object in order
2799// to execute the request.
2800// 2921//
2801// // Example sending a request using the GetObjectRequest method. 2922// // Example sending a request using the GetObjectRequest method.
2802// req, resp := client.GetObjectRequest(params) 2923// req, resp := client.GetObjectRequest(params)
@@ -2806,7 +2927,7 @@ const opGetObject = "GetObject"
2806// fmt.Println(resp) 2927// fmt.Println(resp)
2807// } 2928// }
2808// 2929//
2809// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject 2930// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
2810func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) { 2931func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, output *GetObjectOutput) {
2811 op := &request.Operation{ 2932 op := &request.Operation{
2812 Name: opGetObject, 2933 Name: opGetObject,
@@ -2838,7 +2959,7 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp
2838// * ErrCodeNoSuchKey "NoSuchKey" 2959// * ErrCodeNoSuchKey "NoSuchKey"
2839// The specified key does not exist. 2960// The specified key does not exist.
2840// 2961//
2841// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject 2962// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
2842func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) { 2963func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) {
2843 req, out := c.GetObjectRequest(input) 2964 req, out := c.GetObjectRequest(input)
2844 return out, req.Send() 2965 return out, req.Send()
@@ -2864,19 +2985,18 @@ const opGetObjectAcl = "GetObjectAcl"
2864 2985
2865// GetObjectAclRequest generates a "aws/request.Request" representing the 2986// GetObjectAclRequest generates a "aws/request.Request" representing the
2866// client's request for the GetObjectAcl operation. The "output" return 2987// client's request for the GetObjectAcl operation. The "output" return
2867// value can be used to capture response data after the request's "Send" method 2988// value will be populated with the request's response once the request completes
2868// is called. 2989// successfuly.
2869// 2990//
2870// See GetObjectAcl for usage and error information. 2991// Use "Send" method on the returned Request to send the API call to the service.
2992// the "output" return value is not valid until after Send returns without error.
2871// 2993//
2872// Creating a request object using this method should be used when you want to inject 2994// See GetObjectAcl for more information on using the GetObjectAcl
2873// custom logic into the request's lifecycle using a custom handler, or if you want to 2995// API call, and error handling.
2874// access properties on the request object before or after sending the request. If 2996//
2875// you just want the service response, call the GetObjectAcl method directly 2997// This method is useful when you want to inject custom logic or configuration
2876// instead. 2998// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2877// 2999//
2878// Note: You must call the "Send" method on the returned request object in order
2879// to execute the request.
2880// 3000//
2881// // Example sending a request using the GetObjectAclRequest method. 3001// // Example sending a request using the GetObjectAclRequest method.
2882// req, resp := client.GetObjectAclRequest(params) 3002// req, resp := client.GetObjectAclRequest(params)
@@ -2886,7 +3006,7 @@ const opGetObjectAcl = "GetObjectAcl"
2886// fmt.Println(resp) 3006// fmt.Println(resp)
2887// } 3007// }
2888// 3008//
2889// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl 3009// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
2890func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request, output *GetObjectAclOutput) { 3010func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request, output *GetObjectAclOutput) {
2891 op := &request.Operation{ 3011 op := &request.Operation{
2892 Name: opGetObjectAcl, 3012 Name: opGetObjectAcl,
@@ -2918,7 +3038,7 @@ func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request
2918// * ErrCodeNoSuchKey "NoSuchKey" 3038// * ErrCodeNoSuchKey "NoSuchKey"
2919// The specified key does not exist. 3039// The specified key does not exist.
2920// 3040//
2921// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl 3041// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
2922func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) { 3042func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) {
2923 req, out := c.GetObjectAclRequest(input) 3043 req, out := c.GetObjectAclRequest(input)
2924 return out, req.Send() 3044 return out, req.Send()
@@ -2944,19 +3064,18 @@ const opGetObjectTagging = "GetObjectTagging"
2944 3064
2945// GetObjectTaggingRequest generates a "aws/request.Request" representing the 3065// GetObjectTaggingRequest generates a "aws/request.Request" representing the
2946// client's request for the GetObjectTagging operation. The "output" return 3066// client's request for the GetObjectTagging operation. The "output" return
2947// value can be used to capture response data after the request's "Send" method 3067// value will be populated with the request's response once the request completes
2948// is called. 3068// successfuly.
3069//
3070// Use "Send" method on the returned Request to send the API call to the service.
3071// the "output" return value is not valid until after Send returns without error.
2949// 3072//
2950// See GetObjectTagging for usage and error information. 3073// See GetObjectTagging for more information on using the GetObjectTagging
3074// API call, and error handling.
2951// 3075//
2952// Creating a request object using this method should be used when you want to inject 3076// This method is useful when you want to inject custom logic or configuration
2953// custom logic into the request's lifecycle using a custom handler, or if you want to 3077// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2954// access properties on the request object before or after sending the request. If
2955// you just want the service response, call the GetObjectTagging method directly
2956// instead.
2957// 3078//
2958// Note: You must call the "Send" method on the returned request object in order
2959// to execute the request.
2960// 3079//
2961// // Example sending a request using the GetObjectTaggingRequest method. 3080// // Example sending a request using the GetObjectTaggingRequest method.
2962// req, resp := client.GetObjectTaggingRequest(params) 3081// req, resp := client.GetObjectTaggingRequest(params)
@@ -2966,7 +3085,7 @@ const opGetObjectTagging = "GetObjectTagging"
2966// fmt.Println(resp) 3085// fmt.Println(resp)
2967// } 3086// }
2968// 3087//
2969// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging 3088// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
2970func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request.Request, output *GetObjectTaggingOutput) { 3089func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request.Request, output *GetObjectTaggingOutput) {
2971 op := &request.Operation{ 3090 op := &request.Operation{
2972 Name: opGetObjectTagging, 3091 Name: opGetObjectTagging,
@@ -2993,7 +3112,7 @@ func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request
2993// 3112//
2994// See the AWS API reference guide for Amazon Simple Storage Service's 3113// See the AWS API reference guide for Amazon Simple Storage Service's
2995// API operation GetObjectTagging for usage and error information. 3114// API operation GetObjectTagging for usage and error information.
2996// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging 3115// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
2997func (c *S3) GetObjectTagging(input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error) { 3116func (c *S3) GetObjectTagging(input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error) {
2998 req, out := c.GetObjectTaggingRequest(input) 3117 req, out := c.GetObjectTaggingRequest(input)
2999 return out, req.Send() 3118 return out, req.Send()
@@ -3019,19 +3138,18 @@ const opGetObjectTorrent = "GetObjectTorrent"
3019 3138
3020// GetObjectTorrentRequest generates a "aws/request.Request" representing the 3139// GetObjectTorrentRequest generates a "aws/request.Request" representing the
3021// client's request for the GetObjectTorrent operation. The "output" return 3140// client's request for the GetObjectTorrent operation. The "output" return
3022// value can be used to capture response data after the request's "Send" method 3141// value will be populated with the request's response once the request completes
3023// is called. 3142// successfuly.
3024// 3143//
3025// See GetObjectTorrent for usage and error information. 3144// Use "Send" method on the returned Request to send the API call to the service.
3145// the "output" return value is not valid until after Send returns without error.
3026// 3146//
3027// Creating a request object using this method should be used when you want to inject 3147// See GetObjectTorrent for more information on using the GetObjectTorrent
3028// custom logic into the request's lifecycle using a custom handler, or if you want to 3148// API call, and error handling.
3029// access properties on the request object before or after sending the request. If 3149//
3030// you just want the service response, call the GetObjectTorrent method directly 3150// This method is useful when you want to inject custom logic or configuration
3031// instead. 3151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3032// 3152//
3033// Note: You must call the "Send" method on the returned request object in order
3034// to execute the request.
3035// 3153//
3036// // Example sending a request using the GetObjectTorrentRequest method. 3154// // Example sending a request using the GetObjectTorrentRequest method.
3037// req, resp := client.GetObjectTorrentRequest(params) 3155// req, resp := client.GetObjectTorrentRequest(params)
@@ -3041,7 +3159,7 @@ const opGetObjectTorrent = "GetObjectTorrent"
3041// fmt.Println(resp) 3159// fmt.Println(resp)
3042// } 3160// }
3043// 3161//
3044// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent 3162// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
3045func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request.Request, output *GetObjectTorrentOutput) { 3163func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request.Request, output *GetObjectTorrentOutput) {
3046 op := &request.Operation{ 3164 op := &request.Operation{
3047 Name: opGetObjectTorrent, 3165 Name: opGetObjectTorrent,
@@ -3068,7 +3186,7 @@ func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request
3068// 3186//
3069// See the AWS API reference guide for Amazon Simple Storage Service's 3187// See the AWS API reference guide for Amazon Simple Storage Service's
3070// API operation GetObjectTorrent for usage and error information. 3188// API operation GetObjectTorrent for usage and error information.
3071// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent 3189// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
3072func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) { 3190func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) {
3073 req, out := c.GetObjectTorrentRequest(input) 3191 req, out := c.GetObjectTorrentRequest(input)
3074 return out, req.Send() 3192 return out, req.Send()
@@ -3094,19 +3212,18 @@ const opHeadBucket = "HeadBucket"
3094 3212
3095// HeadBucketRequest generates a "aws/request.Request" representing the 3213// HeadBucketRequest generates a "aws/request.Request" representing the
3096// client's request for the HeadBucket operation. The "output" return 3214// client's request for the HeadBucket operation. The "output" return
3097// value can be used to capture response data after the request's "Send" method 3215// value will be populated with the request's response once the request completes
3098// is called. 3216// successfuly.
3217//
3218// Use "Send" method on the returned Request to send the API call to the service.
3219// the "output" return value is not valid until after Send returns without error.
3099// 3220//
3100// See HeadBucket for usage and error information. 3221// See HeadBucket for more information on using the HeadBucket
3222// API call, and error handling.
3101// 3223//
3102// Creating a request object using this method should be used when you want to inject 3224// This method is useful when you want to inject custom logic or configuration
3103// custom logic into the request's lifecycle using a custom handler, or if you want to 3225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3104// access properties on the request object before or after sending the request. If
3105// you just want the service response, call the HeadBucket method directly
3106// instead.
3107// 3226//
3108// Note: You must call the "Send" method on the returned request object in order
3109// to execute the request.
3110// 3227//
3111// // Example sending a request using the HeadBucketRequest method. 3228// // Example sending a request using the HeadBucketRequest method.
3112// req, resp := client.HeadBucketRequest(params) 3229// req, resp := client.HeadBucketRequest(params)
@@ -3116,7 +3233,7 @@ const opHeadBucket = "HeadBucket"
3116// fmt.Println(resp) 3233// fmt.Println(resp)
3117// } 3234// }
3118// 3235//
3119// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket 3236// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
3120func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, output *HeadBucketOutput) { 3237func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, output *HeadBucketOutput) {
3121 op := &request.Operation{ 3238 op := &request.Operation{
3122 Name: opHeadBucket, 3239 Name: opHeadBucket,
@@ -3151,7 +3268,7 @@ func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, ou
3151// * ErrCodeNoSuchBucket "NoSuchBucket" 3268// * ErrCodeNoSuchBucket "NoSuchBucket"
3152// The specified bucket does not exist. 3269// The specified bucket does not exist.
3153// 3270//
3154// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket 3271// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
3155func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) { 3272func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) {
3156 req, out := c.HeadBucketRequest(input) 3273 req, out := c.HeadBucketRequest(input)
3157 return out, req.Send() 3274 return out, req.Send()
@@ -3177,19 +3294,18 @@ const opHeadObject = "HeadObject"
3177 3294
3178// HeadObjectRequest generates a "aws/request.Request" representing the 3295// HeadObjectRequest generates a "aws/request.Request" representing the
3179// client's request for the HeadObject operation. The "output" return 3296// client's request for the HeadObject operation. The "output" return
3180// value can be used to capture response data after the request's "Send" method 3297// value will be populated with the request's response once the request completes
3181// is called. 3298// successfuly.
3182// 3299//
3183// See HeadObject for usage and error information. 3300// Use "Send" method on the returned Request to send the API call to the service.
3301// the "output" return value is not valid until after Send returns without error.
3184// 3302//
3185// Creating a request object using this method should be used when you want to inject 3303// See HeadObject for more information on using the HeadObject
3186// custom logic into the request's lifecycle using a custom handler, or if you want to 3304// API call, and error handling.
3187// access properties on the request object before or after sending the request. If 3305//
3188// you just want the service response, call the HeadObject method directly 3306// This method is useful when you want to inject custom logic or configuration
3189// instead. 3307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3190// 3308//
3191// Note: You must call the "Send" method on the returned request object in order
3192// to execute the request.
3193// 3309//
3194// // Example sending a request using the HeadObjectRequest method. 3310// // Example sending a request using the HeadObjectRequest method.
3195// req, resp := client.HeadObjectRequest(params) 3311// req, resp := client.HeadObjectRequest(params)
@@ -3199,7 +3315,7 @@ const opHeadObject = "HeadObject"
3199// fmt.Println(resp) 3315// fmt.Println(resp)
3200// } 3316// }
3201// 3317//
3202// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject 3318// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
3203func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, output *HeadObjectOutput) { 3319func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, output *HeadObjectOutput) {
3204 op := &request.Operation{ 3320 op := &request.Operation{
3205 Name: opHeadObject, 3321 Name: opHeadObject,
@@ -3231,7 +3347,7 @@ func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, ou
3231// 3347//
3232// See the AWS API reference guide for Amazon Simple Storage Service's 3348// See the AWS API reference guide for Amazon Simple Storage Service's
3233// API operation HeadObject for usage and error information. 3349// API operation HeadObject for usage and error information.
3234// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject 3350// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
3235func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) { 3351func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) {
3236 req, out := c.HeadObjectRequest(input) 3352 req, out := c.HeadObjectRequest(input)
3237 return out, req.Send() 3353 return out, req.Send()
@@ -3257,19 +3373,18 @@ const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations"
3257 3373
3258// ListBucketAnalyticsConfigurationsRequest generates a "aws/request.Request" representing the 3374// ListBucketAnalyticsConfigurationsRequest generates a "aws/request.Request" representing the
3259// client's request for the ListBucketAnalyticsConfigurations operation. The "output" return 3375// client's request for the ListBucketAnalyticsConfigurations operation. The "output" return
3260// value can be used to capture response data after the request's "Send" method 3376// value will be populated with the request's response once the request completes
3261// is called. 3377// successfuly.
3378//
3379// Use "Send" method on the returned Request to send the API call to the service.
3380// the "output" return value is not valid until after Send returns without error.
3262// 3381//
3263// See ListBucketAnalyticsConfigurations for usage and error information. 3382// See ListBucketAnalyticsConfigurations for more information on using the ListBucketAnalyticsConfigurations
3383// API call, and error handling.
3264// 3384//
3265// Creating a request object using this method should be used when you want to inject 3385// This method is useful when you want to inject custom logic or configuration
3266// custom logic into the request's lifecycle using a custom handler, or if you want to 3386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3267// access properties on the request object before or after sending the request. If
3268// you just want the service response, call the ListBucketAnalyticsConfigurations method directly
3269// instead.
3270// 3387//
3271// Note: You must call the "Send" method on the returned request object in order
3272// to execute the request.
3273// 3388//
3274// // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method. 3389// // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method.
3275// req, resp := client.ListBucketAnalyticsConfigurationsRequest(params) 3390// req, resp := client.ListBucketAnalyticsConfigurationsRequest(params)
@@ -3279,7 +3394,7 @@ const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations"
3279// fmt.Println(resp) 3394// fmt.Println(resp)
3280// } 3395// }
3281// 3396//
3282// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations 3397// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
3283func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalyticsConfigurationsInput) (req *request.Request, output *ListBucketAnalyticsConfigurationsOutput) { 3398func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalyticsConfigurationsInput) (req *request.Request, output *ListBucketAnalyticsConfigurationsOutput) {
3284 op := &request.Operation{ 3399 op := &request.Operation{
3285 Name: opListBucketAnalyticsConfigurations, 3400 Name: opListBucketAnalyticsConfigurations,
@@ -3306,7 +3421,7 @@ func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalytics
3306// 3421//
3307// See the AWS API reference guide for Amazon Simple Storage Service's 3422// See the AWS API reference guide for Amazon Simple Storage Service's
3308// API operation ListBucketAnalyticsConfigurations for usage and error information. 3423// API operation ListBucketAnalyticsConfigurations for usage and error information.
3309// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations 3424// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
3310func (c *S3) ListBucketAnalyticsConfigurations(input *ListBucketAnalyticsConfigurationsInput) (*ListBucketAnalyticsConfigurationsOutput, error) { 3425func (c *S3) ListBucketAnalyticsConfigurations(input *ListBucketAnalyticsConfigurationsInput) (*ListBucketAnalyticsConfigurationsOutput, error) {
3311 req, out := c.ListBucketAnalyticsConfigurationsRequest(input) 3426 req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
3312 return out, req.Send() 3427 return out, req.Send()
@@ -3332,19 +3447,18 @@ const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations"
3332 3447
3333// ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the 3448// ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the
3334// client's request for the ListBucketInventoryConfigurations operation. The "output" return 3449// client's request for the ListBucketInventoryConfigurations operation. The "output" return
3335// value can be used to capture response data after the request's "Send" method 3450// value will be populated with the request's response once the request completes
3336// is called. 3451// successfuly.
3452//
3453// Use "Send" method on the returned Request to send the API call to the service.
3454// the "output" return value is not valid until after Send returns without error.
3337// 3455//
3338// See ListBucketInventoryConfigurations for usage and error information. 3456// See ListBucketInventoryConfigurations for more information on using the ListBucketInventoryConfigurations
3457// API call, and error handling.
3339// 3458//
3340// Creating a request object using this method should be used when you want to inject 3459// This method is useful when you want to inject custom logic or configuration
3341// custom logic into the request's lifecycle using a custom handler, or if you want to 3460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3342// access properties on the request object before or after sending the request. If
3343// you just want the service response, call the ListBucketInventoryConfigurations method directly
3344// instead.
3345// 3461//
3346// Note: You must call the "Send" method on the returned request object in order
3347// to execute the request.
3348// 3462//
3349// // Example sending a request using the ListBucketInventoryConfigurationsRequest method. 3463// // Example sending a request using the ListBucketInventoryConfigurationsRequest method.
3350// req, resp := client.ListBucketInventoryConfigurationsRequest(params) 3464// req, resp := client.ListBucketInventoryConfigurationsRequest(params)
@@ -3354,7 +3468,7 @@ const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations"
3354// fmt.Println(resp) 3468// fmt.Println(resp)
3355// } 3469// }
3356// 3470//
3357// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations 3471// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
3358func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventoryConfigurationsInput) (req *request.Request, output *ListBucketInventoryConfigurationsOutput) { 3472func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventoryConfigurationsInput) (req *request.Request, output *ListBucketInventoryConfigurationsOutput) {
3359 op := &request.Operation{ 3473 op := &request.Operation{
3360 Name: opListBucketInventoryConfigurations, 3474 Name: opListBucketInventoryConfigurations,
@@ -3381,7 +3495,7 @@ func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventory
3381// 3495//
3382// See the AWS API reference guide for Amazon Simple Storage Service's 3496// See the AWS API reference guide for Amazon Simple Storage Service's
3383// API operation ListBucketInventoryConfigurations for usage and error information. 3497// API operation ListBucketInventoryConfigurations for usage and error information.
3384// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations 3498// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
3385func (c *S3) ListBucketInventoryConfigurations(input *ListBucketInventoryConfigurationsInput) (*ListBucketInventoryConfigurationsOutput, error) { 3499func (c *S3) ListBucketInventoryConfigurations(input *ListBucketInventoryConfigurationsInput) (*ListBucketInventoryConfigurationsOutput, error) {
3386 req, out := c.ListBucketInventoryConfigurationsRequest(input) 3500 req, out := c.ListBucketInventoryConfigurationsRequest(input)
3387 return out, req.Send() 3501 return out, req.Send()
@@ -3407,19 +3521,18 @@ const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations"
3407 3521
3408// ListBucketMetricsConfigurationsRequest generates a "aws/request.Request" representing the 3522// ListBucketMetricsConfigurationsRequest generates a "aws/request.Request" representing the
3409// client's request for the ListBucketMetricsConfigurations operation. The "output" return 3523// client's request for the ListBucketMetricsConfigurations operation. The "output" return
3410// value can be used to capture response data after the request's "Send" method 3524// value will be populated with the request's response once the request completes
3411// is called. 3525// successfuly.
3412// 3526//
3413// See ListBucketMetricsConfigurations for usage and error information. 3527// Use "Send" method on the returned Request to send the API call to the service.
3528// the "output" return value is not valid until after Send returns without error.
3414// 3529//
3415// Creating a request object using this method should be used when you want to inject 3530// See ListBucketMetricsConfigurations for more information on using the ListBucketMetricsConfigurations
3416// custom logic into the request's lifecycle using a custom handler, or if you want to 3531// API call, and error handling.
3417// access properties on the request object before or after sending the request. If 3532//
3418// you just want the service response, call the ListBucketMetricsConfigurations method directly 3533// This method is useful when you want to inject custom logic or configuration
3419// instead. 3534// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3420// 3535//
3421// Note: You must call the "Send" method on the returned request object in order
3422// to execute the request.
3423// 3536//
3424// // Example sending a request using the ListBucketMetricsConfigurationsRequest method. 3537// // Example sending a request using the ListBucketMetricsConfigurationsRequest method.
3425// req, resp := client.ListBucketMetricsConfigurationsRequest(params) 3538// req, resp := client.ListBucketMetricsConfigurationsRequest(params)
@@ -3429,7 +3542,7 @@ const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations"
3429// fmt.Println(resp) 3542// fmt.Println(resp)
3430// } 3543// }
3431// 3544//
3432// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations 3545// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
3433func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConfigurationsInput) (req *request.Request, output *ListBucketMetricsConfigurationsOutput) { 3546func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConfigurationsInput) (req *request.Request, output *ListBucketMetricsConfigurationsOutput) {
3434 op := &request.Operation{ 3547 op := &request.Operation{
3435 Name: opListBucketMetricsConfigurations, 3548 Name: opListBucketMetricsConfigurations,
@@ -3456,7 +3569,7 @@ func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConf
3456// 3569//
3457// See the AWS API reference guide for Amazon Simple Storage Service's 3570// See the AWS API reference guide for Amazon Simple Storage Service's
3458// API operation ListBucketMetricsConfigurations for usage and error information. 3571// API operation ListBucketMetricsConfigurations for usage and error information.
3459// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations 3572// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
3460func (c *S3) ListBucketMetricsConfigurations(input *ListBucketMetricsConfigurationsInput) (*ListBucketMetricsConfigurationsOutput, error) { 3573func (c *S3) ListBucketMetricsConfigurations(input *ListBucketMetricsConfigurationsInput) (*ListBucketMetricsConfigurationsOutput, error) {
3461 req, out := c.ListBucketMetricsConfigurationsRequest(input) 3574 req, out := c.ListBucketMetricsConfigurationsRequest(input)
3462 return out, req.Send() 3575 return out, req.Send()
@@ -3482,19 +3595,18 @@ const opListBuckets = "ListBuckets"
3482 3595
3483// ListBucketsRequest generates a "aws/request.Request" representing the 3596// ListBucketsRequest generates a "aws/request.Request" representing the
3484// client's request for the ListBuckets operation. The "output" return 3597// client's request for the ListBuckets operation. The "output" return
3485// value can be used to capture response data after the request's "Send" method 3598// value will be populated with the request's response once the request completes
3486// is called. 3599// successfuly.
3600//
3601// Use "Send" method on the returned Request to send the API call to the service.
3602// the "output" return value is not valid until after Send returns without error.
3487// 3603//
3488// See ListBuckets for usage and error information. 3604// See ListBuckets for more information on using the ListBuckets
3605// API call, and error handling.
3489// 3606//
3490// Creating a request object using this method should be used when you want to inject 3607// This method is useful when you want to inject custom logic or configuration
3491// custom logic into the request's lifecycle using a custom handler, or if you want to 3608// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3492// access properties on the request object before or after sending the request. If
3493// you just want the service response, call the ListBuckets method directly
3494// instead.
3495// 3609//
3496// Note: You must call the "Send" method on the returned request object in order
3497// to execute the request.
3498// 3610//
3499// // Example sending a request using the ListBucketsRequest method. 3611// // Example sending a request using the ListBucketsRequest method.
3500// req, resp := client.ListBucketsRequest(params) 3612// req, resp := client.ListBucketsRequest(params)
@@ -3504,7 +3616,7 @@ const opListBuckets = "ListBuckets"
3504// fmt.Println(resp) 3616// fmt.Println(resp)
3505// } 3617// }
3506// 3618//
3507// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets 3619// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
3508func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, output *ListBucketsOutput) { 3620func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request, output *ListBucketsOutput) {
3509 op := &request.Operation{ 3621 op := &request.Operation{
3510 Name: opListBuckets, 3622 Name: opListBuckets,
@@ -3531,7 +3643,7 @@ func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request,
3531// 3643//
3532// See the AWS API reference guide for Amazon Simple Storage Service's 3644// See the AWS API reference guide for Amazon Simple Storage Service's
3533// API operation ListBuckets for usage and error information. 3645// API operation ListBuckets for usage and error information.
3534// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets 3646// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
3535func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) { 3647func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) {
3536 req, out := c.ListBucketsRequest(input) 3648 req, out := c.ListBucketsRequest(input)
3537 return out, req.Send() 3649 return out, req.Send()
@@ -3557,19 +3669,18 @@ const opListMultipartUploads = "ListMultipartUploads"
3557 3669
3558// ListMultipartUploadsRequest generates a "aws/request.Request" representing the 3670// ListMultipartUploadsRequest generates a "aws/request.Request" representing the
3559// client's request for the ListMultipartUploads operation. The "output" return 3671// client's request for the ListMultipartUploads operation. The "output" return
3560// value can be used to capture response data after the request's "Send" method 3672// value will be populated with the request's response once the request completes
3561// is called. 3673// successfuly.
3562// 3674//
3563// See ListMultipartUploads for usage and error information. 3675// Use "Send" method on the returned Request to send the API call to the service.
3676// the "output" return value is not valid until after Send returns without error.
3564// 3677//
3565// Creating a request object using this method should be used when you want to inject 3678// See ListMultipartUploads for more information on using the ListMultipartUploads
3566// custom logic into the request's lifecycle using a custom handler, or if you want to 3679// API call, and error handling.
3567// access properties on the request object before or after sending the request. If 3680//
3568// you just want the service response, call the ListMultipartUploads method directly 3681// This method is useful when you want to inject custom logic or configuration
3569// instead. 3682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3570// 3683//
3571// Note: You must call the "Send" method on the returned request object in order
3572// to execute the request.
3573// 3684//
3574// // Example sending a request using the ListMultipartUploadsRequest method. 3685// // Example sending a request using the ListMultipartUploadsRequest method.
3575// req, resp := client.ListMultipartUploadsRequest(params) 3686// req, resp := client.ListMultipartUploadsRequest(params)
@@ -3579,7 +3690,7 @@ const opListMultipartUploads = "ListMultipartUploads"
3579// fmt.Println(resp) 3690// fmt.Println(resp)
3580// } 3691// }
3581// 3692//
3582// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads 3693// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
3583func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) { 3694func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) {
3584 op := &request.Operation{ 3695 op := &request.Operation{
3585 Name: opListMultipartUploads, 3696 Name: opListMultipartUploads,
@@ -3612,7 +3723,7 @@ func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req
3612// 3723//
3613// See the AWS API reference guide for Amazon Simple Storage Service's 3724// See the AWS API reference guide for Amazon Simple Storage Service's
3614// API operation ListMultipartUploads for usage and error information. 3725// API operation ListMultipartUploads for usage and error information.
3615// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads 3726// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
3616func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) { 3727func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) {
3617 req, out := c.ListMultipartUploadsRequest(input) 3728 req, out := c.ListMultipartUploadsRequest(input)
3618 return out, req.Send() 3729 return out, req.Send()
@@ -3688,19 +3799,18 @@ const opListObjectVersions = "ListObjectVersions"
3688 3799
3689// ListObjectVersionsRequest generates a "aws/request.Request" representing the 3800// ListObjectVersionsRequest generates a "aws/request.Request" representing the
3690// client's request for the ListObjectVersions operation. The "output" return 3801// client's request for the ListObjectVersions operation. The "output" return
3691// value can be used to capture response data after the request's "Send" method 3802// value will be populated with the request's response once the request completes
3692// is called. 3803// successfuly.
3804//
3805// Use "Send" method on the returned Request to send the API call to the service.
3806// the "output" return value is not valid until after Send returns without error.
3693// 3807//
3694// See ListObjectVersions for usage and error information. 3808// See ListObjectVersions for more information on using the ListObjectVersions
3809// API call, and error handling.
3695// 3810//
3696// Creating a request object using this method should be used when you want to inject 3811// This method is useful when you want to inject custom logic or configuration
3697// custom logic into the request's lifecycle using a custom handler, or if you want to 3812// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3698// access properties on the request object before or after sending the request. If
3699// you just want the service response, call the ListObjectVersions method directly
3700// instead.
3701// 3813//
3702// Note: You must call the "Send" method on the returned request object in order
3703// to execute the request.
3704// 3814//
3705// // Example sending a request using the ListObjectVersionsRequest method. 3815// // Example sending a request using the ListObjectVersionsRequest method.
3706// req, resp := client.ListObjectVersionsRequest(params) 3816// req, resp := client.ListObjectVersionsRequest(params)
@@ -3710,7 +3820,7 @@ const opListObjectVersions = "ListObjectVersions"
3710// fmt.Println(resp) 3820// fmt.Println(resp)
3711// } 3821// }
3712// 3822//
3713// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions 3823// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
3714func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *request.Request, output *ListObjectVersionsOutput) { 3824func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *request.Request, output *ListObjectVersionsOutput) {
3715 op := &request.Operation{ 3825 op := &request.Operation{
3716 Name: opListObjectVersions, 3826 Name: opListObjectVersions,
@@ -3743,7 +3853,7 @@ func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *req
3743// 3853//
3744// See the AWS API reference guide for Amazon Simple Storage Service's 3854// See the AWS API reference guide for Amazon Simple Storage Service's
3745// API operation ListObjectVersions for usage and error information. 3855// API operation ListObjectVersions for usage and error information.
3746// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions 3856// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
3747func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) { 3857func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) {
3748 req, out := c.ListObjectVersionsRequest(input) 3858 req, out := c.ListObjectVersionsRequest(input)
3749 return out, req.Send() 3859 return out, req.Send()
@@ -3819,19 +3929,18 @@ const opListObjects = "ListObjects"
3819 3929
3820// ListObjectsRequest generates a "aws/request.Request" representing the 3930// ListObjectsRequest generates a "aws/request.Request" representing the
3821// client's request for the ListObjects operation. The "output" return 3931// client's request for the ListObjects operation. The "output" return
3822// value can be used to capture response data after the request's "Send" method 3932// value will be populated with the request's response once the request completes
3823// is called. 3933// successfuly.
3824// 3934//
3825// See ListObjects for usage and error information. 3935// Use "Send" method on the returned Request to send the API call to the service.
3936// the "output" return value is not valid until after Send returns without error.
3826// 3937//
3827// Creating a request object using this method should be used when you want to inject 3938// See ListObjects for more information on using the ListObjects
3828// custom logic into the request's lifecycle using a custom handler, or if you want to 3939// API call, and error handling.
3829// access properties on the request object before or after sending the request. If 3940//
3830// you just want the service response, call the ListObjects method directly 3941// This method is useful when you want to inject custom logic or configuration
3831// instead. 3942// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3832// 3943//
3833// Note: You must call the "Send" method on the returned request object in order
3834// to execute the request.
3835// 3944//
3836// // Example sending a request using the ListObjectsRequest method. 3945// // Example sending a request using the ListObjectsRequest method.
3837// req, resp := client.ListObjectsRequest(params) 3946// req, resp := client.ListObjectsRequest(params)
@@ -3841,7 +3950,7 @@ const opListObjects = "ListObjects"
3841// fmt.Println(resp) 3950// fmt.Println(resp)
3842// } 3951// }
3843// 3952//
3844// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects 3953// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
3845func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, output *ListObjectsOutput) { 3954func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, output *ListObjectsOutput) {
3846 op := &request.Operation{ 3955 op := &request.Operation{
3847 Name: opListObjects, 3956 Name: opListObjects,
@@ -3881,7 +3990,7 @@ func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request,
3881// * ErrCodeNoSuchBucket "NoSuchBucket" 3990// * ErrCodeNoSuchBucket "NoSuchBucket"
3882// The specified bucket does not exist. 3991// The specified bucket does not exist.
3883// 3992//
3884// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects 3993// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
3885func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) { 3994func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) {
3886 req, out := c.ListObjectsRequest(input) 3995 req, out := c.ListObjectsRequest(input)
3887 return out, req.Send() 3996 return out, req.Send()
@@ -3957,19 +4066,18 @@ const opListObjectsV2 = "ListObjectsV2"
3957 4066
3958// ListObjectsV2Request generates a "aws/request.Request" representing the 4067// ListObjectsV2Request generates a "aws/request.Request" representing the
3959// client's request for the ListObjectsV2 operation. The "output" return 4068// client's request for the ListObjectsV2 operation. The "output" return
3960// value can be used to capture response data after the request's "Send" method 4069// value will be populated with the request's response once the request completes
3961// is called. 4070// successfuly.
4071//
4072// Use "Send" method on the returned Request to send the API call to the service.
4073// the "output" return value is not valid until after Send returns without error.
3962// 4074//
3963// See ListObjectsV2 for usage and error information. 4075// See ListObjectsV2 for more information on using the ListObjectsV2
4076// API call, and error handling.
3964// 4077//
3965// Creating a request object using this method should be used when you want to inject 4078// This method is useful when you want to inject custom logic or configuration
3966// custom logic into the request's lifecycle using a custom handler, or if you want to 4079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3967// access properties on the request object before or after sending the request. If
3968// you just want the service response, call the ListObjectsV2 method directly
3969// instead.
3970// 4080//
3971// Note: You must call the "Send" method on the returned request object in order
3972// to execute the request.
3973// 4081//
3974// // Example sending a request using the ListObjectsV2Request method. 4082// // Example sending a request using the ListObjectsV2Request method.
3975// req, resp := client.ListObjectsV2Request(params) 4083// req, resp := client.ListObjectsV2Request(params)
@@ -3979,7 +4087,7 @@ const opListObjectsV2 = "ListObjectsV2"
3979// fmt.Println(resp) 4087// fmt.Println(resp)
3980// } 4088// }
3981// 4089//
3982// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2 4090// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
3983func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Request, output *ListObjectsV2Output) { 4091func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Request, output *ListObjectsV2Output) {
3984 op := &request.Operation{ 4092 op := &request.Operation{
3985 Name: opListObjectsV2, 4093 Name: opListObjectsV2,
@@ -4020,7 +4128,7 @@ func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Reque
4020// * ErrCodeNoSuchBucket "NoSuchBucket" 4128// * ErrCodeNoSuchBucket "NoSuchBucket"
4021// The specified bucket does not exist. 4129// The specified bucket does not exist.
4022// 4130//
4023// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2 4131// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
4024func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) { 4132func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) {
4025 req, out := c.ListObjectsV2Request(input) 4133 req, out := c.ListObjectsV2Request(input)
4026 return out, req.Send() 4134 return out, req.Send()
@@ -4096,19 +4204,18 @@ const opListParts = "ListParts"
4096 4204
4097// ListPartsRequest generates a "aws/request.Request" representing the 4205// ListPartsRequest generates a "aws/request.Request" representing the
4098// client's request for the ListParts operation. The "output" return 4206// client's request for the ListParts operation. The "output" return
4099// value can be used to capture response data after the request's "Send" method 4207// value will be populated with the request's response once the request completes
4100// is called. 4208// successfuly.
4209//
4210// Use "Send" method on the returned Request to send the API call to the service.
4211// the "output" return value is not valid until after Send returns without error.
4101// 4212//
4102// See ListParts for usage and error information. 4213// See ListParts for more information on using the ListParts
4214// API call, and error handling.
4103// 4215//
4104// Creating a request object using this method should be used when you want to inject 4216// This method is useful when you want to inject custom logic or configuration
4105// custom logic into the request's lifecycle using a custom handler, or if you want to 4217// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4106// access properties on the request object before or after sending the request. If
4107// you just want the service response, call the ListParts method directly
4108// instead.
4109// 4218//
4110// Note: You must call the "Send" method on the returned request object in order
4111// to execute the request.
4112// 4219//
4113// // Example sending a request using the ListPartsRequest method. 4220// // Example sending a request using the ListPartsRequest method.
4114// req, resp := client.ListPartsRequest(params) 4221// req, resp := client.ListPartsRequest(params)
@@ -4118,7 +4225,7 @@ const opListParts = "ListParts"
4118// fmt.Println(resp) 4225// fmt.Println(resp)
4119// } 4226// }
4120// 4227//
4121// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts 4228// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
4122func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) { 4229func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) {
4123 op := &request.Operation{ 4230 op := &request.Operation{
4124 Name: opListParts, 4231 Name: opListParts,
@@ -4151,7 +4258,7 @@ func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, outp
4151// 4258//
4152// See the AWS API reference guide for Amazon Simple Storage Service's 4259// See the AWS API reference guide for Amazon Simple Storage Service's
4153// API operation ListParts for usage and error information. 4260// API operation ListParts for usage and error information.
4154// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts 4261// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
4155func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) { 4262func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) {
4156 req, out := c.ListPartsRequest(input) 4263 req, out := c.ListPartsRequest(input)
4157 return out, req.Send() 4264 return out, req.Send()
@@ -4227,19 +4334,18 @@ const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration"
4227 4334
4228// PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the 4335// PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
4229// client's request for the PutBucketAccelerateConfiguration operation. The "output" return 4336// client's request for the PutBucketAccelerateConfiguration operation. The "output" return
4230// value can be used to capture response data after the request's "Send" method 4337// value will be populated with the request's response once the request completes
4231// is called. 4338// successfuly.
4232// 4339//
4233// See PutBucketAccelerateConfiguration for usage and error information. 4340// Use "Send" method on the returned Request to send the API call to the service.
4341// the "output" return value is not valid until after Send returns without error.
4234// 4342//
4235// Creating a request object using this method should be used when you want to inject 4343// See PutBucketAccelerateConfiguration for more information on using the PutBucketAccelerateConfiguration
4236// custom logic into the request's lifecycle using a custom handler, or if you want to 4344// API call, and error handling.
4237// access properties on the request object before or after sending the request. If 4345//
4238// you just want the service response, call the PutBucketAccelerateConfiguration method directly 4346// This method is useful when you want to inject custom logic or configuration
4239// instead. 4347// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4240// 4348//
4241// Note: You must call the "Send" method on the returned request object in order
4242// to execute the request.
4243// 4349//
4244// // Example sending a request using the PutBucketAccelerateConfigurationRequest method. 4350// // Example sending a request using the PutBucketAccelerateConfigurationRequest method.
4245// req, resp := client.PutBucketAccelerateConfigurationRequest(params) 4351// req, resp := client.PutBucketAccelerateConfigurationRequest(params)
@@ -4249,7 +4355,7 @@ const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration"
4249// fmt.Println(resp) 4355// fmt.Println(resp)
4250// } 4356// }
4251// 4357//
4252// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration 4358// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
4253func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateConfigurationInput) (req *request.Request, output *PutBucketAccelerateConfigurationOutput) { 4359func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateConfigurationInput) (req *request.Request, output *PutBucketAccelerateConfigurationOutput) {
4254 op := &request.Operation{ 4360 op := &request.Operation{
4255 Name: opPutBucketAccelerateConfiguration, 4361 Name: opPutBucketAccelerateConfiguration,
@@ -4278,7 +4384,7 @@ func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateC
4278// 4384//
4279// See the AWS API reference guide for Amazon Simple Storage Service's 4385// See the AWS API reference guide for Amazon Simple Storage Service's
4280// API operation PutBucketAccelerateConfiguration for usage and error information. 4386// API operation PutBucketAccelerateConfiguration for usage and error information.
4281// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration 4387// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
4282func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) { 4388func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) {
4283 req, out := c.PutBucketAccelerateConfigurationRequest(input) 4389 req, out := c.PutBucketAccelerateConfigurationRequest(input)
4284 return out, req.Send() 4390 return out, req.Send()
@@ -4304,19 +4410,18 @@ const opPutBucketAcl = "PutBucketAcl"
4304 4410
4305// PutBucketAclRequest generates a "aws/request.Request" representing the 4411// PutBucketAclRequest generates a "aws/request.Request" representing the
4306// client's request for the PutBucketAcl operation. The "output" return 4412// client's request for the PutBucketAcl operation. The "output" return
4307// value can be used to capture response data after the request's "Send" method 4413// value will be populated with the request's response once the request completes
4308// is called. 4414// successfuly.
4415//
4416// Use "Send" method on the returned Request to send the API call to the service.
4417// the "output" return value is not valid until after Send returns without error.
4309// 4418//
4310// See PutBucketAcl for usage and error information. 4419// See PutBucketAcl for more information on using the PutBucketAcl
4420// API call, and error handling.
4311// 4421//
4312// Creating a request object using this method should be used when you want to inject 4422// This method is useful when you want to inject custom logic or configuration
4313// custom logic into the request's lifecycle using a custom handler, or if you want to 4423// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4314// access properties on the request object before or after sending the request. If
4315// you just want the service response, call the PutBucketAcl method directly
4316// instead.
4317// 4424//
4318// Note: You must call the "Send" method on the returned request object in order
4319// to execute the request.
4320// 4425//
4321// // Example sending a request using the PutBucketAclRequest method. 4426// // Example sending a request using the PutBucketAclRequest method.
4322// req, resp := client.PutBucketAclRequest(params) 4427// req, resp := client.PutBucketAclRequest(params)
@@ -4326,7 +4431,7 @@ const opPutBucketAcl = "PutBucketAcl"
4326// fmt.Println(resp) 4431// fmt.Println(resp)
4327// } 4432// }
4328// 4433//
4329// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl 4434// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
4330func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request, output *PutBucketAclOutput) { 4435func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request, output *PutBucketAclOutput) {
4331 op := &request.Operation{ 4436 op := &request.Operation{
4332 Name: opPutBucketAcl, 4437 Name: opPutBucketAcl,
@@ -4355,7 +4460,7 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request
4355// 4460//
4356// See the AWS API reference guide for Amazon Simple Storage Service's 4461// See the AWS API reference guide for Amazon Simple Storage Service's
4357// API operation PutBucketAcl for usage and error information. 4462// API operation PutBucketAcl for usage and error information.
4358// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl 4463// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
4359func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) { 4464func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) {
4360 req, out := c.PutBucketAclRequest(input) 4465 req, out := c.PutBucketAclRequest(input)
4361 return out, req.Send() 4466 return out, req.Send()
@@ -4381,19 +4486,18 @@ const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration"
4381 4486
4382// PutBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the 4487// PutBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
4383// client's request for the PutBucketAnalyticsConfiguration operation. The "output" return 4488// client's request for the PutBucketAnalyticsConfiguration operation. The "output" return
4384// value can be used to capture response data after the request's "Send" method 4489// value will be populated with the request's response once the request completes
4385// is called. 4490// successfuly.
4386// 4491//
4387// See PutBucketAnalyticsConfiguration for usage and error information. 4492// Use "Send" method on the returned Request to send the API call to the service.
4493// the "output" return value is not valid until after Send returns without error.
4388// 4494//
4389// Creating a request object using this method should be used when you want to inject 4495// See PutBucketAnalyticsConfiguration for more information on using the PutBucketAnalyticsConfiguration
4390// custom logic into the request's lifecycle using a custom handler, or if you want to 4496// API call, and error handling.
4391// access properties on the request object before or after sending the request. If 4497//
4392// you just want the service response, call the PutBucketAnalyticsConfiguration method directly 4498// This method is useful when you want to inject custom logic or configuration
4393// instead. 4499// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4394// 4500//
4395// Note: You must call the "Send" method on the returned request object in order
4396// to execute the request.
4397// 4501//
4398// // Example sending a request using the PutBucketAnalyticsConfigurationRequest method. 4502// // Example sending a request using the PutBucketAnalyticsConfigurationRequest method.
4399// req, resp := client.PutBucketAnalyticsConfigurationRequest(params) 4503// req, resp := client.PutBucketAnalyticsConfigurationRequest(params)
@@ -4403,7 +4507,7 @@ const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration"
4403// fmt.Println(resp) 4507// fmt.Println(resp)
4404// } 4508// }
4405// 4509//
4406// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration 4510// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
4407func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsConfigurationInput) (req *request.Request, output *PutBucketAnalyticsConfigurationOutput) { 4511func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsConfigurationInput) (req *request.Request, output *PutBucketAnalyticsConfigurationOutput) {
4408 op := &request.Operation{ 4512 op := &request.Operation{
4409 Name: opPutBucketAnalyticsConfiguration, 4513 Name: opPutBucketAnalyticsConfiguration,
@@ -4433,7 +4537,7 @@ func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsCon
4433// 4537//
4434// See the AWS API reference guide for Amazon Simple Storage Service's 4538// See the AWS API reference guide for Amazon Simple Storage Service's
4435// API operation PutBucketAnalyticsConfiguration for usage and error information. 4539// API operation PutBucketAnalyticsConfiguration for usage and error information.
4436// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration 4540// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
4437func (c *S3) PutBucketAnalyticsConfiguration(input *PutBucketAnalyticsConfigurationInput) (*PutBucketAnalyticsConfigurationOutput, error) { 4541func (c *S3) PutBucketAnalyticsConfiguration(input *PutBucketAnalyticsConfigurationInput) (*PutBucketAnalyticsConfigurationOutput, error) {
4438 req, out := c.PutBucketAnalyticsConfigurationRequest(input) 4542 req, out := c.PutBucketAnalyticsConfigurationRequest(input)
4439 return out, req.Send() 4543 return out, req.Send()
@@ -4459,19 +4563,18 @@ const opPutBucketCors = "PutBucketCors"
4459 4563
4460// PutBucketCorsRequest generates a "aws/request.Request" representing the 4564// PutBucketCorsRequest generates a "aws/request.Request" representing the
4461// client's request for the PutBucketCors operation. The "output" return 4565// client's request for the PutBucketCors operation. The "output" return
4462// value can be used to capture response data after the request's "Send" method 4566// value will be populated with the request's response once the request completes
4463// is called. 4567// successfuly.
4568//
4569// Use "Send" method on the returned Request to send the API call to the service.
4570// the "output" return value is not valid until after Send returns without error.
4464// 4571//
4465// See PutBucketCors for usage and error information. 4572// See PutBucketCors for more information on using the PutBucketCors
4573// API call, and error handling.
4466// 4574//
4467// Creating a request object using this method should be used when you want to inject 4575// This method is useful when you want to inject custom logic or configuration
4468// custom logic into the request's lifecycle using a custom handler, or if you want to 4576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4469// access properties on the request object before or after sending the request. If
4470// you just want the service response, call the PutBucketCors method directly
4471// instead.
4472// 4577//
4473// Note: You must call the "Send" method on the returned request object in order
4474// to execute the request.
4475// 4578//
4476// // Example sending a request using the PutBucketCorsRequest method. 4579// // Example sending a request using the PutBucketCorsRequest method.
4477// req, resp := client.PutBucketCorsRequest(params) 4580// req, resp := client.PutBucketCorsRequest(params)
@@ -4481,7 +4584,7 @@ const opPutBucketCors = "PutBucketCors"
4481// fmt.Println(resp) 4584// fmt.Println(resp)
4482// } 4585// }
4483// 4586//
4484// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors 4587// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
4485func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Request, output *PutBucketCorsOutput) { 4588func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Request, output *PutBucketCorsOutput) {
4486 op := &request.Operation{ 4589 op := &request.Operation{
4487 Name: opPutBucketCors, 4590 Name: opPutBucketCors,
@@ -4510,7 +4613,7 @@ func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Reque
4510// 4613//
4511// See the AWS API reference guide for Amazon Simple Storage Service's 4614// See the AWS API reference guide for Amazon Simple Storage Service's
4512// API operation PutBucketCors for usage and error information. 4615// API operation PutBucketCors for usage and error information.
4513// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors 4616// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
4514func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) { 4617func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) {
4515 req, out := c.PutBucketCorsRequest(input) 4618 req, out := c.PutBucketCorsRequest(input)
4516 return out, req.Send() 4619 return out, req.Send()
@@ -4532,23 +4635,99 @@ func (c *S3) PutBucketCorsWithContext(ctx aws.Context, input *PutBucketCorsInput
4532 return out, req.Send() 4635 return out, req.Send()
4533} 4636}
4534 4637
4638const opPutBucketEncryption = "PutBucketEncryption"
4639
4640// PutBucketEncryptionRequest generates a "aws/request.Request" representing the
4641// client's request for the PutBucketEncryption operation. The "output" return
4642// value will be populated with the request's response once the request completes
4643// successfuly.
4644//
4645// Use "Send" method on the returned Request to send the API call to the service.
4646// the "output" return value is not valid until after Send returns without error.
4647//
4648// See PutBucketEncryption for more information on using the PutBucketEncryption
4649// API call, and error handling.
4650//
4651// This method is useful when you want to inject custom logic or configuration
4652// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4653//
4654//
4655// // Example sending a request using the PutBucketEncryptionRequest method.
4656// req, resp := client.PutBucketEncryptionRequest(params)
4657//
4658// err := req.Send()
4659// if err == nil { // resp is now filled
4660// fmt.Println(resp)
4661// }
4662//
4663// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
4664func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *request.Request, output *PutBucketEncryptionOutput) {
4665 op := &request.Operation{
4666 Name: opPutBucketEncryption,
4667 HTTPMethod: "PUT",
4668 HTTPPath: "/{Bucket}?encryption",
4669 }
4670
4671 if input == nil {
4672 input = &PutBucketEncryptionInput{}
4673 }
4674
4675 output = &PutBucketEncryptionOutput{}
4676 req = c.newRequest(op, input, output)
4677 req.Handlers.Unmarshal.Remove(restxml.UnmarshalHandler)
4678 req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
4679 return
4680}
4681
4682// PutBucketEncryption API operation for Amazon Simple Storage Service.
4683//
4684// Creates a new server-side encryption configuration (or replaces an existing
4685// one, if present).
4686//
4687// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4688// with awserr.Error's Code and Message methods to get detailed information about
4689// the error.
4690//
4691// See the AWS API reference guide for Amazon Simple Storage Service's
4692// API operation PutBucketEncryption for usage and error information.
4693// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketEncryption
4694func (c *S3) PutBucketEncryption(input *PutBucketEncryptionInput) (*PutBucketEncryptionOutput, error) {
4695 req, out := c.PutBucketEncryptionRequest(input)
4696 return out, req.Send()
4697}
4698
4699// PutBucketEncryptionWithContext is the same as PutBucketEncryption with the addition of
4700// the ability to pass a context and additional request options.
4701//
4702// See PutBucketEncryption for details on how to use this API operation.
4703//
4704// The context must be non-nil and will be used for request cancellation. If
4705// the context is nil a panic will occur. In the future the SDK may create
4706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4707// for more information on using Contexts.
4708func (c *S3) PutBucketEncryptionWithContext(ctx aws.Context, input *PutBucketEncryptionInput, opts ...request.Option) (*PutBucketEncryptionOutput, error) {
4709 req, out := c.PutBucketEncryptionRequest(input)
4710 req.SetContext(ctx)
4711 req.ApplyOptions(opts...)
4712 return out, req.Send()
4713}
4714
4535const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration" 4715const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration"
4536 4716
4537// PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the 4717// PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
4538// client's request for the PutBucketInventoryConfiguration operation. The "output" return 4718// client's request for the PutBucketInventoryConfiguration operation. The "output" return
4539// value can be used to capture response data after the request's "Send" method 4719// value will be populated with the request's response once the request completes
4540// is called. 4720// successfuly.
4541// 4721//
4542// See PutBucketInventoryConfiguration for usage and error information. 4722// Use "Send" method on the returned Request to send the API call to the service.
4723// the "output" return value is not valid until after Send returns without error.
4543// 4724//
4544// Creating a request object using this method should be used when you want to inject 4725// See PutBucketInventoryConfiguration for more information on using the PutBucketInventoryConfiguration
4545// custom logic into the request's lifecycle using a custom handler, or if you want to 4726// API call, and error handling.
4546// access properties on the request object before or after sending the request. If 4727//
4547// you just want the service response, call the PutBucketInventoryConfiguration method directly 4728// This method is useful when you want to inject custom logic or configuration
4548// instead. 4729// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4549// 4730//
4550// Note: You must call the "Send" method on the returned request object in order
4551// to execute the request.
4552// 4731//
4553// // Example sending a request using the PutBucketInventoryConfigurationRequest method. 4732// // Example sending a request using the PutBucketInventoryConfigurationRequest method.
4554// req, resp := client.PutBucketInventoryConfigurationRequest(params) 4733// req, resp := client.PutBucketInventoryConfigurationRequest(params)
@@ -4558,7 +4737,7 @@ const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration"
4558// fmt.Println(resp) 4737// fmt.Println(resp)
4559// } 4738// }
4560// 4739//
4561// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration 4740// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
4562func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryConfigurationInput) (req *request.Request, output *PutBucketInventoryConfigurationOutput) { 4741func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryConfigurationInput) (req *request.Request, output *PutBucketInventoryConfigurationOutput) {
4563 op := &request.Operation{ 4742 op := &request.Operation{
4564 Name: opPutBucketInventoryConfiguration, 4743 Name: opPutBucketInventoryConfiguration,
@@ -4588,7 +4767,7 @@ func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryCon
4588// 4767//
4589// See the AWS API reference guide for Amazon Simple Storage Service's 4768// See the AWS API reference guide for Amazon Simple Storage Service's
4590// API operation PutBucketInventoryConfiguration for usage and error information. 4769// API operation PutBucketInventoryConfiguration for usage and error information.
4591// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration 4770// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
4592func (c *S3) PutBucketInventoryConfiguration(input *PutBucketInventoryConfigurationInput) (*PutBucketInventoryConfigurationOutput, error) { 4771func (c *S3) PutBucketInventoryConfiguration(input *PutBucketInventoryConfigurationInput) (*PutBucketInventoryConfigurationOutput, error) {
4593 req, out := c.PutBucketInventoryConfigurationRequest(input) 4772 req, out := c.PutBucketInventoryConfigurationRequest(input)
4594 return out, req.Send() 4773 return out, req.Send()
@@ -4614,19 +4793,18 @@ const opPutBucketLifecycle = "PutBucketLifecycle"
4614 4793
4615// PutBucketLifecycleRequest generates a "aws/request.Request" representing the 4794// PutBucketLifecycleRequest generates a "aws/request.Request" representing the
4616// client's request for the PutBucketLifecycle operation. The "output" return 4795// client's request for the PutBucketLifecycle operation. The "output" return
4617// value can be used to capture response data after the request's "Send" method 4796// value will be populated with the request's response once the request completes
4618// is called. 4797// successfuly.
4798//
4799// Use "Send" method on the returned Request to send the API call to the service.
4800// the "output" return value is not valid until after Send returns without error.
4619// 4801//
4620// See PutBucketLifecycle for usage and error information. 4802// See PutBucketLifecycle for more information on using the PutBucketLifecycle
4803// API call, and error handling.
4621// 4804//
4622// Creating a request object using this method should be used when you want to inject 4805// This method is useful when you want to inject custom logic or configuration
4623// custom logic into the request's lifecycle using a custom handler, or if you want to 4806// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4624// access properties on the request object before or after sending the request. If
4625// you just want the service response, call the PutBucketLifecycle method directly
4626// instead.
4627// 4807//
4628// Note: You must call the "Send" method on the returned request object in order
4629// to execute the request.
4630// 4808//
4631// // Example sending a request using the PutBucketLifecycleRequest method. 4809// // Example sending a request using the PutBucketLifecycleRequest method.
4632// req, resp := client.PutBucketLifecycleRequest(params) 4810// req, resp := client.PutBucketLifecycleRequest(params)
@@ -4636,7 +4814,7 @@ const opPutBucketLifecycle = "PutBucketLifecycle"
4636// fmt.Println(resp) 4814// fmt.Println(resp)
4637// } 4815// }
4638// 4816//
4639// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle 4817// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
4640func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *request.Request, output *PutBucketLifecycleOutput) { 4818func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *request.Request, output *PutBucketLifecycleOutput) {
4641 if c.Client.Config.Logger != nil { 4819 if c.Client.Config.Logger != nil {
4642 c.Client.Config.Logger.Log("This operation, PutBucketLifecycle, has been deprecated") 4820 c.Client.Config.Logger.Log("This operation, PutBucketLifecycle, has been deprecated")
@@ -4668,7 +4846,7 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req
4668// 4846//
4669// See the AWS API reference guide for Amazon Simple Storage Service's 4847// See the AWS API reference guide for Amazon Simple Storage Service's
4670// API operation PutBucketLifecycle for usage and error information. 4848// API operation PutBucketLifecycle for usage and error information.
4671// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle 4849// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
4672func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) { 4850func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) {
4673 req, out := c.PutBucketLifecycleRequest(input) 4851 req, out := c.PutBucketLifecycleRequest(input)
4674 return out, req.Send() 4852 return out, req.Send()
@@ -4694,19 +4872,18 @@ const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration"
4694 4872
4695// PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the 4873// PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
4696// client's request for the PutBucketLifecycleConfiguration operation. The "output" return 4874// client's request for the PutBucketLifecycleConfiguration operation. The "output" return
4697// value can be used to capture response data after the request's "Send" method 4875// value will be populated with the request's response once the request completes
4698// is called. 4876// successfuly.
4699// 4877//
4700// See PutBucketLifecycleConfiguration for usage and error information. 4878// Use "Send" method on the returned Request to send the API call to the service.
4879// the "output" return value is not valid until after Send returns without error.
4701// 4880//
4702// Creating a request object using this method should be used when you want to inject 4881// See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration
4703// custom logic into the request's lifecycle using a custom handler, or if you want to 4882// API call, and error handling.
4704// access properties on the request object before or after sending the request. If 4883//
4705// you just want the service response, call the PutBucketLifecycleConfiguration method directly 4884// This method is useful when you want to inject custom logic or configuration
4706// instead. 4885// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4707// 4886//
4708// Note: You must call the "Send" method on the returned request object in order
4709// to execute the request.
4710// 4887//
4711// // Example sending a request using the PutBucketLifecycleConfigurationRequest method. 4888// // Example sending a request using the PutBucketLifecycleConfigurationRequest method.
4712// req, resp := client.PutBucketLifecycleConfigurationRequest(params) 4889// req, resp := client.PutBucketLifecycleConfigurationRequest(params)
@@ -4716,7 +4893,7 @@ const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration"
4716// fmt.Println(resp) 4893// fmt.Println(resp)
4717// } 4894// }
4718// 4895//
4719// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration 4896// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
4720func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) { 4897func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleConfigurationInput) (req *request.Request, output *PutBucketLifecycleConfigurationOutput) {
4721 op := &request.Operation{ 4898 op := &request.Operation{
4722 Name: opPutBucketLifecycleConfiguration, 4899 Name: opPutBucketLifecycleConfiguration,
@@ -4746,7 +4923,7 @@ func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleCon
4746// 4923//
4747// See the AWS API reference guide for Amazon Simple Storage Service's 4924// See the AWS API reference guide for Amazon Simple Storage Service's
4748// API operation PutBucketLifecycleConfiguration for usage and error information. 4925// API operation PutBucketLifecycleConfiguration for usage and error information.
4749// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration 4926// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
4750func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) { 4927func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) {
4751 req, out := c.PutBucketLifecycleConfigurationRequest(input) 4928 req, out := c.PutBucketLifecycleConfigurationRequest(input)
4752 return out, req.Send() 4929 return out, req.Send()
@@ -4772,19 +4949,18 @@ const opPutBucketLogging = "PutBucketLogging"
4772 4949
4773// PutBucketLoggingRequest generates a "aws/request.Request" representing the 4950// PutBucketLoggingRequest generates a "aws/request.Request" representing the
4774// client's request for the PutBucketLogging operation. The "output" return 4951// client's request for the PutBucketLogging operation. The "output" return
4775// value can be used to capture response data after the request's "Send" method 4952// value will be populated with the request's response once the request completes
4776// is called. 4953// successfuly.
4954//
4955// Use "Send" method on the returned Request to send the API call to the service.
4956// the "output" return value is not valid until after Send returns without error.
4777// 4957//
4778// See PutBucketLogging for usage and error information. 4958// See PutBucketLogging for more information on using the PutBucketLogging
4959// API call, and error handling.
4779// 4960//
4780// Creating a request object using this method should be used when you want to inject 4961// This method is useful when you want to inject custom logic or configuration
4781// custom logic into the request's lifecycle using a custom handler, or if you want to 4962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4782// access properties on the request object before or after sending the request. If
4783// you just want the service response, call the PutBucketLogging method directly
4784// instead.
4785// 4963//
4786// Note: You must call the "Send" method on the returned request object in order
4787// to execute the request.
4788// 4964//
4789// // Example sending a request using the PutBucketLoggingRequest method. 4965// // Example sending a request using the PutBucketLoggingRequest method.
4790// req, resp := client.PutBucketLoggingRequest(params) 4966// req, resp := client.PutBucketLoggingRequest(params)
@@ -4794,7 +4970,7 @@ const opPutBucketLogging = "PutBucketLogging"
4794// fmt.Println(resp) 4970// fmt.Println(resp)
4795// } 4971// }
4796// 4972//
4797// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging 4973// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
4798func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request.Request, output *PutBucketLoggingOutput) { 4974func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request.Request, output *PutBucketLoggingOutput) {
4799 op := &request.Operation{ 4975 op := &request.Operation{
4800 Name: opPutBucketLogging, 4976 Name: opPutBucketLogging,
@@ -4825,7 +5001,7 @@ func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request
4825// 5001//
4826// See the AWS API reference guide for Amazon Simple Storage Service's 5002// See the AWS API reference guide for Amazon Simple Storage Service's
4827// API operation PutBucketLogging for usage and error information. 5003// API operation PutBucketLogging for usage and error information.
4828// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging 5004// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
4829func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) { 5005func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) {
4830 req, out := c.PutBucketLoggingRequest(input) 5006 req, out := c.PutBucketLoggingRequest(input)
4831 return out, req.Send() 5007 return out, req.Send()
@@ -4851,19 +5027,18 @@ const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration"
4851 5027
4852// PutBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the 5028// PutBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
4853// client's request for the PutBucketMetricsConfiguration operation. The "output" return 5029// client's request for the PutBucketMetricsConfiguration operation. The "output" return
4854// value can be used to capture response data after the request's "Send" method 5030// value will be populated with the request's response once the request completes
4855// is called. 5031// successfuly.
5032//
5033// Use "Send" method on the returned Request to send the API call to the service.
5034// the "output" return value is not valid until after Send returns without error.
4856// 5035//
4857// See PutBucketMetricsConfiguration for usage and error information. 5036// See PutBucketMetricsConfiguration for more information on using the PutBucketMetricsConfiguration
5037// API call, and error handling.
4858// 5038//
4859// Creating a request object using this method should be used when you want to inject 5039// This method is useful when you want to inject custom logic or configuration
4860// custom logic into the request's lifecycle using a custom handler, or if you want to 5040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4861// access properties on the request object before or after sending the request. If
4862// you just want the service response, call the PutBucketMetricsConfiguration method directly
4863// instead.
4864// 5041//
4865// Note: You must call the "Send" method on the returned request object in order
4866// to execute the request.
4867// 5042//
4868// // Example sending a request using the PutBucketMetricsConfigurationRequest method. 5043// // Example sending a request using the PutBucketMetricsConfigurationRequest method.
4869// req, resp := client.PutBucketMetricsConfigurationRequest(params) 5044// req, resp := client.PutBucketMetricsConfigurationRequest(params)
@@ -4873,7 +5048,7 @@ const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration"
4873// fmt.Println(resp) 5048// fmt.Println(resp)
4874// } 5049// }
4875// 5050//
4876// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration 5051// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
4877func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigurationInput) (req *request.Request, output *PutBucketMetricsConfigurationOutput) { 5052func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigurationInput) (req *request.Request, output *PutBucketMetricsConfigurationOutput) {
4878 op := &request.Operation{ 5053 op := &request.Operation{
4879 Name: opPutBucketMetricsConfiguration, 5054 Name: opPutBucketMetricsConfiguration,
@@ -4903,7 +5078,7 @@ func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigu
4903// 5078//
4904// See the AWS API reference guide for Amazon Simple Storage Service's 5079// See the AWS API reference guide for Amazon Simple Storage Service's
4905// API operation PutBucketMetricsConfiguration for usage and error information. 5080// API operation PutBucketMetricsConfiguration for usage and error information.
4906// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration 5081// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
4907func (c *S3) PutBucketMetricsConfiguration(input *PutBucketMetricsConfigurationInput) (*PutBucketMetricsConfigurationOutput, error) { 5082func (c *S3) PutBucketMetricsConfiguration(input *PutBucketMetricsConfigurationInput) (*PutBucketMetricsConfigurationOutput, error) {
4908 req, out := c.PutBucketMetricsConfigurationRequest(input) 5083 req, out := c.PutBucketMetricsConfigurationRequest(input)
4909 return out, req.Send() 5084 return out, req.Send()
@@ -4929,19 +5104,18 @@ const opPutBucketNotification = "PutBucketNotification"
4929 5104
4930// PutBucketNotificationRequest generates a "aws/request.Request" representing the 5105// PutBucketNotificationRequest generates a "aws/request.Request" representing the
4931// client's request for the PutBucketNotification operation. The "output" return 5106// client's request for the PutBucketNotification operation. The "output" return
4932// value can be used to capture response data after the request's "Send" method 5107// value will be populated with the request's response once the request completes
4933// is called. 5108// successfuly.
4934// 5109//
4935// See PutBucketNotification for usage and error information. 5110// Use "Send" method on the returned Request to send the API call to the service.
5111// the "output" return value is not valid until after Send returns without error.
4936// 5112//
4937// Creating a request object using this method should be used when you want to inject 5113// See PutBucketNotification for more information on using the PutBucketNotification
4938// custom logic into the request's lifecycle using a custom handler, or if you want to 5114// API call, and error handling.
4939// access properties on the request object before or after sending the request. If 5115//
4940// you just want the service response, call the PutBucketNotification method directly 5116// This method is useful when you want to inject custom logic or configuration
4941// instead. 5117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4942// 5118//
4943// Note: You must call the "Send" method on the returned request object in order
4944// to execute the request.
4945// 5119//
4946// // Example sending a request using the PutBucketNotificationRequest method. 5120// // Example sending a request using the PutBucketNotificationRequest method.
4947// req, resp := client.PutBucketNotificationRequest(params) 5121// req, resp := client.PutBucketNotificationRequest(params)
@@ -4951,7 +5125,7 @@ const opPutBucketNotification = "PutBucketNotification"
4951// fmt.Println(resp) 5125// fmt.Println(resp)
4952// } 5126// }
4953// 5127//
4954// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification 5128// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
4955func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *request.Request, output *PutBucketNotificationOutput) { 5129func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (req *request.Request, output *PutBucketNotificationOutput) {
4956 if c.Client.Config.Logger != nil { 5130 if c.Client.Config.Logger != nil {
4957 c.Client.Config.Logger.Log("This operation, PutBucketNotification, has been deprecated") 5131 c.Client.Config.Logger.Log("This operation, PutBucketNotification, has been deprecated")
@@ -4983,7 +5157,7 @@ func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (re
4983// 5157//
4984// See the AWS API reference guide for Amazon Simple Storage Service's 5158// See the AWS API reference guide for Amazon Simple Storage Service's
4985// API operation PutBucketNotification for usage and error information. 5159// API operation PutBucketNotification for usage and error information.
4986// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification 5160// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
4987func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) { 5161func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) {
4988 req, out := c.PutBucketNotificationRequest(input) 5162 req, out := c.PutBucketNotificationRequest(input)
4989 return out, req.Send() 5163 return out, req.Send()
@@ -5009,19 +5183,18 @@ const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration
5009 5183
5010// PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the 5184// PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
5011// client's request for the PutBucketNotificationConfiguration operation. The "output" return 5185// client's request for the PutBucketNotificationConfiguration operation. The "output" return
5012// value can be used to capture response data after the request's "Send" method 5186// value will be populated with the request's response once the request completes
5013// is called. 5187// successfuly.
5188//
5189// Use "Send" method on the returned Request to send the API call to the service.
5190// the "output" return value is not valid until after Send returns without error.
5014// 5191//
5015// See PutBucketNotificationConfiguration for usage and error information. 5192// See PutBucketNotificationConfiguration for more information on using the PutBucketNotificationConfiguration
5193// API call, and error handling.
5016// 5194//
5017// Creating a request object using this method should be used when you want to inject 5195// This method is useful when you want to inject custom logic or configuration
5018// custom logic into the request's lifecycle using a custom handler, or if you want to 5196// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5019// access properties on the request object before or after sending the request. If
5020// you just want the service response, call the PutBucketNotificationConfiguration method directly
5021// instead.
5022// 5197//
5023// Note: You must call the "Send" method on the returned request object in order
5024// to execute the request.
5025// 5198//
5026// // Example sending a request using the PutBucketNotificationConfigurationRequest method. 5199// // Example sending a request using the PutBucketNotificationConfigurationRequest method.
5027// req, resp := client.PutBucketNotificationConfigurationRequest(params) 5200// req, resp := client.PutBucketNotificationConfigurationRequest(params)
@@ -5031,7 +5204,7 @@ const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration
5031// fmt.Println(resp) 5204// fmt.Println(resp)
5032// } 5205// }
5033// 5206//
5034// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration 5207// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
5035func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *request.Request, output *PutBucketNotificationConfigurationOutput) { 5208func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificationConfigurationInput) (req *request.Request, output *PutBucketNotificationConfigurationOutput) {
5036 op := &request.Operation{ 5209 op := &request.Operation{
5037 Name: opPutBucketNotificationConfiguration, 5210 Name: opPutBucketNotificationConfiguration,
@@ -5060,7 +5233,7 @@ func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificat
5060// 5233//
5061// See the AWS API reference guide for Amazon Simple Storage Service's 5234// See the AWS API reference guide for Amazon Simple Storage Service's
5062// API operation PutBucketNotificationConfiguration for usage and error information. 5235// API operation PutBucketNotificationConfiguration for usage and error information.
5063// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration 5236// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
5064func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) { 5237func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) {
5065 req, out := c.PutBucketNotificationConfigurationRequest(input) 5238 req, out := c.PutBucketNotificationConfigurationRequest(input)
5066 return out, req.Send() 5239 return out, req.Send()
@@ -5086,19 +5259,18 @@ const opPutBucketPolicy = "PutBucketPolicy"
5086 5259
5087// PutBucketPolicyRequest generates a "aws/request.Request" representing the 5260// PutBucketPolicyRequest generates a "aws/request.Request" representing the
5088// client's request for the PutBucketPolicy operation. The "output" return 5261// client's request for the PutBucketPolicy operation. The "output" return
5089// value can be used to capture response data after the request's "Send" method 5262// value will be populated with the request's response once the request completes
5090// is called. 5263// successfuly.
5091// 5264//
5092// See PutBucketPolicy for usage and error information. 5265// Use "Send" method on the returned Request to send the API call to the service.
5266// the "output" return value is not valid until after Send returns without error.
5093// 5267//
5094// Creating a request object using this method should be used when you want to inject 5268// See PutBucketPolicy for more information on using the PutBucketPolicy
5095// custom logic into the request's lifecycle using a custom handler, or if you want to 5269// API call, and error handling.
5096// access properties on the request object before or after sending the request. If 5270//
5097// you just want the service response, call the PutBucketPolicy method directly 5271// This method is useful when you want to inject custom logic or configuration
5098// instead. 5272// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5099// 5273//
5100// Note: You must call the "Send" method on the returned request object in order
5101// to execute the request.
5102// 5274//
5103// // Example sending a request using the PutBucketPolicyRequest method. 5275// // Example sending a request using the PutBucketPolicyRequest method.
5104// req, resp := client.PutBucketPolicyRequest(params) 5276// req, resp := client.PutBucketPolicyRequest(params)
@@ -5108,7 +5280,7 @@ const opPutBucketPolicy = "PutBucketPolicy"
5108// fmt.Println(resp) 5280// fmt.Println(resp)
5109// } 5281// }
5110// 5282//
5111// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy 5283// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
5112func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) { 5284func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.Request, output *PutBucketPolicyOutput) {
5113 op := &request.Operation{ 5285 op := &request.Operation{
5114 Name: opPutBucketPolicy, 5286 Name: opPutBucketPolicy,
@@ -5138,7 +5310,7 @@ func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.R
5138// 5310//
5139// See the AWS API reference guide for Amazon Simple Storage Service's 5311// See the AWS API reference guide for Amazon Simple Storage Service's
5140// API operation PutBucketPolicy for usage and error information. 5312// API operation PutBucketPolicy for usage and error information.
5141// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy 5313// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
5142func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) { 5314func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) {
5143 req, out := c.PutBucketPolicyRequest(input) 5315 req, out := c.PutBucketPolicyRequest(input)
5144 return out, req.Send() 5316 return out, req.Send()
@@ -5164,19 +5336,18 @@ const opPutBucketReplication = "PutBucketReplication"
5164 5336
5165// PutBucketReplicationRequest generates a "aws/request.Request" representing the 5337// PutBucketReplicationRequest generates a "aws/request.Request" representing the
5166// client's request for the PutBucketReplication operation. The "output" return 5338// client's request for the PutBucketReplication operation. The "output" return
5167// value can be used to capture response data after the request's "Send" method 5339// value will be populated with the request's response once the request completes
5168// is called. 5340// successfuly.
5341//
5342// Use "Send" method on the returned Request to send the API call to the service.
5343// the "output" return value is not valid until after Send returns without error.
5169// 5344//
5170// See PutBucketReplication for usage and error information. 5345// See PutBucketReplication for more information on using the PutBucketReplication
5346// API call, and error handling.
5171// 5347//
5172// Creating a request object using this method should be used when you want to inject 5348// This method is useful when you want to inject custom logic or configuration
5173// custom logic into the request's lifecycle using a custom handler, or if you want to 5349// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5174// access properties on the request object before or after sending the request. If
5175// you just want the service response, call the PutBucketReplication method directly
5176// instead.
5177// 5350//
5178// Note: You must call the "Send" method on the returned request object in order
5179// to execute the request.
5180// 5351//
5181// // Example sending a request using the PutBucketReplicationRequest method. 5352// // Example sending a request using the PutBucketReplicationRequest method.
5182// req, resp := client.PutBucketReplicationRequest(params) 5353// req, resp := client.PutBucketReplicationRequest(params)
@@ -5186,7 +5357,7 @@ const opPutBucketReplication = "PutBucketReplication"
5186// fmt.Println(resp) 5357// fmt.Println(resp)
5187// } 5358// }
5188// 5359//
5189// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication 5360// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
5190func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) { 5361func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req *request.Request, output *PutBucketReplicationOutput) {
5191 op := &request.Operation{ 5362 op := &request.Operation{
5192 Name: opPutBucketReplication, 5363 Name: opPutBucketReplication,
@@ -5216,7 +5387,7 @@ func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req
5216// 5387//
5217// See the AWS API reference guide for Amazon Simple Storage Service's 5388// See the AWS API reference guide for Amazon Simple Storage Service's
5218// API operation PutBucketReplication for usage and error information. 5389// API operation PutBucketReplication for usage and error information.
5219// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication 5390// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
5220func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) { 5391func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) {
5221 req, out := c.PutBucketReplicationRequest(input) 5392 req, out := c.PutBucketReplicationRequest(input)
5222 return out, req.Send() 5393 return out, req.Send()
@@ -5242,19 +5413,18 @@ const opPutBucketRequestPayment = "PutBucketRequestPayment"
5242 5413
5243// PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the 5414// PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the
5244// client's request for the PutBucketRequestPayment operation. The "output" return 5415// client's request for the PutBucketRequestPayment operation. The "output" return
5245// value can be used to capture response data after the request's "Send" method 5416// value will be populated with the request's response once the request completes
5246// is called. 5417// successfuly.
5247// 5418//
5248// See PutBucketRequestPayment for usage and error information. 5419// Use "Send" method on the returned Request to send the API call to the service.
5420// the "output" return value is not valid until after Send returns without error.
5249// 5421//
5250// Creating a request object using this method should be used when you want to inject 5422// See PutBucketRequestPayment for more information on using the PutBucketRequestPayment
5251// custom logic into the request's lifecycle using a custom handler, or if you want to 5423// API call, and error handling.
5252// access properties on the request object before or after sending the request. If 5424//
5253// you just want the service response, call the PutBucketRequestPayment method directly 5425// This method is useful when you want to inject custom logic or configuration
5254// instead. 5426// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5255// 5427//
5256// Note: You must call the "Send" method on the returned request object in order
5257// to execute the request.
5258// 5428//
5259// // Example sending a request using the PutBucketRequestPaymentRequest method. 5429// // Example sending a request using the PutBucketRequestPaymentRequest method.
5260// req, resp := client.PutBucketRequestPaymentRequest(params) 5430// req, resp := client.PutBucketRequestPaymentRequest(params)
@@ -5264,7 +5434,7 @@ const opPutBucketRequestPayment = "PutBucketRequestPayment"
5264// fmt.Println(resp) 5434// fmt.Println(resp)
5265// } 5435// }
5266// 5436//
5267// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment 5437// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
5268func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *request.Request, output *PutBucketRequestPaymentOutput) { 5438func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) (req *request.Request, output *PutBucketRequestPaymentOutput) {
5269 op := &request.Operation{ 5439 op := &request.Operation{
5270 Name: opPutBucketRequestPayment, 5440 Name: opPutBucketRequestPayment,
@@ -5297,7 +5467,7 @@ func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput)
5297// 5467//
5298// See the AWS API reference guide for Amazon Simple Storage Service's 5468// See the AWS API reference guide for Amazon Simple Storage Service's
5299// API operation PutBucketRequestPayment for usage and error information. 5469// API operation PutBucketRequestPayment for usage and error information.
5300// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment 5470// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
5301func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) { 5471func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) {
5302 req, out := c.PutBucketRequestPaymentRequest(input) 5472 req, out := c.PutBucketRequestPaymentRequest(input)
5303 return out, req.Send() 5473 return out, req.Send()
@@ -5323,19 +5493,18 @@ const opPutBucketTagging = "PutBucketTagging"
5323 5493
5324// PutBucketTaggingRequest generates a "aws/request.Request" representing the 5494// PutBucketTaggingRequest generates a "aws/request.Request" representing the
5325// client's request for the PutBucketTagging operation. The "output" return 5495// client's request for the PutBucketTagging operation. The "output" return
5326// value can be used to capture response data after the request's "Send" method 5496// value will be populated with the request's response once the request completes
5327// is called. 5497// successfuly.
5498//
5499// Use "Send" method on the returned Request to send the API call to the service.
5500// the "output" return value is not valid until after Send returns without error.
5328// 5501//
5329// See PutBucketTagging for usage and error information. 5502// See PutBucketTagging for more information on using the PutBucketTagging
5503// API call, and error handling.
5330// 5504//
5331// Creating a request object using this method should be used when you want to inject 5505// This method is useful when you want to inject custom logic or configuration
5332// custom logic into the request's lifecycle using a custom handler, or if you want to 5506// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5333// access properties on the request object before or after sending the request. If
5334// you just want the service response, call the PutBucketTagging method directly
5335// instead.
5336// 5507//
5337// Note: You must call the "Send" method on the returned request object in order
5338// to execute the request.
5339// 5508//
5340// // Example sending a request using the PutBucketTaggingRequest method. 5509// // Example sending a request using the PutBucketTaggingRequest method.
5341// req, resp := client.PutBucketTaggingRequest(params) 5510// req, resp := client.PutBucketTaggingRequest(params)
@@ -5345,7 +5514,7 @@ const opPutBucketTagging = "PutBucketTagging"
5345// fmt.Println(resp) 5514// fmt.Println(resp)
5346// } 5515// }
5347// 5516//
5348// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging 5517// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
5349func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) { 5518func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request.Request, output *PutBucketTaggingOutput) {
5350 op := &request.Operation{ 5519 op := &request.Operation{
5351 Name: opPutBucketTagging, 5520 Name: opPutBucketTagging,
@@ -5374,7 +5543,7 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request
5374// 5543//
5375// See the AWS API reference guide for Amazon Simple Storage Service's 5544// See the AWS API reference guide for Amazon Simple Storage Service's
5376// API operation PutBucketTagging for usage and error information. 5545// API operation PutBucketTagging for usage and error information.
5377// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging 5546// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
5378func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) { 5547func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) {
5379 req, out := c.PutBucketTaggingRequest(input) 5548 req, out := c.PutBucketTaggingRequest(input)
5380 return out, req.Send() 5549 return out, req.Send()
@@ -5400,19 +5569,18 @@ const opPutBucketVersioning = "PutBucketVersioning"
5400 5569
5401// PutBucketVersioningRequest generates a "aws/request.Request" representing the 5570// PutBucketVersioningRequest generates a "aws/request.Request" representing the
5402// client's request for the PutBucketVersioning operation. The "output" return 5571// client's request for the PutBucketVersioning operation. The "output" return
5403// value can be used to capture response data after the request's "Send" method 5572// value will be populated with the request's response once the request completes
5404// is called. 5573// successfuly.
5574//
5575// Use "Send" method on the returned Request to send the API call to the service.
5576// the "output" return value is not valid until after Send returns without error.
5405// 5577//
5406// See PutBucketVersioning for usage and error information. 5578// See PutBucketVersioning for more information on using the PutBucketVersioning
5579// API call, and error handling.
5407// 5580//
5408// Creating a request object using this method should be used when you want to inject 5581// This method is useful when you want to inject custom logic or configuration
5409// custom logic into the request's lifecycle using a custom handler, or if you want to 5582// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5410// access properties on the request object before or after sending the request. If
5411// you just want the service response, call the PutBucketVersioning method directly
5412// instead.
5413// 5583//
5414// Note: You must call the "Send" method on the returned request object in order
5415// to execute the request.
5416// 5584//
5417// // Example sending a request using the PutBucketVersioningRequest method. 5585// // Example sending a request using the PutBucketVersioningRequest method.
5418// req, resp := client.PutBucketVersioningRequest(params) 5586// req, resp := client.PutBucketVersioningRequest(params)
@@ -5422,7 +5590,7 @@ const opPutBucketVersioning = "PutBucketVersioning"
5422// fmt.Println(resp) 5590// fmt.Println(resp)
5423// } 5591// }
5424// 5592//
5425// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning 5593// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
5426func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *request.Request, output *PutBucketVersioningOutput) { 5594func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *request.Request, output *PutBucketVersioningOutput) {
5427 op := &request.Operation{ 5595 op := &request.Operation{
5428 Name: opPutBucketVersioning, 5596 Name: opPutBucketVersioning,
@@ -5452,7 +5620,7 @@ func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *r
5452// 5620//
5453// See the AWS API reference guide for Amazon Simple Storage Service's 5621// See the AWS API reference guide for Amazon Simple Storage Service's
5454// API operation PutBucketVersioning for usage and error information. 5622// API operation PutBucketVersioning for usage and error information.
5455// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning 5623// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
5456func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) { 5624func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) {
5457 req, out := c.PutBucketVersioningRequest(input) 5625 req, out := c.PutBucketVersioningRequest(input)
5458 return out, req.Send() 5626 return out, req.Send()
@@ -5478,19 +5646,18 @@ const opPutBucketWebsite = "PutBucketWebsite"
5478 5646
5479// PutBucketWebsiteRequest generates a "aws/request.Request" representing the 5647// PutBucketWebsiteRequest generates a "aws/request.Request" representing the
5480// client's request for the PutBucketWebsite operation. The "output" return 5648// client's request for the PutBucketWebsite operation. The "output" return
5481// value can be used to capture response data after the request's "Send" method 5649// value will be populated with the request's response once the request completes
5482// is called. 5650// successfuly.
5483// 5651//
5484// See PutBucketWebsite for usage and error information. 5652// Use "Send" method on the returned Request to send the API call to the service.
5653// the "output" return value is not valid until after Send returns without error.
5485// 5654//
5486// Creating a request object using this method should be used when you want to inject 5655// See PutBucketWebsite for more information on using the PutBucketWebsite
5487// custom logic into the request's lifecycle using a custom handler, or if you want to 5656// API call, and error handling.
5488// access properties on the request object before or after sending the request. If 5657//
5489// you just want the service response, call the PutBucketWebsite method directly 5658// This method is useful when you want to inject custom logic or configuration
5490// instead. 5659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5491// 5660//
5492// Note: You must call the "Send" method on the returned request object in order
5493// to execute the request.
5494// 5661//
5495// // Example sending a request using the PutBucketWebsiteRequest method. 5662// // Example sending a request using the PutBucketWebsiteRequest method.
5496// req, resp := client.PutBucketWebsiteRequest(params) 5663// req, resp := client.PutBucketWebsiteRequest(params)
@@ -5500,7 +5667,7 @@ const opPutBucketWebsite = "PutBucketWebsite"
5500// fmt.Println(resp) 5667// fmt.Println(resp)
5501// } 5668// }
5502// 5669//
5503// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite 5670// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
5504func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request.Request, output *PutBucketWebsiteOutput) { 5671func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request.Request, output *PutBucketWebsiteOutput) {
5505 op := &request.Operation{ 5672 op := &request.Operation{
5506 Name: opPutBucketWebsite, 5673 Name: opPutBucketWebsite,
@@ -5529,7 +5696,7 @@ func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request
5529// 5696//
5530// See the AWS API reference guide for Amazon Simple Storage Service's 5697// See the AWS API reference guide for Amazon Simple Storage Service's
5531// API operation PutBucketWebsite for usage and error information. 5698// API operation PutBucketWebsite for usage and error information.
5532// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite 5699// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
5533func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) { 5700func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) {
5534 req, out := c.PutBucketWebsiteRequest(input) 5701 req, out := c.PutBucketWebsiteRequest(input)
5535 return out, req.Send() 5702 return out, req.Send()
@@ -5555,19 +5722,18 @@ const opPutObject = "PutObject"
5555 5722
5556// PutObjectRequest generates a "aws/request.Request" representing the 5723// PutObjectRequest generates a "aws/request.Request" representing the
5557// client's request for the PutObject operation. The "output" return 5724// client's request for the PutObject operation. The "output" return
5558// value can be used to capture response data after the request's "Send" method 5725// value will be populated with the request's response once the request completes
5559// is called. 5726// successfuly.
5727//
5728// Use "Send" method on the returned Request to send the API call to the service.
5729// the "output" return value is not valid until after Send returns without error.
5560// 5730//
5561// See PutObject for usage and error information. 5731// See PutObject for more information on using the PutObject
5732// API call, and error handling.
5562// 5733//
5563// Creating a request object using this method should be used when you want to inject 5734// This method is useful when you want to inject custom logic or configuration
5564// custom logic into the request's lifecycle using a custom handler, or if you want to 5735// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5565// access properties on the request object before or after sending the request. If
5566// you just want the service response, call the PutObject method directly
5567// instead.
5568// 5736//
5569// Note: You must call the "Send" method on the returned request object in order
5570// to execute the request.
5571// 5737//
5572// // Example sending a request using the PutObjectRequest method. 5738// // Example sending a request using the PutObjectRequest method.
5573// req, resp := client.PutObjectRequest(params) 5739// req, resp := client.PutObjectRequest(params)
@@ -5577,7 +5743,7 @@ const opPutObject = "PutObject"
5577// fmt.Println(resp) 5743// fmt.Println(resp)
5578// } 5744// }
5579// 5745//
5580// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject 5746// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
5581func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) { 5747func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, output *PutObjectOutput) {
5582 op := &request.Operation{ 5748 op := &request.Operation{
5583 Name: opPutObject, 5749 Name: opPutObject,
@@ -5604,7 +5770,7 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp
5604// 5770//
5605// See the AWS API reference guide for Amazon Simple Storage Service's 5771// See the AWS API reference guide for Amazon Simple Storage Service's
5606// API operation PutObject for usage and error information. 5772// API operation PutObject for usage and error information.
5607// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject 5773// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
5608func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) { 5774func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) {
5609 req, out := c.PutObjectRequest(input) 5775 req, out := c.PutObjectRequest(input)
5610 return out, req.Send() 5776 return out, req.Send()
@@ -5630,19 +5796,18 @@ const opPutObjectAcl = "PutObjectAcl"
5630 5796
5631// PutObjectAclRequest generates a "aws/request.Request" representing the 5797// PutObjectAclRequest generates a "aws/request.Request" representing the
5632// client's request for the PutObjectAcl operation. The "output" return 5798// client's request for the PutObjectAcl operation. The "output" return
5633// value can be used to capture response data after the request's "Send" method 5799// value will be populated with the request's response once the request completes
5634// is called. 5800// successfuly.
5635// 5801//
5636// See PutObjectAcl for usage and error information. 5802// Use "Send" method on the returned Request to send the API call to the service.
5803// the "output" return value is not valid until after Send returns without error.
5637// 5804//
5638// Creating a request object using this method should be used when you want to inject 5805// See PutObjectAcl for more information on using the PutObjectAcl
5639// custom logic into the request's lifecycle using a custom handler, or if you want to 5806// API call, and error handling.
5640// access properties on the request object before or after sending the request. If 5807//
5641// you just want the service response, call the PutObjectAcl method directly 5808// This method is useful when you want to inject custom logic or configuration
5642// instead. 5809// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5643// 5810//
5644// Note: You must call the "Send" method on the returned request object in order
5645// to execute the request.
5646// 5811//
5647// // Example sending a request using the PutObjectAclRequest method. 5812// // Example sending a request using the PutObjectAclRequest method.
5648// req, resp := client.PutObjectAclRequest(params) 5813// req, resp := client.PutObjectAclRequest(params)
@@ -5652,7 +5817,7 @@ const opPutObjectAcl = "PutObjectAcl"
5652// fmt.Println(resp) 5817// fmt.Println(resp)
5653// } 5818// }
5654// 5819//
5655// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl 5820// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
5656func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request, output *PutObjectAclOutput) { 5821func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request, output *PutObjectAclOutput) {
5657 op := &request.Operation{ 5822 op := &request.Operation{
5658 Name: opPutObjectAcl, 5823 Name: opPutObjectAcl,
@@ -5685,7 +5850,7 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request
5685// * ErrCodeNoSuchKey "NoSuchKey" 5850// * ErrCodeNoSuchKey "NoSuchKey"
5686// The specified key does not exist. 5851// The specified key does not exist.
5687// 5852//
5688// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl 5853// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
5689func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) { 5854func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) {
5690 req, out := c.PutObjectAclRequest(input) 5855 req, out := c.PutObjectAclRequest(input)
5691 return out, req.Send() 5856 return out, req.Send()
@@ -5711,19 +5876,18 @@ const opPutObjectTagging = "PutObjectTagging"
5711 5876
5712// PutObjectTaggingRequest generates a "aws/request.Request" representing the 5877// PutObjectTaggingRequest generates a "aws/request.Request" representing the
5713// client's request for the PutObjectTagging operation. The "output" return 5878// client's request for the PutObjectTagging operation. The "output" return
5714// value can be used to capture response data after the request's "Send" method 5879// value will be populated with the request's response once the request completes
5715// is called. 5880// successfuly.
5881//
5882// Use "Send" method on the returned Request to send the API call to the service.
5883// the "output" return value is not valid until after Send returns without error.
5716// 5884//
5717// See PutObjectTagging for usage and error information. 5885// See PutObjectTagging for more information on using the PutObjectTagging
5886// API call, and error handling.
5718// 5887//
5719// Creating a request object using this method should be used when you want to inject 5888// This method is useful when you want to inject custom logic or configuration
5720// custom logic into the request's lifecycle using a custom handler, or if you want to 5889// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5721// access properties on the request object before or after sending the request. If
5722// you just want the service response, call the PutObjectTagging method directly
5723// instead.
5724// 5890//
5725// Note: You must call the "Send" method on the returned request object in order
5726// to execute the request.
5727// 5891//
5728// // Example sending a request using the PutObjectTaggingRequest method. 5892// // Example sending a request using the PutObjectTaggingRequest method.
5729// req, resp := client.PutObjectTaggingRequest(params) 5893// req, resp := client.PutObjectTaggingRequest(params)
@@ -5733,7 +5897,7 @@ const opPutObjectTagging = "PutObjectTagging"
5733// fmt.Println(resp) 5897// fmt.Println(resp)
5734// } 5898// }
5735// 5899//
5736// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging 5900// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
5737func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request.Request, output *PutObjectTaggingOutput) { 5901func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request.Request, output *PutObjectTaggingOutput) {
5738 op := &request.Operation{ 5902 op := &request.Operation{
5739 Name: opPutObjectTagging, 5903 Name: opPutObjectTagging,
@@ -5760,7 +5924,7 @@ func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request
5760// 5924//
5761// See the AWS API reference guide for Amazon Simple Storage Service's 5925// See the AWS API reference guide for Amazon Simple Storage Service's
5762// API operation PutObjectTagging for usage and error information. 5926// API operation PutObjectTagging for usage and error information.
5763// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging 5927// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
5764func (c *S3) PutObjectTagging(input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error) { 5928func (c *S3) PutObjectTagging(input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error) {
5765 req, out := c.PutObjectTaggingRequest(input) 5929 req, out := c.PutObjectTaggingRequest(input)
5766 return out, req.Send() 5930 return out, req.Send()
@@ -5786,19 +5950,18 @@ const opRestoreObject = "RestoreObject"
5786 5950
5787// RestoreObjectRequest generates a "aws/request.Request" representing the 5951// RestoreObjectRequest generates a "aws/request.Request" representing the
5788// client's request for the RestoreObject operation. The "output" return 5952// client's request for the RestoreObject operation. The "output" return
5789// value can be used to capture response data after the request's "Send" method 5953// value will be populated with the request's response once the request completes
5790// is called. 5954// successfuly.
5791// 5955//
5792// See RestoreObject for usage and error information. 5956// Use "Send" method on the returned Request to send the API call to the service.
5957// the "output" return value is not valid until after Send returns without error.
5793// 5958//
5794// Creating a request object using this method should be used when you want to inject 5959// See RestoreObject for more information on using the RestoreObject
5795// custom logic into the request's lifecycle using a custom handler, or if you want to 5960// API call, and error handling.
5796// access properties on the request object before or after sending the request. If 5961//
5797// you just want the service response, call the RestoreObject method directly 5962// This method is useful when you want to inject custom logic or configuration
5798// instead. 5963// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5799// 5964//
5800// Note: You must call the "Send" method on the returned request object in order
5801// to execute the request.
5802// 5965//
5803// // Example sending a request using the RestoreObjectRequest method. 5966// // Example sending a request using the RestoreObjectRequest method.
5804// req, resp := client.RestoreObjectRequest(params) 5967// req, resp := client.RestoreObjectRequest(params)
@@ -5808,7 +5971,7 @@ const opRestoreObject = "RestoreObject"
5808// fmt.Println(resp) 5971// fmt.Println(resp)
5809// } 5972// }
5810// 5973//
5811// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject 5974// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
5812func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Request, output *RestoreObjectOutput) { 5975func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Request, output *RestoreObjectOutput) {
5813 op := &request.Operation{ 5976 op := &request.Operation{
5814 Name: opRestoreObject, 5977 Name: opRestoreObject,
@@ -5840,7 +6003,7 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque
5840// * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError" 6003// * ErrCodeObjectAlreadyInActiveTierError "ObjectAlreadyInActiveTierError"
5841// This operation is not allowed against this storage tier 6004// This operation is not allowed against this storage tier
5842// 6005//
5843// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject 6006// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
5844func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) { 6007func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) {
5845 req, out := c.RestoreObjectRequest(input) 6008 req, out := c.RestoreObjectRequest(input)
5846 return out, req.Send() 6009 return out, req.Send()
@@ -5862,23 +6025,104 @@ func (c *S3) RestoreObjectWithContext(ctx aws.Context, input *RestoreObjectInput
5862 return out, req.Send() 6025 return out, req.Send()
5863} 6026}
5864 6027
6028const opSelectObjectContent = "SelectObjectContent"
6029
6030// SelectObjectContentRequest generates a "aws/request.Request" representing the
6031// client's request for the SelectObjectContent operation. The "output" return
6032// value will be populated with the request's response once the request completes
6033// successfuly.
6034//
6035// Use "Send" method on the returned Request to send the API call to the service.
6036// the "output" return value is not valid until after Send returns without error.
6037//
6038// See SelectObjectContent for more information on using the SelectObjectContent
6039// API call, and error handling.
6040//
6041// This method is useful when you want to inject custom logic or configuration
6042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6043//
6044//
6045// // Example sending a request using the SelectObjectContentRequest method.
6046// req, resp := client.SelectObjectContentRequest(params)
6047//
6048// err := req.Send()
6049// if err == nil { // resp is now filled
6050// fmt.Println(resp)
6051// }
6052//
6053// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
6054func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *request.Request, output *SelectObjectContentOutput) {
6055 op := &request.Operation{
6056 Name: opSelectObjectContent,
6057 HTTPMethod: "POST",
6058 HTTPPath: "/{Bucket}/{Key+}?select&select-type=2",
6059 }
6060
6061 if input == nil {
6062 input = &SelectObjectContentInput{}
6063 }
6064
6065 output = &SelectObjectContentOutput{}
6066 req = c.newRequest(op, input, output)
6067 req.Handlers.Send.Swap(client.LogHTTPResponseHandler.Name, client.LogHTTPResponseHeaderHandler)
6068 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, rest.UnmarshalHandler)
6069 req.Handlers.Unmarshal.PushBack(output.runEventStreamLoop)
6070 return
6071}
6072
6073// SelectObjectContent API operation for Amazon Simple Storage Service.
6074//
6075// This operation filters the contents of an Amazon S3 object based on a simple
6076// Structured Query Language (SQL) statement. In the request, along with the
6077// SQL expression, you must also specify a data serialization format (JSON or
6078// CSV) of the object. Amazon S3 uses this to parse object data into records,
6079// and returns only records that match the specified SQL expression. You must
6080// also specify the data serialization format for the response.
6081//
6082// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6083// with awserr.Error's Code and Message methods to get detailed information about
6084// the error.
6085//
6086// See the AWS API reference guide for Amazon Simple Storage Service's
6087// API operation SelectObjectContent for usage and error information.
6088// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContent
6089func (c *S3) SelectObjectContent(input *SelectObjectContentInput) (*SelectObjectContentOutput, error) {
6090 req, out := c.SelectObjectContentRequest(input)
6091 return out, req.Send()
6092}
6093
6094// SelectObjectContentWithContext is the same as SelectObjectContent with the addition of
6095// the ability to pass a context and additional request options.
6096//
6097// See SelectObjectContent for details on how to use this API operation.
6098//
6099// The context must be non-nil and will be used for request cancellation. If
6100// the context is nil a panic will occur. In the future the SDK may create
6101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6102// for more information on using Contexts.
6103func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObjectContentInput, opts ...request.Option) (*SelectObjectContentOutput, error) {
6104 req, out := c.SelectObjectContentRequest(input)
6105 req.SetContext(ctx)
6106 req.ApplyOptions(opts...)
6107 return out, req.Send()
6108}
6109
5865const opUploadPart = "UploadPart" 6110const opUploadPart = "UploadPart"
5866 6111
5867// UploadPartRequest generates a "aws/request.Request" representing the 6112// UploadPartRequest generates a "aws/request.Request" representing the
5868// client's request for the UploadPart operation. The "output" return 6113// client's request for the UploadPart operation. The "output" return
5869// value can be used to capture response data after the request's "Send" method 6114// value will be populated with the request's response once the request completes
5870// is called. 6115// successfuly.
5871// 6116//
5872// See UploadPart for usage and error information. 6117// Use "Send" method on the returned Request to send the API call to the service.
6118// the "output" return value is not valid until after Send returns without error.
5873// 6119//
5874// Creating a request object using this method should be used when you want to inject 6120// See UploadPart for more information on using the UploadPart
5875// custom logic into the request's lifecycle using a custom handler, or if you want to 6121// API call, and error handling.
5876// access properties on the request object before or after sending the request. If 6122//
5877// you just want the service response, call the UploadPart method directly 6123// This method is useful when you want to inject custom logic or configuration
5878// instead. 6124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5879// 6125//
5880// Note: You must call the "Send" method on the returned request object in order
5881// to execute the request.
5882// 6126//
5883// // Example sending a request using the UploadPartRequest method. 6127// // Example sending a request using the UploadPartRequest method.
5884// req, resp := client.UploadPartRequest(params) 6128// req, resp := client.UploadPartRequest(params)
@@ -5888,7 +6132,7 @@ const opUploadPart = "UploadPart"
5888// fmt.Println(resp) 6132// fmt.Println(resp)
5889// } 6133// }
5890// 6134//
5891// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart 6135// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
5892func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, output *UploadPartOutput) { 6136func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, output *UploadPartOutput) {
5893 op := &request.Operation{ 6137 op := &request.Operation{
5894 Name: opUploadPart, 6138 Name: opUploadPart,
@@ -5921,7 +6165,7 @@ func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, ou
5921// 6165//
5922// See the AWS API reference guide for Amazon Simple Storage Service's 6166// See the AWS API reference guide for Amazon Simple Storage Service's
5923// API operation UploadPart for usage and error information. 6167// API operation UploadPart for usage and error information.
5924// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart 6168// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
5925func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) { 6169func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) {
5926 req, out := c.UploadPartRequest(input) 6170 req, out := c.UploadPartRequest(input)
5927 return out, req.Send() 6171 return out, req.Send()
@@ -5947,19 +6191,18 @@ const opUploadPartCopy = "UploadPartCopy"
5947 6191
5948// UploadPartCopyRequest generates a "aws/request.Request" representing the 6192// UploadPartCopyRequest generates a "aws/request.Request" representing the
5949// client's request for the UploadPartCopy operation. The "output" return 6193// client's request for the UploadPartCopy operation. The "output" return
5950// value can be used to capture response data after the request's "Send" method 6194// value will be populated with the request's response once the request completes
5951// is called. 6195// successfuly.
6196//
6197// Use "Send" method on the returned Request to send the API call to the service.
6198// the "output" return value is not valid until after Send returns without error.
5952// 6199//
5953// See UploadPartCopy for usage and error information. 6200// See UploadPartCopy for more information on using the UploadPartCopy
6201// API call, and error handling.
5954// 6202//
5955// Creating a request object using this method should be used when you want to inject 6203// This method is useful when you want to inject custom logic or configuration
5956// custom logic into the request's lifecycle using a custom handler, or if you want to 6204// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5957// access properties on the request object before or after sending the request. If
5958// you just want the service response, call the UploadPartCopy method directly
5959// instead.
5960// 6205//
5961// Note: You must call the "Send" method on the returned request object in order
5962// to execute the request.
5963// 6206//
5964// // Example sending a request using the UploadPartCopyRequest method. 6207// // Example sending a request using the UploadPartCopyRequest method.
5965// req, resp := client.UploadPartCopyRequest(params) 6208// req, resp := client.UploadPartCopyRequest(params)
@@ -5969,7 +6212,7 @@ const opUploadPartCopy = "UploadPartCopy"
5969// fmt.Println(resp) 6212// fmt.Println(resp)
5970// } 6213// }
5971// 6214//
5972// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy 6215// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
5973func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Request, output *UploadPartCopyOutput) { 6216func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Request, output *UploadPartCopyOutput) {
5974 op := &request.Operation{ 6217 op := &request.Operation{
5975 Name: opUploadPartCopy, 6218 Name: opUploadPartCopy,
@@ -5996,7 +6239,7 @@ func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Req
5996// 6239//
5997// See the AWS API reference guide for Amazon Simple Storage Service's 6240// See the AWS API reference guide for Amazon Simple Storage Service's
5998// API operation UploadPartCopy for usage and error information. 6241// API operation UploadPartCopy for usage and error information.
5999// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy 6242// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
6000func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) { 6243func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) {
6001 req, out := c.UploadPartCopyRequest(input) 6244 req, out := c.UploadPartCopyRequest(input)
6002 return out, req.Send() 6245 return out, req.Send()
@@ -6020,7 +6263,6 @@ func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInp
6020 6263
6021// Specifies the days since the initiation of an Incomplete Multipart Upload 6264// Specifies the days since the initiation of an Incomplete Multipart Upload
6022// that Lifecycle will wait before permanently removing all parts of the upload. 6265// that Lifecycle will wait before permanently removing all parts of the upload.
6023// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortIncompleteMultipartUpload
6024type AbortIncompleteMultipartUpload struct { 6266type AbortIncompleteMultipartUpload struct {
6025 _ struct{} `type:"structure"` 6267 _ struct{} `type:"structure"`
6026 6268
@@ -6045,7 +6287,6 @@ func (s *AbortIncompleteMultipartUpload) SetDaysAfterInitiation(v int64) *AbortI
6045 return s 6287 return s
6046} 6288}
6047 6289
6048// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUploadRequest
6049type AbortMultipartUploadInput struct { 6290type AbortMultipartUploadInput struct {
6050 _ struct{} `type:"structure"` 6291 _ struct{} `type:"structure"`
6051 6292
@@ -6103,6 +6344,13 @@ func (s *AbortMultipartUploadInput) SetBucket(v string) *AbortMultipartUploadInp
6103 return s 6344 return s
6104} 6345}
6105 6346
6347func (s *AbortMultipartUploadInput) getBucket() (v string) {
6348 if s.Bucket == nil {
6349 return v
6350 }
6351 return *s.Bucket
6352}
6353
6106// SetKey sets the Key field's value. 6354// SetKey sets the Key field's value.
6107func (s *AbortMultipartUploadInput) SetKey(v string) *AbortMultipartUploadInput { 6355func (s *AbortMultipartUploadInput) SetKey(v string) *AbortMultipartUploadInput {
6108 s.Key = &v 6356 s.Key = &v
@@ -6121,7 +6369,6 @@ func (s *AbortMultipartUploadInput) SetUploadId(v string) *AbortMultipartUploadI
6121 return s 6369 return s
6122} 6370}
6123 6371
6124// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUploadOutput
6125type AbortMultipartUploadOutput struct { 6372type AbortMultipartUploadOutput struct {
6126 _ struct{} `type:"structure"` 6373 _ struct{} `type:"structure"`
6127 6374
@@ -6146,7 +6393,6 @@ func (s *AbortMultipartUploadOutput) SetRequestCharged(v string) *AbortMultipart
6146 return s 6393 return s
6147} 6394}
6148 6395
6149// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccelerateConfiguration
6150type AccelerateConfiguration struct { 6396type AccelerateConfiguration struct {
6151 _ struct{} `type:"structure"` 6397 _ struct{} `type:"structure"`
6152 6398
@@ -6170,7 +6416,6 @@ func (s *AccelerateConfiguration) SetStatus(v string) *AccelerateConfiguration {
6170 return s 6416 return s
6171} 6417}
6172 6418
6173// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AccessControlPolicy
6174type AccessControlPolicy struct { 6419type AccessControlPolicy struct {
6175 _ struct{} `type:"structure"` 6420 _ struct{} `type:"structure"`
6176 6421
@@ -6222,7 +6467,45 @@ func (s *AccessControlPolicy) SetOwner(v *Owner) *AccessControlPolicy {
6222 return s 6467 return s
6223} 6468}
6224 6469
6225// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsAndOperator 6470// Container for information regarding the access control for replicas.
6471type AccessControlTranslation struct {
6472 _ struct{} `type:"structure"`
6473
6474 // The override value for the owner of the replica object.
6475 //
6476 // Owner is a required field
6477 Owner *string `type:"string" required:"true" enum:"OwnerOverride"`
6478}
6479
6480// String returns the string representation
6481func (s AccessControlTranslation) String() string {
6482 return awsutil.Prettify(s)
6483}
6484
6485// GoString returns the string representation
6486func (s AccessControlTranslation) GoString() string {
6487 return s.String()
6488}
6489
6490// Validate inspects the fields of the type to determine if they are valid.
6491func (s *AccessControlTranslation) Validate() error {
6492 invalidParams := request.ErrInvalidParams{Context: "AccessControlTranslation"}
6493 if s.Owner == nil {
6494 invalidParams.Add(request.NewErrParamRequired("Owner"))
6495 }
6496
6497 if invalidParams.Len() > 0 {
6498 return invalidParams
6499 }
6500 return nil
6501}
6502
6503// SetOwner sets the Owner field's value.
6504func (s *AccessControlTranslation) SetOwner(v string) *AccessControlTranslation {
6505 s.Owner = &v
6506 return s
6507}
6508
6226type AnalyticsAndOperator struct { 6509type AnalyticsAndOperator struct {
6227 _ struct{} `type:"structure"` 6510 _ struct{} `type:"structure"`
6228 6511
@@ -6275,7 +6558,6 @@ func (s *AnalyticsAndOperator) SetTags(v []*Tag) *AnalyticsAndOperator {
6275 return s 6558 return s
6276} 6559}
6277 6560
6278// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsConfiguration
6279type AnalyticsConfiguration struct { 6561type AnalyticsConfiguration struct {
6280 _ struct{} `type:"structure"` 6562 _ struct{} `type:"structure"`
6281 6563
@@ -6350,7 +6632,6 @@ func (s *AnalyticsConfiguration) SetStorageClassAnalysis(v *StorageClassAnalysis
6350 return s 6632 return s
6351} 6633}
6352 6634
6353// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsExportDestination
6354type AnalyticsExportDestination struct { 6635type AnalyticsExportDestination struct {
6355 _ struct{} `type:"structure"` 6636 _ struct{} `type:"structure"`
6356 6637
@@ -6394,7 +6675,6 @@ func (s *AnalyticsExportDestination) SetS3BucketDestination(v *AnalyticsS3Bucket
6394 return s 6675 return s
6395} 6676}
6396 6677
6397// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsFilter
6398type AnalyticsFilter struct { 6678type AnalyticsFilter struct {
6399 _ struct{} `type:"structure"` 6679 _ struct{} `type:"structure"`
6400 6680
@@ -6457,7 +6737,6 @@ func (s *AnalyticsFilter) SetTag(v *Tag) *AnalyticsFilter {
6457 return s 6737 return s
6458} 6738}
6459 6739
6460// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsS3BucketDestination
6461type AnalyticsS3BucketDestination struct { 6740type AnalyticsS3BucketDestination struct {
6462 _ struct{} `type:"structure"` 6741 _ struct{} `type:"structure"`
6463 6742
@@ -6512,6 +6791,13 @@ func (s *AnalyticsS3BucketDestination) SetBucket(v string) *AnalyticsS3BucketDes
6512 return s 6791 return s
6513} 6792}
6514 6793
6794func (s *AnalyticsS3BucketDestination) getBucket() (v string) {
6795 if s.Bucket == nil {
6796 return v
6797 }
6798 return *s.Bucket
6799}
6800
6515// SetBucketAccountId sets the BucketAccountId field's value. 6801// SetBucketAccountId sets the BucketAccountId field's value.
6516func (s *AnalyticsS3BucketDestination) SetBucketAccountId(v string) *AnalyticsS3BucketDestination { 6802func (s *AnalyticsS3BucketDestination) SetBucketAccountId(v string) *AnalyticsS3BucketDestination {
6517 s.BucketAccountId = &v 6803 s.BucketAccountId = &v
@@ -6530,12 +6816,11 @@ func (s *AnalyticsS3BucketDestination) SetPrefix(v string) *AnalyticsS3BucketDes
6530 return s 6816 return s
6531} 6817}
6532 6818
6533// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Bucket
6534type Bucket struct { 6819type Bucket struct {
6535 _ struct{} `type:"structure"` 6820 _ struct{} `type:"structure"`
6536 6821
6537 // Date the bucket was created. 6822 // Date the bucket was created.
6538 CreationDate *time.Time `type:"timestamp" timestampFormat:"iso8601"` 6823 CreationDate *time.Time `type:"timestamp"`
6539 6824
6540 // The name of the bucket. 6825 // The name of the bucket.
6541 Name *string `type:"string"` 6826 Name *string `type:"string"`
@@ -6563,7 +6848,6 @@ func (s *Bucket) SetName(v string) *Bucket {
6563 return s 6848 return s
6564} 6849}
6565 6850
6566// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketLifecycleConfiguration
6567type BucketLifecycleConfiguration struct { 6851type BucketLifecycleConfiguration struct {
6568 _ struct{} `type:"structure"` 6852 _ struct{} `type:"structure"`
6569 6853
@@ -6610,10 +6894,12 @@ func (s *BucketLifecycleConfiguration) SetRules(v []*LifecycleRule) *BucketLifec
6610 return s 6894 return s
6611} 6895}
6612 6896
6613// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketLoggingStatus
6614type BucketLoggingStatus struct { 6897type BucketLoggingStatus struct {
6615 _ struct{} `type:"structure"` 6898 _ struct{} `type:"structure"`
6616 6899
6900 // Container for logging information. Presence of this element indicates that
6901 // logging is enabled. Parameters TargetBucket and TargetPrefix are required
6902 // in this case.
6617 LoggingEnabled *LoggingEnabled `type:"structure"` 6903 LoggingEnabled *LoggingEnabled `type:"structure"`
6618} 6904}
6619 6905
@@ -6648,7 +6934,6 @@ func (s *BucketLoggingStatus) SetLoggingEnabled(v *LoggingEnabled) *BucketLoggin
6648 return s 6934 return s
6649} 6935}
6650 6936
6651// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CORSConfiguration
6652type CORSConfiguration struct { 6937type CORSConfiguration struct {
6653 _ struct{} `type:"structure"` 6938 _ struct{} `type:"structure"`
6654 6939
@@ -6695,7 +6980,6 @@ func (s *CORSConfiguration) SetCORSRules(v []*CORSRule) *CORSConfiguration {
6695 return s 6980 return s
6696} 6981}
6697 6982
6698// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CORSRule
6699type CORSRule struct { 6983type CORSRule struct {
6700 _ struct{} `type:"structure"` 6984 _ struct{} `type:"structure"`
6701 6985
@@ -6779,7 +7063,149 @@ func (s *CORSRule) SetMaxAgeSeconds(v int64) *CORSRule {
6779 return s 7063 return s
6780} 7064}
6781 7065
6782// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CloudFunctionConfiguration 7066// Describes how a CSV-formatted input object is formatted.
7067type CSVInput struct {
7068 _ struct{} `type:"structure"`
7069
7070 // Specifies that CSV field values may contain quoted record delimiters and
7071 // such records should be allowed. Default value is FALSE. Setting this value
7072 // to TRUE may lower performance.
7073 AllowQuotedRecordDelimiter *bool `type:"boolean"`
7074
7075 // Single character used to indicate a row should be ignored when present at
7076 // the start of a row.
7077 Comments *string `type:"string"`
7078
7079 // Value used to separate individual fields in a record.
7080 FieldDelimiter *string `type:"string"`
7081
7082 // Describes the first line of input. Valid values: None, Ignore, Use.
7083 FileHeaderInfo *string `type:"string" enum:"FileHeaderInfo"`
7084
7085 // Value used for escaping where the field delimiter is part of the value.
7086 QuoteCharacter *string `type:"string"`
7087
7088 // Single character used for escaping the quote character inside an already
7089 // escaped value.
7090 QuoteEscapeCharacter *string `type:"string"`
7091
7092 // Value used to separate individual records.
7093 RecordDelimiter *string `type:"string"`
7094}
7095
7096// String returns the string representation
7097func (s CSVInput) String() string {
7098 return awsutil.Prettify(s)
7099}
7100
7101// GoString returns the string representation
7102func (s CSVInput) GoString() string {
7103 return s.String()
7104}
7105
7106// SetAllowQuotedRecordDelimiter sets the AllowQuotedRecordDelimiter field's value.
7107func (s *CSVInput) SetAllowQuotedRecordDelimiter(v bool) *CSVInput {
7108 s.AllowQuotedRecordDelimiter = &v
7109 return s
7110}
7111
7112// SetComments sets the Comments field's value.
7113func (s *CSVInput) SetComments(v string) *CSVInput {
7114 s.Comments = &v
7115 return s
7116}
7117
7118// SetFieldDelimiter sets the FieldDelimiter field's value.
7119func (s *CSVInput) SetFieldDelimiter(v string) *CSVInput {
7120 s.FieldDelimiter = &v
7121 return s
7122}
7123
7124// SetFileHeaderInfo sets the FileHeaderInfo field's value.
7125func (s *CSVInput) SetFileHeaderInfo(v string) *CSVInput {
7126 s.FileHeaderInfo = &v
7127 return s
7128}
7129
7130// SetQuoteCharacter sets the QuoteCharacter field's value.
7131func (s *CSVInput) SetQuoteCharacter(v string) *CSVInput {
7132 s.QuoteCharacter = &v
7133 return s
7134}
7135
7136// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7137func (s *CSVInput) SetQuoteEscapeCharacter(v string) *CSVInput {
7138 s.QuoteEscapeCharacter = &v
7139 return s
7140}
7141
7142// SetRecordDelimiter sets the RecordDelimiter field's value.
7143func (s *CSVInput) SetRecordDelimiter(v string) *CSVInput {
7144 s.RecordDelimiter = &v
7145 return s
7146}
7147
7148// Describes how CSV-formatted results are formatted.
7149type CSVOutput struct {
7150 _ struct{} `type:"structure"`
7151
7152 // Value used to separate individual fields in a record.
7153 FieldDelimiter *string `type:"string"`
7154
7155 // Value used for escaping where the field delimiter is part of the value.
7156 QuoteCharacter *string `type:"string"`
7157
7158 // Single character used for escaping the quote character inside an already
7159 // escaped value.
7160 QuoteEscapeCharacter *string `type:"string"`
7161
7162 // Indicates whether or not all output fields should be quoted.
7163 QuoteFields *string `type:"string" enum:"QuoteFields"`
7164
7165 // Value used to separate individual records.
7166 RecordDelimiter *string `type:"string"`
7167}
7168
7169// String returns the string representation
7170func (s CSVOutput) String() string {
7171 return awsutil.Prettify(s)
7172}
7173
7174// GoString returns the string representation
7175func (s CSVOutput) GoString() string {
7176 return s.String()
7177}
7178
7179// SetFieldDelimiter sets the FieldDelimiter field's value.
7180func (s *CSVOutput) SetFieldDelimiter(v string) *CSVOutput {
7181 s.FieldDelimiter = &v
7182 return s
7183}
7184
7185// SetQuoteCharacter sets the QuoteCharacter field's value.
7186func (s *CSVOutput) SetQuoteCharacter(v string) *CSVOutput {
7187 s.QuoteCharacter = &v
7188 return s
7189}
7190
7191// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value.
7192func (s *CSVOutput) SetQuoteEscapeCharacter(v string) *CSVOutput {
7193 s.QuoteEscapeCharacter = &v
7194 return s
7195}
7196
7197// SetQuoteFields sets the QuoteFields field's value.
7198func (s *CSVOutput) SetQuoteFields(v string) *CSVOutput {
7199 s.QuoteFields = &v
7200 return s
7201}
7202
7203// SetRecordDelimiter sets the RecordDelimiter field's value.
7204func (s *CSVOutput) SetRecordDelimiter(v string) *CSVOutput {
7205 s.RecordDelimiter = &v
7206 return s
7207}
7208
6783type CloudFunctionConfiguration struct { 7209type CloudFunctionConfiguration struct {
6784 _ struct{} `type:"structure"` 7210 _ struct{} `type:"structure"`
6785 7211
@@ -6837,7 +7263,6 @@ func (s *CloudFunctionConfiguration) SetInvocationRole(v string) *CloudFunctionC
6837 return s 7263 return s
6838} 7264}
6839 7265
6840// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CommonPrefix
6841type CommonPrefix struct { 7266type CommonPrefix struct {
6842 _ struct{} `type:"structure"` 7267 _ struct{} `type:"structure"`
6843 7268
@@ -6860,7 +7285,6 @@ func (s *CommonPrefix) SetPrefix(v string) *CommonPrefix {
6860 return s 7285 return s
6861} 7286}
6862 7287
6863// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUploadRequest
6864type CompleteMultipartUploadInput struct { 7288type CompleteMultipartUploadInput struct {
6865 _ struct{} `type:"structure" payload:"MultipartUpload"` 7289 _ struct{} `type:"structure" payload:"MultipartUpload"`
6866 7290
@@ -6870,7 +7294,7 @@ type CompleteMultipartUploadInput struct {
6870 // Key is a required field 7294 // Key is a required field
6871 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 7295 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
6872 7296
6873 MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure"` 7297 MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
6874 7298
6875 // Confirms that the requester knows that she or he will be charged for the 7299 // Confirms that the requester knows that she or he will be charged for the
6876 // request. Bucket owners need not specify this parameter in their requests. 7300 // request. Bucket owners need not specify this parameter in their requests.
@@ -6920,6 +7344,13 @@ func (s *CompleteMultipartUploadInput) SetBucket(v string) *CompleteMultipartUpl
6920 return s 7344 return s
6921} 7345}
6922 7346
7347func (s *CompleteMultipartUploadInput) getBucket() (v string) {
7348 if s.Bucket == nil {
7349 return v
7350 }
7351 return *s.Bucket
7352}
7353
6923// SetKey sets the Key field's value. 7354// SetKey sets the Key field's value.
6924func (s *CompleteMultipartUploadInput) SetKey(v string) *CompleteMultipartUploadInput { 7355func (s *CompleteMultipartUploadInput) SetKey(v string) *CompleteMultipartUploadInput {
6925 s.Key = &v 7356 s.Key = &v
@@ -6944,7 +7375,6 @@ func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartU
6944 return s 7375 return s
6945} 7376}
6946 7377
6947// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUploadOutput
6948type CompleteMultipartUploadOutput struct { 7378type CompleteMultipartUploadOutput struct {
6949 _ struct{} `type:"structure"` 7379 _ struct{} `type:"structure"`
6950 7380
@@ -6993,6 +7423,13 @@ func (s *CompleteMultipartUploadOutput) SetBucket(v string) *CompleteMultipartUp
6993 return s 7423 return s
6994} 7424}
6995 7425
7426func (s *CompleteMultipartUploadOutput) getBucket() (v string) {
7427 if s.Bucket == nil {
7428 return v
7429 }
7430 return *s.Bucket
7431}
7432
6996// SetETag sets the ETag field's value. 7433// SetETag sets the ETag field's value.
6997func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput { 7434func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput {
6998 s.ETag = &v 7435 s.ETag = &v
@@ -7041,7 +7478,6 @@ func (s *CompleteMultipartUploadOutput) SetVersionId(v string) *CompleteMultipar
7041 return s 7478 return s
7042} 7479}
7043 7480
7044// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompletedMultipartUpload
7045type CompletedMultipartUpload struct { 7481type CompletedMultipartUpload struct {
7046 _ struct{} `type:"structure"` 7482 _ struct{} `type:"structure"`
7047 7483
@@ -7064,7 +7500,6 @@ func (s *CompletedMultipartUpload) SetParts(v []*CompletedPart) *CompletedMultip
7064 return s 7500 return s
7065} 7501}
7066 7502
7067// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompletedPart
7068type CompletedPart struct { 7503type CompletedPart struct {
7069 _ struct{} `type:"structure"` 7504 _ struct{} `type:"structure"`
7070 7505
@@ -7098,7 +7533,6 @@ func (s *CompletedPart) SetPartNumber(v int64) *CompletedPart {
7098 return s 7533 return s
7099} 7534}
7100 7535
7101// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Condition
7102type Condition struct { 7536type Condition struct {
7103 _ struct{} `type:"structure"` 7537 _ struct{} `type:"structure"`
7104 7538
@@ -7141,7 +7575,32 @@ func (s *Condition) SetKeyPrefixEquals(v string) *Condition {
7141 return s 7575 return s
7142} 7576}
7143 7577
7144// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectRequest 7578type ContinuationEvent struct {
7579 _ struct{} `locationName:"ContinuationEvent" type:"structure"`
7580}
7581
7582// String returns the string representation
7583func (s ContinuationEvent) String() string {
7584 return awsutil.Prettify(s)
7585}
7586
7587// GoString returns the string representation
7588func (s ContinuationEvent) GoString() string {
7589 return s.String()
7590}
7591
7592// The ContinuationEvent is and event in the SelectObjectContentEventStream group of events.
7593func (s *ContinuationEvent) eventSelectObjectContentEventStream() {}
7594
7595// UnmarshalEvent unmarshals the EventStream Message into the ContinuationEvent value.
7596// This method is only used internally within the SDK's EventStream handling.
7597func (s *ContinuationEvent) UnmarshalEvent(
7598 payloadUnmarshaler protocol.PayloadUnmarshaler,
7599 msg eventstream.Message,
7600) error {
7601 return nil
7602}
7603
7145type CopyObjectInput struct { 7604type CopyObjectInput struct {
7146 _ struct{} `type:"structure"` 7605 _ struct{} `type:"structure"`
7147 7606
@@ -7178,14 +7637,14 @@ type CopyObjectInput struct {
7178 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"` 7637 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
7179 7638
7180 // Copies the object if it has been modified since the specified time. 7639 // Copies the object if it has been modified since the specified time.
7181 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp" timestampFormat:"rfc822"` 7640 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"`
7182 7641
7183 // Copies the object if its entity tag (ETag) is different than the specified 7642 // Copies the object if its entity tag (ETag) is different than the specified
7184 // ETag. 7643 // ETag.
7185 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"` 7644 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
7186 7645
7187 // Copies the object if it hasn't been modified since the specified time. 7646 // Copies the object if it hasn't been modified since the specified time.
7188 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp" timestampFormat:"rfc822"` 7647 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
7189 7648
7190 // Specifies the algorithm to use when decrypting the source object (e.g., AES256). 7649 // Specifies the algorithm to use when decrypting the source object (e.g., AES256).
7191 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"` 7650 CopySourceSSECustomerAlgorithm *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-algorithm" type:"string"`
@@ -7201,7 +7660,7 @@ type CopyObjectInput struct {
7201 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"` 7660 CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
7202 7661
7203 // The date and time at which the object is no longer cacheable. 7662 // The date and time at which the object is no longer cacheable.
7204 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"` 7663 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
7205 7664
7206 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. 7665 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
7207 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 7666 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
@@ -7318,6 +7777,13 @@ func (s *CopyObjectInput) SetBucket(v string) *CopyObjectInput {
7318 return s 7777 return s
7319} 7778}
7320 7779
7780func (s *CopyObjectInput) getBucket() (v string) {
7781 if s.Bucket == nil {
7782 return v
7783 }
7784 return *s.Bucket
7785}
7786
7321// SetCacheControl sets the CacheControl field's value. 7787// SetCacheControl sets the CacheControl field's value.
7322func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput { 7788func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput {
7323 s.CacheControl = &v 7789 s.CacheControl = &v
@@ -7390,6 +7856,13 @@ func (s *CopyObjectInput) SetCopySourceSSECustomerKey(v string) *CopyObjectInput
7390 return s 7856 return s
7391} 7857}
7392 7858
7859func (s *CopyObjectInput) getCopySourceSSECustomerKey() (v string) {
7860 if s.CopySourceSSECustomerKey == nil {
7861 return v
7862 }
7863 return *s.CopySourceSSECustomerKey
7864}
7865
7393// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value. 7866// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
7394func (s *CopyObjectInput) SetCopySourceSSECustomerKeyMD5(v string) *CopyObjectInput { 7867func (s *CopyObjectInput) SetCopySourceSSECustomerKeyMD5(v string) *CopyObjectInput {
7395 s.CopySourceSSECustomerKeyMD5 = &v 7868 s.CopySourceSSECustomerKeyMD5 = &v
@@ -7462,6 +7935,13 @@ func (s *CopyObjectInput) SetSSECustomerKey(v string) *CopyObjectInput {
7462 return s 7935 return s
7463} 7936}
7464 7937
7938func (s *CopyObjectInput) getSSECustomerKey() (v string) {
7939 if s.SSECustomerKey == nil {
7940 return v
7941 }
7942 return *s.SSECustomerKey
7943}
7944
7465// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 7945// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
7466func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput { 7946func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput {
7467 s.SSECustomerKeyMD5 = &v 7947 s.SSECustomerKeyMD5 = &v
@@ -7504,7 +7984,6 @@ func (s *CopyObjectInput) SetWebsiteRedirectLocation(v string) *CopyObjectInput
7504 return s 7984 return s
7505} 7985}
7506 7986
7507// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectOutput
7508type CopyObjectOutput struct { 7987type CopyObjectOutput struct {
7509 _ struct{} `type:"structure" payload:"CopyObjectResult"` 7988 _ struct{} `type:"structure" payload:"CopyObjectResult"`
7510 7989
@@ -7605,13 +8084,12 @@ func (s *CopyObjectOutput) SetVersionId(v string) *CopyObjectOutput {
7605 return s 8084 return s
7606} 8085}
7607 8086
7608// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectResult
7609type CopyObjectResult struct { 8087type CopyObjectResult struct {
7610 _ struct{} `type:"structure"` 8088 _ struct{} `type:"structure"`
7611 8089
7612 ETag *string `type:"string"` 8090 ETag *string `type:"string"`
7613 8091
7614 LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` 8092 LastModified *time.Time `type:"timestamp"`
7615} 8093}
7616 8094
7617// String returns the string representation 8095// String returns the string representation
@@ -7636,7 +8114,6 @@ func (s *CopyObjectResult) SetLastModified(v time.Time) *CopyObjectResult {
7636 return s 8114 return s
7637} 8115}
7638 8116
7639// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyPartResult
7640type CopyPartResult struct { 8117type CopyPartResult struct {
7641 _ struct{} `type:"structure"` 8118 _ struct{} `type:"structure"`
7642 8119
@@ -7644,7 +8121,7 @@ type CopyPartResult struct {
7644 ETag *string `type:"string"` 8121 ETag *string `type:"string"`
7645 8122
7646 // Date and time at which the object was uploaded. 8123 // Date and time at which the object was uploaded.
7647 LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` 8124 LastModified *time.Time `type:"timestamp"`
7648} 8125}
7649 8126
7650// String returns the string representation 8127// String returns the string representation
@@ -7669,7 +8146,6 @@ func (s *CopyPartResult) SetLastModified(v time.Time) *CopyPartResult {
7669 return s 8146 return s
7670} 8147}
7671 8148
7672// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketConfiguration
7673type CreateBucketConfiguration struct { 8149type CreateBucketConfiguration struct {
7674 _ struct{} `type:"structure"` 8150 _ struct{} `type:"structure"`
7675 8151
@@ -7694,7 +8170,6 @@ func (s *CreateBucketConfiguration) SetLocationConstraint(v string) *CreateBucke
7694 return s 8170 return s
7695} 8171}
7696 8172
7697// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketRequest
7698type CreateBucketInput struct { 8173type CreateBucketInput struct {
7699 _ struct{} `type:"structure" payload:"CreateBucketConfiguration"` 8174 _ struct{} `type:"structure" payload:"CreateBucketConfiguration"`
7700 8175
@@ -7704,7 +8179,7 @@ type CreateBucketInput struct {
7704 // Bucket is a required field 8179 // Bucket is a required field
7705 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 8180 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
7706 8181
7707 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure"` 8182 CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
7708 8183
7709 // Allows grantee the read, write, read ACP, and write ACP permissions on the 8184 // Allows grantee the read, write, read ACP, and write ACP permissions on the
7710 // bucket. 8185 // bucket.
@@ -7758,6 +8233,13 @@ func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput {
7758 return s 8233 return s
7759} 8234}
7760 8235
8236func (s *CreateBucketInput) getBucket() (v string) {
8237 if s.Bucket == nil {
8238 return v
8239 }
8240 return *s.Bucket
8241}
8242
7761// SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value. 8243// SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value.
7762func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput { 8244func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput {
7763 s.CreateBucketConfiguration = v 8245 s.CreateBucketConfiguration = v
@@ -7794,7 +8276,6 @@ func (s *CreateBucketInput) SetGrantWriteACP(v string) *CreateBucketInput {
7794 return s 8276 return s
7795} 8277}
7796 8278
7797// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketOutput
7798type CreateBucketOutput struct { 8279type CreateBucketOutput struct {
7799 _ struct{} `type:"structure"` 8280 _ struct{} `type:"structure"`
7800 8281
@@ -7817,7 +8298,6 @@ func (s *CreateBucketOutput) SetLocation(v string) *CreateBucketOutput {
7817 return s 8298 return s
7818} 8299}
7819 8300
7820// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUploadRequest
7821type CreateMultipartUploadInput struct { 8301type CreateMultipartUploadInput struct {
7822 _ struct{} `type:"structure"` 8302 _ struct{} `type:"structure"`
7823 8303
@@ -7845,7 +8325,7 @@ type CreateMultipartUploadInput struct {
7845 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 8325 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
7846 8326
7847 // The date and time at which the object is no longer cacheable. 8327 // The date and time at which the object is no longer cacheable.
7848 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"` 8328 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
7849 8329
7850 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. 8330 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
7851 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 8331 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
@@ -7899,6 +8379,9 @@ type CreateMultipartUploadInput struct {
7899 // The type of storage to use for the object. Defaults to 'STANDARD'. 8379 // The type of storage to use for the object. Defaults to 'STANDARD'.
7900 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` 8380 StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
7901 8381
8382 // The tag-set for the object. The tag-set must be encoded as URL Query parameters
8383 Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
8384
7902 // If the bucket is configured as a website, redirects requests for this object 8385 // If the bucket is configured as a website, redirects requests for this object
7903 // to another object in the same bucket or to an external URL. Amazon S3 stores 8386 // to another object in the same bucket or to an external URL. Amazon S3 stores
7904 // the value of this header in the object metadata. 8387 // the value of this header in the object metadata.
@@ -7946,6 +8429,13 @@ func (s *CreateMultipartUploadInput) SetBucket(v string) *CreateMultipartUploadI
7946 return s 8429 return s
7947} 8430}
7948 8431
8432func (s *CreateMultipartUploadInput) getBucket() (v string) {
8433 if s.Bucket == nil {
8434 return v
8435 }
8436 return *s.Bucket
8437}
8438
7949// SetCacheControl sets the CacheControl field's value. 8439// SetCacheControl sets the CacheControl field's value.
7950func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartUploadInput { 8440func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartUploadInput {
7951 s.CacheControl = &v 8441 s.CacheControl = &v
@@ -8036,6 +8526,13 @@ func (s *CreateMultipartUploadInput) SetSSECustomerKey(v string) *CreateMultipar
8036 return s 8526 return s
8037} 8527}
8038 8528
8529func (s *CreateMultipartUploadInput) getSSECustomerKey() (v string) {
8530 if s.SSECustomerKey == nil {
8531 return v
8532 }
8533 return *s.SSECustomerKey
8534}
8535
8039// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 8536// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
8040func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadInput { 8537func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadInput {
8041 s.SSECustomerKeyMD5 = &v 8538 s.SSECustomerKeyMD5 = &v
@@ -8060,18 +8557,23 @@ func (s *CreateMultipartUploadInput) SetStorageClass(v string) *CreateMultipartU
8060 return s 8557 return s
8061} 8558}
8062 8559
8560// SetTagging sets the Tagging field's value.
8561func (s *CreateMultipartUploadInput) SetTagging(v string) *CreateMultipartUploadInput {
8562 s.Tagging = &v
8563 return s
8564}
8565
8063// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value. 8566// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
8064func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *CreateMultipartUploadInput { 8567func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *CreateMultipartUploadInput {
8065 s.WebsiteRedirectLocation = &v 8568 s.WebsiteRedirectLocation = &v
8066 return s 8569 return s
8067} 8570}
8068 8571
8069// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUploadOutput
8070type CreateMultipartUploadOutput struct { 8572type CreateMultipartUploadOutput struct {
8071 _ struct{} `type:"structure"` 8573 _ struct{} `type:"structure"`
8072 8574
8073 // Date when multipart upload will become eligible for abort operation by lifecycle. 8575 // Date when multipart upload will become eligible for abort operation by lifecycle.
8074 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp" timestampFormat:"rfc822"` 8576 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"`
8075 8577
8076 // Id of the lifecycle rule that makes a multipart upload eligible for abort 8578 // Id of the lifecycle rule that makes a multipart upload eligible for abort
8077 // operation. 8579 // operation.
@@ -8137,6 +8639,13 @@ func (s *CreateMultipartUploadOutput) SetBucket(v string) *CreateMultipartUpload
8137 return s 8639 return s
8138} 8640}
8139 8641
8642func (s *CreateMultipartUploadOutput) getBucket() (v string) {
8643 if s.Bucket == nil {
8644 return v
8645 }
8646 return *s.Bucket
8647}
8648
8140// SetKey sets the Key field's value. 8649// SetKey sets the Key field's value.
8141func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput { 8650func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput {
8142 s.Key = &v 8651 s.Key = &v
@@ -8179,7 +8688,6 @@ func (s *CreateMultipartUploadOutput) SetUploadId(v string) *CreateMultipartUplo
8179 return s 8688 return s
8180} 8689}
8181 8690
8182// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Delete
8183type Delete struct { 8691type Delete struct {
8184 _ struct{} `type:"structure"` 8692 _ struct{} `type:"structure"`
8185 8693
@@ -8236,7 +8744,6 @@ func (s *Delete) SetQuiet(v bool) *Delete {
8236 return s 8744 return s
8237} 8745}
8238 8746
8239// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfigurationRequest
8240type DeleteBucketAnalyticsConfigurationInput struct { 8747type DeleteBucketAnalyticsConfigurationInput struct {
8241 _ struct{} `type:"structure"` 8748 _ struct{} `type:"structure"`
8242 8749
@@ -8283,13 +8790,19 @@ func (s *DeleteBucketAnalyticsConfigurationInput) SetBucket(v string) *DeleteBuc
8283 return s 8790 return s
8284} 8791}
8285 8792
8793func (s *DeleteBucketAnalyticsConfigurationInput) getBucket() (v string) {
8794 if s.Bucket == nil {
8795 return v
8796 }
8797 return *s.Bucket
8798}
8799
8286// SetId sets the Id field's value. 8800// SetId sets the Id field's value.
8287func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketAnalyticsConfigurationInput { 8801func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketAnalyticsConfigurationInput {
8288 s.Id = &v 8802 s.Id = &v
8289 return s 8803 return s
8290} 8804}
8291 8805
8292// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfigurationOutput
8293type DeleteBucketAnalyticsConfigurationOutput struct { 8806type DeleteBucketAnalyticsConfigurationOutput struct {
8294 _ struct{} `type:"structure"` 8807 _ struct{} `type:"structure"`
8295} 8808}
@@ -8304,7 +8817,6 @@ func (s DeleteBucketAnalyticsConfigurationOutput) GoString() string {
8304 return s.String() 8817 return s.String()
8305} 8818}
8306 8819
8307// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCorsRequest
8308type DeleteBucketCorsInput struct { 8820type DeleteBucketCorsInput struct {
8309 _ struct{} `type:"structure"` 8821 _ struct{} `type:"structure"`
8310 8822
@@ -8341,7 +8853,13 @@ func (s *DeleteBucketCorsInput) SetBucket(v string) *DeleteBucketCorsInput {
8341 return s 8853 return s
8342} 8854}
8343 8855
8344// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCorsOutput 8856func (s *DeleteBucketCorsInput) getBucket() (v string) {
8857 if s.Bucket == nil {
8858 return v
8859 }
8860 return *s.Bucket
8861}
8862
8345type DeleteBucketCorsOutput struct { 8863type DeleteBucketCorsOutput struct {
8346 _ struct{} `type:"structure"` 8864 _ struct{} `type:"structure"`
8347} 8865}
@@ -8356,7 +8874,66 @@ func (s DeleteBucketCorsOutput) GoString() string {
8356 return s.String() 8874 return s.String()
8357} 8875}
8358 8876
8359// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketRequest 8877type DeleteBucketEncryptionInput struct {
8878 _ struct{} `type:"structure"`
8879
8880 // The name of the bucket containing the server-side encryption configuration
8881 // to delete.
8882 //
8883 // Bucket is a required field
8884 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
8885}
8886
8887// String returns the string representation
8888func (s DeleteBucketEncryptionInput) String() string {
8889 return awsutil.Prettify(s)
8890}
8891
8892// GoString returns the string representation
8893func (s DeleteBucketEncryptionInput) GoString() string {
8894 return s.String()
8895}
8896
8897// Validate inspects the fields of the type to determine if they are valid.
8898func (s *DeleteBucketEncryptionInput) Validate() error {
8899 invalidParams := request.ErrInvalidParams{Context: "DeleteBucketEncryptionInput"}
8900 if s.Bucket == nil {
8901 invalidParams.Add(request.NewErrParamRequired("Bucket"))
8902 }
8903
8904 if invalidParams.Len() > 0 {
8905 return invalidParams
8906 }
8907 return nil
8908}
8909
8910// SetBucket sets the Bucket field's value.
8911func (s *DeleteBucketEncryptionInput) SetBucket(v string) *DeleteBucketEncryptionInput {
8912 s.Bucket = &v
8913 return s
8914}
8915
8916func (s *DeleteBucketEncryptionInput) getBucket() (v string) {
8917 if s.Bucket == nil {
8918 return v
8919 }
8920 return *s.Bucket
8921}
8922
8923type DeleteBucketEncryptionOutput struct {
8924 _ struct{} `type:"structure"`
8925}
8926
8927// String returns the string representation
8928func (s DeleteBucketEncryptionOutput) String() string {
8929 return awsutil.Prettify(s)
8930}
8931
8932// GoString returns the string representation
8933func (s DeleteBucketEncryptionOutput) GoString() string {
8934 return s.String()
8935}
8936
8360type DeleteBucketInput struct { 8937type DeleteBucketInput struct {
8361 _ struct{} `type:"structure"` 8938 _ struct{} `type:"structure"`
8362 8939
@@ -8393,7 +8970,13 @@ func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput {
8393 return s 8970 return s
8394} 8971}
8395 8972
8396// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfigurationRequest 8973func (s *DeleteBucketInput) getBucket() (v string) {
8974 if s.Bucket == nil {
8975 return v
8976 }
8977 return *s.Bucket
8978}
8979
8397type DeleteBucketInventoryConfigurationInput struct { 8980type DeleteBucketInventoryConfigurationInput struct {
8398 _ struct{} `type:"structure"` 8981 _ struct{} `type:"structure"`
8399 8982
@@ -8440,13 +9023,19 @@ func (s *DeleteBucketInventoryConfigurationInput) SetBucket(v string) *DeleteBuc
8440 return s 9023 return s
8441} 9024}
8442 9025
9026func (s *DeleteBucketInventoryConfigurationInput) getBucket() (v string) {
9027 if s.Bucket == nil {
9028 return v
9029 }
9030 return *s.Bucket
9031}
9032
8443// SetId sets the Id field's value. 9033// SetId sets the Id field's value.
8444func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketInventoryConfigurationInput { 9034func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketInventoryConfigurationInput {
8445 s.Id = &v 9035 s.Id = &v
8446 return s 9036 return s
8447} 9037}
8448 9038
8449// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfigurationOutput
8450type DeleteBucketInventoryConfigurationOutput struct { 9039type DeleteBucketInventoryConfigurationOutput struct {
8451 _ struct{} `type:"structure"` 9040 _ struct{} `type:"structure"`
8452} 9041}
@@ -8461,7 +9050,6 @@ func (s DeleteBucketInventoryConfigurationOutput) GoString() string {
8461 return s.String() 9050 return s.String()
8462} 9051}
8463 9052
8464// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycleRequest
8465type DeleteBucketLifecycleInput struct { 9053type DeleteBucketLifecycleInput struct {
8466 _ struct{} `type:"structure"` 9054 _ struct{} `type:"structure"`
8467 9055
@@ -8498,7 +9086,13 @@ func (s *DeleteBucketLifecycleInput) SetBucket(v string) *DeleteBucketLifecycleI
8498 return s 9086 return s
8499} 9087}
8500 9088
8501// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycleOutput 9089func (s *DeleteBucketLifecycleInput) getBucket() (v string) {
9090 if s.Bucket == nil {
9091 return v
9092 }
9093 return *s.Bucket
9094}
9095
8502type DeleteBucketLifecycleOutput struct { 9096type DeleteBucketLifecycleOutput struct {
8503 _ struct{} `type:"structure"` 9097 _ struct{} `type:"structure"`
8504} 9098}
@@ -8513,7 +9107,6 @@ func (s DeleteBucketLifecycleOutput) GoString() string {
8513 return s.String() 9107 return s.String()
8514} 9108}
8515 9109
8516// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfigurationRequest
8517type DeleteBucketMetricsConfigurationInput struct { 9110type DeleteBucketMetricsConfigurationInput struct {
8518 _ struct{} `type:"structure"` 9111 _ struct{} `type:"structure"`
8519 9112
@@ -8560,13 +9153,19 @@ func (s *DeleteBucketMetricsConfigurationInput) SetBucket(v string) *DeleteBucke
8560 return s 9153 return s
8561} 9154}
8562 9155
9156func (s *DeleteBucketMetricsConfigurationInput) getBucket() (v string) {
9157 if s.Bucket == nil {
9158 return v
9159 }
9160 return *s.Bucket
9161}
9162
8563// SetId sets the Id field's value. 9163// SetId sets the Id field's value.
8564func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMetricsConfigurationInput { 9164func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMetricsConfigurationInput {
8565 s.Id = &v 9165 s.Id = &v
8566 return s 9166 return s
8567} 9167}
8568 9168
8569// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfigurationOutput
8570type DeleteBucketMetricsConfigurationOutput struct { 9169type DeleteBucketMetricsConfigurationOutput struct {
8571 _ struct{} `type:"structure"` 9170 _ struct{} `type:"structure"`
8572} 9171}
@@ -8581,7 +9180,6 @@ func (s DeleteBucketMetricsConfigurationOutput) GoString() string {
8581 return s.String() 9180 return s.String()
8582} 9181}
8583 9182
8584// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketOutput
8585type DeleteBucketOutput struct { 9183type DeleteBucketOutput struct {
8586 _ struct{} `type:"structure"` 9184 _ struct{} `type:"structure"`
8587} 9185}
@@ -8596,7 +9194,6 @@ func (s DeleteBucketOutput) GoString() string {
8596 return s.String() 9194 return s.String()
8597} 9195}
8598 9196
8599// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicyRequest
8600type DeleteBucketPolicyInput struct { 9197type DeleteBucketPolicyInput struct {
8601 _ struct{} `type:"structure"` 9198 _ struct{} `type:"structure"`
8602 9199
@@ -8633,7 +9230,13 @@ func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput {
8633 return s 9230 return s
8634} 9231}
8635 9232
8636// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicyOutput 9233func (s *DeleteBucketPolicyInput) getBucket() (v string) {
9234 if s.Bucket == nil {
9235 return v
9236 }
9237 return *s.Bucket
9238}
9239
8637type DeleteBucketPolicyOutput struct { 9240type DeleteBucketPolicyOutput struct {
8638 _ struct{} `type:"structure"` 9241 _ struct{} `type:"structure"`
8639} 9242}
@@ -8648,7 +9251,6 @@ func (s DeleteBucketPolicyOutput) GoString() string {
8648 return s.String() 9251 return s.String()
8649} 9252}
8650 9253
8651// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplicationRequest
8652type DeleteBucketReplicationInput struct { 9254type DeleteBucketReplicationInput struct {
8653 _ struct{} `type:"structure"` 9255 _ struct{} `type:"structure"`
8654 9256
@@ -8685,7 +9287,13 @@ func (s *DeleteBucketReplicationInput) SetBucket(v string) *DeleteBucketReplicat
8685 return s 9287 return s
8686} 9288}
8687 9289
8688// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplicationOutput 9290func (s *DeleteBucketReplicationInput) getBucket() (v string) {
9291 if s.Bucket == nil {
9292 return v
9293 }
9294 return *s.Bucket
9295}
9296
8689type DeleteBucketReplicationOutput struct { 9297type DeleteBucketReplicationOutput struct {
8690 _ struct{} `type:"structure"` 9298 _ struct{} `type:"structure"`
8691} 9299}
@@ -8700,7 +9308,6 @@ func (s DeleteBucketReplicationOutput) GoString() string {
8700 return s.String() 9308 return s.String()
8701} 9309}
8702 9310
8703// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTaggingRequest
8704type DeleteBucketTaggingInput struct { 9311type DeleteBucketTaggingInput struct {
8705 _ struct{} `type:"structure"` 9312 _ struct{} `type:"structure"`
8706 9313
@@ -8737,7 +9344,13 @@ func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput
8737 return s 9344 return s
8738} 9345}
8739 9346
8740// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTaggingOutput 9347func (s *DeleteBucketTaggingInput) getBucket() (v string) {
9348 if s.Bucket == nil {
9349 return v
9350 }
9351 return *s.Bucket
9352}
9353
8741type DeleteBucketTaggingOutput struct { 9354type DeleteBucketTaggingOutput struct {
8742 _ struct{} `type:"structure"` 9355 _ struct{} `type:"structure"`
8743} 9356}
@@ -8752,7 +9365,6 @@ func (s DeleteBucketTaggingOutput) GoString() string {
8752 return s.String() 9365 return s.String()
8753} 9366}
8754 9367
8755// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsiteRequest
8756type DeleteBucketWebsiteInput struct { 9368type DeleteBucketWebsiteInput struct {
8757 _ struct{} `type:"structure"` 9369 _ struct{} `type:"structure"`
8758 9370
@@ -8789,7 +9401,13 @@ func (s *DeleteBucketWebsiteInput) SetBucket(v string) *DeleteBucketWebsiteInput
8789 return s 9401 return s
8790} 9402}
8791 9403
8792// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsiteOutput 9404func (s *DeleteBucketWebsiteInput) getBucket() (v string) {
9405 if s.Bucket == nil {
9406 return v
9407 }
9408 return *s.Bucket
9409}
9410
8793type DeleteBucketWebsiteOutput struct { 9411type DeleteBucketWebsiteOutput struct {
8794 _ struct{} `type:"structure"` 9412 _ struct{} `type:"structure"`
8795} 9413}
@@ -8804,7 +9422,6 @@ func (s DeleteBucketWebsiteOutput) GoString() string {
8804 return s.String() 9422 return s.String()
8805} 9423}
8806 9424
8807// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteMarkerEntry
8808type DeleteMarkerEntry struct { 9425type DeleteMarkerEntry struct {
8809 _ struct{} `type:"structure"` 9426 _ struct{} `type:"structure"`
8810 9427
@@ -8816,7 +9433,7 @@ type DeleteMarkerEntry struct {
8816 Key *string `min:"1" type:"string"` 9433 Key *string `min:"1" type:"string"`
8817 9434
8818 // Date and time the object was last modified. 9435 // Date and time the object was last modified.
8819 LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` 9436 LastModified *time.Time `type:"timestamp"`
8820 9437
8821 Owner *Owner `type:"structure"` 9438 Owner *Owner `type:"structure"`
8822 9439
@@ -8864,7 +9481,6 @@ func (s *DeleteMarkerEntry) SetVersionId(v string) *DeleteMarkerEntry {
8864 return s 9481 return s
8865} 9482}
8866 9483
8867// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectRequest
8868type DeleteObjectInput struct { 9484type DeleteObjectInput struct {
8869 _ struct{} `type:"structure"` 9485 _ struct{} `type:"structure"`
8870 9486
@@ -8923,6 +9539,13 @@ func (s *DeleteObjectInput) SetBucket(v string) *DeleteObjectInput {
8923 return s 9539 return s
8924} 9540}
8925 9541
9542func (s *DeleteObjectInput) getBucket() (v string) {
9543 if s.Bucket == nil {
9544 return v
9545 }
9546 return *s.Bucket
9547}
9548
8926// SetKey sets the Key field's value. 9549// SetKey sets the Key field's value.
8927func (s *DeleteObjectInput) SetKey(v string) *DeleteObjectInput { 9550func (s *DeleteObjectInput) SetKey(v string) *DeleteObjectInput {
8928 s.Key = &v 9551 s.Key = &v
@@ -8947,7 +9570,6 @@ func (s *DeleteObjectInput) SetVersionId(v string) *DeleteObjectInput {
8947 return s 9570 return s
8948} 9571}
8949 9572
8950// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectOutput
8951type DeleteObjectOutput struct { 9573type DeleteObjectOutput struct {
8952 _ struct{} `type:"structure"` 9574 _ struct{} `type:"structure"`
8953 9575
@@ -8992,7 +9614,6 @@ func (s *DeleteObjectOutput) SetVersionId(v string) *DeleteObjectOutput {
8992 return s 9614 return s
8993} 9615}
8994 9616
8995// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTaggingRequest
8996type DeleteObjectTaggingInput struct { 9617type DeleteObjectTaggingInput struct {
8997 _ struct{} `type:"structure"` 9618 _ struct{} `type:"structure"`
8998 9619
@@ -9041,6 +9662,13 @@ func (s *DeleteObjectTaggingInput) SetBucket(v string) *DeleteObjectTaggingInput
9041 return s 9662 return s
9042} 9663}
9043 9664
9665func (s *DeleteObjectTaggingInput) getBucket() (v string) {
9666 if s.Bucket == nil {
9667 return v
9668 }
9669 return *s.Bucket
9670}
9671
9044// SetKey sets the Key field's value. 9672// SetKey sets the Key field's value.
9045func (s *DeleteObjectTaggingInput) SetKey(v string) *DeleteObjectTaggingInput { 9673func (s *DeleteObjectTaggingInput) SetKey(v string) *DeleteObjectTaggingInput {
9046 s.Key = &v 9674 s.Key = &v
@@ -9053,7 +9681,6 @@ func (s *DeleteObjectTaggingInput) SetVersionId(v string) *DeleteObjectTaggingIn
9053 return s 9681 return s
9054} 9682}
9055 9683
9056// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTaggingOutput
9057type DeleteObjectTaggingOutput struct { 9684type DeleteObjectTaggingOutput struct {
9058 _ struct{} `type:"structure"` 9685 _ struct{} `type:"structure"`
9059 9686
@@ -9077,7 +9704,6 @@ func (s *DeleteObjectTaggingOutput) SetVersionId(v string) *DeleteObjectTaggingO
9077 return s 9704 return s
9078} 9705}
9079 9706
9080// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectsRequest
9081type DeleteObjectsInput struct { 9707type DeleteObjectsInput struct {
9082 _ struct{} `type:"structure" payload:"Delete"` 9708 _ struct{} `type:"structure" payload:"Delete"`
9083 9709
@@ -9085,7 +9711,7 @@ type DeleteObjectsInput struct {
9085 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 9711 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
9086 9712
9087 // Delete is a required field 9713 // Delete is a required field
9088 Delete *Delete `locationName:"Delete" type:"structure" required:"true"` 9714 Delete *Delete `locationName:"Delete" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
9089 9715
9090 // The concatenation of the authentication device's serial number, a space, 9716 // The concatenation of the authentication device's serial number, a space,
9091 // and the value that is displayed on your authentication device. 9717 // and the value that is displayed on your authentication device.
@@ -9135,6 +9761,13 @@ func (s *DeleteObjectsInput) SetBucket(v string) *DeleteObjectsInput {
9135 return s 9761 return s
9136} 9762}
9137 9763
9764func (s *DeleteObjectsInput) getBucket() (v string) {
9765 if s.Bucket == nil {
9766 return v
9767 }
9768 return *s.Bucket
9769}
9770
9138// SetDelete sets the Delete field's value. 9771// SetDelete sets the Delete field's value.
9139func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput { 9772func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput {
9140 s.Delete = v 9773 s.Delete = v
@@ -9153,7 +9786,6 @@ func (s *DeleteObjectsInput) SetRequestPayer(v string) *DeleteObjectsInput {
9153 return s 9786 return s
9154} 9787}
9155 9788
9156// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectsOutput
9157type DeleteObjectsOutput struct { 9789type DeleteObjectsOutput struct {
9158 _ struct{} `type:"structure"` 9790 _ struct{} `type:"structure"`
9159 9791
@@ -9194,7 +9826,6 @@ func (s *DeleteObjectsOutput) SetRequestCharged(v string) *DeleteObjectsOutput {
9194 return s 9826 return s
9195} 9827}
9196 9828
9197// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletedObject
9198type DeletedObject struct { 9829type DeletedObject struct {
9199 _ struct{} `type:"structure"` 9830 _ struct{} `type:"structure"`
9200 9831
@@ -9241,16 +9872,26 @@ func (s *DeletedObject) SetVersionId(v string) *DeletedObject {
9241 return s 9872 return s
9242} 9873}
9243 9874
9244// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Destination 9875// Container for replication destination information.
9245type Destination struct { 9876type Destination struct {
9246 _ struct{} `type:"structure"` 9877 _ struct{} `type:"structure"`
9247 9878
9879 // Container for information regarding the access control for replicas.
9880 AccessControlTranslation *AccessControlTranslation `type:"structure"`
9881
9882 // Account ID of the destination bucket. Currently this is only being verified
9883 // if Access Control Translation is enabled
9884 Account *string `type:"string"`
9885
9248 // Amazon resource name (ARN) of the bucket where you want Amazon S3 to store 9886 // Amazon resource name (ARN) of the bucket where you want Amazon S3 to store
9249 // replicas of the object identified by the rule. 9887 // replicas of the object identified by the rule.
9250 // 9888 //
9251 // Bucket is a required field 9889 // Bucket is a required field
9252 Bucket *string `type:"string" required:"true"` 9890 Bucket *string `type:"string" required:"true"`
9253 9891
9892 // Container for information regarding encryption based configuration for replicas.
9893 EncryptionConfiguration *EncryptionConfiguration `type:"structure"`
9894
9254 // The class of storage used to store the object. 9895 // The class of storage used to store the object.
9255 StorageClass *string `type:"string" enum:"StorageClass"` 9896 StorageClass *string `type:"string" enum:"StorageClass"`
9256} 9897}
@@ -9271,6 +9912,11 @@ func (s *Destination) Validate() error {
9271 if s.Bucket == nil { 9912 if s.Bucket == nil {
9272 invalidParams.Add(request.NewErrParamRequired("Bucket")) 9913 invalidParams.Add(request.NewErrParamRequired("Bucket"))
9273 } 9914 }
9915 if s.AccessControlTranslation != nil {
9916 if err := s.AccessControlTranslation.Validate(); err != nil {
9917 invalidParams.AddNested("AccessControlTranslation", err.(request.ErrInvalidParams))
9918 }
9919 }
9274 9920
9275 if invalidParams.Len() > 0 { 9921 if invalidParams.Len() > 0 {
9276 return invalidParams 9922 return invalidParams
@@ -9278,19 +9924,154 @@ func (s *Destination) Validate() error {
9278 return nil 9924 return nil
9279} 9925}
9280 9926
9927// SetAccessControlTranslation sets the AccessControlTranslation field's value.
9928func (s *Destination) SetAccessControlTranslation(v *AccessControlTranslation) *Destination {
9929 s.AccessControlTranslation = v
9930 return s
9931}
9932
9933// SetAccount sets the Account field's value.
9934func (s *Destination) SetAccount(v string) *Destination {
9935 s.Account = &v
9936 return s
9937}
9938
9281// SetBucket sets the Bucket field's value. 9939// SetBucket sets the Bucket field's value.
9282func (s *Destination) SetBucket(v string) *Destination { 9940func (s *Destination) SetBucket(v string) *Destination {
9283 s.Bucket = &v 9941 s.Bucket = &v
9284 return s 9942 return s
9285} 9943}
9286 9944
9945func (s *Destination) getBucket() (v string) {
9946 if s.Bucket == nil {
9947 return v
9948 }
9949 return *s.Bucket
9950}
9951
9952// SetEncryptionConfiguration sets the EncryptionConfiguration field's value.
9953func (s *Destination) SetEncryptionConfiguration(v *EncryptionConfiguration) *Destination {
9954 s.EncryptionConfiguration = v
9955 return s
9956}
9957
9287// SetStorageClass sets the StorageClass field's value. 9958// SetStorageClass sets the StorageClass field's value.
9288func (s *Destination) SetStorageClass(v string) *Destination { 9959func (s *Destination) SetStorageClass(v string) *Destination {
9289 s.StorageClass = &v 9960 s.StorageClass = &v
9290 return s 9961 return s
9291} 9962}
9292 9963
9293// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Error 9964// Describes the server-side encryption that will be applied to the restore
9965// results.
9966type Encryption struct {
9967 _ struct{} `type:"structure"`
9968
9969 // The server-side encryption algorithm used when storing job results in Amazon
9970 // S3 (e.g., AES256, aws:kms).
9971 //
9972 // EncryptionType is a required field
9973 EncryptionType *string `type:"string" required:"true" enum:"ServerSideEncryption"`
9974
9975 // If the encryption type is aws:kms, this optional value can be used to specify
9976 // the encryption context for the restore results.
9977 KMSContext *string `type:"string"`
9978
9979 // If the encryption type is aws:kms, this optional value specifies the AWS
9980 // KMS key ID to use for encryption of job results.
9981 KMSKeyId *string `type:"string"`
9982}
9983
9984// String returns the string representation
9985func (s Encryption) String() string {
9986 return awsutil.Prettify(s)
9987}
9988
9989// GoString returns the string representation
9990func (s Encryption) GoString() string {
9991 return s.String()
9992}
9993
9994// Validate inspects the fields of the type to determine if they are valid.
9995func (s *Encryption) Validate() error {
9996 invalidParams := request.ErrInvalidParams{Context: "Encryption"}
9997 if s.EncryptionType == nil {
9998 invalidParams.Add(request.NewErrParamRequired("EncryptionType"))
9999 }
10000
10001 if invalidParams.Len() > 0 {
10002 return invalidParams
10003 }
10004 return nil
10005}
10006
10007// SetEncryptionType sets the EncryptionType field's value.
10008func (s *Encryption) SetEncryptionType(v string) *Encryption {
10009 s.EncryptionType = &v
10010 return s
10011}
10012
10013// SetKMSContext sets the KMSContext field's value.
10014func (s *Encryption) SetKMSContext(v string) *Encryption {
10015 s.KMSContext = &v
10016 return s
10017}
10018
10019// SetKMSKeyId sets the KMSKeyId field's value.
10020func (s *Encryption) SetKMSKeyId(v string) *Encryption {
10021 s.KMSKeyId = &v
10022 return s
10023}
10024
10025// Container for information regarding encryption based configuration for replicas.
10026type EncryptionConfiguration struct {
10027 _ struct{} `type:"structure"`
10028
10029 // The id of the KMS key used to encrypt the replica object.
10030 ReplicaKmsKeyID *string `type:"string"`
10031}
10032
10033// String returns the string representation
10034func (s EncryptionConfiguration) String() string {
10035 return awsutil.Prettify(s)
10036}
10037
10038// GoString returns the string representation
10039func (s EncryptionConfiguration) GoString() string {
10040 return s.String()
10041}
10042
10043// SetReplicaKmsKeyID sets the ReplicaKmsKeyID field's value.
10044func (s *EncryptionConfiguration) SetReplicaKmsKeyID(v string) *EncryptionConfiguration {
10045 s.ReplicaKmsKeyID = &v
10046 return s
10047}
10048
10049type EndEvent struct {
10050 _ struct{} `locationName:"EndEvent" type:"structure"`
10051}
10052
10053// String returns the string representation
10054func (s EndEvent) String() string {
10055 return awsutil.Prettify(s)
10056}
10057
10058// GoString returns the string representation
10059func (s EndEvent) GoString() string {
10060 return s.String()
10061}
10062
10063// The EndEvent is and event in the SelectObjectContentEventStream group of events.
10064func (s *EndEvent) eventSelectObjectContentEventStream() {}
10065
10066// UnmarshalEvent unmarshals the EventStream Message into the EndEvent value.
10067// This method is only used internally within the SDK's EventStream handling.
10068func (s *EndEvent) UnmarshalEvent(
10069 payloadUnmarshaler protocol.PayloadUnmarshaler,
10070 msg eventstream.Message,
10071) error {
10072 return nil
10073}
10074
9294type Error struct { 10075type Error struct {
9295 _ struct{} `type:"structure"` 10076 _ struct{} `type:"structure"`
9296 10077
@@ -9337,7 +10118,6 @@ func (s *Error) SetVersionId(v string) *Error {
9337 return s 10118 return s
9338} 10119}
9339 10120
9340// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ErrorDocument
9341type ErrorDocument struct { 10121type ErrorDocument struct {
9342 _ struct{} `type:"structure"` 10122 _ struct{} `type:"structure"`
9343 10123
@@ -9380,7 +10160,6 @@ func (s *ErrorDocument) SetKey(v string) *ErrorDocument {
9380} 10160}
9381 10161
9382// Container for key value pair that defines the criteria for the filter rule. 10162// Container for key value pair that defines the criteria for the filter rule.
9383// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/FilterRule
9384type FilterRule struct { 10163type FilterRule struct {
9385 _ struct{} `type:"structure"` 10164 _ struct{} `type:"structure"`
9386 10165
@@ -9388,6 +10167,7 @@ type FilterRule struct {
9388 // the filtering rule applies. Maximum prefix length can be up to 1,024 characters. 10167 // the filtering rule applies. Maximum prefix length can be up to 1,024 characters.
9389 // Overlapping prefixes and suffixes are not supported. For more information, 10168 // Overlapping prefixes and suffixes are not supported. For more information,
9390 // go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 10169 // go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
10170 // in the Amazon Simple Storage Service Developer Guide.
9391 Name *string `type:"string" enum:"FilterRuleName"` 10171 Name *string `type:"string" enum:"FilterRuleName"`
9392 10172
9393 Value *string `type:"string"` 10173 Value *string `type:"string"`
@@ -9415,7 +10195,6 @@ func (s *FilterRule) SetValue(v string) *FilterRule {
9415 return s 10195 return s
9416} 10196}
9417 10197
9418// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfigurationRequest
9419type GetBucketAccelerateConfigurationInput struct { 10198type GetBucketAccelerateConfigurationInput struct {
9420 _ struct{} `type:"structure"` 10199 _ struct{} `type:"structure"`
9421 10200
@@ -9454,7 +10233,13 @@ func (s *GetBucketAccelerateConfigurationInput) SetBucket(v string) *GetBucketAc
9454 return s 10233 return s
9455} 10234}
9456 10235
9457// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfigurationOutput 10236func (s *GetBucketAccelerateConfigurationInput) getBucket() (v string) {
10237 if s.Bucket == nil {
10238 return v
10239 }
10240 return *s.Bucket
10241}
10242
9458type GetBucketAccelerateConfigurationOutput struct { 10243type GetBucketAccelerateConfigurationOutput struct {
9459 _ struct{} `type:"structure"` 10244 _ struct{} `type:"structure"`
9460 10245
@@ -9478,7 +10263,6 @@ func (s *GetBucketAccelerateConfigurationOutput) SetStatus(v string) *GetBucketA
9478 return s 10263 return s
9479} 10264}
9480 10265
9481// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAclRequest
9482type GetBucketAclInput struct { 10266type GetBucketAclInput struct {
9483 _ struct{} `type:"structure"` 10267 _ struct{} `type:"structure"`
9484 10268
@@ -9515,7 +10299,13 @@ func (s *GetBucketAclInput) SetBucket(v string) *GetBucketAclInput {
9515 return s 10299 return s
9516} 10300}
9517 10301
9518// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAclOutput 10302func (s *GetBucketAclInput) getBucket() (v string) {
10303 if s.Bucket == nil {
10304 return v
10305 }
10306 return *s.Bucket
10307}
10308
9519type GetBucketAclOutput struct { 10309type GetBucketAclOutput struct {
9520 _ struct{} `type:"structure"` 10310 _ struct{} `type:"structure"`
9521 10311
@@ -9547,7 +10337,6 @@ func (s *GetBucketAclOutput) SetOwner(v *Owner) *GetBucketAclOutput {
9547 return s 10337 return s
9548} 10338}
9549 10339
9550// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfigurationRequest
9551type GetBucketAnalyticsConfigurationInput struct { 10340type GetBucketAnalyticsConfigurationInput struct {
9552 _ struct{} `type:"structure"` 10341 _ struct{} `type:"structure"`
9553 10342
@@ -9594,13 +10383,19 @@ func (s *GetBucketAnalyticsConfigurationInput) SetBucket(v string) *GetBucketAna
9594 return s 10383 return s
9595} 10384}
9596 10385
10386func (s *GetBucketAnalyticsConfigurationInput) getBucket() (v string) {
10387 if s.Bucket == nil {
10388 return v
10389 }
10390 return *s.Bucket
10391}
10392
9597// SetId sets the Id field's value. 10393// SetId sets the Id field's value.
9598func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyticsConfigurationInput { 10394func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyticsConfigurationInput {
9599 s.Id = &v 10395 s.Id = &v
9600 return s 10396 return s
9601} 10397}
9602 10398
9603// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfigurationOutput
9604type GetBucketAnalyticsConfigurationOutput struct { 10399type GetBucketAnalyticsConfigurationOutput struct {
9605 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"` 10400 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
9606 10401
@@ -9624,7 +10419,6 @@ func (s *GetBucketAnalyticsConfigurationOutput) SetAnalyticsConfiguration(v *Ana
9624 return s 10419 return s
9625} 10420}
9626 10421
9627// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCorsRequest
9628type GetBucketCorsInput struct { 10422type GetBucketCorsInput struct {
9629 _ struct{} `type:"structure"` 10423 _ struct{} `type:"structure"`
9630 10424
@@ -9661,7 +10455,13 @@ func (s *GetBucketCorsInput) SetBucket(v string) *GetBucketCorsInput {
9661 return s 10455 return s
9662} 10456}
9663 10457
9664// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCorsOutput 10458func (s *GetBucketCorsInput) getBucket() (v string) {
10459 if s.Bucket == nil {
10460 return v
10461 }
10462 return *s.Bucket
10463}
10464
9665type GetBucketCorsOutput struct { 10465type GetBucketCorsOutput struct {
9666 _ struct{} `type:"structure"` 10466 _ struct{} `type:"structure"`
9667 10467
@@ -9684,7 +10484,76 @@ func (s *GetBucketCorsOutput) SetCORSRules(v []*CORSRule) *GetBucketCorsOutput {
9684 return s 10484 return s
9685} 10485}
9686 10486
9687// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfigurationRequest 10487type GetBucketEncryptionInput struct {
10488 _ struct{} `type:"structure"`
10489
10490 // The name of the bucket from which the server-side encryption configuration
10491 // is retrieved.
10492 //
10493 // Bucket is a required field
10494 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
10495}
10496
10497// String returns the string representation
10498func (s GetBucketEncryptionInput) String() string {
10499 return awsutil.Prettify(s)
10500}
10501
10502// GoString returns the string representation
10503func (s GetBucketEncryptionInput) GoString() string {
10504 return s.String()
10505}
10506
10507// Validate inspects the fields of the type to determine if they are valid.
10508func (s *GetBucketEncryptionInput) Validate() error {
10509 invalidParams := request.ErrInvalidParams{Context: "GetBucketEncryptionInput"}
10510 if s.Bucket == nil {
10511 invalidParams.Add(request.NewErrParamRequired("Bucket"))
10512 }
10513
10514 if invalidParams.Len() > 0 {
10515 return invalidParams
10516 }
10517 return nil
10518}
10519
10520// SetBucket sets the Bucket field's value.
10521func (s *GetBucketEncryptionInput) SetBucket(v string) *GetBucketEncryptionInput {
10522 s.Bucket = &v
10523 return s
10524}
10525
10526func (s *GetBucketEncryptionInput) getBucket() (v string) {
10527 if s.Bucket == nil {
10528 return v
10529 }
10530 return *s.Bucket
10531}
10532
10533type GetBucketEncryptionOutput struct {
10534 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
10535
10536 // Container for server-side encryption configuration rules. Currently S3 supports
10537 // one rule only.
10538 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"`
10539}
10540
10541// String returns the string representation
10542func (s GetBucketEncryptionOutput) String() string {
10543 return awsutil.Prettify(s)
10544}
10545
10546// GoString returns the string representation
10547func (s GetBucketEncryptionOutput) GoString() string {
10548 return s.String()
10549}
10550
10551// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
10552func (s *GetBucketEncryptionOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *GetBucketEncryptionOutput {
10553 s.ServerSideEncryptionConfiguration = v
10554 return s
10555}
10556
9688type GetBucketInventoryConfigurationInput struct { 10557type GetBucketInventoryConfigurationInput struct {
9689 _ struct{} `type:"structure"` 10558 _ struct{} `type:"structure"`
9690 10559
@@ -9731,13 +10600,19 @@ func (s *GetBucketInventoryConfigurationInput) SetBucket(v string) *GetBucketInv
9731 return s 10600 return s
9732} 10601}
9733 10602
10603func (s *GetBucketInventoryConfigurationInput) getBucket() (v string) {
10604 if s.Bucket == nil {
10605 return v
10606 }
10607 return *s.Bucket
10608}
10609
9734// SetId sets the Id field's value. 10610// SetId sets the Id field's value.
9735func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInventoryConfigurationInput { 10611func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInventoryConfigurationInput {
9736 s.Id = &v 10612 s.Id = &v
9737 return s 10613 return s
9738} 10614}
9739 10615
9740// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfigurationOutput
9741type GetBucketInventoryConfigurationOutput struct { 10616type GetBucketInventoryConfigurationOutput struct {
9742 _ struct{} `type:"structure" payload:"InventoryConfiguration"` 10617 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
9743 10618
@@ -9761,7 +10636,6 @@ func (s *GetBucketInventoryConfigurationOutput) SetInventoryConfiguration(v *Inv
9761 return s 10636 return s
9762} 10637}
9763 10638
9764// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfigurationRequest
9765type GetBucketLifecycleConfigurationInput struct { 10639type GetBucketLifecycleConfigurationInput struct {
9766 _ struct{} `type:"structure"` 10640 _ struct{} `type:"structure"`
9767 10641
@@ -9798,7 +10672,13 @@ func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLif
9798 return s 10672 return s
9799} 10673}
9800 10674
9801// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfigurationOutput 10675func (s *GetBucketLifecycleConfigurationInput) getBucket() (v string) {
10676 if s.Bucket == nil {
10677 return v
10678 }
10679 return *s.Bucket
10680}
10681
9802type GetBucketLifecycleConfigurationOutput struct { 10682type GetBucketLifecycleConfigurationOutput struct {
9803 _ struct{} `type:"structure"` 10683 _ struct{} `type:"structure"`
9804 10684
@@ -9821,7 +10701,6 @@ func (s *GetBucketLifecycleConfigurationOutput) SetRules(v []*LifecycleRule) *Ge
9821 return s 10701 return s
9822} 10702}
9823 10703
9824// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleRequest
9825type GetBucketLifecycleInput struct { 10704type GetBucketLifecycleInput struct {
9826 _ struct{} `type:"structure"` 10705 _ struct{} `type:"structure"`
9827 10706
@@ -9858,7 +10737,13 @@ func (s *GetBucketLifecycleInput) SetBucket(v string) *GetBucketLifecycleInput {
9858 return s 10737 return s
9859} 10738}
9860 10739
9861// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleOutput 10740func (s *GetBucketLifecycleInput) getBucket() (v string) {
10741 if s.Bucket == nil {
10742 return v
10743 }
10744 return *s.Bucket
10745}
10746
9862type GetBucketLifecycleOutput struct { 10747type GetBucketLifecycleOutput struct {
9863 _ struct{} `type:"structure"` 10748 _ struct{} `type:"structure"`
9864 10749
@@ -9881,7 +10766,6 @@ func (s *GetBucketLifecycleOutput) SetRules(v []*Rule) *GetBucketLifecycleOutput
9881 return s 10766 return s
9882} 10767}
9883 10768
9884// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocationRequest
9885type GetBucketLocationInput struct { 10769type GetBucketLocationInput struct {
9886 _ struct{} `type:"structure"` 10770 _ struct{} `type:"structure"`
9887 10771
@@ -9918,7 +10802,13 @@ func (s *GetBucketLocationInput) SetBucket(v string) *GetBucketLocationInput {
9918 return s 10802 return s
9919} 10803}
9920 10804
9921// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocationOutput 10805func (s *GetBucketLocationInput) getBucket() (v string) {
10806 if s.Bucket == nil {
10807 return v
10808 }
10809 return *s.Bucket
10810}
10811
9922type GetBucketLocationOutput struct { 10812type GetBucketLocationOutput struct {
9923 _ struct{} `type:"structure"` 10813 _ struct{} `type:"structure"`
9924 10814
@@ -9941,7 +10831,6 @@ func (s *GetBucketLocationOutput) SetLocationConstraint(v string) *GetBucketLoca
9941 return s 10831 return s
9942} 10832}
9943 10833
9944// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLoggingRequest
9945type GetBucketLoggingInput struct { 10834type GetBucketLoggingInput struct {
9946 _ struct{} `type:"structure"` 10835 _ struct{} `type:"structure"`
9947 10836
@@ -9978,10 +10867,19 @@ func (s *GetBucketLoggingInput) SetBucket(v string) *GetBucketLoggingInput {
9978 return s 10867 return s
9979} 10868}
9980 10869
9981// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLoggingOutput 10870func (s *GetBucketLoggingInput) getBucket() (v string) {
10871 if s.Bucket == nil {
10872 return v
10873 }
10874 return *s.Bucket
10875}
10876
9982type GetBucketLoggingOutput struct { 10877type GetBucketLoggingOutput struct {
9983 _ struct{} `type:"structure"` 10878 _ struct{} `type:"structure"`
9984 10879
10880 // Container for logging information. Presence of this element indicates that
10881 // logging is enabled. Parameters TargetBucket and TargetPrefix are required
10882 // in this case.
9985 LoggingEnabled *LoggingEnabled `type:"structure"` 10883 LoggingEnabled *LoggingEnabled `type:"structure"`
9986} 10884}
9987 10885
@@ -10001,7 +10899,6 @@ func (s *GetBucketLoggingOutput) SetLoggingEnabled(v *LoggingEnabled) *GetBucket
10001 return s 10899 return s
10002} 10900}
10003 10901
10004// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfigurationRequest
10005type GetBucketMetricsConfigurationInput struct { 10902type GetBucketMetricsConfigurationInput struct {
10006 _ struct{} `type:"structure"` 10903 _ struct{} `type:"structure"`
10007 10904
@@ -10048,13 +10945,19 @@ func (s *GetBucketMetricsConfigurationInput) SetBucket(v string) *GetBucketMetri
10048 return s 10945 return s
10049} 10946}
10050 10947
10948func (s *GetBucketMetricsConfigurationInput) getBucket() (v string) {
10949 if s.Bucket == nil {
10950 return v
10951 }
10952 return *s.Bucket
10953}
10954
10051// SetId sets the Id field's value. 10955// SetId sets the Id field's value.
10052func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsConfigurationInput { 10956func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsConfigurationInput {
10053 s.Id = &v 10957 s.Id = &v
10054 return s 10958 return s
10055} 10959}
10056 10960
10057// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfigurationOutput
10058type GetBucketMetricsConfigurationOutput struct { 10961type GetBucketMetricsConfigurationOutput struct {
10059 _ struct{} `type:"structure" payload:"MetricsConfiguration"` 10962 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
10060 10963
@@ -10078,7 +10981,6 @@ func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *Metrics
10078 return s 10981 return s
10079} 10982}
10080 10983
10081// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfigurationRequest
10082type GetBucketNotificationConfigurationRequest struct { 10984type GetBucketNotificationConfigurationRequest struct {
10083 _ struct{} `type:"structure"` 10985 _ struct{} `type:"structure"`
10084 10986
@@ -10117,7 +11019,13 @@ func (s *GetBucketNotificationConfigurationRequest) SetBucket(v string) *GetBuck
10117 return s 11019 return s
10118} 11020}
10119 11021
10120// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyRequest 11022func (s *GetBucketNotificationConfigurationRequest) getBucket() (v string) {
11023 if s.Bucket == nil {
11024 return v
11025 }
11026 return *s.Bucket
11027}
11028
10121type GetBucketPolicyInput struct { 11029type GetBucketPolicyInput struct {
10122 _ struct{} `type:"structure"` 11030 _ struct{} `type:"structure"`
10123 11031
@@ -10154,7 +11062,13 @@ func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput {
10154 return s 11062 return s
10155} 11063}
10156 11064
10157// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyOutput 11065func (s *GetBucketPolicyInput) getBucket() (v string) {
11066 if s.Bucket == nil {
11067 return v
11068 }
11069 return *s.Bucket
11070}
11071
10158type GetBucketPolicyOutput struct { 11072type GetBucketPolicyOutput struct {
10159 _ struct{} `type:"structure" payload:"Policy"` 11073 _ struct{} `type:"structure" payload:"Policy"`
10160 11074
@@ -10178,7 +11092,6 @@ func (s *GetBucketPolicyOutput) SetPolicy(v string) *GetBucketPolicyOutput {
10178 return s 11092 return s
10179} 11093}
10180 11094
10181// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplicationRequest
10182type GetBucketReplicationInput struct { 11095type GetBucketReplicationInput struct {
10183 _ struct{} `type:"structure"` 11096 _ struct{} `type:"structure"`
10184 11097
@@ -10215,7 +11128,13 @@ func (s *GetBucketReplicationInput) SetBucket(v string) *GetBucketReplicationInp
10215 return s 11128 return s
10216} 11129}
10217 11130
10218// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplicationOutput 11131func (s *GetBucketReplicationInput) getBucket() (v string) {
11132 if s.Bucket == nil {
11133 return v
11134 }
11135 return *s.Bucket
11136}
11137
10219type GetBucketReplicationOutput struct { 11138type GetBucketReplicationOutput struct {
10220 _ struct{} `type:"structure" payload:"ReplicationConfiguration"` 11139 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
10221 11140
@@ -10240,7 +11159,6 @@ func (s *GetBucketReplicationOutput) SetReplicationConfiguration(v *ReplicationC
10240 return s 11159 return s
10241} 11160}
10242 11161
10243// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPaymentRequest
10244type GetBucketRequestPaymentInput struct { 11162type GetBucketRequestPaymentInput struct {
10245 _ struct{} `type:"structure"` 11163 _ struct{} `type:"structure"`
10246 11164
@@ -10277,7 +11195,13 @@ func (s *GetBucketRequestPaymentInput) SetBucket(v string) *GetBucketRequestPaym
10277 return s 11195 return s
10278} 11196}
10279 11197
10280// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPaymentOutput 11198func (s *GetBucketRequestPaymentInput) getBucket() (v string) {
11199 if s.Bucket == nil {
11200 return v
11201 }
11202 return *s.Bucket
11203}
11204
10281type GetBucketRequestPaymentOutput struct { 11205type GetBucketRequestPaymentOutput struct {
10282 _ struct{} `type:"structure"` 11206 _ struct{} `type:"structure"`
10283 11207
@@ -10301,7 +11225,6 @@ func (s *GetBucketRequestPaymentOutput) SetPayer(v string) *GetBucketRequestPaym
10301 return s 11225 return s
10302} 11226}
10303 11227
10304// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTaggingRequest
10305type GetBucketTaggingInput struct { 11228type GetBucketTaggingInput struct {
10306 _ struct{} `type:"structure"` 11229 _ struct{} `type:"structure"`
10307 11230
@@ -10338,7 +11261,13 @@ func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput {
10338 return s 11261 return s
10339} 11262}
10340 11263
10341// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTaggingOutput 11264func (s *GetBucketTaggingInput) getBucket() (v string) {
11265 if s.Bucket == nil {
11266 return v
11267 }
11268 return *s.Bucket
11269}
11270
10342type GetBucketTaggingOutput struct { 11271type GetBucketTaggingOutput struct {
10343 _ struct{} `type:"structure"` 11272 _ struct{} `type:"structure"`
10344 11273
@@ -10362,7 +11291,6 @@ func (s *GetBucketTaggingOutput) SetTagSet(v []*Tag) *GetBucketTaggingOutput {
10362 return s 11291 return s
10363} 11292}
10364 11293
10365// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioningRequest
10366type GetBucketVersioningInput struct { 11294type GetBucketVersioningInput struct {
10367 _ struct{} `type:"structure"` 11295 _ struct{} `type:"structure"`
10368 11296
@@ -10399,7 +11327,13 @@ func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput
10399 return s 11327 return s
10400} 11328}
10401 11329
10402// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioningOutput 11330func (s *GetBucketVersioningInput) getBucket() (v string) {
11331 if s.Bucket == nil {
11332 return v
11333 }
11334 return *s.Bucket
11335}
11336
10403type GetBucketVersioningOutput struct { 11337type GetBucketVersioningOutput struct {
10404 _ struct{} `type:"structure"` 11338 _ struct{} `type:"structure"`
10405 11339
@@ -10434,7 +11368,6 @@ func (s *GetBucketVersioningOutput) SetStatus(v string) *GetBucketVersioningOutp
10434 return s 11368 return s
10435} 11369}
10436 11370
10437// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsiteRequest
10438type GetBucketWebsiteInput struct { 11371type GetBucketWebsiteInput struct {
10439 _ struct{} `type:"structure"` 11372 _ struct{} `type:"structure"`
10440 11373
@@ -10471,7 +11404,13 @@ func (s *GetBucketWebsiteInput) SetBucket(v string) *GetBucketWebsiteInput {
10471 return s 11404 return s
10472} 11405}
10473 11406
10474// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsiteOutput 11407func (s *GetBucketWebsiteInput) getBucket() (v string) {
11408 if s.Bucket == nil {
11409 return v
11410 }
11411 return *s.Bucket
11412}
11413
10475type GetBucketWebsiteOutput struct { 11414type GetBucketWebsiteOutput struct {
10476 _ struct{} `type:"structure"` 11415 _ struct{} `type:"structure"`
10477 11416
@@ -10518,7 +11457,6 @@ func (s *GetBucketWebsiteOutput) SetRoutingRules(v []*RoutingRule) *GetBucketWeb
10518 return s 11457 return s
10519} 11458}
10520 11459
10521// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAclRequest
10522type GetObjectAclInput struct { 11460type GetObjectAclInput struct {
10523 _ struct{} `type:"structure"` 11461 _ struct{} `type:"structure"`
10524 11462
@@ -10573,6 +11511,13 @@ func (s *GetObjectAclInput) SetBucket(v string) *GetObjectAclInput {
10573 return s 11511 return s
10574} 11512}
10575 11513
11514func (s *GetObjectAclInput) getBucket() (v string) {
11515 if s.Bucket == nil {
11516 return v
11517 }
11518 return *s.Bucket
11519}
11520
10576// SetKey sets the Key field's value. 11521// SetKey sets the Key field's value.
10577func (s *GetObjectAclInput) SetKey(v string) *GetObjectAclInput { 11522func (s *GetObjectAclInput) SetKey(v string) *GetObjectAclInput {
10578 s.Key = &v 11523 s.Key = &v
@@ -10591,7 +11536,6 @@ func (s *GetObjectAclInput) SetVersionId(v string) *GetObjectAclInput {
10591 return s 11536 return s
10592} 11537}
10593 11538
10594// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAclOutput
10595type GetObjectAclOutput struct { 11539type GetObjectAclOutput struct {
10596 _ struct{} `type:"structure"` 11540 _ struct{} `type:"structure"`
10597 11541
@@ -10633,7 +11577,6 @@ func (s *GetObjectAclOutput) SetRequestCharged(v string) *GetObjectAclOutput {
10633 return s 11577 return s
10634} 11578}
10635 11579
10636// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRequest
10637type GetObjectInput struct { 11580type GetObjectInput struct {
10638 _ struct{} `type:"structure"` 11581 _ struct{} `type:"structure"`
10639 11582
@@ -10646,7 +11589,7 @@ type GetObjectInput struct {
10646 11589
10647 // Return the object only if it has been modified since the specified time, 11590 // Return the object only if it has been modified since the specified time,
10648 // otherwise return a 304 (not modified). 11591 // otherwise return a 304 (not modified).
10649 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp" timestampFormat:"rfc822"` 11592 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
10650 11593
10651 // Return the object only if its entity tag (ETag) is different from the one 11594 // Return the object only if its entity tag (ETag) is different from the one
10652 // specified, otherwise return a 304 (not modified). 11595 // specified, otherwise return a 304 (not modified).
@@ -10654,7 +11597,7 @@ type GetObjectInput struct {
10654 11597
10655 // Return the object only if it has not been modified since the specified time, 11598 // Return the object only if it has not been modified since the specified time,
10656 // otherwise return a 412 (precondition failed). 11599 // otherwise return a 412 (precondition failed).
10657 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp" timestampFormat:"rfc822"` 11600 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
10658 11601
10659 // Key is a required field 11602 // Key is a required field
10660 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 11603 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
@@ -10690,7 +11633,7 @@ type GetObjectInput struct {
10690 ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"` 11633 ResponseContentType *string `location:"querystring" locationName:"response-content-type" type:"string"`
10691 11634
10692 // Sets the Expires header of the response. 11635 // Sets the Expires header of the response.
10693 ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp" timestampFormat:"iso8601"` 11636 ResponseExpires *time.Time `location:"querystring" locationName:"response-expires" type:"timestamp"`
10694 11637
10695 // Specifies the algorithm to use to when encrypting the object (e.g., AES256). 11638 // Specifies the algorithm to use to when encrypting the object (e.g., AES256).
10696 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"` 11639 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
@@ -10746,6 +11689,13 @@ func (s *GetObjectInput) SetBucket(v string) *GetObjectInput {
10746 return s 11689 return s
10747} 11690}
10748 11691
11692func (s *GetObjectInput) getBucket() (v string) {
11693 if s.Bucket == nil {
11694 return v
11695 }
11696 return *s.Bucket
11697}
11698
10749// SetIfMatch sets the IfMatch field's value. 11699// SetIfMatch sets the IfMatch field's value.
10750func (s *GetObjectInput) SetIfMatch(v string) *GetObjectInput { 11700func (s *GetObjectInput) SetIfMatch(v string) *GetObjectInput {
10751 s.IfMatch = &v 11701 s.IfMatch = &v
@@ -10842,6 +11792,13 @@ func (s *GetObjectInput) SetSSECustomerKey(v string) *GetObjectInput {
10842 return s 11792 return s
10843} 11793}
10844 11794
11795func (s *GetObjectInput) getSSECustomerKey() (v string) {
11796 if s.SSECustomerKey == nil {
11797 return v
11798 }
11799 return *s.SSECustomerKey
11800}
11801
10845// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 11802// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
10846func (s *GetObjectInput) SetSSECustomerKeyMD5(v string) *GetObjectInput { 11803func (s *GetObjectInput) SetSSECustomerKeyMD5(v string) *GetObjectInput {
10847 s.SSECustomerKeyMD5 = &v 11804 s.SSECustomerKeyMD5 = &v
@@ -10854,7 +11811,6 @@ func (s *GetObjectInput) SetVersionId(v string) *GetObjectInput {
10854 return s 11811 return s
10855} 11812}
10856 11813
10857// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectOutput
10858type GetObjectOutput struct { 11814type GetObjectOutput struct {
10859 _ struct{} `type:"structure" payload:"Body"` 11815 _ struct{} `type:"structure" payload:"Body"`
10860 11816
@@ -10904,7 +11860,7 @@ type GetObjectOutput struct {
10904 Expires *string `location:"header" locationName:"Expires" type:"string"` 11860 Expires *string `location:"header" locationName:"Expires" type:"string"`
10905 11861
10906 // Last modified date of the object 11862 // Last modified date of the object
10907 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp" timestampFormat:"rfc822"` 11863 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
10908 11864
10909 // A map of metadata to store with the object in S3. 11865 // A map of metadata to store with the object in S3.
10910 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` 11866 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
@@ -11138,7 +12094,6 @@ func (s *GetObjectOutput) SetWebsiteRedirectLocation(v string) *GetObjectOutput
11138 return s 12094 return s
11139} 12095}
11140 12096
11141// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTaggingRequest
11142type GetObjectTaggingInput struct { 12097type GetObjectTaggingInput struct {
11143 _ struct{} `type:"structure"` 12098 _ struct{} `type:"structure"`
11144 12099
@@ -11186,6 +12141,13 @@ func (s *GetObjectTaggingInput) SetBucket(v string) *GetObjectTaggingInput {
11186 return s 12141 return s
11187} 12142}
11188 12143
12144func (s *GetObjectTaggingInput) getBucket() (v string) {
12145 if s.Bucket == nil {
12146 return v
12147 }
12148 return *s.Bucket
12149}
12150
11189// SetKey sets the Key field's value. 12151// SetKey sets the Key field's value.
11190func (s *GetObjectTaggingInput) SetKey(v string) *GetObjectTaggingInput { 12152func (s *GetObjectTaggingInput) SetKey(v string) *GetObjectTaggingInput {
11191 s.Key = &v 12153 s.Key = &v
@@ -11198,7 +12160,6 @@ func (s *GetObjectTaggingInput) SetVersionId(v string) *GetObjectTaggingInput {
11198 return s 12160 return s
11199} 12161}
11200 12162
11201// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTaggingOutput
11202type GetObjectTaggingOutput struct { 12163type GetObjectTaggingOutput struct {
11203 _ struct{} `type:"structure"` 12164 _ struct{} `type:"structure"`
11204 12165
@@ -11230,7 +12191,6 @@ func (s *GetObjectTaggingOutput) SetVersionId(v string) *GetObjectTaggingOutput
11230 return s 12191 return s
11231} 12192}
11232 12193
11233// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrentRequest
11234type GetObjectTorrentInput struct { 12194type GetObjectTorrentInput struct {
11235 _ struct{} `type:"structure"` 12195 _ struct{} `type:"structure"`
11236 12196
@@ -11282,6 +12242,13 @@ func (s *GetObjectTorrentInput) SetBucket(v string) *GetObjectTorrentInput {
11282 return s 12242 return s
11283} 12243}
11284 12244
12245func (s *GetObjectTorrentInput) getBucket() (v string) {
12246 if s.Bucket == nil {
12247 return v
12248 }
12249 return *s.Bucket
12250}
12251
11285// SetKey sets the Key field's value. 12252// SetKey sets the Key field's value.
11286func (s *GetObjectTorrentInput) SetKey(v string) *GetObjectTorrentInput { 12253func (s *GetObjectTorrentInput) SetKey(v string) *GetObjectTorrentInput {
11287 s.Key = &v 12254 s.Key = &v
@@ -11294,7 +12261,6 @@ func (s *GetObjectTorrentInput) SetRequestPayer(v string) *GetObjectTorrentInput
11294 return s 12261 return s
11295} 12262}
11296 12263
11297// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrentOutput
11298type GetObjectTorrentOutput struct { 12264type GetObjectTorrentOutput struct {
11299 _ struct{} `type:"structure" payload:"Body"` 12265 _ struct{} `type:"structure" payload:"Body"`
11300 12266
@@ -11327,7 +12293,6 @@ func (s *GetObjectTorrentOutput) SetRequestCharged(v string) *GetObjectTorrentOu
11327 return s 12293 return s
11328} 12294}
11329 12295
11330// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GlacierJobParameters
11331type GlacierJobParameters struct { 12296type GlacierJobParameters struct {
11332 _ struct{} `type:"structure"` 12297 _ struct{} `type:"structure"`
11333 12298
@@ -11366,11 +12331,10 @@ func (s *GlacierJobParameters) SetTier(v string) *GlacierJobParameters {
11366 return s 12331 return s
11367} 12332}
11368 12333
11369// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Grant
11370type Grant struct { 12334type Grant struct {
11371 _ struct{} `type:"structure"` 12335 _ struct{} `type:"structure"`
11372 12336
11373 Grantee *Grantee `type:"structure"` 12337 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
11374 12338
11375 // Specifies the permission given to the grantee. 12339 // Specifies the permission given to the grantee.
11376 Permission *string `type:"string" enum:"Permission"` 12340 Permission *string `type:"string" enum:"Permission"`
@@ -11413,7 +12377,6 @@ func (s *Grant) SetPermission(v string) *Grant {
11413 return s 12377 return s
11414} 12378}
11415 12379
11416// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Grantee
11417type Grantee struct { 12380type Grantee struct {
11418 _ struct{} `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"` 12381 _ struct{} `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
11419 12382
@@ -11488,7 +12451,6 @@ func (s *Grantee) SetURI(v string) *Grantee {
11488 return s 12451 return s
11489} 12452}
11490 12453
11491// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucketRequest
11492type HeadBucketInput struct { 12454type HeadBucketInput struct {
11493 _ struct{} `type:"structure"` 12455 _ struct{} `type:"structure"`
11494 12456
@@ -11525,7 +12487,13 @@ func (s *HeadBucketInput) SetBucket(v string) *HeadBucketInput {
11525 return s 12487 return s
11526} 12488}
11527 12489
11528// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucketOutput 12490func (s *HeadBucketInput) getBucket() (v string) {
12491 if s.Bucket == nil {
12492 return v
12493 }
12494 return *s.Bucket
12495}
12496
11529type HeadBucketOutput struct { 12497type HeadBucketOutput struct {
11530 _ struct{} `type:"structure"` 12498 _ struct{} `type:"structure"`
11531} 12499}
@@ -11540,7 +12508,6 @@ func (s HeadBucketOutput) GoString() string {
11540 return s.String() 12508 return s.String()
11541} 12509}
11542 12510
11543// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObjectRequest
11544type HeadObjectInput struct { 12511type HeadObjectInput struct {
11545 _ struct{} `type:"structure"` 12512 _ struct{} `type:"structure"`
11546 12513
@@ -11553,7 +12520,7 @@ type HeadObjectInput struct {
11553 12520
11554 // Return the object only if it has been modified since the specified time, 12521 // Return the object only if it has been modified since the specified time,
11555 // otherwise return a 304 (not modified). 12522 // otherwise return a 304 (not modified).
11556 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp" timestampFormat:"rfc822"` 12523 IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
11557 12524
11558 // Return the object only if its entity tag (ETag) is different from the one 12525 // Return the object only if its entity tag (ETag) is different from the one
11559 // specified, otherwise return a 304 (not modified). 12526 // specified, otherwise return a 304 (not modified).
@@ -11561,7 +12528,7 @@ type HeadObjectInput struct {
11561 12528
11562 // Return the object only if it has not been modified since the specified time, 12529 // Return the object only if it has not been modified since the specified time,
11563 // otherwise return a 412 (precondition failed). 12530 // otherwise return a 412 (precondition failed).
11564 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp" timestampFormat:"rfc822"` 12531 IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
11565 12532
11566 // Key is a required field 12533 // Key is a required field
11567 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 12534 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
@@ -11636,6 +12603,13 @@ func (s *HeadObjectInput) SetBucket(v string) *HeadObjectInput {
11636 return s 12603 return s
11637} 12604}
11638 12605
12606func (s *HeadObjectInput) getBucket() (v string) {
12607 if s.Bucket == nil {
12608 return v
12609 }
12610 return *s.Bucket
12611}
12612
11639// SetIfMatch sets the IfMatch field's value. 12613// SetIfMatch sets the IfMatch field's value.
11640func (s *HeadObjectInput) SetIfMatch(v string) *HeadObjectInput { 12614func (s *HeadObjectInput) SetIfMatch(v string) *HeadObjectInput {
11641 s.IfMatch = &v 12615 s.IfMatch = &v
@@ -11696,6 +12670,13 @@ func (s *HeadObjectInput) SetSSECustomerKey(v string) *HeadObjectInput {
11696 return s 12670 return s
11697} 12671}
11698 12672
12673func (s *HeadObjectInput) getSSECustomerKey() (v string) {
12674 if s.SSECustomerKey == nil {
12675 return v
12676 }
12677 return *s.SSECustomerKey
12678}
12679
11699// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 12680// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
11700func (s *HeadObjectInput) SetSSECustomerKeyMD5(v string) *HeadObjectInput { 12681func (s *HeadObjectInput) SetSSECustomerKeyMD5(v string) *HeadObjectInput {
11701 s.SSECustomerKeyMD5 = &v 12682 s.SSECustomerKeyMD5 = &v
@@ -11708,7 +12689,6 @@ func (s *HeadObjectInput) SetVersionId(v string) *HeadObjectInput {
11708 return s 12689 return s
11709} 12690}
11710 12691
11711// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObjectOutput
11712type HeadObjectOutput struct { 12692type HeadObjectOutput struct {
11713 _ struct{} `type:"structure"` 12693 _ struct{} `type:"structure"`
11714 12694
@@ -11752,7 +12732,7 @@ type HeadObjectOutput struct {
11752 Expires *string `location:"header" locationName:"Expires" type:"string"` 12732 Expires *string `location:"header" locationName:"Expires" type:"string"`
11753 12733
11754 // Last modified date of the object 12734 // Last modified date of the object
11755 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp" timestampFormat:"rfc822"` 12735 LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
11756 12736
11757 // A map of metadata to store with the object in S3. 12737 // A map of metadata to store with the object in S3.
11758 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"` 12738 Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
@@ -11965,7 +12945,6 @@ func (s *HeadObjectOutput) SetWebsiteRedirectLocation(v string) *HeadObjectOutpu
11965 return s 12945 return s
11966} 12946}
11967 12947
11968// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IndexDocument
11969type IndexDocument struct { 12948type IndexDocument struct {
11970 _ struct{} `type:"structure"` 12949 _ struct{} `type:"structure"`
11971 12950
@@ -12007,7 +12986,6 @@ func (s *IndexDocument) SetSuffix(v string) *IndexDocument {
12007 return s 12986 return s
12008} 12987}
12009 12988
12010// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Initiator
12011type Initiator struct { 12989type Initiator struct {
12012 _ struct{} `type:"structure"` 12990 _ struct{} `type:"structure"`
12013 12991
@@ -12041,7 +13019,49 @@ func (s *Initiator) SetID(v string) *Initiator {
12041 return s 13019 return s
12042} 13020}
12043 13021
12044// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryConfiguration 13022// Describes the serialization format of the object.
13023type InputSerialization struct {
13024 _ struct{} `type:"structure"`
13025
13026 // Describes the serialization of a CSV-encoded object.
13027 CSV *CSVInput `type:"structure"`
13028
13029 // Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default
13030 // Value: NONE.
13031 CompressionType *string `type:"string" enum:"CompressionType"`
13032
13033 // Specifies JSON as object's input serialization format.
13034 JSON *JSONInput `type:"structure"`
13035}
13036
13037// String returns the string representation
13038func (s InputSerialization) String() string {
13039 return awsutil.Prettify(s)
13040}
13041
13042// GoString returns the string representation
13043func (s InputSerialization) GoString() string {
13044 return s.String()
13045}
13046
13047// SetCSV sets the CSV field's value.
13048func (s *InputSerialization) SetCSV(v *CSVInput) *InputSerialization {
13049 s.CSV = v
13050 return s
13051}
13052
13053// SetCompressionType sets the CompressionType field's value.
13054func (s *InputSerialization) SetCompressionType(v string) *InputSerialization {
13055 s.CompressionType = &v
13056 return s
13057}
13058
13059// SetJSON sets the JSON field's value.
13060func (s *InputSerialization) SetJSON(v *JSONInput) *InputSerialization {
13061 s.JSON = v
13062 return s
13063}
13064
12045type InventoryConfiguration struct { 13065type InventoryConfiguration struct {
12046 _ struct{} `type:"structure"` 13066 _ struct{} `type:"structure"`
12047 13067
@@ -12170,7 +13190,6 @@ func (s *InventoryConfiguration) SetSchedule(v *InventorySchedule) *InventoryCon
12170 return s 13190 return s
12171} 13191}
12172 13192
12173// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryDestination
12174type InventoryDestination struct { 13193type InventoryDestination struct {
12175 _ struct{} `type:"structure"` 13194 _ struct{} `type:"structure"`
12176 13195
@@ -12215,7 +13234,55 @@ func (s *InventoryDestination) SetS3BucketDestination(v *InventoryS3BucketDestin
12215 return s 13234 return s
12216} 13235}
12217 13236
12218// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryFilter 13237// Contains the type of server-side encryption used to encrypt the inventory
13238// results.
13239type InventoryEncryption struct {
13240 _ struct{} `type:"structure"`
13241
13242 // Specifies the use of SSE-KMS to encrypt delievered Inventory reports.
13243 SSEKMS *SSEKMS `locationName:"SSE-KMS" type:"structure"`
13244
13245 // Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
13246 SSES3 *SSES3 `locationName:"SSE-S3" type:"structure"`
13247}
13248
13249// String returns the string representation
13250func (s InventoryEncryption) String() string {
13251 return awsutil.Prettify(s)
13252}
13253
13254// GoString returns the string representation
13255func (s InventoryEncryption) GoString() string {
13256 return s.String()
13257}
13258
13259// Validate inspects the fields of the type to determine if they are valid.
13260func (s *InventoryEncryption) Validate() error {
13261 invalidParams := request.ErrInvalidParams{Context: "InventoryEncryption"}
13262 if s.SSEKMS != nil {
13263 if err := s.SSEKMS.Validate(); err != nil {
13264 invalidParams.AddNested("SSEKMS", err.(request.ErrInvalidParams))
13265 }
13266 }
13267
13268 if invalidParams.Len() > 0 {
13269 return invalidParams
13270 }
13271 return nil
13272}
13273
13274// SetSSEKMS sets the SSEKMS field's value.
13275func (s *InventoryEncryption) SetSSEKMS(v *SSEKMS) *InventoryEncryption {
13276 s.SSEKMS = v
13277 return s
13278}
13279
13280// SetSSES3 sets the SSES3 field's value.
13281func (s *InventoryEncryption) SetSSES3(v *SSES3) *InventoryEncryption {
13282 s.SSES3 = v
13283 return s
13284}
13285
12219type InventoryFilter struct { 13286type InventoryFilter struct {
12220 _ struct{} `type:"structure"` 13287 _ struct{} `type:"structure"`
12221 13288
@@ -12254,7 +13321,6 @@ func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter {
12254 return s 13321 return s
12255} 13322}
12256 13323
12257// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryS3BucketDestination
12258type InventoryS3BucketDestination struct { 13324type InventoryS3BucketDestination struct {
12259 _ struct{} `type:"structure"` 13325 _ struct{} `type:"structure"`
12260 13326
@@ -12267,6 +13333,10 @@ type InventoryS3BucketDestination struct {
12267 // Bucket is a required field 13333 // Bucket is a required field
12268 Bucket *string `type:"string" required:"true"` 13334 Bucket *string `type:"string" required:"true"`
12269 13335
13336 // Contains the type of server-side encryption used to encrypt the inventory
13337 // results.
13338 Encryption *InventoryEncryption `type:"structure"`
13339
12270 // Specifies the output format of the inventory results. 13340 // Specifies the output format of the inventory results.
12271 // 13341 //
12272 // Format is a required field 13342 // Format is a required field
@@ -12295,6 +13365,11 @@ func (s *InventoryS3BucketDestination) Validate() error {
12295 if s.Format == nil { 13365 if s.Format == nil {
12296 invalidParams.Add(request.NewErrParamRequired("Format")) 13366 invalidParams.Add(request.NewErrParamRequired("Format"))
12297 } 13367 }
13368 if s.Encryption != nil {
13369 if err := s.Encryption.Validate(); err != nil {
13370 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
13371 }
13372 }
12298 13373
12299 if invalidParams.Len() > 0 { 13374 if invalidParams.Len() > 0 {
12300 return invalidParams 13375 return invalidParams
@@ -12314,6 +13389,19 @@ func (s *InventoryS3BucketDestination) SetBucket(v string) *InventoryS3BucketDes
12314 return s 13389 return s
12315} 13390}
12316 13391
13392func (s *InventoryS3BucketDestination) getBucket() (v string) {
13393 if s.Bucket == nil {
13394 return v
13395 }
13396 return *s.Bucket
13397}
13398
13399// SetEncryption sets the Encryption field's value.
13400func (s *InventoryS3BucketDestination) SetEncryption(v *InventoryEncryption) *InventoryS3BucketDestination {
13401 s.Encryption = v
13402 return s
13403}
13404
12317// SetFormat sets the Format field's value. 13405// SetFormat sets the Format field's value.
12318func (s *InventoryS3BucketDestination) SetFormat(v string) *InventoryS3BucketDestination { 13406func (s *InventoryS3BucketDestination) SetFormat(v string) *InventoryS3BucketDestination {
12319 s.Format = &v 13407 s.Format = &v
@@ -12326,7 +13414,6 @@ func (s *InventoryS3BucketDestination) SetPrefix(v string) *InventoryS3BucketDes
12326 return s 13414 return s
12327} 13415}
12328 13416
12329// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventorySchedule
12330type InventorySchedule struct { 13417type InventorySchedule struct {
12331 _ struct{} `type:"structure"` 13418 _ struct{} `type:"structure"`
12332 13419
@@ -12365,8 +13452,53 @@ func (s *InventorySchedule) SetFrequency(v string) *InventorySchedule {
12365 return s 13452 return s
12366} 13453}
12367 13454
13455type JSONInput struct {
13456 _ struct{} `type:"structure"`
13457
13458 // The type of JSON. Valid values: Document, Lines.
13459 Type *string `type:"string" enum:"JSONType"`
13460}
13461
13462// String returns the string representation
13463func (s JSONInput) String() string {
13464 return awsutil.Prettify(s)
13465}
13466
13467// GoString returns the string representation
13468func (s JSONInput) GoString() string {
13469 return s.String()
13470}
13471
13472// SetType sets the Type field's value.
13473func (s *JSONInput) SetType(v string) *JSONInput {
13474 s.Type = &v
13475 return s
13476}
13477
13478type JSONOutput struct {
13479 _ struct{} `type:"structure"`
13480
13481 // The value used to separate individual records in the output.
13482 RecordDelimiter *string `type:"string"`
13483}
13484
13485// String returns the string representation
13486func (s JSONOutput) String() string {
13487 return awsutil.Prettify(s)
13488}
13489
13490// GoString returns the string representation
13491func (s JSONOutput) GoString() string {
13492 return s.String()
13493}
13494
13495// SetRecordDelimiter sets the RecordDelimiter field's value.
13496func (s *JSONOutput) SetRecordDelimiter(v string) *JSONOutput {
13497 s.RecordDelimiter = &v
13498 return s
13499}
13500
12368// Container for object key name prefix and suffix filtering rules. 13501// Container for object key name prefix and suffix filtering rules.
12369// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/S3KeyFilter
12370type KeyFilter struct { 13502type KeyFilter struct {
12371 _ struct{} `type:"structure"` 13503 _ struct{} `type:"structure"`
12372 13504
@@ -12392,7 +13524,6 @@ func (s *KeyFilter) SetFilterRules(v []*FilterRule) *KeyFilter {
12392} 13524}
12393 13525
12394// Container for specifying the AWS Lambda notification configuration. 13526// Container for specifying the AWS Lambda notification configuration.
12395// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LambdaFunctionConfiguration
12396type LambdaFunctionConfiguration struct { 13527type LambdaFunctionConfiguration struct {
12397 _ struct{} `type:"structure"` 13528 _ struct{} `type:"structure"`
12398 13529
@@ -12401,6 +13532,7 @@ type LambdaFunctionConfiguration struct {
12401 13532
12402 // Container for object key name filtering rules. For information about key 13533 // Container for object key name filtering rules. For information about key
12403 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 13534 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
13535 // in the Amazon Simple Storage Service Developer Guide.
12404 Filter *NotificationConfigurationFilter `type:"structure"` 13536 Filter *NotificationConfigurationFilter `type:"structure"`
12405 13537
12406 // Optional unique identifier for configurations in a notification configuration. 13538 // Optional unique identifier for configurations in a notification configuration.
@@ -12464,7 +13596,6 @@ func (s *LambdaFunctionConfiguration) SetLambdaFunctionArn(v string) *LambdaFunc
12464 return s 13596 return s
12465} 13597}
12466 13598
12467// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleConfiguration
12468type LifecycleConfiguration struct { 13599type LifecycleConfiguration struct {
12469 _ struct{} `type:"structure"` 13600 _ struct{} `type:"structure"`
12470 13601
@@ -12511,7 +13642,6 @@ func (s *LifecycleConfiguration) SetRules(v []*Rule) *LifecycleConfiguration {
12511 return s 13642 return s
12512} 13643}
12513 13644
12514// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleExpiration
12515type LifecycleExpiration struct { 13645type LifecycleExpiration struct {
12516 _ struct{} `type:"structure"` 13646 _ struct{} `type:"structure"`
12517 13647
@@ -12558,7 +13688,6 @@ func (s *LifecycleExpiration) SetExpiredObjectDeleteMarker(v bool) *LifecycleExp
12558 return s 13688 return s
12559} 13689}
12560 13690
12561// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleRule
12562type LifecycleRule struct { 13691type LifecycleRule struct {
12563 _ struct{} `type:"structure"` 13692 _ struct{} `type:"structure"`
12564 13693
@@ -12682,7 +13811,6 @@ func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule {
12682// This is used in a Lifecycle Rule Filter to apply a logical AND to two or 13811// This is used in a Lifecycle Rule Filter to apply a logical AND to two or
12683// more predicates. The Lifecycle Rule will apply to any object matching all 13812// more predicates. The Lifecycle Rule will apply to any object matching all
12684// of the predicates configured inside the And operator. 13813// of the predicates configured inside the And operator.
12685// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleRuleAndOperator
12686type LifecycleRuleAndOperator struct { 13814type LifecycleRuleAndOperator struct {
12687 _ struct{} `type:"structure"` 13815 _ struct{} `type:"structure"`
12688 13816
@@ -12737,7 +13865,6 @@ func (s *LifecycleRuleAndOperator) SetTags(v []*Tag) *LifecycleRuleAndOperator {
12737 13865
12738// The Filter is used to identify objects that a Lifecycle Rule applies to. 13866// The Filter is used to identify objects that a Lifecycle Rule applies to.
12739// A Filter must have exactly one of Prefix, Tag, or And specified. 13867// A Filter must have exactly one of Prefix, Tag, or And specified.
12740// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LifecycleRuleFilter
12741type LifecycleRuleFilter struct { 13868type LifecycleRuleFilter struct {
12742 _ struct{} `type:"structure"` 13869 _ struct{} `type:"structure"`
12743 13870
@@ -12801,7 +13928,6 @@ func (s *LifecycleRuleFilter) SetTag(v *Tag) *LifecycleRuleFilter {
12801 return s 13928 return s
12802} 13929}
12803 13930
12804// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurationsRequest
12805type ListBucketAnalyticsConfigurationsInput struct { 13931type ListBucketAnalyticsConfigurationsInput struct {
12806 _ struct{} `type:"structure"` 13932 _ struct{} `type:"structure"`
12807 13933
@@ -12844,13 +13970,19 @@ func (s *ListBucketAnalyticsConfigurationsInput) SetBucket(v string) *ListBucket
12844 return s 13970 return s
12845} 13971}
12846 13972
13973func (s *ListBucketAnalyticsConfigurationsInput) getBucket() (v string) {
13974 if s.Bucket == nil {
13975 return v
13976 }
13977 return *s.Bucket
13978}
13979
12847// SetContinuationToken sets the ContinuationToken field's value. 13980// SetContinuationToken sets the ContinuationToken field's value.
12848func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsInput { 13981func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsInput {
12849 s.ContinuationToken = &v 13982 s.ContinuationToken = &v
12850 return s 13983 return s
12851} 13984}
12852 13985
12853// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurationsOutput
12854type ListBucketAnalyticsConfigurationsOutput struct { 13986type ListBucketAnalyticsConfigurationsOutput struct {
12855 _ struct{} `type:"structure"` 13987 _ struct{} `type:"structure"`
12856 13988
@@ -12905,7 +14037,6 @@ func (s *ListBucketAnalyticsConfigurationsOutput) SetNextContinuationToken(v str
12905 return s 14037 return s
12906} 14038}
12907 14039
12908// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurationsRequest
12909type ListBucketInventoryConfigurationsInput struct { 14040type ListBucketInventoryConfigurationsInput struct {
12910 _ struct{} `type:"structure"` 14041 _ struct{} `type:"structure"`
12911 14042
@@ -12950,13 +14081,19 @@ func (s *ListBucketInventoryConfigurationsInput) SetBucket(v string) *ListBucket
12950 return s 14081 return s
12951} 14082}
12952 14083
14084func (s *ListBucketInventoryConfigurationsInput) getBucket() (v string) {
14085 if s.Bucket == nil {
14086 return v
14087 }
14088 return *s.Bucket
14089}
14090
12953// SetContinuationToken sets the ContinuationToken field's value. 14091// SetContinuationToken sets the ContinuationToken field's value.
12954func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsInput { 14092func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsInput {
12955 s.ContinuationToken = &v 14093 s.ContinuationToken = &v
12956 return s 14094 return s
12957} 14095}
12958 14096
12959// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurationsOutput
12960type ListBucketInventoryConfigurationsOutput struct { 14097type ListBucketInventoryConfigurationsOutput struct {
12961 _ struct{} `type:"structure"` 14098 _ struct{} `type:"structure"`
12962 14099
@@ -13011,7 +14148,6 @@ func (s *ListBucketInventoryConfigurationsOutput) SetNextContinuationToken(v str
13011 return s 14148 return s
13012} 14149}
13013 14150
13014// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurationsRequest
13015type ListBucketMetricsConfigurationsInput struct { 14151type ListBucketMetricsConfigurationsInput struct {
13016 _ struct{} `type:"structure"` 14152 _ struct{} `type:"structure"`
13017 14153
@@ -13056,13 +14192,19 @@ func (s *ListBucketMetricsConfigurationsInput) SetBucket(v string) *ListBucketMe
13056 return s 14192 return s
13057} 14193}
13058 14194
14195func (s *ListBucketMetricsConfigurationsInput) getBucket() (v string) {
14196 if s.Bucket == nil {
14197 return v
14198 }
14199 return *s.Bucket
14200}
14201
13059// SetContinuationToken sets the ContinuationToken field's value. 14202// SetContinuationToken sets the ContinuationToken field's value.
13060func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsInput { 14203func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsInput {
13061 s.ContinuationToken = &v 14204 s.ContinuationToken = &v
13062 return s 14205 return s
13063} 14206}
13064 14207
13065// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurationsOutput
13066type ListBucketMetricsConfigurationsOutput struct { 14208type ListBucketMetricsConfigurationsOutput struct {
13067 _ struct{} `type:"structure"` 14209 _ struct{} `type:"structure"`
13068 14210
@@ -13119,7 +14261,6 @@ func (s *ListBucketMetricsConfigurationsOutput) SetNextContinuationToken(v strin
13119 return s 14261 return s
13120} 14262}
13121 14263
13122// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketsInput
13123type ListBucketsInput struct { 14264type ListBucketsInput struct {
13124 _ struct{} `type:"structure"` 14265 _ struct{} `type:"structure"`
13125} 14266}
@@ -13134,7 +14275,6 @@ func (s ListBucketsInput) GoString() string {
13134 return s.String() 14275 return s.String()
13135} 14276}
13136 14277
13137// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketsOutput
13138type ListBucketsOutput struct { 14278type ListBucketsOutput struct {
13139 _ struct{} `type:"structure"` 14279 _ struct{} `type:"structure"`
13140 14280
@@ -13165,7 +14305,6 @@ func (s *ListBucketsOutput) SetOwner(v *Owner) *ListBucketsOutput {
13165 return s 14305 return s
13166} 14306}
13167 14307
13168// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploadsRequest
13169type ListMultipartUploadsInput struct { 14308type ListMultipartUploadsInput struct {
13170 _ struct{} `type:"structure"` 14309 _ struct{} `type:"structure"`
13171 14310
@@ -13231,6 +14370,13 @@ func (s *ListMultipartUploadsInput) SetBucket(v string) *ListMultipartUploadsInp
13231 return s 14370 return s
13232} 14371}
13233 14372
14373func (s *ListMultipartUploadsInput) getBucket() (v string) {
14374 if s.Bucket == nil {
14375 return v
14376 }
14377 return *s.Bucket
14378}
14379
13234// SetDelimiter sets the Delimiter field's value. 14380// SetDelimiter sets the Delimiter field's value.
13235func (s *ListMultipartUploadsInput) SetDelimiter(v string) *ListMultipartUploadsInput { 14381func (s *ListMultipartUploadsInput) SetDelimiter(v string) *ListMultipartUploadsInput {
13236 s.Delimiter = &v 14382 s.Delimiter = &v
@@ -13267,7 +14413,6 @@ func (s *ListMultipartUploadsInput) SetUploadIdMarker(v string) *ListMultipartUp
13267 return s 14413 return s
13268} 14414}
13269 14415
13270// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploadsOutput
13271type ListMultipartUploadsOutput struct { 14416type ListMultipartUploadsOutput struct {
13272 _ struct{} `type:"structure"` 14417 _ struct{} `type:"structure"`
13273 14418
@@ -13328,6 +14473,13 @@ func (s *ListMultipartUploadsOutput) SetBucket(v string) *ListMultipartUploadsOu
13328 return s 14473 return s
13329} 14474}
13330 14475
14476func (s *ListMultipartUploadsOutput) getBucket() (v string) {
14477 if s.Bucket == nil {
14478 return v
14479 }
14480 return *s.Bucket
14481}
14482
13331// SetCommonPrefixes sets the CommonPrefixes field's value. 14483// SetCommonPrefixes sets the CommonPrefixes field's value.
13332func (s *ListMultipartUploadsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListMultipartUploadsOutput { 14484func (s *ListMultipartUploadsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListMultipartUploadsOutput {
13333 s.CommonPrefixes = v 14485 s.CommonPrefixes = v
@@ -13394,7 +14546,6 @@ func (s *ListMultipartUploadsOutput) SetUploads(v []*MultipartUpload) *ListMulti
13394 return s 14546 return s
13395} 14547}
13396 14548
13397// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersionsRequest
13398type ListObjectVersionsInput struct { 14549type ListObjectVersionsInput struct {
13399 _ struct{} `type:"structure"` 14550 _ struct{} `type:"structure"`
13400 14551
@@ -13455,6 +14606,13 @@ func (s *ListObjectVersionsInput) SetBucket(v string) *ListObjectVersionsInput {
13455 return s 14606 return s
13456} 14607}
13457 14608
14609func (s *ListObjectVersionsInput) getBucket() (v string) {
14610 if s.Bucket == nil {
14611 return v
14612 }
14613 return *s.Bucket
14614}
14615
13458// SetDelimiter sets the Delimiter field's value. 14616// SetDelimiter sets the Delimiter field's value.
13459func (s *ListObjectVersionsInput) SetDelimiter(v string) *ListObjectVersionsInput { 14617func (s *ListObjectVersionsInput) SetDelimiter(v string) *ListObjectVersionsInput {
13460 s.Delimiter = &v 14618 s.Delimiter = &v
@@ -13491,7 +14649,6 @@ func (s *ListObjectVersionsInput) SetVersionIdMarker(v string) *ListObjectVersio
13491 return s 14649 return s
13492} 14650}
13493 14651
13494// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersionsOutput
13495type ListObjectVersionsOutput struct { 14652type ListObjectVersionsOutput struct {
13496 _ struct{} `type:"structure"` 14653 _ struct{} `type:"structure"`
13497 14654
@@ -13619,7 +14776,6 @@ func (s *ListObjectVersionsOutput) SetVersions(v []*ObjectVersion) *ListObjectVe
13619 return s 14776 return s
13620} 14777}
13621 14778
13622// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsRequest
13623type ListObjectsInput struct { 14779type ListObjectsInput struct {
13624 _ struct{} `type:"structure"` 14780 _ struct{} `type:"structure"`
13625 14781
@@ -13682,6 +14838,13 @@ func (s *ListObjectsInput) SetBucket(v string) *ListObjectsInput {
13682 return s 14838 return s
13683} 14839}
13684 14840
14841func (s *ListObjectsInput) getBucket() (v string) {
14842 if s.Bucket == nil {
14843 return v
14844 }
14845 return *s.Bucket
14846}
14847
13685// SetDelimiter sets the Delimiter field's value. 14848// SetDelimiter sets the Delimiter field's value.
13686func (s *ListObjectsInput) SetDelimiter(v string) *ListObjectsInput { 14849func (s *ListObjectsInput) SetDelimiter(v string) *ListObjectsInput {
13687 s.Delimiter = &v 14850 s.Delimiter = &v
@@ -13718,7 +14881,6 @@ func (s *ListObjectsInput) SetRequestPayer(v string) *ListObjectsInput {
13718 return s 14881 return s
13719} 14882}
13720 14883
13721// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsOutput
13722type ListObjectsOutput struct { 14884type ListObjectsOutput struct {
13723 _ struct{} `type:"structure"` 14885 _ struct{} `type:"structure"`
13724 14886
@@ -13823,7 +14985,6 @@ func (s *ListObjectsOutput) SetPrefix(v string) *ListObjectsOutput {
13823 return s 14985 return s
13824} 14986}
13825 14987
13826// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2Request
13827type ListObjectsV2Input struct { 14988type ListObjectsV2Input struct {
13828 _ struct{} `type:"structure"` 14989 _ struct{} `type:"structure"`
13829 14990
@@ -13894,6 +15055,13 @@ func (s *ListObjectsV2Input) SetBucket(v string) *ListObjectsV2Input {
13894 return s 15055 return s
13895} 15056}
13896 15057
15058func (s *ListObjectsV2Input) getBucket() (v string) {
15059 if s.Bucket == nil {
15060 return v
15061 }
15062 return *s.Bucket
15063}
15064
13897// SetContinuationToken sets the ContinuationToken field's value. 15065// SetContinuationToken sets the ContinuationToken field's value.
13898func (s *ListObjectsV2Input) SetContinuationToken(v string) *ListObjectsV2Input { 15066func (s *ListObjectsV2Input) SetContinuationToken(v string) *ListObjectsV2Input {
13899 s.ContinuationToken = &v 15067 s.ContinuationToken = &v
@@ -13942,7 +15110,6 @@ func (s *ListObjectsV2Input) SetStartAfter(v string) *ListObjectsV2Input {
13942 return s 15110 return s
13943} 15111}
13944 15112
13945// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2Output
13946type ListObjectsV2Output struct { 15113type ListObjectsV2Output struct {
13947 _ struct{} `type:"structure"` 15114 _ struct{} `type:"structure"`
13948 15115
@@ -14076,7 +15243,6 @@ func (s *ListObjectsV2Output) SetStartAfter(v string) *ListObjectsV2Output {
14076 return s 15243 return s
14077} 15244}
14078 15245
14079// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListPartsRequest
14080type ListPartsInput struct { 15246type ListPartsInput struct {
14081 _ struct{} `type:"structure"` 15247 _ struct{} `type:"structure"`
14082 15248
@@ -14143,6 +15309,13 @@ func (s *ListPartsInput) SetBucket(v string) *ListPartsInput {
14143 return s 15309 return s
14144} 15310}
14145 15311
15312func (s *ListPartsInput) getBucket() (v string) {
15313 if s.Bucket == nil {
15314 return v
15315 }
15316 return *s.Bucket
15317}
15318
14146// SetKey sets the Key field's value. 15319// SetKey sets the Key field's value.
14147func (s *ListPartsInput) SetKey(v string) *ListPartsInput { 15320func (s *ListPartsInput) SetKey(v string) *ListPartsInput {
14148 s.Key = &v 15321 s.Key = &v
@@ -14173,12 +15346,11 @@ func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput {
14173 return s 15346 return s
14174} 15347}
14175 15348
14176// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListPartsOutput
14177type ListPartsOutput struct { 15349type ListPartsOutput struct {
14178 _ struct{} `type:"structure"` 15350 _ struct{} `type:"structure"`
14179 15351
14180 // Date when multipart upload will become eligible for abort operation by lifecycle. 15352 // Date when multipart upload will become eligible for abort operation by lifecycle.
14181 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp" timestampFormat:"rfc822"` 15353 AbortDate *time.Time `location:"header" locationName:"x-amz-abort-date" type:"timestamp"`
14182 15354
14183 // Id of the lifecycle rule that makes a multipart upload eligible for abort 15355 // Id of the lifecycle rule that makes a multipart upload eligible for abort
14184 // operation. 15356 // operation.
@@ -14250,6 +15422,13 @@ func (s *ListPartsOutput) SetBucket(v string) *ListPartsOutput {
14250 return s 15422 return s
14251} 15423}
14252 15424
15425func (s *ListPartsOutput) getBucket() (v string) {
15426 if s.Bucket == nil {
15427 return v
15428 }
15429 return *s.Bucket
15430}
15431
14253// SetInitiator sets the Initiator field's value. 15432// SetInitiator sets the Initiator field's value.
14254func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput { 15433func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput {
14255 s.Initiator = v 15434 s.Initiator = v
@@ -14316,7 +15495,137 @@ func (s *ListPartsOutput) SetUploadId(v string) *ListPartsOutput {
14316 return s 15495 return s
14317} 15496}
14318 15497
14319// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LoggingEnabled 15498// Describes an S3 location that will receive the results of the restore request.
15499type Location struct {
15500 _ struct{} `type:"structure"`
15501
15502 // A list of grants that control access to the staged results.
15503 AccessControlList []*Grant `locationNameList:"Grant" type:"list"`
15504
15505 // The name of the bucket where the restore results will be placed.
15506 //
15507 // BucketName is a required field
15508 BucketName *string `type:"string" required:"true"`
15509
15510 // The canned ACL to apply to the restore results.
15511 CannedACL *string `type:"string" enum:"ObjectCannedACL"`
15512
15513 // Describes the server-side encryption that will be applied to the restore
15514 // results.
15515 Encryption *Encryption `type:"structure"`
15516
15517 // The prefix that is prepended to the restore results for this request.
15518 //
15519 // Prefix is a required field
15520 Prefix *string `type:"string" required:"true"`
15521
15522 // The class of storage used to store the restore results.
15523 StorageClass *string `type:"string" enum:"StorageClass"`
15524
15525 // The tag-set that is applied to the restore results.
15526 Tagging *Tagging `type:"structure"`
15527
15528 // A list of metadata to store with the restore results in S3.
15529 UserMetadata []*MetadataEntry `locationNameList:"MetadataEntry" type:"list"`
15530}
15531
15532// String returns the string representation
15533func (s Location) String() string {
15534 return awsutil.Prettify(s)
15535}
15536
15537// GoString returns the string representation
15538func (s Location) GoString() string {
15539 return s.String()
15540}
15541
15542// Validate inspects the fields of the type to determine if they are valid.
15543func (s *Location) Validate() error {
15544 invalidParams := request.ErrInvalidParams{Context: "Location"}
15545 if s.BucketName == nil {
15546 invalidParams.Add(request.NewErrParamRequired("BucketName"))
15547 }
15548 if s.Prefix == nil {
15549 invalidParams.Add(request.NewErrParamRequired("Prefix"))
15550 }
15551 if s.AccessControlList != nil {
15552 for i, v := range s.AccessControlList {
15553 if v == nil {
15554 continue
15555 }
15556 if err := v.Validate(); err != nil {
15557 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlList", i), err.(request.ErrInvalidParams))
15558 }
15559 }
15560 }
15561 if s.Encryption != nil {
15562 if err := s.Encryption.Validate(); err != nil {
15563 invalidParams.AddNested("Encryption", err.(request.ErrInvalidParams))
15564 }
15565 }
15566 if s.Tagging != nil {
15567 if err := s.Tagging.Validate(); err != nil {
15568 invalidParams.AddNested("Tagging", err.(request.ErrInvalidParams))
15569 }
15570 }
15571
15572 if invalidParams.Len() > 0 {
15573 return invalidParams
15574 }
15575 return nil
15576}
15577
15578// SetAccessControlList sets the AccessControlList field's value.
15579func (s *Location) SetAccessControlList(v []*Grant) *Location {
15580 s.AccessControlList = v
15581 return s
15582}
15583
15584// SetBucketName sets the BucketName field's value.
15585func (s *Location) SetBucketName(v string) *Location {
15586 s.BucketName = &v
15587 return s
15588}
15589
15590// SetCannedACL sets the CannedACL field's value.
15591func (s *Location) SetCannedACL(v string) *Location {
15592 s.CannedACL = &v
15593 return s
15594}
15595
15596// SetEncryption sets the Encryption field's value.
15597func (s *Location) SetEncryption(v *Encryption) *Location {
15598 s.Encryption = v
15599 return s
15600}
15601
15602// SetPrefix sets the Prefix field's value.
15603func (s *Location) SetPrefix(v string) *Location {
15604 s.Prefix = &v
15605 return s
15606}
15607
15608// SetStorageClass sets the StorageClass field's value.
15609func (s *Location) SetStorageClass(v string) *Location {
15610 s.StorageClass = &v
15611 return s
15612}
15613
15614// SetTagging sets the Tagging field's value.
15615func (s *Location) SetTagging(v *Tagging) *Location {
15616 s.Tagging = v
15617 return s
15618}
15619
15620// SetUserMetadata sets the UserMetadata field's value.
15621func (s *Location) SetUserMetadata(v []*MetadataEntry) *Location {
15622 s.UserMetadata = v
15623 return s
15624}
15625
15626// Container for logging information. Presence of this element indicates that
15627// logging is enabled. Parameters TargetBucket and TargetPrefix are required
15628// in this case.
14320type LoggingEnabled struct { 15629type LoggingEnabled struct {
14321 _ struct{} `type:"structure"` 15630 _ struct{} `type:"structure"`
14322 15631
@@ -14326,13 +15635,17 @@ type LoggingEnabled struct {
14326 // to deliver their logs to the same target bucket. In this case you should 15635 // to deliver their logs to the same target bucket. In this case you should
14327 // choose a different TargetPrefix for each source bucket so that the delivered 15636 // choose a different TargetPrefix for each source bucket so that the delivered
14328 // log files can be distinguished by key. 15637 // log files can be distinguished by key.
14329 TargetBucket *string `type:"string"` 15638 //
15639 // TargetBucket is a required field
15640 TargetBucket *string `type:"string" required:"true"`
14330 15641
14331 TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"` 15642 TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"`
14332 15643
14333 // This element lets you specify a prefix for the keys that the log files will 15644 // This element lets you specify a prefix for the keys that the log files will
14334 // be stored under. 15645 // be stored under.
14335 TargetPrefix *string `type:"string"` 15646 //
15647 // TargetPrefix is a required field
15648 TargetPrefix *string `type:"string" required:"true"`
14336} 15649}
14337 15650
14338// String returns the string representation 15651// String returns the string representation
@@ -14348,6 +15661,12 @@ func (s LoggingEnabled) GoString() string {
14348// Validate inspects the fields of the type to determine if they are valid. 15661// Validate inspects the fields of the type to determine if they are valid.
14349func (s *LoggingEnabled) Validate() error { 15662func (s *LoggingEnabled) Validate() error {
14350 invalidParams := request.ErrInvalidParams{Context: "LoggingEnabled"} 15663 invalidParams := request.ErrInvalidParams{Context: "LoggingEnabled"}
15664 if s.TargetBucket == nil {
15665 invalidParams.Add(request.NewErrParamRequired("TargetBucket"))
15666 }
15667 if s.TargetPrefix == nil {
15668 invalidParams.Add(request.NewErrParamRequired("TargetPrefix"))
15669 }
14351 if s.TargetGrants != nil { 15670 if s.TargetGrants != nil {
14352 for i, v := range s.TargetGrants { 15671 for i, v := range s.TargetGrants {
14353 if v == nil { 15672 if v == nil {
@@ -14383,7 +15702,37 @@ func (s *LoggingEnabled) SetTargetPrefix(v string) *LoggingEnabled {
14383 return s 15702 return s
14384} 15703}
14385 15704
14386// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetricsAndOperator 15705// A metadata key-value pair to store with an object.
15706type MetadataEntry struct {
15707 _ struct{} `type:"structure"`
15708
15709 Name *string `type:"string"`
15710
15711 Value *string `type:"string"`
15712}
15713
15714// String returns the string representation
15715func (s MetadataEntry) String() string {
15716 return awsutil.Prettify(s)
15717}
15718
15719// GoString returns the string representation
15720func (s MetadataEntry) GoString() string {
15721 return s.String()
15722}
15723
15724// SetName sets the Name field's value.
15725func (s *MetadataEntry) SetName(v string) *MetadataEntry {
15726 s.Name = &v
15727 return s
15728}
15729
15730// SetValue sets the Value field's value.
15731func (s *MetadataEntry) SetValue(v string) *MetadataEntry {
15732 s.Value = &v
15733 return s
15734}
15735
14387type MetricsAndOperator struct { 15736type MetricsAndOperator struct {
14388 _ struct{} `type:"structure"` 15737 _ struct{} `type:"structure"`
14389 15738
@@ -14436,7 +15785,6 @@ func (s *MetricsAndOperator) SetTags(v []*Tag) *MetricsAndOperator {
14436 return s 15785 return s
14437} 15786}
14438 15787
14439// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetricsConfiguration
14440type MetricsConfiguration struct { 15788type MetricsConfiguration struct {
14441 _ struct{} `type:"structure"` 15789 _ struct{} `type:"structure"`
14442 15790
@@ -14491,7 +15839,6 @@ func (s *MetricsConfiguration) SetId(v string) *MetricsConfiguration {
14491 return s 15839 return s
14492} 15840}
14493 15841
14494// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MetricsFilter
14495type MetricsFilter struct { 15842type MetricsFilter struct {
14496 _ struct{} `type:"structure"` 15843 _ struct{} `type:"structure"`
14497 15844
@@ -14555,12 +15902,11 @@ func (s *MetricsFilter) SetTag(v *Tag) *MetricsFilter {
14555 return s 15902 return s
14556} 15903}
14557 15904
14558// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/MultipartUpload
14559type MultipartUpload struct { 15905type MultipartUpload struct {
14560 _ struct{} `type:"structure"` 15906 _ struct{} `type:"structure"`
14561 15907
14562 // Date and time at which the multipart upload was initiated. 15908 // Date and time at which the multipart upload was initiated.
14563 Initiated *time.Time `type:"timestamp" timestampFormat:"iso8601"` 15909 Initiated *time.Time `type:"timestamp"`
14564 15910
14565 // Identifies who initiated the multipart upload. 15911 // Identifies who initiated the multipart upload.
14566 Initiator *Initiator `type:"structure"` 15912 Initiator *Initiator `type:"structure"`
@@ -14628,14 +15974,14 @@ func (s *MultipartUpload) SetUploadId(v string) *MultipartUpload {
14628// configuration action on a bucket that has versioning enabled (or suspended) 15974// configuration action on a bucket that has versioning enabled (or suspended)
14629// to request that Amazon S3 delete noncurrent object versions at a specific 15975// to request that Amazon S3 delete noncurrent object versions at a specific
14630// period in the object's lifetime. 15976// period in the object's lifetime.
14631// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NoncurrentVersionExpiration
14632type NoncurrentVersionExpiration struct { 15977type NoncurrentVersionExpiration struct {
14633 _ struct{} `type:"structure"` 15978 _ struct{} `type:"structure"`
14634 15979
14635 // Specifies the number of days an object is noncurrent before Amazon S3 can 15980 // Specifies the number of days an object is noncurrent before Amazon S3 can
14636 // perform the associated action. For information about the noncurrent days 15981 // perform the associated action. For information about the noncurrent days
14637 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent 15982 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
14638 // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) 15983 // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) in
15984 // the Amazon Simple Storage Service Developer Guide.
14639 NoncurrentDays *int64 `type:"integer"` 15985 NoncurrentDays *int64 `type:"integer"`
14640} 15986}
14641 15987
@@ -14656,18 +16002,19 @@ func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVers
14656} 16002}
14657 16003
14658// Container for the transition rule that describes when noncurrent objects 16004// Container for the transition rule that describes when noncurrent objects
14659// transition to the STANDARD_IA or GLACIER storage class. If your bucket is 16005// transition to the STANDARD_IA, ONEZONE_IA or GLACIER storage class. If your
14660// versioning-enabled (or versioning is suspended), you can set this action 16006// bucket is versioning-enabled (or versioning is suspended), you can set this
14661// to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA 16007// action to request that Amazon S3 transition noncurrent object versions to
14662// or GLACIER storage class at a specific period in the object's lifetime. 16008// the STANDARD_IA, ONEZONE_IA or GLACIER storage class at a specific period
14663// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NoncurrentVersionTransition 16009// in the object's lifetime.
14664type NoncurrentVersionTransition struct { 16010type NoncurrentVersionTransition struct {
14665 _ struct{} `type:"structure"` 16011 _ struct{} `type:"structure"`
14666 16012
14667 // Specifies the number of days an object is noncurrent before Amazon S3 can 16013 // Specifies the number of days an object is noncurrent before Amazon S3 can
14668 // perform the associated action. For information about the noncurrent days 16014 // perform the associated action. For information about the noncurrent days
14669 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent 16015 // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
14670 // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) 16016 // (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) in
16017 // the Amazon Simple Storage Service Developer Guide.
14671 NoncurrentDays *int64 `type:"integer"` 16018 NoncurrentDays *int64 `type:"integer"`
14672 16019
14673 // The class of storage used to store the object. 16020 // The class of storage used to store the object.
@@ -14698,7 +16045,6 @@ func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersi
14698 16045
14699// Container for specifying the notification configuration of the bucket. If 16046// Container for specifying the notification configuration of the bucket. If
14700// this element is empty, notifications are turned off on the bucket. 16047// this element is empty, notifications are turned off on the bucket.
14701// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfiguration
14702type NotificationConfiguration struct { 16048type NotificationConfiguration struct {
14703 _ struct{} `type:"structure"` 16049 _ struct{} `type:"structure"`
14704 16050
@@ -14777,7 +16123,6 @@ func (s *NotificationConfiguration) SetTopicConfigurations(v []*TopicConfigurati
14777 return s 16123 return s
14778} 16124}
14779 16125
14780// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfigurationDeprecated
14781type NotificationConfigurationDeprecated struct { 16126type NotificationConfigurationDeprecated struct {
14782 _ struct{} `type:"structure"` 16127 _ struct{} `type:"structure"`
14783 16128
@@ -14818,7 +16163,7 @@ func (s *NotificationConfigurationDeprecated) SetTopicConfiguration(v *TopicConf
14818 16163
14819// Container for object key name filtering rules. For information about key 16164// Container for object key name filtering rules. For information about key
14820// name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 16165// name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
14821// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfigurationFilter 16166// in the Amazon Simple Storage Service Developer Guide.
14822type NotificationConfigurationFilter struct { 16167type NotificationConfigurationFilter struct {
14823 _ struct{} `type:"structure"` 16168 _ struct{} `type:"structure"`
14824 16169
@@ -14842,7 +16187,6 @@ func (s *NotificationConfigurationFilter) SetKey(v *KeyFilter) *NotificationConf
14842 return s 16187 return s
14843} 16188}
14844 16189
14845// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Object
14846type Object struct { 16190type Object struct {
14847 _ struct{} `type:"structure"` 16191 _ struct{} `type:"structure"`
14848 16192
@@ -14850,7 +16194,7 @@ type Object struct {
14850 16194
14851 Key *string `min:"1" type:"string"` 16195 Key *string `min:"1" type:"string"`
14852 16196
14853 LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` 16197 LastModified *time.Time `type:"timestamp"`
14854 16198
14855 Owner *Owner `type:"structure"` 16199 Owner *Owner `type:"structure"`
14856 16200
@@ -14906,7 +16250,6 @@ func (s *Object) SetStorageClass(v string) *Object {
14906 return s 16250 return s
14907} 16251}
14908 16252
14909// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectIdentifier
14910type ObjectIdentifier struct { 16253type ObjectIdentifier struct {
14911 _ struct{} `type:"structure"` 16254 _ struct{} `type:"structure"`
14912 16255
@@ -14957,7 +16300,6 @@ func (s *ObjectIdentifier) SetVersionId(v string) *ObjectIdentifier {
14957 return s 16300 return s
14958} 16301}
14959 16302
14960// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectVersion
14961type ObjectVersion struct { 16303type ObjectVersion struct {
14962 _ struct{} `type:"structure"` 16304 _ struct{} `type:"structure"`
14963 16305
@@ -14971,7 +16313,7 @@ type ObjectVersion struct {
14971 Key *string `min:"1" type:"string"` 16313 Key *string `min:"1" type:"string"`
14972 16314
14973 // Date and time the object was last modified. 16315 // Date and time the object was last modified.
14974 LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` 16316 LastModified *time.Time `type:"timestamp"`
14975 16317
14976 Owner *Owner `type:"structure"` 16318 Owner *Owner `type:"structure"`
14977 16319
@@ -15043,7 +16385,78 @@ func (s *ObjectVersion) SetVersionId(v string) *ObjectVersion {
15043 return s 16385 return s
15044} 16386}
15045 16387
15046// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Owner 16388// Describes the location where the restore job's output is stored.
16389type OutputLocation struct {
16390 _ struct{} `type:"structure"`
16391
16392 // Describes an S3 location that will receive the results of the restore request.
16393 S3 *Location `type:"structure"`
16394}
16395
16396// String returns the string representation
16397func (s OutputLocation) String() string {
16398 return awsutil.Prettify(s)
16399}
16400
16401// GoString returns the string representation
16402func (s OutputLocation) GoString() string {
16403 return s.String()
16404}
16405
16406// Validate inspects the fields of the type to determine if they are valid.
16407func (s *OutputLocation) Validate() error {
16408 invalidParams := request.ErrInvalidParams{Context: "OutputLocation"}
16409 if s.S3 != nil {
16410 if err := s.S3.Validate(); err != nil {
16411 invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
16412 }
16413 }
16414
16415 if invalidParams.Len() > 0 {
16416 return invalidParams
16417 }
16418 return nil
16419}
16420
16421// SetS3 sets the S3 field's value.
16422func (s *OutputLocation) SetS3(v *Location) *OutputLocation {
16423 s.S3 = v
16424 return s
16425}
16426
16427// Describes how results of the Select job are serialized.
16428type OutputSerialization struct {
16429 _ struct{} `type:"structure"`
16430
16431 // Describes the serialization of CSV-encoded Select results.
16432 CSV *CSVOutput `type:"structure"`
16433
16434 // Specifies JSON as request's output serialization format.
16435 JSON *JSONOutput `type:"structure"`
16436}
16437
16438// String returns the string representation
16439func (s OutputSerialization) String() string {
16440 return awsutil.Prettify(s)
16441}
16442
16443// GoString returns the string representation
16444func (s OutputSerialization) GoString() string {
16445 return s.String()
16446}
16447
16448// SetCSV sets the CSV field's value.
16449func (s *OutputSerialization) SetCSV(v *CSVOutput) *OutputSerialization {
16450 s.CSV = v
16451 return s
16452}
16453
16454// SetJSON sets the JSON field's value.
16455func (s *OutputSerialization) SetJSON(v *JSONOutput) *OutputSerialization {
16456 s.JSON = v
16457 return s
16458}
16459
15047type Owner struct { 16460type Owner struct {
15048 _ struct{} `type:"structure"` 16461 _ struct{} `type:"structure"`
15049 16462
@@ -15074,7 +16487,6 @@ func (s *Owner) SetID(v string) *Owner {
15074 return s 16487 return s
15075} 16488}
15076 16489
15077// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Part
15078type Part struct { 16490type Part struct {
15079 _ struct{} `type:"structure"` 16491 _ struct{} `type:"structure"`
15080 16492
@@ -15082,7 +16494,7 @@ type Part struct {
15082 ETag *string `type:"string"` 16494 ETag *string `type:"string"`
15083 16495
15084 // Date and time at which the part was uploaded. 16496 // Date and time at which the part was uploaded.
15085 LastModified *time.Time `type:"timestamp" timestampFormat:"iso8601"` 16497 LastModified *time.Time `type:"timestamp"`
15086 16498
15087 // Part number identifying the part. This is a positive integer between 1 and 16499 // Part number identifying the part. This is a positive integer between 1 and
15088 // 10,000. 16500 // 10,000.
@@ -15126,14 +16538,94 @@ func (s *Part) SetSize(v int64) *Part {
15126 return s 16538 return s
15127} 16539}
15128 16540
15129// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfigurationRequest 16541type Progress struct {
16542 _ struct{} `type:"structure"`
16543
16544 // Current number of uncompressed object bytes processed.
16545 BytesProcessed *int64 `type:"long"`
16546
16547 // Current number of bytes of records payload data returned.
16548 BytesReturned *int64 `type:"long"`
16549
16550 // Current number of object bytes scanned.
16551 BytesScanned *int64 `type:"long"`
16552}
16553
16554// String returns the string representation
16555func (s Progress) String() string {
16556 return awsutil.Prettify(s)
16557}
16558
16559// GoString returns the string representation
16560func (s Progress) GoString() string {
16561 return s.String()
16562}
16563
16564// SetBytesProcessed sets the BytesProcessed field's value.
16565func (s *Progress) SetBytesProcessed(v int64) *Progress {
16566 s.BytesProcessed = &v
16567 return s
16568}
16569
16570// SetBytesReturned sets the BytesReturned field's value.
16571func (s *Progress) SetBytesReturned(v int64) *Progress {
16572 s.BytesReturned = &v
16573 return s
16574}
16575
16576// SetBytesScanned sets the BytesScanned field's value.
16577func (s *Progress) SetBytesScanned(v int64) *Progress {
16578 s.BytesScanned = &v
16579 return s
16580}
16581
16582type ProgressEvent struct {
16583 _ struct{} `locationName:"ProgressEvent" type:"structure" payload:"Details"`
16584
16585 // The Progress event details.
16586 Details *Progress `locationName:"Details" type:"structure"`
16587}
16588
16589// String returns the string representation
16590func (s ProgressEvent) String() string {
16591 return awsutil.Prettify(s)
16592}
16593
16594// GoString returns the string representation
16595func (s ProgressEvent) GoString() string {
16596 return s.String()
16597}
16598
16599// SetDetails sets the Details field's value.
16600func (s *ProgressEvent) SetDetails(v *Progress) *ProgressEvent {
16601 s.Details = v
16602 return s
16603}
16604
16605// The ProgressEvent is and event in the SelectObjectContentEventStream group of events.
16606func (s *ProgressEvent) eventSelectObjectContentEventStream() {}
16607
16608// UnmarshalEvent unmarshals the EventStream Message into the ProgressEvent value.
16609// This method is only used internally within the SDK's EventStream handling.
16610func (s *ProgressEvent) UnmarshalEvent(
16611 payloadUnmarshaler protocol.PayloadUnmarshaler,
16612 msg eventstream.Message,
16613) error {
16614 if err := payloadUnmarshaler.UnmarshalPayload(
16615 bytes.NewReader(msg.Payload), s,
16616 ); err != nil {
16617 return err
16618 }
16619 return nil
16620}
16621
15130type PutBucketAccelerateConfigurationInput struct { 16622type PutBucketAccelerateConfigurationInput struct {
15131 _ struct{} `type:"structure" payload:"AccelerateConfiguration"` 16623 _ struct{} `type:"structure" payload:"AccelerateConfiguration"`
15132 16624
15133 // Specifies the Accelerate Configuration you want to set for the bucket. 16625 // Specifies the Accelerate Configuration you want to set for the bucket.
15134 // 16626 //
15135 // AccelerateConfiguration is a required field 16627 // AccelerateConfiguration is a required field
15136 AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true"` 16628 AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
15137 16629
15138 // Name of the bucket for which the accelerate configuration is set. 16630 // Name of the bucket for which the accelerate configuration is set.
15139 // 16631 //
@@ -15179,7 +16671,13 @@ func (s *PutBucketAccelerateConfigurationInput) SetBucket(v string) *PutBucketAc
15179 return s 16671 return s
15180} 16672}
15181 16673
15182// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfigurationOutput 16674func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) {
16675 if s.Bucket == nil {
16676 return v
16677 }
16678 return *s.Bucket
16679}
16680
15183type PutBucketAccelerateConfigurationOutput struct { 16681type PutBucketAccelerateConfigurationOutput struct {
15184 _ struct{} `type:"structure"` 16682 _ struct{} `type:"structure"`
15185} 16683}
@@ -15194,14 +16692,13 @@ func (s PutBucketAccelerateConfigurationOutput) GoString() string {
15194 return s.String() 16692 return s.String()
15195} 16693}
15196 16694
15197// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAclRequest
15198type PutBucketAclInput struct { 16695type PutBucketAclInput struct {
15199 _ struct{} `type:"structure" payload:"AccessControlPolicy"` 16696 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
15200 16697
15201 // The canned ACL to apply to the bucket. 16698 // The canned ACL to apply to the bucket.
15202 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"` 16699 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
15203 16700
15204 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure"` 16701 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
15205 16702
15206 // Bucket is a required field 16703 // Bucket is a required field
15207 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 16704 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -15269,6 +16766,13 @@ func (s *PutBucketAclInput) SetBucket(v string) *PutBucketAclInput {
15269 return s 16766 return s
15270} 16767}
15271 16768
16769func (s *PutBucketAclInput) getBucket() (v string) {
16770 if s.Bucket == nil {
16771 return v
16772 }
16773 return *s.Bucket
16774}
16775
15272// SetGrantFullControl sets the GrantFullControl field's value. 16776// SetGrantFullControl sets the GrantFullControl field's value.
15273func (s *PutBucketAclInput) SetGrantFullControl(v string) *PutBucketAclInput { 16777func (s *PutBucketAclInput) SetGrantFullControl(v string) *PutBucketAclInput {
15274 s.GrantFullControl = &v 16778 s.GrantFullControl = &v
@@ -15299,7 +16803,6 @@ func (s *PutBucketAclInput) SetGrantWriteACP(v string) *PutBucketAclInput {
15299 return s 16803 return s
15300} 16804}
15301 16805
15302// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAclOutput
15303type PutBucketAclOutput struct { 16806type PutBucketAclOutput struct {
15304 _ struct{} `type:"structure"` 16807 _ struct{} `type:"structure"`
15305} 16808}
@@ -15314,14 +16817,13 @@ func (s PutBucketAclOutput) GoString() string {
15314 return s.String() 16817 return s.String()
15315} 16818}
15316 16819
15317// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfigurationRequest
15318type PutBucketAnalyticsConfigurationInput struct { 16820type PutBucketAnalyticsConfigurationInput struct {
15319 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"` 16821 _ struct{} `type:"structure" payload:"AnalyticsConfiguration"`
15320 16822
15321 // The configuration and any analyses for the analytics filter. 16823 // The configuration and any analyses for the analytics filter.
15322 // 16824 //
15323 // AnalyticsConfiguration is a required field 16825 // AnalyticsConfiguration is a required field
15324 AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true"` 16826 AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
15325 16827
15326 // The name of the bucket to which an analytics configuration is stored. 16828 // The name of the bucket to which an analytics configuration is stored.
15327 // 16829 //
@@ -15380,13 +16882,19 @@ func (s *PutBucketAnalyticsConfigurationInput) SetBucket(v string) *PutBucketAna
15380 return s 16882 return s
15381} 16883}
15382 16884
16885func (s *PutBucketAnalyticsConfigurationInput) getBucket() (v string) {
16886 if s.Bucket == nil {
16887 return v
16888 }
16889 return *s.Bucket
16890}
16891
15383// SetId sets the Id field's value. 16892// SetId sets the Id field's value.
15384func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyticsConfigurationInput { 16893func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyticsConfigurationInput {
15385 s.Id = &v 16894 s.Id = &v
15386 return s 16895 return s
15387} 16896}
15388 16897
15389// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfigurationOutput
15390type PutBucketAnalyticsConfigurationOutput struct { 16898type PutBucketAnalyticsConfigurationOutput struct {
15391 _ struct{} `type:"structure"` 16899 _ struct{} `type:"structure"`
15392} 16900}
@@ -15401,7 +16909,6 @@ func (s PutBucketAnalyticsConfigurationOutput) GoString() string {
15401 return s.String() 16909 return s.String()
15402} 16910}
15403 16911
15404// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCorsRequest
15405type PutBucketCorsInput struct { 16912type PutBucketCorsInput struct {
15406 _ struct{} `type:"structure" payload:"CORSConfiguration"` 16913 _ struct{} `type:"structure" payload:"CORSConfiguration"`
15407 16914
@@ -15409,7 +16916,7 @@ type PutBucketCorsInput struct {
15409 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 16916 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15410 16917
15411 // CORSConfiguration is a required field 16918 // CORSConfiguration is a required field
15412 CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true"` 16919 CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
15413} 16920}
15414 16921
15415// String returns the string representation 16922// String returns the string representation
@@ -15449,13 +16956,19 @@ func (s *PutBucketCorsInput) SetBucket(v string) *PutBucketCorsInput {
15449 return s 16956 return s
15450} 16957}
15451 16958
16959func (s *PutBucketCorsInput) getBucket() (v string) {
16960 if s.Bucket == nil {
16961 return v
16962 }
16963 return *s.Bucket
16964}
16965
15452// SetCORSConfiguration sets the CORSConfiguration field's value. 16966// SetCORSConfiguration sets the CORSConfiguration field's value.
15453func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBucketCorsInput { 16967func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBucketCorsInput {
15454 s.CORSConfiguration = v 16968 s.CORSConfiguration = v
15455 return s 16969 return s
15456} 16970}
15457 16971
15458// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCorsOutput
15459type PutBucketCorsOutput struct { 16972type PutBucketCorsOutput struct {
15460 _ struct{} `type:"structure"` 16973 _ struct{} `type:"structure"`
15461} 16974}
@@ -15470,7 +16983,86 @@ func (s PutBucketCorsOutput) GoString() string {
15470 return s.String() 16983 return s.String()
15471} 16984}
15472 16985
15473// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfigurationRequest 16986type PutBucketEncryptionInput struct {
16987 _ struct{} `type:"structure" payload:"ServerSideEncryptionConfiguration"`
16988
16989 // The name of the bucket for which the server-side encryption configuration
16990 // is set.
16991 //
16992 // Bucket is a required field
16993 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16994
16995 // Container for server-side encryption configuration rules. Currently S3 supports
16996 // one rule only.
16997 //
16998 // ServerSideEncryptionConfiguration is a required field
16999 ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `locationName:"ServerSideEncryptionConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17000}
17001
17002// String returns the string representation
17003func (s PutBucketEncryptionInput) String() string {
17004 return awsutil.Prettify(s)
17005}
17006
17007// GoString returns the string representation
17008func (s PutBucketEncryptionInput) GoString() string {
17009 return s.String()
17010}
17011
17012// Validate inspects the fields of the type to determine if they are valid.
17013func (s *PutBucketEncryptionInput) Validate() error {
17014 invalidParams := request.ErrInvalidParams{Context: "PutBucketEncryptionInput"}
17015 if s.Bucket == nil {
17016 invalidParams.Add(request.NewErrParamRequired("Bucket"))
17017 }
17018 if s.ServerSideEncryptionConfiguration == nil {
17019 invalidParams.Add(request.NewErrParamRequired("ServerSideEncryptionConfiguration"))
17020 }
17021 if s.ServerSideEncryptionConfiguration != nil {
17022 if err := s.ServerSideEncryptionConfiguration.Validate(); err != nil {
17023 invalidParams.AddNested("ServerSideEncryptionConfiguration", err.(request.ErrInvalidParams))
17024 }
17025 }
17026
17027 if invalidParams.Len() > 0 {
17028 return invalidParams
17029 }
17030 return nil
17031}
17032
17033// SetBucket sets the Bucket field's value.
17034func (s *PutBucketEncryptionInput) SetBucket(v string) *PutBucketEncryptionInput {
17035 s.Bucket = &v
17036 return s
17037}
17038
17039func (s *PutBucketEncryptionInput) getBucket() (v string) {
17040 if s.Bucket == nil {
17041 return v
17042 }
17043 return *s.Bucket
17044}
17045
17046// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
17047func (s *PutBucketEncryptionInput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *PutBucketEncryptionInput {
17048 s.ServerSideEncryptionConfiguration = v
17049 return s
17050}
17051
17052type PutBucketEncryptionOutput struct {
17053 _ struct{} `type:"structure"`
17054}
17055
17056// String returns the string representation
17057func (s PutBucketEncryptionOutput) String() string {
17058 return awsutil.Prettify(s)
17059}
17060
17061// GoString returns the string representation
17062func (s PutBucketEncryptionOutput) GoString() string {
17063 return s.String()
17064}
17065
15474type PutBucketInventoryConfigurationInput struct { 17066type PutBucketInventoryConfigurationInput struct {
15475 _ struct{} `type:"structure" payload:"InventoryConfiguration"` 17067 _ struct{} `type:"structure" payload:"InventoryConfiguration"`
15476 17068
@@ -15487,7 +17079,7 @@ type PutBucketInventoryConfigurationInput struct {
15487 // Specifies the inventory configuration. 17079 // Specifies the inventory configuration.
15488 // 17080 //
15489 // InventoryConfiguration is a required field 17081 // InventoryConfiguration is a required field
15490 InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true"` 17082 InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
15491} 17083}
15492 17084
15493// String returns the string representation 17085// String returns the string representation
@@ -15530,6 +17122,13 @@ func (s *PutBucketInventoryConfigurationInput) SetBucket(v string) *PutBucketInv
15530 return s 17122 return s
15531} 17123}
15532 17124
17125func (s *PutBucketInventoryConfigurationInput) getBucket() (v string) {
17126 if s.Bucket == nil {
17127 return v
17128 }
17129 return *s.Bucket
17130}
17131
15533// SetId sets the Id field's value. 17132// SetId sets the Id field's value.
15534func (s *PutBucketInventoryConfigurationInput) SetId(v string) *PutBucketInventoryConfigurationInput { 17133func (s *PutBucketInventoryConfigurationInput) SetId(v string) *PutBucketInventoryConfigurationInput {
15535 s.Id = &v 17134 s.Id = &v
@@ -15542,7 +17141,6 @@ func (s *PutBucketInventoryConfigurationInput) SetInventoryConfiguration(v *Inve
15542 return s 17141 return s
15543} 17142}
15544 17143
15545// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfigurationOutput
15546type PutBucketInventoryConfigurationOutput struct { 17144type PutBucketInventoryConfigurationOutput struct {
15547 _ struct{} `type:"structure"` 17145 _ struct{} `type:"structure"`
15548} 17146}
@@ -15557,14 +17155,13 @@ func (s PutBucketInventoryConfigurationOutput) GoString() string {
15557 return s.String() 17155 return s.String()
15558} 17156}
15559 17157
15560// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfigurationRequest
15561type PutBucketLifecycleConfigurationInput struct { 17158type PutBucketLifecycleConfigurationInput struct {
15562 _ struct{} `type:"structure" payload:"LifecycleConfiguration"` 17159 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
15563 17160
15564 // Bucket is a required field 17161 // Bucket is a required field
15565 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17162 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15566 17163
15567 LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure"` 17164 LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
15568} 17165}
15569 17166
15570// String returns the string representation 17167// String returns the string representation
@@ -15601,13 +17198,19 @@ func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLif
15601 return s 17198 return s
15602} 17199}
15603 17200
17201func (s *PutBucketLifecycleConfigurationInput) getBucket() (v string) {
17202 if s.Bucket == nil {
17203 return v
17204 }
17205 return *s.Bucket
17206}
17207
15604// SetLifecycleConfiguration sets the LifecycleConfiguration field's value. 17208// SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
15605func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *BucketLifecycleConfiguration) *PutBucketLifecycleConfigurationInput { 17209func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *BucketLifecycleConfiguration) *PutBucketLifecycleConfigurationInput {
15606 s.LifecycleConfiguration = v 17210 s.LifecycleConfiguration = v
15607 return s 17211 return s
15608} 17212}
15609 17213
15610// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfigurationOutput
15611type PutBucketLifecycleConfigurationOutput struct { 17214type PutBucketLifecycleConfigurationOutput struct {
15612 _ struct{} `type:"structure"` 17215 _ struct{} `type:"structure"`
15613} 17216}
@@ -15622,14 +17225,13 @@ func (s PutBucketLifecycleConfigurationOutput) GoString() string {
15622 return s.String() 17225 return s.String()
15623} 17226}
15624 17227
15625// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleRequest
15626type PutBucketLifecycleInput struct { 17228type PutBucketLifecycleInput struct {
15627 _ struct{} `type:"structure" payload:"LifecycleConfiguration"` 17229 _ struct{} `type:"structure" payload:"LifecycleConfiguration"`
15628 17230
15629 // Bucket is a required field 17231 // Bucket is a required field
15630 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17232 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15631 17233
15632 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure"` 17234 LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
15633} 17235}
15634 17236
15635// String returns the string representation 17237// String returns the string representation
@@ -15666,13 +17268,19 @@ func (s *PutBucketLifecycleInput) SetBucket(v string) *PutBucketLifecycleInput {
15666 return s 17268 return s
15667} 17269}
15668 17270
17271func (s *PutBucketLifecycleInput) getBucket() (v string) {
17272 if s.Bucket == nil {
17273 return v
17274 }
17275 return *s.Bucket
17276}
17277
15669// SetLifecycleConfiguration sets the LifecycleConfiguration field's value. 17278// SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
15670func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleInput { 17279func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleInput {
15671 s.LifecycleConfiguration = v 17280 s.LifecycleConfiguration = v
15672 return s 17281 return s
15673} 17282}
15674 17283
15675// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleOutput
15676type PutBucketLifecycleOutput struct { 17284type PutBucketLifecycleOutput struct {
15677 _ struct{} `type:"structure"` 17285 _ struct{} `type:"structure"`
15678} 17286}
@@ -15687,7 +17295,6 @@ func (s PutBucketLifecycleOutput) GoString() string {
15687 return s.String() 17295 return s.String()
15688} 17296}
15689 17297
15690// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLoggingRequest
15691type PutBucketLoggingInput struct { 17298type PutBucketLoggingInput struct {
15692 _ struct{} `type:"structure" payload:"BucketLoggingStatus"` 17299 _ struct{} `type:"structure" payload:"BucketLoggingStatus"`
15693 17300
@@ -15695,7 +17302,7 @@ type PutBucketLoggingInput struct {
15695 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17302 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15696 17303
15697 // BucketLoggingStatus is a required field 17304 // BucketLoggingStatus is a required field
15698 BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true"` 17305 BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
15699} 17306}
15700 17307
15701// String returns the string representation 17308// String returns the string representation
@@ -15735,13 +17342,19 @@ func (s *PutBucketLoggingInput) SetBucket(v string) *PutBucketLoggingInput {
15735 return s 17342 return s
15736} 17343}
15737 17344
17345func (s *PutBucketLoggingInput) getBucket() (v string) {
17346 if s.Bucket == nil {
17347 return v
17348 }
17349 return *s.Bucket
17350}
17351
15738// SetBucketLoggingStatus sets the BucketLoggingStatus field's value. 17352// SetBucketLoggingStatus sets the BucketLoggingStatus field's value.
15739func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *PutBucketLoggingInput { 17353func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *PutBucketLoggingInput {
15740 s.BucketLoggingStatus = v 17354 s.BucketLoggingStatus = v
15741 return s 17355 return s
15742} 17356}
15743 17357
15744// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLoggingOutput
15745type PutBucketLoggingOutput struct { 17358type PutBucketLoggingOutput struct {
15746 _ struct{} `type:"structure"` 17359 _ struct{} `type:"structure"`
15747} 17360}
@@ -15756,7 +17369,6 @@ func (s PutBucketLoggingOutput) GoString() string {
15756 return s.String() 17369 return s.String()
15757} 17370}
15758 17371
15759// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfigurationRequest
15760type PutBucketMetricsConfigurationInput struct { 17372type PutBucketMetricsConfigurationInput struct {
15761 _ struct{} `type:"structure" payload:"MetricsConfiguration"` 17373 _ struct{} `type:"structure" payload:"MetricsConfiguration"`
15762 17374
@@ -15773,7 +17385,7 @@ type PutBucketMetricsConfigurationInput struct {
15773 // Specifies the metrics configuration. 17385 // Specifies the metrics configuration.
15774 // 17386 //
15775 // MetricsConfiguration is a required field 17387 // MetricsConfiguration is a required field
15776 MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true"` 17388 MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
15777} 17389}
15778 17390
15779// String returns the string representation 17391// String returns the string representation
@@ -15816,6 +17428,13 @@ func (s *PutBucketMetricsConfigurationInput) SetBucket(v string) *PutBucketMetri
15816 return s 17428 return s
15817} 17429}
15818 17430
17431func (s *PutBucketMetricsConfigurationInput) getBucket() (v string) {
17432 if s.Bucket == nil {
17433 return v
17434 }
17435 return *s.Bucket
17436}
17437
15819// SetId sets the Id field's value. 17438// SetId sets the Id field's value.
15820func (s *PutBucketMetricsConfigurationInput) SetId(v string) *PutBucketMetricsConfigurationInput { 17439func (s *PutBucketMetricsConfigurationInput) SetId(v string) *PutBucketMetricsConfigurationInput {
15821 s.Id = &v 17440 s.Id = &v
@@ -15828,7 +17447,6 @@ func (s *PutBucketMetricsConfigurationInput) SetMetricsConfiguration(v *MetricsC
15828 return s 17447 return s
15829} 17448}
15830 17449
15831// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfigurationOutput
15832type PutBucketMetricsConfigurationOutput struct { 17450type PutBucketMetricsConfigurationOutput struct {
15833 _ struct{} `type:"structure"` 17451 _ struct{} `type:"structure"`
15834} 17452}
@@ -15843,7 +17461,6 @@ func (s PutBucketMetricsConfigurationOutput) GoString() string {
15843 return s.String() 17461 return s.String()
15844} 17462}
15845 17463
15846// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfigurationRequest
15847type PutBucketNotificationConfigurationInput struct { 17464type PutBucketNotificationConfigurationInput struct {
15848 _ struct{} `type:"structure" payload:"NotificationConfiguration"` 17465 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
15849 17466
@@ -15854,7 +17471,7 @@ type PutBucketNotificationConfigurationInput struct {
15854 // this element is empty, notifications are turned off on the bucket. 17471 // this element is empty, notifications are turned off on the bucket.
15855 // 17472 //
15856 // NotificationConfiguration is a required field 17473 // NotificationConfiguration is a required field
15857 NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true"` 17474 NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
15858} 17475}
15859 17476
15860// String returns the string representation 17477// String returns the string representation
@@ -15894,13 +17511,19 @@ func (s *PutBucketNotificationConfigurationInput) SetBucket(v string) *PutBucket
15894 return s 17511 return s
15895} 17512}
15896 17513
17514func (s *PutBucketNotificationConfigurationInput) getBucket() (v string) {
17515 if s.Bucket == nil {
17516 return v
17517 }
17518 return *s.Bucket
17519}
17520
15897// SetNotificationConfiguration sets the NotificationConfiguration field's value. 17521// SetNotificationConfiguration sets the NotificationConfiguration field's value.
15898func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v *NotificationConfiguration) *PutBucketNotificationConfigurationInput { 17522func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v *NotificationConfiguration) *PutBucketNotificationConfigurationInput {
15899 s.NotificationConfiguration = v 17523 s.NotificationConfiguration = v
15900 return s 17524 return s
15901} 17525}
15902 17526
15903// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfigurationOutput
15904type PutBucketNotificationConfigurationOutput struct { 17527type PutBucketNotificationConfigurationOutput struct {
15905 _ struct{} `type:"structure"` 17528 _ struct{} `type:"structure"`
15906} 17529}
@@ -15915,7 +17538,6 @@ func (s PutBucketNotificationConfigurationOutput) GoString() string {
15915 return s.String() 17538 return s.String()
15916} 17539}
15917 17540
15918// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationRequest
15919type PutBucketNotificationInput struct { 17541type PutBucketNotificationInput struct {
15920 _ struct{} `type:"structure" payload:"NotificationConfiguration"` 17542 _ struct{} `type:"structure" payload:"NotificationConfiguration"`
15921 17543
@@ -15923,7 +17545,7 @@ type PutBucketNotificationInput struct {
15923 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17545 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15924 17546
15925 // NotificationConfiguration is a required field 17547 // NotificationConfiguration is a required field
15926 NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true"` 17548 NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
15927} 17549}
15928 17550
15929// String returns the string representation 17551// String returns the string representation
@@ -15958,13 +17580,19 @@ func (s *PutBucketNotificationInput) SetBucket(v string) *PutBucketNotificationI
15958 return s 17580 return s
15959} 17581}
15960 17582
17583func (s *PutBucketNotificationInput) getBucket() (v string) {
17584 if s.Bucket == nil {
17585 return v
17586 }
17587 return *s.Bucket
17588}
17589
15961// SetNotificationConfiguration sets the NotificationConfiguration field's value. 17590// SetNotificationConfiguration sets the NotificationConfiguration field's value.
15962func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *NotificationConfigurationDeprecated) *PutBucketNotificationInput { 17591func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *NotificationConfigurationDeprecated) *PutBucketNotificationInput {
15963 s.NotificationConfiguration = v 17592 s.NotificationConfiguration = v
15964 return s 17593 return s
15965} 17594}
15966 17595
15967// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationOutput
15968type PutBucketNotificationOutput struct { 17596type PutBucketNotificationOutput struct {
15969 _ struct{} `type:"structure"` 17597 _ struct{} `type:"structure"`
15970} 17598}
@@ -15979,13 +17607,16 @@ func (s PutBucketNotificationOutput) GoString() string {
15979 return s.String() 17607 return s.String()
15980} 17608}
15981 17609
15982// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicyRequest
15983type PutBucketPolicyInput struct { 17610type PutBucketPolicyInput struct {
15984 _ struct{} `type:"structure" payload:"Policy"` 17611 _ struct{} `type:"structure" payload:"Policy"`
15985 17612
15986 // Bucket is a required field 17613 // Bucket is a required field
15987 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17614 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
15988 17615
17616 // Set this parameter to true to confirm that you want to remove your permissions
17617 // to change this bucket policy in the future.
17618 ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"`
17619
15989 // The bucket policy as a JSON document. 17620 // The bucket policy as a JSON document.
15990 // 17621 //
15991 // Policy is a required field 17622 // Policy is a required field
@@ -16024,13 +17655,25 @@ func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput {
16024 return s 17655 return s
16025} 17656}
16026 17657
17658func (s *PutBucketPolicyInput) getBucket() (v string) {
17659 if s.Bucket == nil {
17660 return v
17661 }
17662 return *s.Bucket
17663}
17664
17665// SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value.
17666func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput {
17667 s.ConfirmRemoveSelfBucketAccess = &v
17668 return s
17669}
17670
16027// SetPolicy sets the Policy field's value. 17671// SetPolicy sets the Policy field's value.
16028func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput { 17672func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput {
16029 s.Policy = &v 17673 s.Policy = &v
16030 return s 17674 return s
16031} 17675}
16032 17676
16033// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicyOutput
16034type PutBucketPolicyOutput struct { 17677type PutBucketPolicyOutput struct {
16035 _ struct{} `type:"structure"` 17678 _ struct{} `type:"structure"`
16036} 17679}
@@ -16045,7 +17688,6 @@ func (s PutBucketPolicyOutput) GoString() string {
16045 return s.String() 17688 return s.String()
16046} 17689}
16047 17690
16048// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplicationRequest
16049type PutBucketReplicationInput struct { 17691type PutBucketReplicationInput struct {
16050 _ struct{} `type:"structure" payload:"ReplicationConfiguration"` 17692 _ struct{} `type:"structure" payload:"ReplicationConfiguration"`
16051 17693
@@ -16056,7 +17698,7 @@ type PutBucketReplicationInput struct {
16056 // replication configuration size can be up to 2 MB. 17698 // replication configuration size can be up to 2 MB.
16057 // 17699 //
16058 // ReplicationConfiguration is a required field 17700 // ReplicationConfiguration is a required field
16059 ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true"` 17701 ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
16060} 17702}
16061 17703
16062// String returns the string representation 17704// String returns the string representation
@@ -16096,13 +17738,19 @@ func (s *PutBucketReplicationInput) SetBucket(v string) *PutBucketReplicationInp
16096 return s 17738 return s
16097} 17739}
16098 17740
17741func (s *PutBucketReplicationInput) getBucket() (v string) {
17742 if s.Bucket == nil {
17743 return v
17744 }
17745 return *s.Bucket
17746}
17747
16099// SetReplicationConfiguration sets the ReplicationConfiguration field's value. 17748// SetReplicationConfiguration sets the ReplicationConfiguration field's value.
16100func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput { 17749func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput {
16101 s.ReplicationConfiguration = v 17750 s.ReplicationConfiguration = v
16102 return s 17751 return s
16103} 17752}
16104 17753
16105// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplicationOutput
16106type PutBucketReplicationOutput struct { 17754type PutBucketReplicationOutput struct {
16107 _ struct{} `type:"structure"` 17755 _ struct{} `type:"structure"`
16108} 17756}
@@ -16117,7 +17765,6 @@ func (s PutBucketReplicationOutput) GoString() string {
16117 return s.String() 17765 return s.String()
16118} 17766}
16119 17767
16120// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPaymentRequest
16121type PutBucketRequestPaymentInput struct { 17768type PutBucketRequestPaymentInput struct {
16122 _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"` 17769 _ struct{} `type:"structure" payload:"RequestPaymentConfiguration"`
16123 17770
@@ -16125,7 +17772,7 @@ type PutBucketRequestPaymentInput struct {
16125 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17772 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16126 17773
16127 // RequestPaymentConfiguration is a required field 17774 // RequestPaymentConfiguration is a required field
16128 RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true"` 17775 RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
16129} 17776}
16130 17777
16131// String returns the string representation 17778// String returns the string representation
@@ -16165,13 +17812,19 @@ func (s *PutBucketRequestPaymentInput) SetBucket(v string) *PutBucketRequestPaym
16165 return s 17812 return s
16166} 17813}
16167 17814
17815func (s *PutBucketRequestPaymentInput) getBucket() (v string) {
17816 if s.Bucket == nil {
17817 return v
17818 }
17819 return *s.Bucket
17820}
17821
16168// SetRequestPaymentConfiguration sets the RequestPaymentConfiguration field's value. 17822// SetRequestPaymentConfiguration sets the RequestPaymentConfiguration field's value.
16169func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *RequestPaymentConfiguration) *PutBucketRequestPaymentInput { 17823func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *RequestPaymentConfiguration) *PutBucketRequestPaymentInput {
16170 s.RequestPaymentConfiguration = v 17824 s.RequestPaymentConfiguration = v
16171 return s 17825 return s
16172} 17826}
16173 17827
16174// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPaymentOutput
16175type PutBucketRequestPaymentOutput struct { 17828type PutBucketRequestPaymentOutput struct {
16176 _ struct{} `type:"structure"` 17829 _ struct{} `type:"structure"`
16177} 17830}
@@ -16186,7 +17839,6 @@ func (s PutBucketRequestPaymentOutput) GoString() string {
16186 return s.String() 17839 return s.String()
16187} 17840}
16188 17841
16189// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTaggingRequest
16190type PutBucketTaggingInput struct { 17842type PutBucketTaggingInput struct {
16191 _ struct{} `type:"structure" payload:"Tagging"` 17843 _ struct{} `type:"structure" payload:"Tagging"`
16192 17844
@@ -16194,7 +17846,7 @@ type PutBucketTaggingInput struct {
16194 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17846 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16195 17847
16196 // Tagging is a required field 17848 // Tagging is a required field
16197 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true"` 17849 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
16198} 17850}
16199 17851
16200// String returns the string representation 17852// String returns the string representation
@@ -16234,13 +17886,19 @@ func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput {
16234 return s 17886 return s
16235} 17887}
16236 17888
17889func (s *PutBucketTaggingInput) getBucket() (v string) {
17890 if s.Bucket == nil {
17891 return v
17892 }
17893 return *s.Bucket
17894}
17895
16237// SetTagging sets the Tagging field's value. 17896// SetTagging sets the Tagging field's value.
16238func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput { 17897func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput {
16239 s.Tagging = v 17898 s.Tagging = v
16240 return s 17899 return s
16241} 17900}
16242 17901
16243// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTaggingOutput
16244type PutBucketTaggingOutput struct { 17902type PutBucketTaggingOutput struct {
16245 _ struct{} `type:"structure"` 17903 _ struct{} `type:"structure"`
16246} 17904}
@@ -16255,7 +17913,6 @@ func (s PutBucketTaggingOutput) GoString() string {
16255 return s.String() 17913 return s.String()
16256} 17914}
16257 17915
16258// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioningRequest
16259type PutBucketVersioningInput struct { 17916type PutBucketVersioningInput struct {
16260 _ struct{} `type:"structure" payload:"VersioningConfiguration"` 17917 _ struct{} `type:"structure" payload:"VersioningConfiguration"`
16261 17918
@@ -16267,7 +17924,7 @@ type PutBucketVersioningInput struct {
16267 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"` 17924 MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
16268 17925
16269 // VersioningConfiguration is a required field 17926 // VersioningConfiguration is a required field
16270 VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true"` 17927 VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
16271} 17928}
16272 17929
16273// String returns the string representation 17930// String returns the string representation
@@ -16302,6 +17959,13 @@ func (s *PutBucketVersioningInput) SetBucket(v string) *PutBucketVersioningInput
16302 return s 17959 return s
16303} 17960}
16304 17961
17962func (s *PutBucketVersioningInput) getBucket() (v string) {
17963 if s.Bucket == nil {
17964 return v
17965 }
17966 return *s.Bucket
17967}
17968
16305// SetMFA sets the MFA field's value. 17969// SetMFA sets the MFA field's value.
16306func (s *PutBucketVersioningInput) SetMFA(v string) *PutBucketVersioningInput { 17970func (s *PutBucketVersioningInput) SetMFA(v string) *PutBucketVersioningInput {
16307 s.MFA = &v 17971 s.MFA = &v
@@ -16314,7 +17978,6 @@ func (s *PutBucketVersioningInput) SetVersioningConfiguration(v *VersioningConfi
16314 return s 17978 return s
16315} 17979}
16316 17980
16317// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioningOutput
16318type PutBucketVersioningOutput struct { 17981type PutBucketVersioningOutput struct {
16319 _ struct{} `type:"structure"` 17982 _ struct{} `type:"structure"`
16320} 17983}
@@ -16329,7 +17992,6 @@ func (s PutBucketVersioningOutput) GoString() string {
16329 return s.String() 17992 return s.String()
16330} 17993}
16331 17994
16332// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsiteRequest
16333type PutBucketWebsiteInput struct { 17995type PutBucketWebsiteInput struct {
16334 _ struct{} `type:"structure" payload:"WebsiteConfiguration"` 17996 _ struct{} `type:"structure" payload:"WebsiteConfiguration"`
16335 17997
@@ -16337,7 +17999,7 @@ type PutBucketWebsiteInput struct {
16337 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 17999 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
16338 18000
16339 // WebsiteConfiguration is a required field 18001 // WebsiteConfiguration is a required field
16340 WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true"` 18002 WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
16341} 18003}
16342 18004
16343// String returns the string representation 18005// String returns the string representation
@@ -16377,13 +18039,19 @@ func (s *PutBucketWebsiteInput) SetBucket(v string) *PutBucketWebsiteInput {
16377 return s 18039 return s
16378} 18040}
16379 18041
18042func (s *PutBucketWebsiteInput) getBucket() (v string) {
18043 if s.Bucket == nil {
18044 return v
18045 }
18046 return *s.Bucket
18047}
18048
16380// SetWebsiteConfiguration sets the WebsiteConfiguration field's value. 18049// SetWebsiteConfiguration sets the WebsiteConfiguration field's value.
16381func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration) *PutBucketWebsiteInput { 18050func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration) *PutBucketWebsiteInput {
16382 s.WebsiteConfiguration = v 18051 s.WebsiteConfiguration = v
16383 return s 18052 return s
16384} 18053}
16385 18054
16386// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsiteOutput
16387type PutBucketWebsiteOutput struct { 18055type PutBucketWebsiteOutput struct {
16388 _ struct{} `type:"structure"` 18056 _ struct{} `type:"structure"`
16389} 18057}
@@ -16398,14 +18066,13 @@ func (s PutBucketWebsiteOutput) GoString() string {
16398 return s.String() 18066 return s.String()
16399} 18067}
16400 18068
16401// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAclRequest
16402type PutObjectAclInput struct { 18069type PutObjectAclInput struct {
16403 _ struct{} `type:"structure" payload:"AccessControlPolicy"` 18070 _ struct{} `type:"structure" payload:"AccessControlPolicy"`
16404 18071
16405 // The canned ACL to apply to the object. 18072 // The canned ACL to apply to the object.
16406 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"` 18073 ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
16407 18074
16408 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure"` 18075 AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
16409 18076
16410 // Bucket is a required field 18077 // Bucket is a required field
16411 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` 18078 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -16491,6 +18158,13 @@ func (s *PutObjectAclInput) SetBucket(v string) *PutObjectAclInput {
16491 return s 18158 return s
16492} 18159}
16493 18160
18161func (s *PutObjectAclInput) getBucket() (v string) {
18162 if s.Bucket == nil {
18163 return v
18164 }
18165 return *s.Bucket
18166}
18167
16494// SetGrantFullControl sets the GrantFullControl field's value. 18168// SetGrantFullControl sets the GrantFullControl field's value.
16495func (s *PutObjectAclInput) SetGrantFullControl(v string) *PutObjectAclInput { 18169func (s *PutObjectAclInput) SetGrantFullControl(v string) *PutObjectAclInput {
16496 s.GrantFullControl = &v 18170 s.GrantFullControl = &v
@@ -16539,7 +18213,6 @@ func (s *PutObjectAclInput) SetVersionId(v string) *PutObjectAclInput {
16539 return s 18213 return s
16540} 18214}
16541 18215
16542// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAclOutput
16543type PutObjectAclOutput struct { 18216type PutObjectAclOutput struct {
16544 _ struct{} `type:"structure"` 18217 _ struct{} `type:"structure"`
16545 18218
@@ -16564,7 +18237,6 @@ func (s *PutObjectAclOutput) SetRequestCharged(v string) *PutObjectAclOutput {
16564 return s 18237 return s
16565} 18238}
16566 18239
16567// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRequest
16568type PutObjectInput struct { 18240type PutObjectInput struct {
16569 _ struct{} `type:"structure" payload:"Body"` 18241 _ struct{} `type:"structure" payload:"Body"`
16570 18242
@@ -16597,11 +18269,14 @@ type PutObjectInput struct {
16597 // body cannot be determined automatically. 18269 // body cannot be determined automatically.
16598 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` 18270 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
16599 18271
18272 // The base64-encoded 128-bit MD5 digest of the part data.
18273 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
18274
16600 // A standard MIME type describing the format of the object data. 18275 // A standard MIME type describing the format of the object data.
16601 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 18276 ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
16602 18277
16603 // The date and time at which the object is no longer cacheable. 18278 // The date and time at which the object is no longer cacheable.
16604 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp" timestampFormat:"rfc822"` 18279 Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
16605 18280
16606 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. 18281 // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
16607 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"` 18282 GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
@@ -16713,6 +18388,13 @@ func (s *PutObjectInput) SetBucket(v string) *PutObjectInput {
16713 return s 18388 return s
16714} 18389}
16715 18390
18391func (s *PutObjectInput) getBucket() (v string) {
18392 if s.Bucket == nil {
18393 return v
18394 }
18395 return *s.Bucket
18396}
18397
16716// SetCacheControl sets the CacheControl field's value. 18398// SetCacheControl sets the CacheControl field's value.
16717func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput { 18399func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput {
16718 s.CacheControl = &v 18400 s.CacheControl = &v
@@ -16743,6 +18425,12 @@ func (s *PutObjectInput) SetContentLength(v int64) *PutObjectInput {
16743 return s 18425 return s
16744} 18426}
16745 18427
18428// SetContentMD5 sets the ContentMD5 field's value.
18429func (s *PutObjectInput) SetContentMD5(v string) *PutObjectInput {
18430 s.ContentMD5 = &v
18431 return s
18432}
18433
16746// SetContentType sets the ContentType field's value. 18434// SetContentType sets the ContentType field's value.
16747func (s *PutObjectInput) SetContentType(v string) *PutObjectInput { 18435func (s *PutObjectInput) SetContentType(v string) *PutObjectInput {
16748 s.ContentType = &v 18436 s.ContentType = &v
@@ -16809,6 +18497,13 @@ func (s *PutObjectInput) SetSSECustomerKey(v string) *PutObjectInput {
16809 return s 18497 return s
16810} 18498}
16811 18499
18500func (s *PutObjectInput) getSSECustomerKey() (v string) {
18501 if s.SSECustomerKey == nil {
18502 return v
18503 }
18504 return *s.SSECustomerKey
18505}
18506
16812// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 18507// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
16813func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput { 18508func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput {
16814 s.SSECustomerKeyMD5 = &v 18509 s.SSECustomerKeyMD5 = &v
@@ -16845,7 +18540,6 @@ func (s *PutObjectInput) SetWebsiteRedirectLocation(v string) *PutObjectInput {
16845 return s 18540 return s
16846} 18541}
16847 18542
16848// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectOutput
16849type PutObjectOutput struct { 18543type PutObjectOutput struct {
16850 _ struct{} `type:"structure"` 18544 _ struct{} `type:"structure"`
16851 18545
@@ -16940,7 +18634,6 @@ func (s *PutObjectOutput) SetVersionId(v string) *PutObjectOutput {
16940 return s 18634 return s
16941} 18635}
16942 18636
16943// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTaggingRequest
16944type PutObjectTaggingInput struct { 18637type PutObjectTaggingInput struct {
16945 _ struct{} `type:"structure" payload:"Tagging"` 18638 _ struct{} `type:"structure" payload:"Tagging"`
16946 18639
@@ -16951,7 +18644,7 @@ type PutObjectTaggingInput struct {
16951 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` 18644 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
16952 18645
16953 // Tagging is a required field 18646 // Tagging is a required field
16954 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true"` 18647 Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
16955 18648
16956 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 18649 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
16957} 18650}
@@ -16999,6 +18692,13 @@ func (s *PutObjectTaggingInput) SetBucket(v string) *PutObjectTaggingInput {
16999 return s 18692 return s
17000} 18693}
17001 18694
18695func (s *PutObjectTaggingInput) getBucket() (v string) {
18696 if s.Bucket == nil {
18697 return v
18698 }
18699 return *s.Bucket
18700}
18701
17002// SetKey sets the Key field's value. 18702// SetKey sets the Key field's value.
17003func (s *PutObjectTaggingInput) SetKey(v string) *PutObjectTaggingInput { 18703func (s *PutObjectTaggingInput) SetKey(v string) *PutObjectTaggingInput {
17004 s.Key = &v 18704 s.Key = &v
@@ -17017,7 +18717,6 @@ func (s *PutObjectTaggingInput) SetVersionId(v string) *PutObjectTaggingInput {
17017 return s 18717 return s
17018} 18718}
17019 18719
17020// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTaggingOutput
17021type PutObjectTaggingOutput struct { 18720type PutObjectTaggingOutput struct {
17022 _ struct{} `type:"structure"` 18721 _ struct{} `type:"structure"`
17023 18722
@@ -17042,7 +18741,6 @@ func (s *PutObjectTaggingOutput) SetVersionId(v string) *PutObjectTaggingOutput
17042 18741
17043// Container for specifying an configuration when you want Amazon S3 to publish 18742// Container for specifying an configuration when you want Amazon S3 to publish
17044// events to an Amazon Simple Queue Service (Amazon SQS) queue. 18743// events to an Amazon Simple Queue Service (Amazon SQS) queue.
17045// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/QueueConfiguration
17046type QueueConfiguration struct { 18744type QueueConfiguration struct {
17047 _ struct{} `type:"structure"` 18745 _ struct{} `type:"structure"`
17048 18746
@@ -17051,6 +18749,7 @@ type QueueConfiguration struct {
17051 18749
17052 // Container for object key name filtering rules. For information about key 18750 // Container for object key name filtering rules. For information about key
17053 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 18751 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
18752 // in the Amazon Simple Storage Service Developer Guide.
17054 Filter *NotificationConfigurationFilter `type:"structure"` 18753 Filter *NotificationConfigurationFilter `type:"structure"`
17055 18754
17056 // Optional unique identifier for configurations in a notification configuration. 18755 // Optional unique identifier for configurations in a notification configuration.
@@ -17114,7 +18813,6 @@ func (s *QueueConfiguration) SetQueueArn(v string) *QueueConfiguration {
17114 return s 18813 return s
17115} 18814}
17116 18815
17117// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/QueueConfigurationDeprecated
17118type QueueConfigurationDeprecated struct { 18816type QueueConfigurationDeprecated struct {
17119 _ struct{} `type:"structure"` 18817 _ struct{} `type:"structure"`
17120 18818
@@ -17164,7 +18862,45 @@ func (s *QueueConfigurationDeprecated) SetQueue(v string) *QueueConfigurationDep
17164 return s 18862 return s
17165} 18863}
17166 18864
17167// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Redirect 18865type RecordsEvent struct {
18866 _ struct{} `locationName:"RecordsEvent" type:"structure" payload:"Payload"`
18867
18868 // The byte array of partial, one or more result records.
18869 //
18870 // Payload is automatically base64 encoded/decoded by the SDK.
18871 Payload []byte `type:"blob"`
18872}
18873
18874// String returns the string representation
18875func (s RecordsEvent) String() string {
18876 return awsutil.Prettify(s)
18877}
18878
18879// GoString returns the string representation
18880func (s RecordsEvent) GoString() string {
18881 return s.String()
18882}
18883
18884// SetPayload sets the Payload field's value.
18885func (s *RecordsEvent) SetPayload(v []byte) *RecordsEvent {
18886 s.Payload = v
18887 return s
18888}
18889
18890// The RecordsEvent is and event in the SelectObjectContentEventStream group of events.
18891func (s *RecordsEvent) eventSelectObjectContentEventStream() {}
18892
18893// UnmarshalEvent unmarshals the EventStream Message into the RecordsEvent value.
18894// This method is only used internally within the SDK's EventStream handling.
18895func (s *RecordsEvent) UnmarshalEvent(
18896 payloadUnmarshaler protocol.PayloadUnmarshaler,
18897 msg eventstream.Message,
18898) error {
18899 s.Payload = make([]byte, len(msg.Payload))
18900 copy(s.Payload, msg.Payload)
18901 return nil
18902}
18903
17168type Redirect struct { 18904type Redirect struct {
17169 _ struct{} `type:"structure"` 18905 _ struct{} `type:"structure"`
17170 18906
@@ -17233,7 +18969,6 @@ func (s *Redirect) SetReplaceKeyWith(v string) *Redirect {
17233 return s 18969 return s
17234} 18970}
17235 18971
17236// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RedirectAllRequestsTo
17237type RedirectAllRequestsTo struct { 18972type RedirectAllRequestsTo struct {
17238 _ struct{} `type:"structure"` 18973 _ struct{} `type:"structure"`
17239 18974
@@ -17284,7 +19019,6 @@ func (s *RedirectAllRequestsTo) SetProtocol(v string) *RedirectAllRequestsTo {
17284 19019
17285// Container for replication rules. You can add as many as 1,000 rules. Total 19020// Container for replication rules. You can add as many as 1,000 rules. Total
17286// replication configuration size can be up to 2 MB. 19021// replication configuration size can be up to 2 MB.
17287// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationConfiguration
17288type ReplicationConfiguration struct { 19022type ReplicationConfiguration struct {
17289 _ struct{} `type:"structure"` 19023 _ struct{} `type:"structure"`
17290 19024
@@ -17349,10 +19083,12 @@ func (s *ReplicationConfiguration) SetRules(v []*ReplicationRule) *ReplicationCo
17349 return s 19083 return s
17350} 19084}
17351 19085
17352// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRule 19086// Container for information about a particular replication rule.
17353type ReplicationRule struct { 19087type ReplicationRule struct {
17354 _ struct{} `type:"structure"` 19088 _ struct{} `type:"structure"`
17355 19089
19090 // Container for replication destination information.
19091 //
17356 // Destination is a required field 19092 // Destination is a required field
17357 Destination *Destination `type:"structure" required:"true"` 19093 Destination *Destination `type:"structure" required:"true"`
17358 19094
@@ -17366,6 +19102,9 @@ type ReplicationRule struct {
17366 // Prefix is a required field 19102 // Prefix is a required field
17367 Prefix *string `type:"string" required:"true"` 19103 Prefix *string `type:"string" required:"true"`
17368 19104
19105 // Container for filters that define which source objects should be replicated.
19106 SourceSelectionCriteria *SourceSelectionCriteria `type:"structure"`
19107
17369 // The rule is ignored if status is not Enabled. 19108 // The rule is ignored if status is not Enabled.
17370 // 19109 //
17371 // Status is a required field 19110 // Status is a required field
@@ -17399,6 +19138,11 @@ func (s *ReplicationRule) Validate() error {
17399 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) 19138 invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
17400 } 19139 }
17401 } 19140 }
19141 if s.SourceSelectionCriteria != nil {
19142 if err := s.SourceSelectionCriteria.Validate(); err != nil {
19143 invalidParams.AddNested("SourceSelectionCriteria", err.(request.ErrInvalidParams))
19144 }
19145 }
17402 19146
17403 if invalidParams.Len() > 0 { 19147 if invalidParams.Len() > 0 {
17404 return invalidParams 19148 return invalidParams
@@ -17424,13 +19168,18 @@ func (s *ReplicationRule) SetPrefix(v string) *ReplicationRule {
17424 return s 19168 return s
17425} 19169}
17426 19170
19171// SetSourceSelectionCriteria sets the SourceSelectionCriteria field's value.
19172func (s *ReplicationRule) SetSourceSelectionCriteria(v *SourceSelectionCriteria) *ReplicationRule {
19173 s.SourceSelectionCriteria = v
19174 return s
19175}
19176
17427// SetStatus sets the Status field's value. 19177// SetStatus sets the Status field's value.
17428func (s *ReplicationRule) SetStatus(v string) *ReplicationRule { 19178func (s *ReplicationRule) SetStatus(v string) *ReplicationRule {
17429 s.Status = &v 19179 s.Status = &v
17430 return s 19180 return s
17431} 19181}
17432 19182
17433// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RequestPaymentConfiguration
17434type RequestPaymentConfiguration struct { 19183type RequestPaymentConfiguration struct {
17435 _ struct{} `type:"structure"` 19184 _ struct{} `type:"structure"`
17436 19185
@@ -17469,7 +19218,30 @@ func (s *RequestPaymentConfiguration) SetPayer(v string) *RequestPaymentConfigur
17469 return s 19218 return s
17470} 19219}
17471 19220
17472// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObjectRequest 19221type RequestProgress struct {
19222 _ struct{} `type:"structure"`
19223
19224 // Specifies whether periodic QueryProgress frames should be sent. Valid values:
19225 // TRUE, FALSE. Default value: FALSE.
19226 Enabled *bool `type:"boolean"`
19227}
19228
19229// String returns the string representation
19230func (s RequestProgress) String() string {
19231 return awsutil.Prettify(s)
19232}
19233
19234// GoString returns the string representation
19235func (s RequestProgress) GoString() string {
19236 return s.String()
19237}
19238
19239// SetEnabled sets the Enabled field's value.
19240func (s *RequestProgress) SetEnabled(v bool) *RequestProgress {
19241 s.Enabled = &v
19242 return s
19243}
19244
17473type RestoreObjectInput struct { 19245type RestoreObjectInput struct {
17474 _ struct{} `type:"structure" payload:"RestoreRequest"` 19246 _ struct{} `type:"structure" payload:"RestoreRequest"`
17475 19247
@@ -17485,7 +19257,8 @@ type RestoreObjectInput struct {
17485 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html 19257 // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
17486 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` 19258 RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
17487 19259
17488 RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure"` 19260 // Container for restore job parameters.
19261 RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
17489 19262
17490 VersionId *string `location:"querystring" locationName:"versionId" type:"string"` 19263 VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
17491} 19264}
@@ -17530,6 +19303,13 @@ func (s *RestoreObjectInput) SetBucket(v string) *RestoreObjectInput {
17530 return s 19303 return s
17531} 19304}
17532 19305
19306func (s *RestoreObjectInput) getBucket() (v string) {
19307 if s.Bucket == nil {
19308 return v
19309 }
19310 return *s.Bucket
19311}
19312
17533// SetKey sets the Key field's value. 19313// SetKey sets the Key field's value.
17534func (s *RestoreObjectInput) SetKey(v string) *RestoreObjectInput { 19314func (s *RestoreObjectInput) SetKey(v string) *RestoreObjectInput {
17535 s.Key = &v 19315 s.Key = &v
@@ -17554,13 +19334,16 @@ func (s *RestoreObjectInput) SetVersionId(v string) *RestoreObjectInput {
17554 return s 19334 return s
17555} 19335}
17556 19336
17557// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObjectOutput
17558type RestoreObjectOutput struct { 19337type RestoreObjectOutput struct {
17559 _ struct{} `type:"structure"` 19338 _ struct{} `type:"structure"`
17560 19339
17561 // If present, indicates that the requester was successfully charged for the 19340 // If present, indicates that the requester was successfully charged for the
17562 // request. 19341 // request.
17563 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"` 19342 RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
19343
19344 // Indicates the path in the provided S3 output location where Select results
19345 // will be restored to.
19346 RestoreOutputPath *string `location:"header" locationName:"x-amz-restore-output-path" type:"string"`
17564} 19347}
17565 19348
17566// String returns the string representation 19349// String returns the string representation
@@ -17579,17 +19362,38 @@ func (s *RestoreObjectOutput) SetRequestCharged(v string) *RestoreObjectOutput {
17579 return s 19362 return s
17580} 19363}
17581 19364
17582// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreRequest 19365// SetRestoreOutputPath sets the RestoreOutputPath field's value.
19366func (s *RestoreObjectOutput) SetRestoreOutputPath(v string) *RestoreObjectOutput {
19367 s.RestoreOutputPath = &v
19368 return s
19369}
19370
19371// Container for restore job parameters.
17583type RestoreRequest struct { 19372type RestoreRequest struct {
17584 _ struct{} `type:"structure"` 19373 _ struct{} `type:"structure"`
17585 19374
17586 // Lifetime of the active copy in days 19375 // Lifetime of the active copy in days. Do not use with restores that specify
17587 // 19376 // OutputLocation.
17588 // Days is a required field 19377 Days *int64 `type:"integer"`
17589 Days *int64 `type:"integer" required:"true"` 19378
19379 // The optional description for the job.
19380 Description *string `type:"string"`
17590 19381
17591 // Glacier related prameters pertaining to this job. 19382 // Glacier related parameters pertaining to this job. Do not use with restores
19383 // that specify OutputLocation.
17592 GlacierJobParameters *GlacierJobParameters `type:"structure"` 19384 GlacierJobParameters *GlacierJobParameters `type:"structure"`
19385
19386 // Describes the location where the restore job's output is stored.
19387 OutputLocation *OutputLocation `type:"structure"`
19388
19389 // Describes the parameters for Select job types.
19390 SelectParameters *SelectParameters `type:"structure"`
19391
19392 // Glacier retrieval tier at which the restore will be processed.
19393 Tier *string `type:"string" enum:"Tier"`
19394
19395 // Type of restore request.
19396 Type *string `type:"string" enum:"RestoreRequestType"`
17593} 19397}
17594 19398
17595// String returns the string representation 19399// String returns the string representation
@@ -17605,14 +19409,21 @@ func (s RestoreRequest) GoString() string {
17605// Validate inspects the fields of the type to determine if they are valid. 19409// Validate inspects the fields of the type to determine if they are valid.
17606func (s *RestoreRequest) Validate() error { 19410func (s *RestoreRequest) Validate() error {
17607 invalidParams := request.ErrInvalidParams{Context: "RestoreRequest"} 19411 invalidParams := request.ErrInvalidParams{Context: "RestoreRequest"}
17608 if s.Days == nil {
17609 invalidParams.Add(request.NewErrParamRequired("Days"))
17610 }
17611 if s.GlacierJobParameters != nil { 19412 if s.GlacierJobParameters != nil {
17612 if err := s.GlacierJobParameters.Validate(); err != nil { 19413 if err := s.GlacierJobParameters.Validate(); err != nil {
17613 invalidParams.AddNested("GlacierJobParameters", err.(request.ErrInvalidParams)) 19414 invalidParams.AddNested("GlacierJobParameters", err.(request.ErrInvalidParams))
17614 } 19415 }
17615 } 19416 }
19417 if s.OutputLocation != nil {
19418 if err := s.OutputLocation.Validate(); err != nil {
19419 invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
19420 }
19421 }
19422 if s.SelectParameters != nil {
19423 if err := s.SelectParameters.Validate(); err != nil {
19424 invalidParams.AddNested("SelectParameters", err.(request.ErrInvalidParams))
19425 }
19426 }
17616 19427
17617 if invalidParams.Len() > 0 { 19428 if invalidParams.Len() > 0 {
17618 return invalidParams 19429 return invalidParams
@@ -17626,13 +19437,42 @@ func (s *RestoreRequest) SetDays(v int64) *RestoreRequest {
17626 return s 19437 return s
17627} 19438}
17628 19439
19440// SetDescription sets the Description field's value.
19441func (s *RestoreRequest) SetDescription(v string) *RestoreRequest {
19442 s.Description = &v
19443 return s
19444}
19445
17629// SetGlacierJobParameters sets the GlacierJobParameters field's value. 19446// SetGlacierJobParameters sets the GlacierJobParameters field's value.
17630func (s *RestoreRequest) SetGlacierJobParameters(v *GlacierJobParameters) *RestoreRequest { 19447func (s *RestoreRequest) SetGlacierJobParameters(v *GlacierJobParameters) *RestoreRequest {
17631 s.GlacierJobParameters = v 19448 s.GlacierJobParameters = v
17632 return s 19449 return s
17633} 19450}
17634 19451
17635// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RoutingRule 19452// SetOutputLocation sets the OutputLocation field's value.
19453func (s *RestoreRequest) SetOutputLocation(v *OutputLocation) *RestoreRequest {
19454 s.OutputLocation = v
19455 return s
19456}
19457
19458// SetSelectParameters sets the SelectParameters field's value.
19459func (s *RestoreRequest) SetSelectParameters(v *SelectParameters) *RestoreRequest {
19460 s.SelectParameters = v
19461 return s
19462}
19463
19464// SetTier sets the Tier field's value.
19465func (s *RestoreRequest) SetTier(v string) *RestoreRequest {
19466 s.Tier = &v
19467 return s
19468}
19469
19470// SetType sets the Type field's value.
19471func (s *RestoreRequest) SetType(v string) *RestoreRequest {
19472 s.Type = &v
19473 return s
19474}
19475
17636type RoutingRule struct { 19476type RoutingRule struct {
17637 _ struct{} `type:"structure"` 19477 _ struct{} `type:"structure"`
17638 19478
@@ -17685,7 +19525,6 @@ func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule {
17685 return s 19525 return s
17686} 19526}
17687 19527
17688// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Rule
17689type Rule struct { 19528type Rule struct {
17690 _ struct{} `type:"structure"` 19529 _ struct{} `type:"structure"`
17691 19530
@@ -17706,10 +19545,11 @@ type Rule struct {
17706 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` 19545 NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
17707 19546
17708 // Container for the transition rule that describes when noncurrent objects 19547 // Container for the transition rule that describes when noncurrent objects
17709 // transition to the STANDARD_IA or GLACIER storage class. If your bucket is 19548 // transition to the STANDARD_IA, ONEZONE_IA or GLACIER storage class. If your
17710 // versioning-enabled (or versioning is suspended), you can set this action 19549 // bucket is versioning-enabled (or versioning is suspended), you can set this
17711 // to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA 19550 // action to request that Amazon S3 transition noncurrent object versions to
17712 // or GLACIER storage class at a specific period in the object's lifetime. 19551 // the STANDARD_IA, ONEZONE_IA or GLACIER storage class at a specific period
19552 // in the object's lifetime.
17713 NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"` 19553 NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"`
17714 19554
17715 // Prefix identifying one or more objects to which the rule applies. 19555 // Prefix identifying one or more objects to which the rule applies.
@@ -17800,7 +19640,879 @@ func (s *Rule) SetTransition(v *Transition) *Rule {
17800 return s 19640 return s
17801} 19641}
17802 19642
17803// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StorageClassAnalysis 19643// Specifies the use of SSE-KMS to encrypt delievered Inventory reports.
19644type SSEKMS struct {
19645 _ struct{} `locationName:"SSE-KMS" type:"structure"`
19646
19647 // Specifies the ID of the AWS Key Management Service (KMS) master encryption
19648 // key to use for encrypting Inventory reports.
19649 //
19650 // KeyId is a required field
19651 KeyId *string `type:"string" required:"true"`
19652}
19653
19654// String returns the string representation
19655func (s SSEKMS) String() string {
19656 return awsutil.Prettify(s)
19657}
19658
19659// GoString returns the string representation
19660func (s SSEKMS) GoString() string {
19661 return s.String()
19662}
19663
19664// Validate inspects the fields of the type to determine if they are valid.
19665func (s *SSEKMS) Validate() error {
19666 invalidParams := request.ErrInvalidParams{Context: "SSEKMS"}
19667 if s.KeyId == nil {
19668 invalidParams.Add(request.NewErrParamRequired("KeyId"))
19669 }
19670
19671 if invalidParams.Len() > 0 {
19672 return invalidParams
19673 }
19674 return nil
19675}
19676
19677// SetKeyId sets the KeyId field's value.
19678func (s *SSEKMS) SetKeyId(v string) *SSEKMS {
19679 s.KeyId = &v
19680 return s
19681}
19682
19683// Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
19684type SSES3 struct {
19685 _ struct{} `locationName:"SSE-S3" type:"structure"`
19686}
19687
19688// String returns the string representation
19689func (s SSES3) String() string {
19690 return awsutil.Prettify(s)
19691}
19692
19693// GoString returns the string representation
19694func (s SSES3) GoString() string {
19695 return s.String()
19696}
19697
19698// SelectObjectContentEventStream provides handling of EventStreams for
19699// the SelectObjectContent API.
19700//
19701// Use this type to receive SelectObjectContentEventStream events. The events
19702// can be read from the Events channel member.
19703//
19704// The events that can be received are:
19705//
19706// * ContinuationEvent
19707// * EndEvent
19708// * ProgressEvent
19709// * RecordsEvent
19710// * StatsEvent
19711type SelectObjectContentEventStream struct {
19712 // Reader is the EventStream reader for the SelectObjectContentEventStream
19713 // events. This value is automatically set by the SDK when the API call is made
19714 // Use this member when unit testing your code with the SDK to mock out the
19715 // EventStream Reader.
19716 //
19717 // Must not be nil.
19718 Reader SelectObjectContentEventStreamReader
19719
19720 // StreamCloser is the io.Closer for the EventStream connection. For HTTP
19721 // EventStream this is the response Body. The stream will be closed when
19722 // the Close method of the EventStream is called.
19723 StreamCloser io.Closer
19724}
19725
19726// Close closes the EventStream. This will also cause the Events channel to be
19727// closed. You can use the closing of the Events channel to terminate your
19728// application's read from the API's EventStream.
19729//
19730// Will close the underlying EventStream reader. For EventStream over HTTP
19731// connection this will also close the HTTP connection.
19732//
19733// Close must be called when done using the EventStream API. Not calling Close
19734// may result in resource leaks.
19735func (es *SelectObjectContentEventStream) Close() (err error) {
19736 es.Reader.Close()
19737 return es.Err()
19738}
19739
19740// Err returns any error that occurred while reading EventStream Events from
19741// the service API's response. Returns nil if there were no errors.
19742func (es *SelectObjectContentEventStream) Err() error {
19743 if err := es.Reader.Err(); err != nil {
19744 return err
19745 }
19746 es.StreamCloser.Close()
19747
19748 return nil
19749}
19750
19751// Events returns a channel to read EventStream Events from the
19752// SelectObjectContent API.
19753//
19754// These events are:
19755//
19756// * ContinuationEvent
19757// * EndEvent
19758// * ProgressEvent
19759// * RecordsEvent
19760// * StatsEvent
19761func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
19762 return es.Reader.Events()
19763}
19764
19765// SelectObjectContentEventStreamEvent groups together all EventStream
19766// events read from the SelectObjectContent API.
19767//
19768// These events are:
19769//
19770// * ContinuationEvent
19771// * EndEvent
19772// * ProgressEvent
19773// * RecordsEvent
19774// * StatsEvent
19775type SelectObjectContentEventStreamEvent interface {
19776 eventSelectObjectContentEventStream()
19777}
19778
19779// SelectObjectContentEventStreamReader provides the interface for reading EventStream
19780// Events from the SelectObjectContent API. The
19781// default implementation for this interface will be SelectObjectContentEventStream.
19782//
19783// The reader's Close method must allow multiple concurrent calls.
19784//
19785// These events are:
19786//
19787// * ContinuationEvent
19788// * EndEvent
19789// * ProgressEvent
19790// * RecordsEvent
19791// * StatsEvent
19792type SelectObjectContentEventStreamReader interface {
19793 // Returns a channel of events as they are read from the event stream.
19794 Events() <-chan SelectObjectContentEventStreamEvent
19795
19796 // Close will close the underlying event stream reader. For event stream over
19797 // HTTP this will also close the HTTP connection.
19798 Close() error
19799
19800 // Returns any error that has occured while reading from the event stream.
19801 Err() error
19802}
19803
19804type readSelectObjectContentEventStream struct {
19805 eventReader *eventstreamapi.EventReader
19806 stream chan SelectObjectContentEventStreamEvent
19807 errVal atomic.Value
19808
19809 done chan struct{}
19810 closeOnce sync.Once
19811}
19812
19813func newReadSelectObjectContentEventStream(
19814 reader io.ReadCloser,
19815 unmarshalers request.HandlerList,
19816 logger aws.Logger,
19817 logLevel aws.LogLevelType,
19818) *readSelectObjectContentEventStream {
19819 r := &readSelectObjectContentEventStream{
19820 stream: make(chan SelectObjectContentEventStreamEvent),
19821 done: make(chan struct{}),
19822 }
19823
19824 r.eventReader = eventstreamapi.NewEventReader(
19825 reader,
19826 protocol.HandlerPayloadUnmarshal{
19827 Unmarshalers: unmarshalers,
19828 },
19829 r.unmarshalerForEventType,
19830 )
19831 r.eventReader.UseLogger(logger, logLevel)
19832
19833 return r
19834}
19835
19836// Close will close the underlying event stream reader. For EventStream over
19837// HTTP this will also close the HTTP connection.
19838func (r *readSelectObjectContentEventStream) Close() error {
19839 r.closeOnce.Do(r.safeClose)
19840
19841 return r.Err()
19842}
19843
19844func (r *readSelectObjectContentEventStream) safeClose() {
19845 close(r.done)
19846 err := r.eventReader.Close()
19847 if err != nil {
19848 r.errVal.Store(err)
19849 }
19850}
19851
19852func (r *readSelectObjectContentEventStream) Err() error {
19853 if v := r.errVal.Load(); v != nil {
19854 return v.(error)
19855 }
19856
19857 return nil
19858}
19859
19860func (r *readSelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
19861 return r.stream
19862}
19863
19864func (r *readSelectObjectContentEventStream) readEventStream() {
19865 defer close(r.stream)
19866
19867 for {
19868 event, err := r.eventReader.ReadEvent()
19869 if err != nil {
19870 if err == io.EOF {
19871 return
19872 }
19873 select {
19874 case <-r.done:
19875 // If closed already ignore the error
19876 return
19877 default:
19878 }
19879 r.errVal.Store(err)
19880 return
19881 }
19882
19883 select {
19884 case r.stream <- event.(SelectObjectContentEventStreamEvent):
19885 case <-r.done:
19886 return
19887 }
19888 }
19889}
19890
19891func (r *readSelectObjectContentEventStream) unmarshalerForEventType(
19892 eventType string,
19893) (eventstreamapi.Unmarshaler, error) {
19894 switch eventType {
19895 case "Cont":
19896 return &ContinuationEvent{}, nil
19897
19898 case "End":
19899 return &EndEvent{}, nil
19900
19901 case "Progress":
19902 return &ProgressEvent{}, nil
19903
19904 case "Records":
19905 return &RecordsEvent{}, nil
19906
19907 case "Stats":
19908 return &StatsEvent{}, nil
19909 default:
19910 return nil, awserr.New(
19911 request.ErrCodeSerialization,
19912 fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType),
19913 nil,
19914 )
19915 }
19916}
19917
19918// Request to filter the contents of an Amazon S3 object based on a simple Structured
19919// Query Language (SQL) statement. In the request, along with the SQL expression,
19920// you must also specify a data serialization format (JSON or CSV) of the object.
19921// Amazon S3 uses this to parse object data into records, and returns only records
19922// that match the specified SQL expression. You must also specify the data serialization
19923// format for the response. For more information, go to S3Select API Documentation
19924// (http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html).
19925type SelectObjectContentInput struct {
19926 _ struct{} `locationName:"SelectObjectContentRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
19927
19928 // The S3 Bucket.
19929 //
19930 // Bucket is a required field
19931 Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
19932
19933 // The expression that is used to query the object.
19934 //
19935 // Expression is a required field
19936 Expression *string `type:"string" required:"true"`
19937
19938 // The type of the provided expression (e.g., SQL).
19939 //
19940 // ExpressionType is a required field
19941 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
19942
19943 // Describes the format of the data in the object that is being queried.
19944 //
19945 // InputSerialization is a required field
19946 InputSerialization *InputSerialization `type:"structure" required:"true"`
19947
19948 // The Object Key.
19949 //
19950 // Key is a required field
19951 Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
19952
19953 // Describes the format of the data that you want Amazon S3 to return in response.
19954 //
19955 // OutputSerialization is a required field
19956 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
19957
19958 // Specifies if periodic request progress information should be enabled.
19959 RequestProgress *RequestProgress `type:"structure"`
19960
19961 // The SSE Algorithm used to encrypt the object. For more information, go to
19962 // Server-Side Encryption (Using Customer-Provided Encryption Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
19963 SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
19964
19965 // The SSE Customer Key. For more information, go to Server-Side Encryption
19966 // (Using Customer-Provided Encryption Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
19967 SSECustomerKey *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string"`
19968
19969 // The SSE Customer Key MD5. For more information, go to Server-Side Encryption
19970 // (Using Customer-Provided Encryption Keys (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
19971 SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
19972}
19973
19974// String returns the string representation
19975func (s SelectObjectContentInput) String() string {
19976 return awsutil.Prettify(s)
19977}
19978
19979// GoString returns the string representation
19980func (s SelectObjectContentInput) GoString() string {
19981 return s.String()
19982}
19983
19984// Validate inspects the fields of the type to determine if they are valid.
19985func (s *SelectObjectContentInput) Validate() error {
19986 invalidParams := request.ErrInvalidParams{Context: "SelectObjectContentInput"}
19987 if s.Bucket == nil {
19988 invalidParams.Add(request.NewErrParamRequired("Bucket"))
19989 }
19990 if s.Expression == nil {
19991 invalidParams.Add(request.NewErrParamRequired("Expression"))
19992 }
19993 if s.ExpressionType == nil {
19994 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
19995 }
19996 if s.InputSerialization == nil {
19997 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
19998 }
19999 if s.Key == nil {
20000 invalidParams.Add(request.NewErrParamRequired("Key"))
20001 }
20002 if s.Key != nil && len(*s.Key) < 1 {
20003 invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20004 }
20005 if s.OutputSerialization == nil {
20006 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
20007 }
20008
20009 if invalidParams.Len() > 0 {
20010 return invalidParams
20011 }
20012 return nil
20013}
20014
20015// SetBucket sets the Bucket field's value.
20016func (s *SelectObjectContentInput) SetBucket(v string) *SelectObjectContentInput {
20017 s.Bucket = &v
20018 return s
20019}
20020
20021func (s *SelectObjectContentInput) getBucket() (v string) {
20022 if s.Bucket == nil {
20023 return v
20024 }
20025 return *s.Bucket
20026}
20027
20028// SetExpression sets the Expression field's value.
20029func (s *SelectObjectContentInput) SetExpression(v string) *SelectObjectContentInput {
20030 s.Expression = &v
20031 return s
20032}
20033
20034// SetExpressionType sets the ExpressionType field's value.
20035func (s *SelectObjectContentInput) SetExpressionType(v string) *SelectObjectContentInput {
20036 s.ExpressionType = &v
20037 return s
20038}
20039
20040// SetInputSerialization sets the InputSerialization field's value.
20041func (s *SelectObjectContentInput) SetInputSerialization(v *InputSerialization) *SelectObjectContentInput {
20042 s.InputSerialization = v
20043 return s
20044}
20045
20046// SetKey sets the Key field's value.
20047func (s *SelectObjectContentInput) SetKey(v string) *SelectObjectContentInput {
20048 s.Key = &v
20049 return s
20050}
20051
20052// SetOutputSerialization sets the OutputSerialization field's value.
20053func (s *SelectObjectContentInput) SetOutputSerialization(v *OutputSerialization) *SelectObjectContentInput {
20054 s.OutputSerialization = v
20055 return s
20056}
20057
20058// SetRequestProgress sets the RequestProgress field's value.
20059func (s *SelectObjectContentInput) SetRequestProgress(v *RequestProgress) *SelectObjectContentInput {
20060 s.RequestProgress = v
20061 return s
20062}
20063
20064// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
20065func (s *SelectObjectContentInput) SetSSECustomerAlgorithm(v string) *SelectObjectContentInput {
20066 s.SSECustomerAlgorithm = &v
20067 return s
20068}
20069
20070// SetSSECustomerKey sets the SSECustomerKey field's value.
20071func (s *SelectObjectContentInput) SetSSECustomerKey(v string) *SelectObjectContentInput {
20072 s.SSECustomerKey = &v
20073 return s
20074}
20075
20076func (s *SelectObjectContentInput) getSSECustomerKey() (v string) {
20077 if s.SSECustomerKey == nil {
20078 return v
20079 }
20080 return *s.SSECustomerKey
20081}
20082
20083// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
20084func (s *SelectObjectContentInput) SetSSECustomerKeyMD5(v string) *SelectObjectContentInput {
20085 s.SSECustomerKeyMD5 = &v
20086 return s
20087}
20088
20089type SelectObjectContentOutput struct {
20090 _ struct{} `type:"structure" payload:"Payload"`
20091
20092 // Use EventStream to use the API's stream.
20093 EventStream *SelectObjectContentEventStream `type:"structure"`
20094}
20095
20096// String returns the string representation
20097func (s SelectObjectContentOutput) String() string {
20098 return awsutil.Prettify(s)
20099}
20100
20101// GoString returns the string representation
20102func (s SelectObjectContentOutput) GoString() string {
20103 return s.String()
20104}
20105
20106// SetEventStream sets the EventStream field's value.
20107func (s *SelectObjectContentOutput) SetEventStream(v *SelectObjectContentEventStream) *SelectObjectContentOutput {
20108 s.EventStream = v
20109 return s
20110}
20111
20112func (s *SelectObjectContentOutput) runEventStreamLoop(r *request.Request) {
20113 if r.Error != nil {
20114 return
20115 }
20116 reader := newReadSelectObjectContentEventStream(
20117 r.HTTPResponse.Body,
20118 r.Handlers.UnmarshalStream,
20119 r.Config.Logger,
20120 r.Config.LogLevel.Value(),
20121 )
20122 go reader.readEventStream()
20123
20124 eventStream := &SelectObjectContentEventStream{
20125 StreamCloser: r.HTTPResponse.Body,
20126 Reader: reader,
20127 }
20128 s.EventStream = eventStream
20129}
20130
20131// Describes the parameters for Select job types.
20132type SelectParameters struct {
20133 _ struct{} `type:"structure"`
20134
20135 // The expression that is used to query the object.
20136 //
20137 // Expression is a required field
20138 Expression *string `type:"string" required:"true"`
20139
20140 // The type of the provided expression (e.g., SQL).
20141 //
20142 // ExpressionType is a required field
20143 ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
20144
20145 // Describes the serialization format of the object.
20146 //
20147 // InputSerialization is a required field
20148 InputSerialization *InputSerialization `type:"structure" required:"true"`
20149
20150 // Describes how the results of the Select job are serialized.
20151 //
20152 // OutputSerialization is a required field
20153 OutputSerialization *OutputSerialization `type:"structure" required:"true"`
20154}
20155
20156// String returns the string representation
20157func (s SelectParameters) String() string {
20158 return awsutil.Prettify(s)
20159}
20160
20161// GoString returns the string representation
20162func (s SelectParameters) GoString() string {
20163 return s.String()
20164}
20165
20166// Validate inspects the fields of the type to determine if they are valid.
20167func (s *SelectParameters) Validate() error {
20168 invalidParams := request.ErrInvalidParams{Context: "SelectParameters"}
20169 if s.Expression == nil {
20170 invalidParams.Add(request.NewErrParamRequired("Expression"))
20171 }
20172 if s.ExpressionType == nil {
20173 invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
20174 }
20175 if s.InputSerialization == nil {
20176 invalidParams.Add(request.NewErrParamRequired("InputSerialization"))
20177 }
20178 if s.OutputSerialization == nil {
20179 invalidParams.Add(request.NewErrParamRequired("OutputSerialization"))
20180 }
20181
20182 if invalidParams.Len() > 0 {
20183 return invalidParams
20184 }
20185 return nil
20186}
20187
20188// SetExpression sets the Expression field's value.
20189func (s *SelectParameters) SetExpression(v string) *SelectParameters {
20190 s.Expression = &v
20191 return s
20192}
20193
20194// SetExpressionType sets the ExpressionType field's value.
20195func (s *SelectParameters) SetExpressionType(v string) *SelectParameters {
20196 s.ExpressionType = &v
20197 return s
20198}
20199
20200// SetInputSerialization sets the InputSerialization field's value.
20201func (s *SelectParameters) SetInputSerialization(v *InputSerialization) *SelectParameters {
20202 s.InputSerialization = v
20203 return s
20204}
20205
20206// SetOutputSerialization sets the OutputSerialization field's value.
20207func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *SelectParameters {
20208 s.OutputSerialization = v
20209 return s
20210}
20211
20212// Describes the default server-side encryption to apply to new objects in the
20213// bucket. If Put Object request does not specify any server-side encryption,
20214// this default encryption will be applied.
20215type ServerSideEncryptionByDefault struct {
20216 _ struct{} `type:"structure"`
20217
20218 // KMS master key ID to use for the default encryption. This parameter is allowed
20219 // if SSEAlgorithm is aws:kms.
20220 KMSMasterKeyID *string `type:"string"`
20221
20222 // Server-side encryption algorithm to use for the default encryption.
20223 //
20224 // SSEAlgorithm is a required field
20225 SSEAlgorithm *string `type:"string" required:"true" enum:"ServerSideEncryption"`
20226}
20227
20228// String returns the string representation
20229func (s ServerSideEncryptionByDefault) String() string {
20230 return awsutil.Prettify(s)
20231}
20232
20233// GoString returns the string representation
20234func (s ServerSideEncryptionByDefault) GoString() string {
20235 return s.String()
20236}
20237
20238// Validate inspects the fields of the type to determine if they are valid.
20239func (s *ServerSideEncryptionByDefault) Validate() error {
20240 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionByDefault"}
20241 if s.SSEAlgorithm == nil {
20242 invalidParams.Add(request.NewErrParamRequired("SSEAlgorithm"))
20243 }
20244
20245 if invalidParams.Len() > 0 {
20246 return invalidParams
20247 }
20248 return nil
20249}
20250
20251// SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
20252func (s *ServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *ServerSideEncryptionByDefault {
20253 s.KMSMasterKeyID = &v
20254 return s
20255}
20256
20257// SetSSEAlgorithm sets the SSEAlgorithm field's value.
20258func (s *ServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *ServerSideEncryptionByDefault {
20259 s.SSEAlgorithm = &v
20260 return s
20261}
20262
20263// Container for server-side encryption configuration rules. Currently S3 supports
20264// one rule only.
20265type ServerSideEncryptionConfiguration struct {
20266 _ struct{} `type:"structure"`
20267
20268 // Container for information about a particular server-side encryption configuration
20269 // rule.
20270 //
20271 // Rules is a required field
20272 Rules []*ServerSideEncryptionRule `locationName:"Rule" type:"list" flattened:"true" required:"true"`
20273}
20274
20275// String returns the string representation
20276func (s ServerSideEncryptionConfiguration) String() string {
20277 return awsutil.Prettify(s)
20278}
20279
20280// GoString returns the string representation
20281func (s ServerSideEncryptionConfiguration) GoString() string {
20282 return s.String()
20283}
20284
20285// Validate inspects the fields of the type to determine if they are valid.
20286func (s *ServerSideEncryptionConfiguration) Validate() error {
20287 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionConfiguration"}
20288 if s.Rules == nil {
20289 invalidParams.Add(request.NewErrParamRequired("Rules"))
20290 }
20291 if s.Rules != nil {
20292 for i, v := range s.Rules {
20293 if v == nil {
20294 continue
20295 }
20296 if err := v.Validate(); err != nil {
20297 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
20298 }
20299 }
20300 }
20301
20302 if invalidParams.Len() > 0 {
20303 return invalidParams
20304 }
20305 return nil
20306}
20307
20308// SetRules sets the Rules field's value.
20309func (s *ServerSideEncryptionConfiguration) SetRules(v []*ServerSideEncryptionRule) *ServerSideEncryptionConfiguration {
20310 s.Rules = v
20311 return s
20312}
20313
20314// Container for information about a particular server-side encryption configuration
20315// rule.
20316type ServerSideEncryptionRule struct {
20317 _ struct{} `type:"structure"`
20318
20319 // Describes the default server-side encryption to apply to new objects in the
20320 // bucket. If Put Object request does not specify any server-side encryption,
20321 // this default encryption will be applied.
20322 ApplyServerSideEncryptionByDefault *ServerSideEncryptionByDefault `type:"structure"`
20323}
20324
20325// String returns the string representation
20326func (s ServerSideEncryptionRule) String() string {
20327 return awsutil.Prettify(s)
20328}
20329
20330// GoString returns the string representation
20331func (s ServerSideEncryptionRule) GoString() string {
20332 return s.String()
20333}
20334
20335// Validate inspects the fields of the type to determine if they are valid.
20336func (s *ServerSideEncryptionRule) Validate() error {
20337 invalidParams := request.ErrInvalidParams{Context: "ServerSideEncryptionRule"}
20338 if s.ApplyServerSideEncryptionByDefault != nil {
20339 if err := s.ApplyServerSideEncryptionByDefault.Validate(); err != nil {
20340 invalidParams.AddNested("ApplyServerSideEncryptionByDefault", err.(request.ErrInvalidParams))
20341 }
20342 }
20343
20344 if invalidParams.Len() > 0 {
20345 return invalidParams
20346 }
20347 return nil
20348}
20349
20350// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
20351func (s *ServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *ServerSideEncryptionByDefault) *ServerSideEncryptionRule {
20352 s.ApplyServerSideEncryptionByDefault = v
20353 return s
20354}
20355
20356// Container for filters that define which source objects should be replicated.
20357type SourceSelectionCriteria struct {
20358 _ struct{} `type:"structure"`
20359
20360 // Container for filter information of selection of KMS Encrypted S3 objects.
20361 SseKmsEncryptedObjects *SseKmsEncryptedObjects `type:"structure"`
20362}
20363
20364// String returns the string representation
20365func (s SourceSelectionCriteria) String() string {
20366 return awsutil.Prettify(s)
20367}
20368
20369// GoString returns the string representation
20370func (s SourceSelectionCriteria) GoString() string {
20371 return s.String()
20372}
20373
20374// Validate inspects the fields of the type to determine if they are valid.
20375func (s *SourceSelectionCriteria) Validate() error {
20376 invalidParams := request.ErrInvalidParams{Context: "SourceSelectionCriteria"}
20377 if s.SseKmsEncryptedObjects != nil {
20378 if err := s.SseKmsEncryptedObjects.Validate(); err != nil {
20379 invalidParams.AddNested("SseKmsEncryptedObjects", err.(request.ErrInvalidParams))
20380 }
20381 }
20382
20383 if invalidParams.Len() > 0 {
20384 return invalidParams
20385 }
20386 return nil
20387}
20388
20389// SetSseKmsEncryptedObjects sets the SseKmsEncryptedObjects field's value.
20390func (s *SourceSelectionCriteria) SetSseKmsEncryptedObjects(v *SseKmsEncryptedObjects) *SourceSelectionCriteria {
20391 s.SseKmsEncryptedObjects = v
20392 return s
20393}
20394
20395// Container for filter information of selection of KMS Encrypted S3 objects.
20396type SseKmsEncryptedObjects struct {
20397 _ struct{} `type:"structure"`
20398
20399 // The replication for KMS encrypted S3 objects is disabled if status is not
20400 // Enabled.
20401 //
20402 // Status is a required field
20403 Status *string `type:"string" required:"true" enum:"SseKmsEncryptedObjectsStatus"`
20404}
20405
20406// String returns the string representation
20407func (s SseKmsEncryptedObjects) String() string {
20408 return awsutil.Prettify(s)
20409}
20410
20411// GoString returns the string representation
20412func (s SseKmsEncryptedObjects) GoString() string {
20413 return s.String()
20414}
20415
20416// Validate inspects the fields of the type to determine if they are valid.
20417func (s *SseKmsEncryptedObjects) Validate() error {
20418 invalidParams := request.ErrInvalidParams{Context: "SseKmsEncryptedObjects"}
20419 if s.Status == nil {
20420 invalidParams.Add(request.NewErrParamRequired("Status"))
20421 }
20422
20423 if invalidParams.Len() > 0 {
20424 return invalidParams
20425 }
20426 return nil
20427}
20428
20429// SetStatus sets the Status field's value.
20430func (s *SseKmsEncryptedObjects) SetStatus(v string) *SseKmsEncryptedObjects {
20431 s.Status = &v
20432 return s
20433}
20434
20435type Stats struct {
20436 _ struct{} `type:"structure"`
20437
20438 // Total number of uncompressed object bytes processed.
20439 BytesProcessed *int64 `type:"long"`
20440
20441 // Total number of bytes of records payload data returned.
20442 BytesReturned *int64 `type:"long"`
20443
20444 // Total number of object bytes scanned.
20445 BytesScanned *int64 `type:"long"`
20446}
20447
20448// String returns the string representation
20449func (s Stats) String() string {
20450 return awsutil.Prettify(s)
20451}
20452
20453// GoString returns the string representation
20454func (s Stats) GoString() string {
20455 return s.String()
20456}
20457
20458// SetBytesProcessed sets the BytesProcessed field's value.
20459func (s *Stats) SetBytesProcessed(v int64) *Stats {
20460 s.BytesProcessed = &v
20461 return s
20462}
20463
20464// SetBytesReturned sets the BytesReturned field's value.
20465func (s *Stats) SetBytesReturned(v int64) *Stats {
20466 s.BytesReturned = &v
20467 return s
20468}
20469
20470// SetBytesScanned sets the BytesScanned field's value.
20471func (s *Stats) SetBytesScanned(v int64) *Stats {
20472 s.BytesScanned = &v
20473 return s
20474}
20475
20476type StatsEvent struct {
20477 _ struct{} `locationName:"StatsEvent" type:"structure" payload:"Details"`
20478
20479 // The Stats event details.
20480 Details *Stats `locationName:"Details" type:"structure"`
20481}
20482
20483// String returns the string representation
20484func (s StatsEvent) String() string {
20485 return awsutil.Prettify(s)
20486}
20487
20488// GoString returns the string representation
20489func (s StatsEvent) GoString() string {
20490 return s.String()
20491}
20492
20493// SetDetails sets the Details field's value.
20494func (s *StatsEvent) SetDetails(v *Stats) *StatsEvent {
20495 s.Details = v
20496 return s
20497}
20498
20499// The StatsEvent is and event in the SelectObjectContentEventStream group of events.
20500func (s *StatsEvent) eventSelectObjectContentEventStream() {}
20501
20502// UnmarshalEvent unmarshals the EventStream Message into the StatsEvent value.
20503// This method is only used internally within the SDK's EventStream handling.
20504func (s *StatsEvent) UnmarshalEvent(
20505 payloadUnmarshaler protocol.PayloadUnmarshaler,
20506 msg eventstream.Message,
20507) error {
20508 if err := payloadUnmarshaler.UnmarshalPayload(
20509 bytes.NewReader(msg.Payload), s,
20510 ); err != nil {
20511 return err
20512 }
20513 return nil
20514}
20515
17804type StorageClassAnalysis struct { 20516type StorageClassAnalysis struct {
17805 _ struct{} `type:"structure"` 20517 _ struct{} `type:"structure"`
17806 20518
@@ -17840,7 +20552,6 @@ func (s *StorageClassAnalysis) SetDataExport(v *StorageClassAnalysisDataExport)
17840 return s 20552 return s
17841} 20553}
17842 20554
17843// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StorageClassAnalysisDataExport
17844type StorageClassAnalysisDataExport struct { 20555type StorageClassAnalysisDataExport struct {
17845 _ struct{} `type:"structure"` 20556 _ struct{} `type:"structure"`
17846 20557
@@ -17898,7 +20609,6 @@ func (s *StorageClassAnalysisDataExport) SetOutputSchemaVersion(v string) *Stora
17898 return s 20609 return s
17899} 20610}
17900 20611
17901// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Tag
17902type Tag struct { 20612type Tag struct {
17903 _ struct{} `type:"structure"` 20613 _ struct{} `type:"structure"`
17904 20614
@@ -17954,7 +20664,6 @@ func (s *Tag) SetValue(v string) *Tag {
17954 return s 20664 return s
17955} 20665}
17956 20666
17957// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Tagging
17958type Tagging struct { 20667type Tagging struct {
17959 _ struct{} `type:"structure"` 20668 _ struct{} `type:"structure"`
17960 20669
@@ -18001,11 +20710,10 @@ func (s *Tagging) SetTagSet(v []*Tag) *Tagging {
18001 return s 20710 return s
18002} 20711}
18003 20712
18004// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TargetGrant
18005type TargetGrant struct { 20713type TargetGrant struct {
18006 _ struct{} `type:"structure"` 20714 _ struct{} `type:"structure"`
18007 20715
18008 Grantee *Grantee `type:"structure"` 20716 Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
18009 20717
18010 // Logging permissions assigned to the Grantee for the bucket. 20718 // Logging permissions assigned to the Grantee for the bucket.
18011 Permission *string `type:"string" enum:"BucketLogsPermission"` 20719 Permission *string `type:"string" enum:"BucketLogsPermission"`
@@ -18050,7 +20758,6 @@ func (s *TargetGrant) SetPermission(v string) *TargetGrant {
18050 20758
18051// Container for specifying the configuration when you want Amazon S3 to publish 20759// Container for specifying the configuration when you want Amazon S3 to publish
18052// events to an Amazon Simple Notification Service (Amazon SNS) topic. 20760// events to an Amazon Simple Notification Service (Amazon SNS) topic.
18053// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TopicConfiguration
18054type TopicConfiguration struct { 20761type TopicConfiguration struct {
18055 _ struct{} `type:"structure"` 20762 _ struct{} `type:"structure"`
18056 20763
@@ -18059,6 +20766,7 @@ type TopicConfiguration struct {
18059 20766
18060 // Container for object key name filtering rules. For information about key 20767 // Container for object key name filtering rules. For information about key
18061 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) 20768 // name filtering, go to Configuring Event Notifications (http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
20769 // in the Amazon Simple Storage Service Developer Guide.
18062 Filter *NotificationConfigurationFilter `type:"structure"` 20770 Filter *NotificationConfigurationFilter `type:"structure"`
18063 20771
18064 // Optional unique identifier for configurations in a notification configuration. 20772 // Optional unique identifier for configurations in a notification configuration.
@@ -18122,7 +20830,6 @@ func (s *TopicConfiguration) SetTopicArn(v string) *TopicConfiguration {
18122 return s 20830 return s
18123} 20831}
18124 20832
18125// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TopicConfigurationDeprecated
18126type TopicConfigurationDeprecated struct { 20833type TopicConfigurationDeprecated struct {
18127 _ struct{} `type:"structure"` 20834 _ struct{} `type:"structure"`
18128 20835
@@ -18174,7 +20881,6 @@ func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDep
18174 return s 20881 return s
18175} 20882}
18176 20883
18177// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Transition
18178type Transition struct { 20884type Transition struct {
18179 _ struct{} `type:"structure"` 20885 _ struct{} `type:"structure"`
18180 20886
@@ -18218,7 +20924,6 @@ func (s *Transition) SetStorageClass(v string) *Transition {
18218 return s 20924 return s
18219} 20925}
18220 20926
18221// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopyRequest
18222type UploadPartCopyInput struct { 20927type UploadPartCopyInput struct {
18223 _ struct{} `type:"structure"` 20928 _ struct{} `type:"structure"`
18224 20929
@@ -18235,14 +20940,14 @@ type UploadPartCopyInput struct {
18235 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"` 20940 CopySourceIfMatch *string `location:"header" locationName:"x-amz-copy-source-if-match" type:"string"`
18236 20941
18237 // Copies the object if it has been modified since the specified time. 20942 // Copies the object if it has been modified since the specified time.
18238 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp" timestampFormat:"rfc822"` 20943 CopySourceIfModifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-modified-since" type:"timestamp"`
18239 20944
18240 // Copies the object if its entity tag (ETag) is different than the specified 20945 // Copies the object if its entity tag (ETag) is different than the specified
18241 // ETag. 20946 // ETag.
18242 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"` 20947 CopySourceIfNoneMatch *string `location:"header" locationName:"x-amz-copy-source-if-none-match" type:"string"`
18243 20948
18244 // Copies the object if it hasn't been modified since the specified time. 20949 // Copies the object if it hasn't been modified since the specified time.
18245 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp" timestampFormat:"rfc822"` 20950 CopySourceIfUnmodifiedSince *time.Time `location:"header" locationName:"x-amz-copy-source-if-unmodified-since" type:"timestamp"`
18246 20951
18247 // The range of bytes to copy from the source object. The range value must use 20952 // The range of bytes to copy from the source object. The range value must use
18248 // the form bytes=first-last, where the first and last are the zero-based byte 20953 // the form bytes=first-last, where the first and last are the zero-based byte
@@ -18345,6 +21050,13 @@ func (s *UploadPartCopyInput) SetBucket(v string) *UploadPartCopyInput {
18345 return s 21050 return s
18346} 21051}
18347 21052
21053func (s *UploadPartCopyInput) getBucket() (v string) {
21054 if s.Bucket == nil {
21055 return v
21056 }
21057 return *s.Bucket
21058}
21059
18348// SetCopySource sets the CopySource field's value. 21060// SetCopySource sets the CopySource field's value.
18349func (s *UploadPartCopyInput) SetCopySource(v string) *UploadPartCopyInput { 21061func (s *UploadPartCopyInput) SetCopySource(v string) *UploadPartCopyInput {
18350 s.CopySource = &v 21062 s.CopySource = &v
@@ -18393,6 +21105,13 @@ func (s *UploadPartCopyInput) SetCopySourceSSECustomerKey(v string) *UploadPartC
18393 return s 21105 return s
18394} 21106}
18395 21107
21108func (s *UploadPartCopyInput) getCopySourceSSECustomerKey() (v string) {
21109 if s.CopySourceSSECustomerKey == nil {
21110 return v
21111 }
21112 return *s.CopySourceSSECustomerKey
21113}
21114
18396// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value. 21115// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
18397func (s *UploadPartCopyInput) SetCopySourceSSECustomerKeyMD5(v string) *UploadPartCopyInput { 21116func (s *UploadPartCopyInput) SetCopySourceSSECustomerKeyMD5(v string) *UploadPartCopyInput {
18398 s.CopySourceSSECustomerKeyMD5 = &v 21117 s.CopySourceSSECustomerKeyMD5 = &v
@@ -18429,6 +21148,13 @@ func (s *UploadPartCopyInput) SetSSECustomerKey(v string) *UploadPartCopyInput {
18429 return s 21148 return s
18430} 21149}
18431 21150
21151func (s *UploadPartCopyInput) getSSECustomerKey() (v string) {
21152 if s.SSECustomerKey == nil {
21153 return v
21154 }
21155 return *s.SSECustomerKey
21156}
21157
18432// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 21158// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
18433func (s *UploadPartCopyInput) SetSSECustomerKeyMD5(v string) *UploadPartCopyInput { 21159func (s *UploadPartCopyInput) SetSSECustomerKeyMD5(v string) *UploadPartCopyInput {
18434 s.SSECustomerKeyMD5 = &v 21160 s.SSECustomerKeyMD5 = &v
@@ -18441,7 +21167,6 @@ func (s *UploadPartCopyInput) SetUploadId(v string) *UploadPartCopyInput {
18441 return s 21167 return s
18442} 21168}
18443 21169
18444// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopyOutput
18445type UploadPartCopyOutput struct { 21170type UploadPartCopyOutput struct {
18446 _ struct{} `type:"structure" payload:"CopyPartResult"` 21171 _ struct{} `type:"structure" payload:"CopyPartResult"`
18447 21172
@@ -18526,7 +21251,6 @@ func (s *UploadPartCopyOutput) SetServerSideEncryption(v string) *UploadPartCopy
18526 return s 21251 return s
18527} 21252}
18528 21253
18529// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartRequest
18530type UploadPartInput struct { 21254type UploadPartInput struct {
18531 _ struct{} `type:"structure" payload:"Body"` 21255 _ struct{} `type:"structure" payload:"Body"`
18532 21256
@@ -18542,6 +21266,9 @@ type UploadPartInput struct {
18542 // body cannot be determined automatically. 21266 // body cannot be determined automatically.
18543 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` 21267 ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
18544 21268
21269 // The base64-encoded 128-bit MD5 digest of the part data.
21270 ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
21271
18545 // Object key for which the multipart upload was initiated. 21272 // Object key for which the multipart upload was initiated.
18546 // 21273 //
18547 // Key is a required field 21274 // Key is a required field
@@ -18628,12 +21355,25 @@ func (s *UploadPartInput) SetBucket(v string) *UploadPartInput {
18628 return s 21355 return s
18629} 21356}
18630 21357
21358func (s *UploadPartInput) getBucket() (v string) {
21359 if s.Bucket == nil {
21360 return v
21361 }
21362 return *s.Bucket
21363}
21364
18631// SetContentLength sets the ContentLength field's value. 21365// SetContentLength sets the ContentLength field's value.
18632func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput { 21366func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput {
18633 s.ContentLength = &v 21367 s.ContentLength = &v
18634 return s 21368 return s
18635} 21369}
18636 21370
21371// SetContentMD5 sets the ContentMD5 field's value.
21372func (s *UploadPartInput) SetContentMD5(v string) *UploadPartInput {
21373 s.ContentMD5 = &v
21374 return s
21375}
21376
18637// SetKey sets the Key field's value. 21377// SetKey sets the Key field's value.
18638func (s *UploadPartInput) SetKey(v string) *UploadPartInput { 21378func (s *UploadPartInput) SetKey(v string) *UploadPartInput {
18639 s.Key = &v 21379 s.Key = &v
@@ -18664,6 +21404,13 @@ func (s *UploadPartInput) SetSSECustomerKey(v string) *UploadPartInput {
18664 return s 21404 return s
18665} 21405}
18666 21406
21407func (s *UploadPartInput) getSSECustomerKey() (v string) {
21408 if s.SSECustomerKey == nil {
21409 return v
21410 }
21411 return *s.SSECustomerKey
21412}
21413
18667// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value. 21414// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
18668func (s *UploadPartInput) SetSSECustomerKeyMD5(v string) *UploadPartInput { 21415func (s *UploadPartInput) SetSSECustomerKeyMD5(v string) *UploadPartInput {
18669 s.SSECustomerKeyMD5 = &v 21416 s.SSECustomerKeyMD5 = &v
@@ -18676,7 +21423,6 @@ func (s *UploadPartInput) SetUploadId(v string) *UploadPartInput {
18676 return s 21423 return s
18677} 21424}
18678 21425
18679// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartOutput
18680type UploadPartOutput struct { 21426type UploadPartOutput struct {
18681 _ struct{} `type:"structure"` 21427 _ struct{} `type:"structure"`
18682 21428
@@ -18752,7 +21498,6 @@ func (s *UploadPartOutput) SetServerSideEncryption(v string) *UploadPartOutput {
18752 return s 21498 return s
18753} 21499}
18754 21500
18755// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/VersioningConfiguration
18756type VersioningConfiguration struct { 21501type VersioningConfiguration struct {
18757 _ struct{} `type:"structure"` 21502 _ struct{} `type:"structure"`
18758 21503
@@ -18787,7 +21532,6 @@ func (s *VersioningConfiguration) SetStatus(v string) *VersioningConfiguration {
18787 return s 21532 return s
18788} 21533}
18789 21534
18790// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/WebsiteConfiguration
18791type WebsiteConfiguration struct { 21535type WebsiteConfiguration struct {
18792 _ struct{} `type:"structure"` 21536 _ struct{} `type:"structure"`
18793 21537
@@ -18950,6 +21694,17 @@ const (
18950 BucketVersioningStatusSuspended = "Suspended" 21694 BucketVersioningStatusSuspended = "Suspended"
18951) 21695)
18952 21696
21697const (
21698 // CompressionTypeNone is a CompressionType enum value
21699 CompressionTypeNone = "NONE"
21700
21701 // CompressionTypeGzip is a CompressionType enum value
21702 CompressionTypeGzip = "GZIP"
21703
21704 // CompressionTypeBzip2 is a CompressionType enum value
21705 CompressionTypeBzip2 = "BZIP2"
21706)
21707
18953// Requests Amazon S3 to encode the object keys in the response and specifies 21708// Requests Amazon S3 to encode the object keys in the response and specifies
18954// the encoding method to use. An object key may contain any Unicode character; 21709// the encoding method to use. An object key may contain any Unicode character;
18955// however, XML 1.0 parser cannot parse some characters, such as characters 21710// however, XML 1.0 parser cannot parse some characters, such as characters
@@ -19000,6 +21755,22 @@ const (
19000) 21755)
19001 21756
19002const ( 21757const (
21758 // ExpressionTypeSql is a ExpressionType enum value
21759 ExpressionTypeSql = "SQL"
21760)
21761
21762const (
21763 // FileHeaderInfoUse is a FileHeaderInfo enum value
21764 FileHeaderInfoUse = "USE"
21765
21766 // FileHeaderInfoIgnore is a FileHeaderInfo enum value
21767 FileHeaderInfoIgnore = "IGNORE"
21768
21769 // FileHeaderInfoNone is a FileHeaderInfo enum value
21770 FileHeaderInfoNone = "NONE"
21771)
21772
21773const (
19003 // FilterRuleNamePrefix is a FilterRuleName enum value 21774 // FilterRuleNamePrefix is a FilterRuleName enum value
19004 FilterRuleNamePrefix = "prefix" 21775 FilterRuleNamePrefix = "prefix"
19005 21776
@@ -19010,6 +21781,9 @@ const (
19010const ( 21781const (
19011 // InventoryFormatCsv is a InventoryFormat enum value 21782 // InventoryFormatCsv is a InventoryFormat enum value
19012 InventoryFormatCsv = "CSV" 21783 InventoryFormatCsv = "CSV"
21784
21785 // InventoryFormatOrc is a InventoryFormat enum value
21786 InventoryFormatOrc = "ORC"
19013) 21787)
19014 21788
19015const ( 21789const (
@@ -19046,6 +21820,17 @@ const (
19046 21820
19047 // InventoryOptionalFieldReplicationStatus is a InventoryOptionalField enum value 21821 // InventoryOptionalFieldReplicationStatus is a InventoryOptionalField enum value
19048 InventoryOptionalFieldReplicationStatus = "ReplicationStatus" 21822 InventoryOptionalFieldReplicationStatus = "ReplicationStatus"
21823
21824 // InventoryOptionalFieldEncryptionStatus is a InventoryOptionalField enum value
21825 InventoryOptionalFieldEncryptionStatus = "EncryptionStatus"
21826)
21827
21828const (
21829 // JSONTypeDocument is a JSONType enum value
21830 JSONTypeDocument = "DOCUMENT"
21831
21832 // JSONTypeLines is a JSONType enum value
21833 JSONTypeLines = "LINES"
19049) 21834)
19050 21835
19051const ( 21836const (
@@ -19104,6 +21889,12 @@ const (
19104 21889
19105 // ObjectStorageClassGlacier is a ObjectStorageClass enum value 21890 // ObjectStorageClassGlacier is a ObjectStorageClass enum value
19106 ObjectStorageClassGlacier = "GLACIER" 21891 ObjectStorageClassGlacier = "GLACIER"
21892
21893 // ObjectStorageClassStandardIa is a ObjectStorageClass enum value
21894 ObjectStorageClassStandardIa = "STANDARD_IA"
21895
21896 // ObjectStorageClassOnezoneIa is a ObjectStorageClass enum value
21897 ObjectStorageClassOnezoneIa = "ONEZONE_IA"
19107) 21898)
19108 21899
19109const ( 21900const (
@@ -19112,6 +21903,11 @@ const (
19112) 21903)
19113 21904
19114const ( 21905const (
21906 // OwnerOverrideDestination is a OwnerOverride enum value
21907 OwnerOverrideDestination = "Destination"
21908)
21909
21910const (
19115 // PayerRequester is a Payer enum value 21911 // PayerRequester is a Payer enum value
19116 PayerRequester = "Requester" 21912 PayerRequester = "Requester"
19117 21913
@@ -19145,6 +21941,14 @@ const (
19145) 21941)
19146 21942
19147const ( 21943const (
21944 // QuoteFieldsAlways is a QuoteFields enum value
21945 QuoteFieldsAlways = "ALWAYS"
21946
21947 // QuoteFieldsAsneeded is a QuoteFields enum value
21948 QuoteFieldsAsneeded = "ASNEEDED"
21949)
21950
21951const (
19148 // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value 21952 // ReplicationRuleStatusEnabled is a ReplicationRuleStatus enum value
19149 ReplicationRuleStatusEnabled = "Enabled" 21953 ReplicationRuleStatusEnabled = "Enabled"
19150 21954
@@ -19183,6 +21987,11 @@ const (
19183) 21987)
19184 21988
19185const ( 21989const (
21990 // RestoreRequestTypeSelect is a RestoreRequestType enum value
21991 RestoreRequestTypeSelect = "SELECT"
21992)
21993
21994const (
19186 // ServerSideEncryptionAes256 is a ServerSideEncryption enum value 21995 // ServerSideEncryptionAes256 is a ServerSideEncryption enum value
19187 ServerSideEncryptionAes256 = "AES256" 21996 ServerSideEncryptionAes256 = "AES256"
19188 21997
@@ -19191,6 +22000,14 @@ const (
19191) 22000)
19192 22001
19193const ( 22002const (
22003 // SseKmsEncryptedObjectsStatusEnabled is a SseKmsEncryptedObjectsStatus enum value
22004 SseKmsEncryptedObjectsStatusEnabled = "Enabled"
22005
22006 // SseKmsEncryptedObjectsStatusDisabled is a SseKmsEncryptedObjectsStatus enum value
22007 SseKmsEncryptedObjectsStatusDisabled = "Disabled"
22008)
22009
22010const (
19194 // StorageClassStandard is a StorageClass enum value 22011 // StorageClassStandard is a StorageClass enum value
19195 StorageClassStandard = "STANDARD" 22012 StorageClassStandard = "STANDARD"
19196 22013
@@ -19199,6 +22016,9 @@ const (
19199 22016
19200 // StorageClassStandardIa is a StorageClass enum value 22017 // StorageClassStandardIa is a StorageClass enum value
19201 StorageClassStandardIa = "STANDARD_IA" 22018 StorageClassStandardIa = "STANDARD_IA"
22019
22020 // StorageClassOnezoneIa is a StorageClass enum value
22021 StorageClassOnezoneIa = "ONEZONE_IA"
19202) 22022)
19203 22023
19204const ( 22024const (
@@ -19231,6 +22051,9 @@ const (
19231 22051
19232 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value 22052 // TransitionStorageClassStandardIa is a TransitionStorageClass enum value
19233 TransitionStorageClassStandardIa = "STANDARD_IA" 22053 TransitionStorageClassStandardIa = "STANDARD_IA"
22054
22055 // TransitionStorageClassOnezoneIa is a TransitionStorageClass enum value
22056 TransitionStorageClassOnezoneIa = "ONEZONE_IA"
19234) 22057)
19235 22058
19236const ( 22059const (
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/body_hash.go b/vendor/github.com/aws/aws-sdk-go/service/s3/body_hash.go
new file mode 100644
index 0000000..5c8ce5c
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/body_hash.go
@@ -0,0 +1,249 @@
1package s3
2
3import (
4 "bytes"
5 "crypto/md5"
6 "crypto/sha256"
7 "encoding/base64"
8 "encoding/hex"
9 "fmt"
10 "hash"
11 "io"
12
13 "github.com/aws/aws-sdk-go/aws"
14 "github.com/aws/aws-sdk-go/aws/awserr"
15 "github.com/aws/aws-sdk-go/aws/request"
16 "github.com/aws/aws-sdk-go/internal/sdkio"
17)
18
19const (
20 contentMD5Header = "Content-Md5"
21 contentSha256Header = "X-Amz-Content-Sha256"
22 amzTeHeader = "X-Amz-Te"
23 amzTxEncodingHeader = "X-Amz-Transfer-Encoding"
24
25 appendMD5TxEncoding = "append-md5"
26)
27
28// contentMD5 computes and sets the HTTP Content-MD5 header for requests that
29// require it.
30func contentMD5(r *request.Request) {
31 h := md5.New()
32
33 if !aws.IsReaderSeekable(r.Body) {
34 if r.Config.Logger != nil {
35 r.Config.Logger.Log(fmt.Sprintf(
36 "Unable to compute Content-MD5 for unseekable body, S3.%s",
37 r.Operation.Name))
38 }
39 return
40 }
41
42 if _, err := copySeekableBody(h, r.Body); err != nil {
43 r.Error = awserr.New("ContentMD5", "failed to compute body MD5", err)
44 return
45 }
46
47 // encode the md5 checksum in base64 and set the request header.
48 v := base64.StdEncoding.EncodeToString(h.Sum(nil))
49 r.HTTPRequest.Header.Set(contentMD5Header, v)
50}
51
52// computeBodyHashes will add Content MD5 and Content Sha256 hashes to the
53// request. If the body is not seekable or S3DisableContentMD5Validation set
54// this handler will be ignored.
55func computeBodyHashes(r *request.Request) {
56 if aws.BoolValue(r.Config.S3DisableContentMD5Validation) {
57 return
58 }
59 if r.IsPresigned() {
60 return
61 }
62 if r.Error != nil || !aws.IsReaderSeekable(r.Body) {
63 return
64 }
65
66 var md5Hash, sha256Hash hash.Hash
67 hashers := make([]io.Writer, 0, 2)
68
69 // Determine upfront which hashes can be set without overriding user
70 // provide header data.
71 if v := r.HTTPRequest.Header.Get(contentMD5Header); len(v) == 0 {
72 md5Hash = md5.New()
73 hashers = append(hashers, md5Hash)
74 }
75
76 if v := r.HTTPRequest.Header.Get(contentSha256Header); len(v) == 0 {
77 sha256Hash = sha256.New()
78 hashers = append(hashers, sha256Hash)
79 }
80
81 // Create the destination writer based on the hashes that are not already
82 // provided by the user.
83 var dst io.Writer
84 switch len(hashers) {
85 case 0:
86 return
87 case 1:
88 dst = hashers[0]
89 default:
90 dst = io.MultiWriter(hashers...)
91 }
92
93 if _, err := copySeekableBody(dst, r.Body); err != nil {
94 r.Error = awserr.New("BodyHashError", "failed to compute body hashes", err)
95 return
96 }
97
98 // For the hashes created, set the associated headers that the user did not
99 // already provide.
100 if md5Hash != nil {
101 sum := make([]byte, md5.Size)
102 encoded := make([]byte, md5Base64EncLen)
103
104 base64.StdEncoding.Encode(encoded, md5Hash.Sum(sum[0:0]))
105 r.HTTPRequest.Header[contentMD5Header] = []string{string(encoded)}
106 }
107
108 if sha256Hash != nil {
109 encoded := make([]byte, sha256HexEncLen)
110 sum := make([]byte, sha256.Size)
111
112 hex.Encode(encoded, sha256Hash.Sum(sum[0:0]))
113 r.HTTPRequest.Header[contentSha256Header] = []string{string(encoded)}
114 }
115}
116
117const (
118 md5Base64EncLen = (md5.Size + 2) / 3 * 4 // base64.StdEncoding.EncodedLen
119 sha256HexEncLen = sha256.Size * 2 // hex.EncodedLen
120)
121
122func copySeekableBody(dst io.Writer, src io.ReadSeeker) (int64, error) {
123 curPos, err := src.Seek(0, sdkio.SeekCurrent)
124 if err != nil {
125 return 0, err
126 }
127
128 // hash the body. seek back to the first position after reading to reset
129 // the body for transmission. copy errors may be assumed to be from the
130 // body.
131 n, err := io.Copy(dst, src)
132 if err != nil {
133 return n, err
134 }
135
136 _, err = src.Seek(curPos, sdkio.SeekStart)
137 if err != nil {
138 return n, err
139 }
140
141 return n, nil
142}
143
144// Adds the x-amz-te: append_md5 header to the request. This requests the service
145// responds with a trailing MD5 checksum.
146//
147// Will not ask for append MD5 if disabled, the request is presigned or,
148// or the API operation does not support content MD5 validation.
149func askForTxEncodingAppendMD5(r *request.Request) {
150 if aws.BoolValue(r.Config.S3DisableContentMD5Validation) {
151 return
152 }
153 if r.IsPresigned() {
154 return
155 }
156 r.HTTPRequest.Header.Set(amzTeHeader, appendMD5TxEncoding)
157}
158
159func useMD5ValidationReader(r *request.Request) {
160 if r.Error != nil {
161 return
162 }
163
164 if v := r.HTTPResponse.Header.Get(amzTxEncodingHeader); v != appendMD5TxEncoding {
165 return
166 }
167
168 var bodyReader *io.ReadCloser
169 var contentLen int64
170 switch tv := r.Data.(type) {
171 case *GetObjectOutput:
172 bodyReader = &tv.Body
173 contentLen = aws.Int64Value(tv.ContentLength)
174 // Update ContentLength hiden the trailing MD5 checksum.
175 tv.ContentLength = aws.Int64(contentLen - md5.Size)
176 tv.ContentRange = aws.String(r.HTTPResponse.Header.Get("X-Amz-Content-Range"))
177 default:
178 r.Error = awserr.New("ChecksumValidationError",
179 fmt.Sprintf("%s: %s header received on unsupported API, %s",
180 amzTxEncodingHeader, appendMD5TxEncoding, r.Operation.Name,
181 ), nil)
182 return
183 }
184
185 if contentLen < md5.Size {
186 r.Error = awserr.New("ChecksumValidationError",
187 fmt.Sprintf("invalid Content-Length %d for %s %s",
188 contentLen, appendMD5TxEncoding, amzTxEncodingHeader,
189 ), nil)
190 return
191 }
192
193 // Wrap and swap the response body reader with the validation reader.
194 *bodyReader = newMD5ValidationReader(*bodyReader, contentLen-md5.Size)
195}
196
197type md5ValidationReader struct {
198 rawReader io.ReadCloser
199 payload io.Reader
200 hash hash.Hash
201
202 payloadLen int64
203 read int64
204}
205
206func newMD5ValidationReader(reader io.ReadCloser, payloadLen int64) *md5ValidationReader {
207 h := md5.New()
208 return &md5ValidationReader{
209 rawReader: reader,
210 payload: io.TeeReader(&io.LimitedReader{R: reader, N: payloadLen}, h),
211 hash: h,
212 payloadLen: payloadLen,
213 }
214}
215
216func (v *md5ValidationReader) Read(p []byte) (n int, err error) {
217 n, err = v.payload.Read(p)
218 if err != nil && err != io.EOF {
219 return n, err
220 }
221
222 v.read += int64(n)
223
224 if err == io.EOF {
225 if v.read != v.payloadLen {
226 return n, io.ErrUnexpectedEOF
227 }
228 expectSum := make([]byte, md5.Size)
229 actualSum := make([]byte, md5.Size)
230 if _, sumReadErr := io.ReadFull(v.rawReader, expectSum); sumReadErr != nil {
231 return n, sumReadErr
232 }
233 actualSum = v.hash.Sum(actualSum[0:0])
234 if !bytes.Equal(expectSum, actualSum) {
235 return n, awserr.New("InvalidChecksum",
236 fmt.Sprintf("expected MD5 checksum %s, got %s",
237 hex.EncodeToString(expectSum),
238 hex.EncodeToString(actualSum),
239 ),
240 nil)
241 }
242 }
243
244 return n, err
245}
246
247func (v *md5ValidationReader) Close() error {
248 return v.rawReader.Close()
249}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/content_md5.go b/vendor/github.com/aws/aws-sdk-go/service/s3/content_md5.go
deleted file mode 100644
index 9fc5df9..0000000
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/content_md5.go
+++ /dev/null
@@ -1,36 +0,0 @@
1package s3
2
3import (
4 "crypto/md5"
5 "encoding/base64"
6 "io"
7
8 "github.com/aws/aws-sdk-go/aws/awserr"
9 "github.com/aws/aws-sdk-go/aws/request"
10)
11
12// contentMD5 computes and sets the HTTP Content-MD5 header for requests that
13// require it.
14func contentMD5(r *request.Request) {
15 h := md5.New()
16
17 // hash the body. seek back to the first position after reading to reset
18 // the body for transmission. copy errors may be assumed to be from the
19 // body.
20 _, err := io.Copy(h, r.Body)
21 if err != nil {
22 r.Error = awserr.New("ContentMD5", "failed to read body", err)
23 return
24 }
25 _, err = r.Body.Seek(0, 0)
26 if err != nil {
27 r.Error = awserr.New("ContentMD5", "failed to seek body", err)
28 return
29 }
30
31 // encode the md5 checksum in base64 and set the request header.
32 sum := h.Sum(nil)
33 sum64 := make([]byte, base64.StdEncoding.EncodedLen(len(sum)))
34 base64.StdEncoding.Encode(sum64, sum)
35 r.HTTPRequest.Header.Set("Content-MD5", string(sum64))
36}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
index 8463347..a55beab 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
@@ -42,5 +42,29 @@ func defaultInitRequestFn(r *request.Request) {
42 r.Handlers.Validate.PushFront(populateLocationConstraint) 42 r.Handlers.Validate.PushFront(populateLocationConstraint)
43 case opCopyObject, opUploadPartCopy, opCompleteMultipartUpload: 43 case opCopyObject, opUploadPartCopy, opCompleteMultipartUpload:
44 r.Handlers.Unmarshal.PushFront(copyMultipartStatusOKUnmarhsalError) 44 r.Handlers.Unmarshal.PushFront(copyMultipartStatusOKUnmarhsalError)
45 case opPutObject, opUploadPart:
46 r.Handlers.Build.PushBack(computeBodyHashes)
47 // Disabled until #1837 root issue is resolved.
48 // case opGetObject:
49 // r.Handlers.Build.PushBack(askForTxEncodingAppendMD5)
50 // r.Handlers.Unmarshal.PushBack(useMD5ValidationReader)
45 } 51 }
46} 52}
53
54// bucketGetter is an accessor interface to grab the "Bucket" field from
55// an S3 type.
56type bucketGetter interface {
57 getBucket() string
58}
59
60// sseCustomerKeyGetter is an accessor interface to grab the "SSECustomerKey"
61// field from an S3 type.
62type sseCustomerKeyGetter interface {
63 getSSECustomerKey() string
64}
65
66// copySourceSSECustomerKeyGetter is an accessor interface to grab the
67// "CopySourceSSECustomerKey" field from an S3 type.
68type copySourceSSECustomerKeyGetter interface {
69 getCopySourceSSECustomerKey() string
70}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go b/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go
index f045fd0..0def022 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go
@@ -10,69 +10,17 @@
10// 10//
11// Using the Client 11// Using the Client
12// 12//
13// To use the client for Amazon Simple Storage Service you will first need 13// To contact Amazon Simple Storage Service with the SDK use the New function to create
14// to create a new instance of it. 14// a new service client. With that client you can make API requests to the service.
15// These clients are safe to use concurrently.
15// 16//
16// When creating a client for an AWS service you'll first need to have a Session 17// See the SDK's documentation for more information on how to use the SDK.
17// already created. The Session provides configuration that can be shared
18// between multiple service clients. Additional configuration can be applied to
19// the Session and service's client when they are constructed. The aws package's
20// Config type contains several fields such as Region for the AWS Region the
21// client should make API requests too. The optional Config value can be provided
22// as the variadic argument for Sessions and client creation.
23//
24// Once the service's client is created you can use it to make API requests the
25// AWS service. These clients are safe to use concurrently.
26//
27// // Create a session to share configuration, and load external configuration.
28// sess := session.Must(session.NewSession())
29//
30// // Create the service's client with the session.
31// svc := s3.New(sess)
32//
33// See the SDK's documentation for more information on how to use service clients.
34// https://docs.aws.amazon.com/sdk-for-go/api/ 18// https://docs.aws.amazon.com/sdk-for-go/api/
35// 19//
36// See aws package's Config type for more information on configuration options. 20// See aws.Config documentation for more information on configuring SDK clients.
37// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config 21// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
38// 22//
39// See the Amazon Simple Storage Service client S3 for more 23// See the Amazon Simple Storage Service client S3 for more
40// information on creating the service's client. 24// information on creating client for this service.
41// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/#New 25// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/#New
42//
43// Once the client is created you can make an API request to the service.
44// Each API method takes a input parameter, and returns the service response
45// and an error.
46//
47// The API method will document which error codes the service can be returned
48// by the operation if the service models the API operation's errors. These
49// errors will also be available as const strings prefixed with "ErrCode".
50//
51// result, err := svc.AbortMultipartUpload(params)
52// if err != nil {
53// // Cast err to awserr.Error to handle specific error codes.
54// aerr, ok := err.(awserr.Error)
55// if ok && aerr.Code() == <error code to check for> {
56// // Specific error code handling
57// }
58// return err
59// }
60//
61// fmt.Println("AbortMultipartUpload result:")
62// fmt.Println(result)
63//
64// Using the Client with Context
65//
66// The service's client also provides methods to make API requests with a Context
67// value. This allows you to control the timeout, and cancellation of pending
68// requests. These methods also take request Option as variadic parameter to apply
69// additional configuration to the API request.
70//
71// ctx := context.Background()
72//
73// result, err := svc.AbortMultipartUploadWithContext(ctx, params)
74//
75// See the request package documentation for more information on using Context pattern
76// with the SDK.
77// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/
78package s3 26package s3
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go b/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go
index b794a63..39b912c 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go
@@ -35,7 +35,7 @@
35// 35//
36// The s3manager package's Downloader provides concurrently downloading of Objects 36// The s3manager package's Downloader provides concurrently downloading of Objects
37// from S3. The Downloader will write S3 Object content with an io.WriterAt. 37// from S3. The Downloader will write S3 Object content with an io.WriterAt.
38// Once the Downloader instance is created you can call Upload concurrently from 38// Once the Downloader instance is created you can call Download concurrently from
39// multiple goroutines safely. 39// multiple goroutines safely.
40// 40//
41// // The session the S3 Downloader will use 41// // The session the S3 Downloader will use
@@ -56,7 +56,7 @@
56// Key: aws.String(myString), 56// Key: aws.String(myString),
57// }) 57// })
58// if err != nil { 58// if err != nil {
59// return fmt.Errorf("failed to upload file, %v", err) 59// return fmt.Errorf("failed to download file, %v", err)
60// } 60// }
61// fmt.Printf("file downloaded, %d bytes\n", n) 61// fmt.Printf("file downloaded, %d bytes\n", n)
62// 62//
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go b/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go
index ec3ffe4..a7fbc2d 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go
@@ -8,7 +8,6 @@ import (
8 8
9 "github.com/aws/aws-sdk-go/aws" 9 "github.com/aws/aws-sdk-go/aws"
10 "github.com/aws/aws-sdk-go/aws/awserr" 10 "github.com/aws/aws-sdk-go/aws/awserr"
11 "github.com/aws/aws-sdk-go/aws/awsutil"
12 "github.com/aws/aws-sdk-go/aws/request" 11 "github.com/aws/aws-sdk-go/aws/request"
13) 12)
14 13
@@ -113,15 +112,9 @@ func updateEndpointForAccelerate(r *request.Request) {
113// Attempts to retrieve the bucket name from the request input parameters. 112// Attempts to retrieve the bucket name from the request input parameters.
114// If no bucket is found, or the field is empty "", false will be returned. 113// If no bucket is found, or the field is empty "", false will be returned.
115func bucketNameFromReqParams(params interface{}) (string, bool) { 114func bucketNameFromReqParams(params interface{}) (string, bool) {
116 b, _ := awsutil.ValuesAtPath(params, "Bucket") 115 if iface, ok := params.(bucketGetter); ok {
117 if len(b) == 0 { 116 b := iface.getBucket()
118 return "", false 117 return b, len(b) > 0
119 }
120
121 if bucket, ok := b[0].(*string); ok {
122 if bucketStr := aws.StringValue(bucket); bucketStr != "" {
123 return bucketStr, true
124 }
125 } 118 }
126 119
127 return "", false 120 return "", false
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/service.go b/vendor/github.com/aws/aws-sdk-go/service/s3/service.go
index 614e477..20de53f 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/service.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/service.go
@@ -29,8 +29,9 @@ var initRequest func(*request.Request)
29 29
30// Service information constants 30// Service information constants
31const ( 31const (
32 ServiceName = "s3" // Service endpoint prefix API calls made to. 32 ServiceName = "s3" // Name of service.
33 EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata. 33 EndpointsID = ServiceName // ID to lookup a service endpoint with.
34 ServiceID = "S3" // ServiceID is a unique identifer of a specific service.
34) 35)
35 36
36// New creates a new instance of the S3 client with a session. 37// New creates a new instance of the S3 client with a session.
@@ -55,6 +56,7 @@ func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegio
55 cfg, 56 cfg,
56 metadata.ClientInfo{ 57 metadata.ClientInfo{
57 ServiceName: ServiceName, 58 ServiceName: ServiceName,
59 ServiceID: ServiceID,
58 SigningName: signingName, 60 SigningName: signingName,
59 SigningRegion: signingRegion, 61 SigningRegion: signingRegion,
60 Endpoint: endpoint, 62 Endpoint: endpoint,
@@ -71,6 +73,8 @@ func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegio
71 svc.Handlers.UnmarshalMeta.PushBackNamed(restxml.UnmarshalMetaHandler) 73 svc.Handlers.UnmarshalMeta.PushBackNamed(restxml.UnmarshalMetaHandler)
72 svc.Handlers.UnmarshalError.PushBackNamed(restxml.UnmarshalErrorHandler) 74 svc.Handlers.UnmarshalError.PushBackNamed(restxml.UnmarshalErrorHandler)
73 75
76 svc.Handlers.UnmarshalStream.PushBackNamed(restxml.UnmarshalHandler)
77
74 // Run custom client initialization if present 78 // Run custom client initialization if present
75 if initClient != nil { 79 if initClient != nil {
76 initClient(svc.Client) 80 initClient(svc.Client)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go b/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go
index 268ea2f..8010c4f 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go
@@ -5,17 +5,27 @@ import (
5 "encoding/base64" 5 "encoding/base64"
6 6
7 "github.com/aws/aws-sdk-go/aws/awserr" 7 "github.com/aws/aws-sdk-go/aws/awserr"
8 "github.com/aws/aws-sdk-go/aws/awsutil"
9 "github.com/aws/aws-sdk-go/aws/request" 8 "github.com/aws/aws-sdk-go/aws/request"
10) 9)
11 10
12var errSSERequiresSSL = awserr.New("ConfigError", "cannot send SSE keys over HTTP.", nil) 11var errSSERequiresSSL = awserr.New("ConfigError", "cannot send SSE keys over HTTP.", nil)
13 12
14func validateSSERequiresSSL(r *request.Request) { 13func validateSSERequiresSSL(r *request.Request) {
15 if r.HTTPRequest.URL.Scheme != "https" { 14 if r.HTTPRequest.URL.Scheme == "https" {
16 p, _ := awsutil.ValuesAtPath(r.Params, "SSECustomerKey||CopySourceSSECustomerKey") 15 return
17 if len(p) > 0 { 16 }
17
18 if iface, ok := r.Params.(sseCustomerKeyGetter); ok {
19 if len(iface.getSSECustomerKey()) > 0 {
20 r.Error = errSSERequiresSSL
21 return
22 }
23 }
24
25 if iface, ok := r.Params.(copySourceSSECustomerKeyGetter); ok {
26 if len(iface.getCopySourceSSECustomerKey()) > 0 {
18 r.Error = errSSERequiresSSL 27 r.Error = errSSERequiresSSL
28 return
19 } 29 }
20 } 30 }
21} 31}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go b/vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go
index 5a78fd3..9f33efc 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/statusok_error.go
@@ -7,6 +7,7 @@ import (
7 7
8 "github.com/aws/aws-sdk-go/aws/awserr" 8 "github.com/aws/aws-sdk-go/aws/awserr"
9 "github.com/aws/aws-sdk-go/aws/request" 9 "github.com/aws/aws-sdk-go/aws/request"
10 "github.com/aws/aws-sdk-go/internal/sdkio"
10) 11)
11 12
12func copyMultipartStatusOKUnmarhsalError(r *request.Request) { 13func copyMultipartStatusOKUnmarhsalError(r *request.Request) {
@@ -17,7 +18,7 @@ func copyMultipartStatusOKUnmarhsalError(r *request.Request) {
17 } 18 }
18 body := bytes.NewReader(b) 19 body := bytes.NewReader(b)
19 r.HTTPResponse.Body = ioutil.NopCloser(body) 20 r.HTTPResponse.Body = ioutil.NopCloser(body)
20 defer body.Seek(0, 0) 21 defer body.Seek(0, sdkio.SeekStart)
21 22
22 if body.Len() == 0 { 23 if body.Len() == 0 {
23 // If there is no body don't attempt to parse the body. 24 // If there is no body don't attempt to parse the body.
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go
index cccfa8c..2596c69 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go
@@ -11,7 +11,7 @@ import (
11 11
12// WaitUntilBucketExists uses the Amazon S3 API operation 12// WaitUntilBucketExists uses the Amazon S3 API operation
13// HeadBucket to wait for a condition to be met before returning. 13// HeadBucket to wait for a condition to be met before returning.
14// If the condition is not meet within the max attempt window an error will 14// If the condition is not met within the max attempt window, an error will
15// be returned. 15// be returned.
16func (c *S3) WaitUntilBucketExists(input *HeadBucketInput) error { 16func (c *S3) WaitUntilBucketExists(input *HeadBucketInput) error {
17 return c.WaitUntilBucketExistsWithContext(aws.BackgroundContext(), input) 17 return c.WaitUntilBucketExistsWithContext(aws.BackgroundContext(), input)
@@ -72,7 +72,7 @@ func (c *S3) WaitUntilBucketExistsWithContext(ctx aws.Context, input *HeadBucket
72 72
73// WaitUntilBucketNotExists uses the Amazon S3 API operation 73// WaitUntilBucketNotExists uses the Amazon S3 API operation
74// HeadBucket to wait for a condition to be met before returning. 74// HeadBucket to wait for a condition to be met before returning.
75// If the condition is not meet within the max attempt window an error will 75// If the condition is not met within the max attempt window, an error will
76// be returned. 76// be returned.
77func (c *S3) WaitUntilBucketNotExists(input *HeadBucketInput) error { 77func (c *S3) WaitUntilBucketNotExists(input *HeadBucketInput) error {
78 return c.WaitUntilBucketNotExistsWithContext(aws.BackgroundContext(), input) 78 return c.WaitUntilBucketNotExistsWithContext(aws.BackgroundContext(), input)
@@ -118,7 +118,7 @@ func (c *S3) WaitUntilBucketNotExistsWithContext(ctx aws.Context, input *HeadBuc
118 118
119// WaitUntilObjectExists uses the Amazon S3 API operation 119// WaitUntilObjectExists uses the Amazon S3 API operation
120// HeadObject to wait for a condition to be met before returning. 120// HeadObject to wait for a condition to be met before returning.
121// If the condition is not meet within the max attempt window an error will 121// If the condition is not met within the max attempt window, an error will
122// be returned. 122// be returned.
123func (c *S3) WaitUntilObjectExists(input *HeadObjectInput) error { 123func (c *S3) WaitUntilObjectExists(input *HeadObjectInput) error {
124 return c.WaitUntilObjectExistsWithContext(aws.BackgroundContext(), input) 124 return c.WaitUntilObjectExistsWithContext(aws.BackgroundContext(), input)
@@ -169,7 +169,7 @@ func (c *S3) WaitUntilObjectExistsWithContext(ctx aws.Context, input *HeadObject
169 169
170// WaitUntilObjectNotExists uses the Amazon S3 API operation 170// WaitUntilObjectNotExists uses the Amazon S3 API operation
171// HeadObject to wait for a condition to be met before returning. 171// HeadObject to wait for a condition to be met before returning.
172// If the condition is not meet within the max attempt window an error will 172// If the condition is not met within the max attempt window, an error will
173// be returned. 173// be returned.
174func (c *S3) WaitUntilObjectNotExists(input *HeadObjectInput) error { 174func (c *S3) WaitUntilObjectNotExists(input *HeadObjectInput) error {
175 return c.WaitUntilObjectNotExistsWithContext(aws.BackgroundContext(), input) 175 return c.WaitUntilObjectNotExistsWithContext(aws.BackgroundContext(), input)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go
index e5c105f..6f89a79 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go
@@ -14,19 +14,18 @@ const opAssumeRole = "AssumeRole"
14 14
15// AssumeRoleRequest generates a "aws/request.Request" representing the 15// AssumeRoleRequest generates a "aws/request.Request" representing the
16// client's request for the AssumeRole operation. The "output" return 16// client's request for the AssumeRole operation. The "output" return
17// value can be used to capture response data after the request's "Send" method 17// value will be populated with the request's response once the request completes
18// is called. 18// successfuly.
19// 19//
20// See AssumeRole for usage and error information. 20// Use "Send" method on the returned Request to send the API call to the service.
21// the "output" return value is not valid until after Send returns without error.
21// 22//
22// Creating a request object using this method should be used when you want to inject 23// See AssumeRole for more information on using the AssumeRole
23// custom logic into the request's lifecycle using a custom handler, or if you want to 24// API call, and error handling.
24// access properties on the request object before or after sending the request. If 25//
25// you just want the service response, call the AssumeRole method directly 26// This method is useful when you want to inject custom logic or configuration
26// instead. 27// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27// 28//
28// Note: You must call the "Send" method on the returned request object in order
29// to execute the request.
30// 29//
31// // Example sending a request using the AssumeRoleRequest method. 30// // Example sending a request using the AssumeRoleRequest method.
32// req, resp := client.AssumeRoleRequest(params) 31// req, resp := client.AssumeRoleRequest(params)
@@ -36,7 +35,7 @@ const opAssumeRole = "AssumeRole"
36// fmt.Println(resp) 35// fmt.Println(resp)
37// } 36// }
38// 37//
39// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole 38// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole
40func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, output *AssumeRoleOutput) { 39func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, output *AssumeRoleOutput) {
41 op := &request.Operation{ 40 op := &request.Operation{
42 Name: opAssumeRole, 41 Name: opAssumeRole,
@@ -89,9 +88,18 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
89// Scenarios for Temporary Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html#sts-introduction) 88// Scenarios for Temporary Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html#sts-introduction)
90// in the IAM User Guide. 89// in the IAM User Guide.
91// 90//
92// The temporary security credentials are valid for the duration that you specified 91// By default, the temporary security credentials created by AssumeRole last
93// when calling AssumeRole, which can be from 900 seconds (15 minutes) to a 92// for one hour. However, you can use the optional DurationSeconds parameter
94// maximum of 3600 seconds (1 hour). The default is 1 hour. 93// to specify the duration of your session. You can provide a value from 900
94// seconds (15 minutes) up to the maximum session duration setting for the role.
95// This setting can have a value from 1 hour to 12 hours. To learn how to view
96// the maximum value for your role, see View the Maximum Session Duration Setting
97// for a Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
98// in the IAM User Guide. The maximum session duration limit applies when you
99// use the AssumeRole* API operations or the assume-role* CLI operations but
100// does not apply when you use those operations to create a console URL. For
101// more information, see Using IAM Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)
102// in the IAM User Guide.
95// 103//
96// The temporary security credentials created by AssumeRole can be used to make 104// The temporary security credentials created by AssumeRole can be used to make
97// API calls to any AWS service with the following exception: you cannot call 105// API calls to any AWS service with the following exception: you cannot call
@@ -122,7 +130,12 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
122// the user to call AssumeRole on the ARN of the role in the other account. 130// the user to call AssumeRole on the ARN of the role in the other account.
123// If the user is in the same account as the role, then you can either attach 131// If the user is in the same account as the role, then you can either attach
124// a policy to the user (identical to the previous different account user), 132// a policy to the user (identical to the previous different account user),
125// or you can add the user as a principal directly in the role's trust policy 133// or you can add the user as a principal directly in the role's trust policy.
134// In this case, the trust policy acts as the only resource-based policy in
135// IAM, and users in the same account as the role do not need explicit permission
136// to assume the role. For more information about trust policies and resource-based
137// policies, see IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)
138// in the IAM User Guide.
126// 139//
127// Using MFA with AssumeRole 140// Using MFA with AssumeRole
128// 141//
@@ -169,7 +182,7 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
169// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) 182// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
170// in the IAM User Guide. 183// in the IAM User Guide.
171// 184//
172// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole 185// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole
173func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) { 186func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) {
174 req, out := c.AssumeRoleRequest(input) 187 req, out := c.AssumeRoleRequest(input)
175 return out, req.Send() 188 return out, req.Send()
@@ -195,19 +208,18 @@ const opAssumeRoleWithSAML = "AssumeRoleWithSAML"
195 208
196// AssumeRoleWithSAMLRequest generates a "aws/request.Request" representing the 209// AssumeRoleWithSAMLRequest generates a "aws/request.Request" representing the
197// client's request for the AssumeRoleWithSAML operation. The "output" return 210// client's request for the AssumeRoleWithSAML operation. The "output" return
198// value can be used to capture response data after the request's "Send" method 211// value will be populated with the request's response once the request completes
199// is called. 212// successfuly.
200// 213//
201// See AssumeRoleWithSAML for usage and error information. 214// Use "Send" method on the returned Request to send the API call to the service.
215// the "output" return value is not valid until after Send returns without error.
202// 216//
203// Creating a request object using this method should be used when you want to inject 217// See AssumeRoleWithSAML for more information on using the AssumeRoleWithSAML
204// custom logic into the request's lifecycle using a custom handler, or if you want to 218// API call, and error handling.
205// access properties on the request object before or after sending the request. If 219//
206// you just want the service response, call the AssumeRoleWithSAML method directly 220// This method is useful when you want to inject custom logic or configuration
207// instead. 221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
208// 222//
209// Note: You must call the "Send" method on the returned request object in order
210// to execute the request.
211// 223//
212// // Example sending a request using the AssumeRoleWithSAMLRequest method. 224// // Example sending a request using the AssumeRoleWithSAMLRequest method.
213// req, resp := client.AssumeRoleWithSAMLRequest(params) 225// req, resp := client.AssumeRoleWithSAMLRequest(params)
@@ -217,7 +229,7 @@ const opAssumeRoleWithSAML = "AssumeRoleWithSAML"
217// fmt.Println(resp) 229// fmt.Println(resp)
218// } 230// }
219// 231//
220// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML 232// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML
221func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *request.Request, output *AssumeRoleWithSAMLOutput) { 233func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *request.Request, output *AssumeRoleWithSAMLOutput) {
222 op := &request.Operation{ 234 op := &request.Operation{
223 Name: opAssumeRoleWithSAML, 235 Name: opAssumeRoleWithSAML,
@@ -249,11 +261,20 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
249// an access key ID, a secret access key, and a security token. Applications 261// an access key ID, a secret access key, and a security token. Applications
250// can use these temporary security credentials to sign calls to AWS services. 262// can use these temporary security credentials to sign calls to AWS services.
251// 263//
252// The temporary security credentials are valid for the duration that you specified 264// By default, the temporary security credentials created by AssumeRoleWithSAML
253// when calling AssumeRole, or until the time specified in the SAML authentication 265// last for one hour. However, you can use the optional DurationSeconds parameter
254// response's SessionNotOnOrAfter value, whichever is shorter. The duration 266// to specify the duration of your session. Your role session lasts for the
255// can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). 267// duration that you specify, or until the time specified in the SAML authentication
256// The default is 1 hour. 268// response's SessionNotOnOrAfter value, whichever is shorter. You can provide
269// a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session
270// duration setting for the role. This setting can have a value from 1 hour
271// to 12 hours. To learn how to view the maximum value for your role, see View
272// the Maximum Session Duration Setting for a Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
273// in the IAM User Guide. The maximum session duration limit applies when you
274// use the AssumeRole* API operations or the assume-role* CLI operations but
275// does not apply when you use those operations to create a console URL. For
276// more information, see Using IAM Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)
277// in the IAM User Guide.
257// 278//
258// The temporary security credentials created by AssumeRoleWithSAML can be used 279// The temporary security credentials created by AssumeRoleWithSAML can be used
259// to make API calls to any AWS service with the following exception: you cannot 280// to make API calls to any AWS service with the following exception: you cannot
@@ -343,7 +364,7 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
343// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) 364// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
344// in the IAM User Guide. 365// in the IAM User Guide.
345// 366//
346// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML 367// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML
347func (c *STS) AssumeRoleWithSAML(input *AssumeRoleWithSAMLInput) (*AssumeRoleWithSAMLOutput, error) { 368func (c *STS) AssumeRoleWithSAML(input *AssumeRoleWithSAMLInput) (*AssumeRoleWithSAMLOutput, error) {
348 req, out := c.AssumeRoleWithSAMLRequest(input) 369 req, out := c.AssumeRoleWithSAMLRequest(input)
349 return out, req.Send() 370 return out, req.Send()
@@ -369,19 +390,18 @@ const opAssumeRoleWithWebIdentity = "AssumeRoleWithWebIdentity"
369 390
370// AssumeRoleWithWebIdentityRequest generates a "aws/request.Request" representing the 391// AssumeRoleWithWebIdentityRequest generates a "aws/request.Request" representing the
371// client's request for the AssumeRoleWithWebIdentity operation. The "output" return 392// client's request for the AssumeRoleWithWebIdentity operation. The "output" return
372// value can be used to capture response data after the request's "Send" method 393// value will be populated with the request's response once the request completes
373// is called. 394// successfuly.
374// 395//
375// See AssumeRoleWithWebIdentity for usage and error information. 396// Use "Send" method on the returned Request to send the API call to the service.
397// the "output" return value is not valid until after Send returns without error.
376// 398//
377// Creating a request object using this method should be used when you want to inject 399// See AssumeRoleWithWebIdentity for more information on using the AssumeRoleWithWebIdentity
378// custom logic into the request's lifecycle using a custom handler, or if you want to 400// API call, and error handling.
379// access properties on the request object before or after sending the request. If 401//
380// you just want the service response, call the AssumeRoleWithWebIdentity method directly 402// This method is useful when you want to inject custom logic or configuration
381// instead. 403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
382// 404//
383// Note: You must call the "Send" method on the returned request object in order
384// to execute the request.
385// 405//
386// // Example sending a request using the AssumeRoleWithWebIdentityRequest method. 406// // Example sending a request using the AssumeRoleWithWebIdentityRequest method.
387// req, resp := client.AssumeRoleWithWebIdentityRequest(params) 407// req, resp := client.AssumeRoleWithWebIdentityRequest(params)
@@ -391,7 +411,7 @@ const opAssumeRoleWithWebIdentity = "AssumeRoleWithWebIdentity"
391// fmt.Println(resp) 411// fmt.Println(resp)
392// } 412// }
393// 413//
394// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity 414// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity
395func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityInput) (req *request.Request, output *AssumeRoleWithWebIdentityOutput) { 415func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityInput) (req *request.Request, output *AssumeRoleWithWebIdentityOutput) {
396 op := &request.Operation{ 416 op := &request.Operation{
397 Name: opAssumeRoleWithWebIdentity, 417 Name: opAssumeRoleWithWebIdentity,
@@ -441,9 +461,18 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
441// key ID, a secret access key, and a security token. Applications can use these 461// key ID, a secret access key, and a security token. Applications can use these
442// temporary security credentials to sign calls to AWS service APIs. 462// temporary security credentials to sign calls to AWS service APIs.
443// 463//
444// The credentials are valid for the duration that you specified when calling 464// By default, the temporary security credentials created by AssumeRoleWithWebIdentity
445// AssumeRoleWithWebIdentity, which can be from 900 seconds (15 minutes) to 465// last for one hour. However, you can use the optional DurationSeconds parameter
446// a maximum of 3600 seconds (1 hour). The default is 1 hour. 466// to specify the duration of your session. You can provide a value from 900
467// seconds (15 minutes) up to the maximum session duration setting for the role.
468// This setting can have a value from 1 hour to 12 hours. To learn how to view
469// the maximum value for your role, see View the Maximum Session Duration Setting
470// for a Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
471// in the IAM User Guide. The maximum session duration limit applies when you
472// use the AssumeRole* API operations or the assume-role* CLI operations but
473// does not apply when you use those operations to create a console URL. For
474// more information, see Using IAM Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)
475// in the IAM User Guide.
447// 476//
448// The temporary security credentials created by AssumeRoleWithWebIdentity can 477// The temporary security credentials created by AssumeRoleWithWebIdentity can
449// be used to make API calls to any AWS service with the following exception: 478// be used to make API calls to any AWS service with the following exception:
@@ -495,7 +524,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
495// the information from these providers to get and use temporary security 524// the information from these providers to get and use temporary security
496// credentials. 525// credentials.
497// 526//
498// * Web Identity Federation with Mobile Applications (http://aws.amazon.com/articles/4617974389850313). 527// * Web Identity Federation with Mobile Applications (http://aws.amazon.com/articles/web-identity-federation-with-mobile-applications).
499// This article discusses web identity federation and shows an example of 528// This article discusses web identity federation and shows an example of
500// how to use web identity federation to get access to content in Amazon 529// how to use web identity federation to get access to content in Amazon
501// S3. 530// S3.
@@ -546,7 +575,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
546// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) 575// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
547// in the IAM User Guide. 576// in the IAM User Guide.
548// 577//
549// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity 578// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity
550func (c *STS) AssumeRoleWithWebIdentity(input *AssumeRoleWithWebIdentityInput) (*AssumeRoleWithWebIdentityOutput, error) { 579func (c *STS) AssumeRoleWithWebIdentity(input *AssumeRoleWithWebIdentityInput) (*AssumeRoleWithWebIdentityOutput, error) {
551 req, out := c.AssumeRoleWithWebIdentityRequest(input) 580 req, out := c.AssumeRoleWithWebIdentityRequest(input)
552 return out, req.Send() 581 return out, req.Send()
@@ -572,19 +601,18 @@ const opDecodeAuthorizationMessage = "DecodeAuthorizationMessage"
572 601
573// DecodeAuthorizationMessageRequest generates a "aws/request.Request" representing the 602// DecodeAuthorizationMessageRequest generates a "aws/request.Request" representing the
574// client's request for the DecodeAuthorizationMessage operation. The "output" return 603// client's request for the DecodeAuthorizationMessage operation. The "output" return
575// value can be used to capture response data after the request's "Send" method 604// value will be populated with the request's response once the request completes
576// is called. 605// successfuly.
577// 606//
578// See DecodeAuthorizationMessage for usage and error information. 607// Use "Send" method on the returned Request to send the API call to the service.
608// the "output" return value is not valid until after Send returns without error.
579// 609//
580// Creating a request object using this method should be used when you want to inject 610// See DecodeAuthorizationMessage for more information on using the DecodeAuthorizationMessage
581// custom logic into the request's lifecycle using a custom handler, or if you want to 611// API call, and error handling.
582// access properties on the request object before or after sending the request. If 612//
583// you just want the service response, call the DecodeAuthorizationMessage method directly 613// This method is useful when you want to inject custom logic or configuration
584// instead. 614// into the SDK's request lifecycle. Such as custom headers, or retry logic.
585// 615//
586// Note: You must call the "Send" method on the returned request object in order
587// to execute the request.
588// 616//
589// // Example sending a request using the DecodeAuthorizationMessageRequest method. 617// // Example sending a request using the DecodeAuthorizationMessageRequest method.
590// req, resp := client.DecodeAuthorizationMessageRequest(params) 618// req, resp := client.DecodeAuthorizationMessageRequest(params)
@@ -594,7 +622,7 @@ const opDecodeAuthorizationMessage = "DecodeAuthorizationMessage"
594// fmt.Println(resp) 622// fmt.Println(resp)
595// } 623// }
596// 624//
597// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage 625// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage
598func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessageInput) (req *request.Request, output *DecodeAuthorizationMessageOutput) { 626func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessageInput) (req *request.Request, output *DecodeAuthorizationMessageOutput) {
599 op := &request.Operation{ 627 op := &request.Operation{
600 Name: opDecodeAuthorizationMessage, 628 Name: opDecodeAuthorizationMessage,
@@ -659,7 +687,7 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag
659// invalid. This can happen if the token contains invalid characters, such as 687// invalid. This can happen if the token contains invalid characters, such as
660// linebreaks. 688// linebreaks.
661// 689//
662// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage 690// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage
663func (c *STS) DecodeAuthorizationMessage(input *DecodeAuthorizationMessageInput) (*DecodeAuthorizationMessageOutput, error) { 691func (c *STS) DecodeAuthorizationMessage(input *DecodeAuthorizationMessageInput) (*DecodeAuthorizationMessageOutput, error) {
664 req, out := c.DecodeAuthorizationMessageRequest(input) 692 req, out := c.DecodeAuthorizationMessageRequest(input)
665 return out, req.Send() 693 return out, req.Send()
@@ -685,19 +713,18 @@ const opGetCallerIdentity = "GetCallerIdentity"
685 713
686// GetCallerIdentityRequest generates a "aws/request.Request" representing the 714// GetCallerIdentityRequest generates a "aws/request.Request" representing the
687// client's request for the GetCallerIdentity operation. The "output" return 715// client's request for the GetCallerIdentity operation. The "output" return
688// value can be used to capture response data after the request's "Send" method 716// value will be populated with the request's response once the request completes
689// is called. 717// successfuly.
718//
719// Use "Send" method on the returned Request to send the API call to the service.
720// the "output" return value is not valid until after Send returns without error.
690// 721//
691// See GetCallerIdentity for usage and error information. 722// See GetCallerIdentity for more information on using the GetCallerIdentity
723// API call, and error handling.
692// 724//
693// Creating a request object using this method should be used when you want to inject 725// This method is useful when you want to inject custom logic or configuration
694// custom logic into the request's lifecycle using a custom handler, or if you want to 726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
695// access properties on the request object before or after sending the request. If
696// you just want the service response, call the GetCallerIdentity method directly
697// instead.
698// 727//
699// Note: You must call the "Send" method on the returned request object in order
700// to execute the request.
701// 728//
702// // Example sending a request using the GetCallerIdentityRequest method. 729// // Example sending a request using the GetCallerIdentityRequest method.
703// req, resp := client.GetCallerIdentityRequest(params) 730// req, resp := client.GetCallerIdentityRequest(params)
@@ -707,7 +734,7 @@ const opGetCallerIdentity = "GetCallerIdentity"
707// fmt.Println(resp) 734// fmt.Println(resp)
708// } 735// }
709// 736//
710// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity 737// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity
711func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *request.Request, output *GetCallerIdentityOutput) { 738func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *request.Request, output *GetCallerIdentityOutput) {
712 op := &request.Operation{ 739 op := &request.Operation{
713 Name: opGetCallerIdentity, 740 Name: opGetCallerIdentity,
@@ -735,7 +762,7 @@ func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *requ
735// 762//
736// See the AWS API reference guide for AWS Security Token Service's 763// See the AWS API reference guide for AWS Security Token Service's
737// API operation GetCallerIdentity for usage and error information. 764// API operation GetCallerIdentity for usage and error information.
738// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity 765// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity
739func (c *STS) GetCallerIdentity(input *GetCallerIdentityInput) (*GetCallerIdentityOutput, error) { 766func (c *STS) GetCallerIdentity(input *GetCallerIdentityInput) (*GetCallerIdentityOutput, error) {
740 req, out := c.GetCallerIdentityRequest(input) 767 req, out := c.GetCallerIdentityRequest(input)
741 return out, req.Send() 768 return out, req.Send()
@@ -761,19 +788,18 @@ const opGetFederationToken = "GetFederationToken"
761 788
762// GetFederationTokenRequest generates a "aws/request.Request" representing the 789// GetFederationTokenRequest generates a "aws/request.Request" representing the
763// client's request for the GetFederationToken operation. The "output" return 790// client's request for the GetFederationToken operation. The "output" return
764// value can be used to capture response data after the request's "Send" method 791// value will be populated with the request's response once the request completes
765// is called. 792// successfuly.
766// 793//
767// See GetFederationToken for usage and error information. 794// Use "Send" method on the returned Request to send the API call to the service.
795// the "output" return value is not valid until after Send returns without error.
768// 796//
769// Creating a request object using this method should be used when you want to inject 797// See GetFederationToken for more information on using the GetFederationToken
770// custom logic into the request's lifecycle using a custom handler, or if you want to 798// API call, and error handling.
771// access properties on the request object before or after sending the request. If 799//
772// you just want the service response, call the GetFederationToken method directly 800// This method is useful when you want to inject custom logic or configuration
773// instead. 801// into the SDK's request lifecycle. Such as custom headers, or retry logic.
774// 802//
775// Note: You must call the "Send" method on the returned request object in order
776// to execute the request.
777// 803//
778// // Example sending a request using the GetFederationTokenRequest method. 804// // Example sending a request using the GetFederationTokenRequest method.
779// req, resp := client.GetFederationTokenRequest(params) 805// req, resp := client.GetFederationTokenRequest(params)
@@ -783,7 +809,7 @@ const opGetFederationToken = "GetFederationToken"
783// fmt.Println(resp) 809// fmt.Println(resp)
784// } 810// }
785// 811//
786// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken 812// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken
787func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *request.Request, output *GetFederationTokenOutput) { 813func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *request.Request, output *GetFederationTokenOutput) {
788 op := &request.Operation{ 814 op := &request.Operation{
789 Name: opGetFederationToken, 815 Name: opGetFederationToken,
@@ -905,7 +931,7 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
905// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) 931// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
906// in the IAM User Guide. 932// in the IAM User Guide.
907// 933//
908// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken 934// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken
909func (c *STS) GetFederationToken(input *GetFederationTokenInput) (*GetFederationTokenOutput, error) { 935func (c *STS) GetFederationToken(input *GetFederationTokenInput) (*GetFederationTokenOutput, error) {
910 req, out := c.GetFederationTokenRequest(input) 936 req, out := c.GetFederationTokenRequest(input)
911 return out, req.Send() 937 return out, req.Send()
@@ -931,19 +957,18 @@ const opGetSessionToken = "GetSessionToken"
931 957
932// GetSessionTokenRequest generates a "aws/request.Request" representing the 958// GetSessionTokenRequest generates a "aws/request.Request" representing the
933// client's request for the GetSessionToken operation. The "output" return 959// client's request for the GetSessionToken operation. The "output" return
934// value can be used to capture response data after the request's "Send" method 960// value will be populated with the request's response once the request completes
935// is called. 961// successfuly.
962//
963// Use "Send" method on the returned Request to send the API call to the service.
964// the "output" return value is not valid until after Send returns without error.
936// 965//
937// See GetSessionToken for usage and error information. 966// See GetSessionToken for more information on using the GetSessionToken
967// API call, and error handling.
938// 968//
939// Creating a request object using this method should be used when you want to inject 969// This method is useful when you want to inject custom logic or configuration
940// custom logic into the request's lifecycle using a custom handler, or if you want to 970// into the SDK's request lifecycle. Such as custom headers, or retry logic.
941// access properties on the request object before or after sending the request. If
942// you just want the service response, call the GetSessionToken method directly
943// instead.
944// 971//
945// Note: You must call the "Send" method on the returned request object in order
946// to execute the request.
947// 972//
948// // Example sending a request using the GetSessionTokenRequest method. 973// // Example sending a request using the GetSessionTokenRequest method.
949// req, resp := client.GetSessionTokenRequest(params) 974// req, resp := client.GetSessionTokenRequest(params)
@@ -953,7 +978,7 @@ const opGetSessionToken = "GetSessionToken"
953// fmt.Println(resp) 978// fmt.Println(resp)
954// } 979// }
955// 980//
956// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken 981// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken
957func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.Request, output *GetSessionTokenOutput) { 982func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.Request, output *GetSessionTokenOutput) {
958 op := &request.Operation{ 983 op := &request.Operation{
959 Name: opGetSessionToken, 984 Name: opGetSessionToken,
@@ -1034,7 +1059,7 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.
1034// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) 1059// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
1035// in the IAM User Guide. 1060// in the IAM User Guide.
1036// 1061//
1037// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken 1062// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken
1038func (c *STS) GetSessionToken(input *GetSessionTokenInput) (*GetSessionTokenOutput, error) { 1063func (c *STS) GetSessionToken(input *GetSessionTokenInput) (*GetSessionTokenOutput, error) {
1039 req, out := c.GetSessionTokenRequest(input) 1064 req, out := c.GetSessionTokenRequest(input)
1040 return out, req.Send() 1065 return out, req.Send()
@@ -1056,20 +1081,27 @@ func (c *STS) GetSessionTokenWithContext(ctx aws.Context, input *GetSessionToken
1056 return out, req.Send() 1081 return out, req.Send()
1057} 1082}
1058 1083
1059// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest
1060type AssumeRoleInput struct { 1084type AssumeRoleInput struct {
1061 _ struct{} `type:"structure"` 1085 _ struct{} `type:"structure"`
1062 1086
1063 // The duration, in seconds, of the role session. The value can range from 900 1087 // The duration, in seconds, of the role session. The value can range from 900
1064 // seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set 1088 // seconds (15 minutes) up to the maximum session duration setting for the role.
1065 // to 3600 seconds. 1089 // This setting can have a value from 1 hour to 12 hours. If you specify a value
1090 // higher than this setting, the operation fails. For example, if you specify
1091 // a session duration of 12 hours, but your administrator set the maximum session
1092 // duration to 6 hours, your operation fails. To learn how to view the maximum
1093 // value for your role, see View the Maximum Session Duration Setting for a
1094 // Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
1095 // in the IAM User Guide.
1066 // 1096 //
1067 // This is separate from the duration of a console session that you might request 1097 // By default, the value is set to 3600 seconds.
1068 // using the returned credentials. The request to the federation endpoint for 1098 //
1069 // a console sign-in token takes a SessionDuration parameter that specifies 1099 // The DurationSeconds parameter is separate from the duration of a console
1070 // the maximum length of the console session, separately from the DurationSeconds 1100 // session that you might request using the returned credentials. The request
1071 // parameter on this API. For more information, see Creating a URL that Enables 1101 // to the federation endpoint for a console sign-in token takes a SessionDuration
1072 // Federated Users to Access the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) 1102 // parameter that specifies the maximum length of the console session. For more
1103 // information, see Creating a URL that Enables Federated Users to Access the
1104 // AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)
1073 // in the IAM User Guide. 1105 // in the IAM User Guide.
1074 DurationSeconds *int64 `min:"900" type:"integer"` 1106 DurationSeconds *int64 `min:"900" type:"integer"`
1075 1107
@@ -1248,7 +1280,6 @@ func (s *AssumeRoleInput) SetTokenCode(v string) *AssumeRoleInput {
1248 1280
1249// Contains the response to a successful AssumeRole request, including temporary 1281// Contains the response to a successful AssumeRole request, including temporary
1250// AWS credentials that can be used to make AWS requests. 1282// AWS credentials that can be used to make AWS requests.
1251// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleResponse
1252type AssumeRoleOutput struct { 1283type AssumeRoleOutput struct {
1253 _ struct{} `type:"structure"` 1284 _ struct{} `type:"structure"`
1254 1285
@@ -1302,22 +1333,30 @@ func (s *AssumeRoleOutput) SetPackedPolicySize(v int64) *AssumeRoleOutput {
1302 return s 1333 return s
1303} 1334}
1304 1335
1305// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLRequest
1306type AssumeRoleWithSAMLInput struct { 1336type AssumeRoleWithSAMLInput struct {
1307 _ struct{} `type:"structure"` 1337 _ struct{} `type:"structure"`
1308 1338
1309 // The duration, in seconds, of the role session. The value can range from 900 1339 // The duration, in seconds, of the role session. Your role session lasts for
1310 // seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set 1340 // the duration that you specify for the DurationSeconds parameter, or until
1311 // to 3600 seconds. An expiration can also be specified in the SAML authentication 1341 // the time specified in the SAML authentication response's SessionNotOnOrAfter
1312 // response's SessionNotOnOrAfter value. The actual expiration time is whichever 1342 // value, whichever is shorter. You can provide a DurationSeconds value from
1313 // value is shorter. 1343 // 900 seconds (15 minutes) up to the maximum session duration setting for the
1344 // role. This setting can have a value from 1 hour to 12 hours. If you specify
1345 // a value higher than this setting, the operation fails. For example, if you
1346 // specify a session duration of 12 hours, but your administrator set the maximum
1347 // session duration to 6 hours, your operation fails. To learn how to view the
1348 // maximum value for your role, see View the Maximum Session Duration Setting
1349 // for a Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
1350 // in the IAM User Guide.
1351 //
1352 // By default, the value is set to 3600 seconds.
1314 // 1353 //
1315 // This is separate from the duration of a console session that you might request 1354 // The DurationSeconds parameter is separate from the duration of a console
1316 // using the returned credentials. The request to the federation endpoint for 1355 // session that you might request using the returned credentials. The request
1317 // a console sign-in token takes a SessionDuration parameter that specifies 1356 // to the federation endpoint for a console sign-in token takes a SessionDuration
1318 // the maximum length of the console session, separately from the DurationSeconds 1357 // parameter that specifies the maximum length of the console session. For more
1319 // parameter on this API. For more information, see Enabling SAML 2.0 Federated 1358 // information, see Creating a URL that Enables Federated Users to Access the
1320 // Users to Access the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html) 1359 // AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)
1321 // in the IAM User Guide. 1360 // in the IAM User Guide.
1322 DurationSeconds *int64 `min:"900" type:"integer"` 1361 DurationSeconds *int64 `min:"900" type:"integer"`
1323 1362
@@ -1443,7 +1482,6 @@ func (s *AssumeRoleWithSAMLInput) SetSAMLAssertion(v string) *AssumeRoleWithSAML
1443 1482
1444// Contains the response to a successful AssumeRoleWithSAML request, including 1483// Contains the response to a successful AssumeRoleWithSAML request, including
1445// temporary AWS credentials that can be used to make AWS requests. 1484// temporary AWS credentials that can be used to make AWS requests.
1446// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLResponse
1447type AssumeRoleWithSAMLOutput struct { 1485type AssumeRoleWithSAMLOutput struct {
1448 _ struct{} `type:"structure"` 1486 _ struct{} `type:"structure"`
1449 1487
@@ -1555,20 +1593,27 @@ func (s *AssumeRoleWithSAMLOutput) SetSubjectType(v string) *AssumeRoleWithSAMLO
1555 return s 1593 return s
1556} 1594}
1557 1595
1558// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityRequest
1559type AssumeRoleWithWebIdentityInput struct { 1596type AssumeRoleWithWebIdentityInput struct {
1560 _ struct{} `type:"structure"` 1597 _ struct{} `type:"structure"`
1561 1598
1562 // The duration, in seconds, of the role session. The value can range from 900 1599 // The duration, in seconds, of the role session. The value can range from 900
1563 // seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set 1600 // seconds (15 minutes) up to the maximum session duration setting for the role.
1564 // to 3600 seconds. 1601 // This setting can have a value from 1 hour to 12 hours. If you specify a value
1602 // higher than this setting, the operation fails. For example, if you specify
1603 // a session duration of 12 hours, but your administrator set the maximum session
1604 // duration to 6 hours, your operation fails. To learn how to view the maximum
1605 // value for your role, see View the Maximum Session Duration Setting for a
1606 // Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
1607 // in the IAM User Guide.
1608 //
1609 // By default, the value is set to 3600 seconds.
1565 // 1610 //
1566 // This is separate from the duration of a console session that you might request 1611 // The DurationSeconds parameter is separate from the duration of a console
1567 // using the returned credentials. The request to the federation endpoint for 1612 // session that you might request using the returned credentials. The request
1568 // a console sign-in token takes a SessionDuration parameter that specifies 1613 // to the federation endpoint for a console sign-in token takes a SessionDuration
1569 // the maximum length of the console session, separately from the DurationSeconds 1614 // parameter that specifies the maximum length of the console session. For more
1570 // parameter on this API. For more information, see Creating a URL that Enables 1615 // information, see Creating a URL that Enables Federated Users to Access the
1571 // Federated Users to Access the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) 1616 // AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)
1572 // in the IAM User Guide. 1617 // in the IAM User Guide.
1573 DurationSeconds *int64 `min:"900" type:"integer"` 1618 DurationSeconds *int64 `min:"900" type:"integer"`
1574 1619
@@ -1718,7 +1763,6 @@ func (s *AssumeRoleWithWebIdentityInput) SetWebIdentityToken(v string) *AssumeRo
1718 1763
1719// Contains the response to a successful AssumeRoleWithWebIdentity request, 1764// Contains the response to a successful AssumeRoleWithWebIdentity request,
1720// including temporary AWS credentials that can be used to make AWS requests. 1765// including temporary AWS credentials that can be used to make AWS requests.
1721// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityResponse
1722type AssumeRoleWithWebIdentityOutput struct { 1766type AssumeRoleWithWebIdentityOutput struct {
1723 _ struct{} `type:"structure"` 1767 _ struct{} `type:"structure"`
1724 1768
@@ -1811,7 +1855,6 @@ func (s *AssumeRoleWithWebIdentityOutput) SetSubjectFromWebIdentityToken(v strin
1811 1855
1812// The identifiers for the temporary security credentials that the operation 1856// The identifiers for the temporary security credentials that the operation
1813// returns. 1857// returns.
1814// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumedRoleUser
1815type AssumedRoleUser struct { 1858type AssumedRoleUser struct {
1816 _ struct{} `type:"structure"` 1859 _ struct{} `type:"structure"`
1817 1860
@@ -1854,7 +1897,6 @@ func (s *AssumedRoleUser) SetAssumedRoleId(v string) *AssumedRoleUser {
1854} 1897}
1855 1898
1856// AWS credentials for API authentication. 1899// AWS credentials for API authentication.
1857// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/Credentials
1858type Credentials struct { 1900type Credentials struct {
1859 _ struct{} `type:"structure"` 1901 _ struct{} `type:"structure"`
1860 1902
@@ -1866,7 +1908,7 @@ type Credentials struct {
1866 // The date on which the current credentials expire. 1908 // The date on which the current credentials expire.
1867 // 1909 //
1868 // Expiration is a required field 1910 // Expiration is a required field
1869 Expiration *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` 1911 Expiration *time.Time `type:"timestamp" required:"true"`
1870 1912
1871 // The secret access key that can be used to sign requests. 1913 // The secret access key that can be used to sign requests.
1872 // 1914 //
@@ -1913,7 +1955,6 @@ func (s *Credentials) SetSessionToken(v string) *Credentials {
1913 return s 1955 return s
1914} 1956}
1915 1957
1916// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageRequest
1917type DecodeAuthorizationMessageInput struct { 1958type DecodeAuthorizationMessageInput struct {
1918 _ struct{} `type:"structure"` 1959 _ struct{} `type:"structure"`
1919 1960
@@ -1958,7 +1999,6 @@ func (s *DecodeAuthorizationMessageInput) SetEncodedMessage(v string) *DecodeAut
1958// A document that contains additional information about the authorization status 1999// A document that contains additional information about the authorization status
1959// of a request from an encoded message that is returned in response to an AWS 2000// of a request from an encoded message that is returned in response to an AWS
1960// request. 2001// request.
1961// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageResponse
1962type DecodeAuthorizationMessageOutput struct { 2002type DecodeAuthorizationMessageOutput struct {
1963 _ struct{} `type:"structure"` 2003 _ struct{} `type:"structure"`
1964 2004
@@ -1983,7 +2023,6 @@ func (s *DecodeAuthorizationMessageOutput) SetDecodedMessage(v string) *DecodeAu
1983} 2023}
1984 2024
1985// Identifiers for the federated user that is associated with the credentials. 2025// Identifiers for the federated user that is associated with the credentials.
1986// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/FederatedUser
1987type FederatedUser struct { 2026type FederatedUser struct {
1988 _ struct{} `type:"structure"` 2027 _ struct{} `type:"structure"`
1989 2028
@@ -2024,7 +2063,6 @@ func (s *FederatedUser) SetFederatedUserId(v string) *FederatedUser {
2024 return s 2063 return s
2025} 2064}
2026 2065
2027// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityRequest
2028type GetCallerIdentityInput struct { 2066type GetCallerIdentityInput struct {
2029 _ struct{} `type:"structure"` 2067 _ struct{} `type:"structure"`
2030} 2068}
@@ -2041,7 +2079,6 @@ func (s GetCallerIdentityInput) GoString() string {
2041 2079
2042// Contains the response to a successful GetCallerIdentity request, including 2080// Contains the response to a successful GetCallerIdentity request, including
2043// information about the entity making the request. 2081// information about the entity making the request.
2044// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityResponse
2045type GetCallerIdentityOutput struct { 2082type GetCallerIdentityOutput struct {
2046 _ struct{} `type:"structure"` 2083 _ struct{} `type:"structure"`
2047 2084
@@ -2087,7 +2124,6 @@ func (s *GetCallerIdentityOutput) SetUserId(v string) *GetCallerIdentityOutput {
2087 return s 2124 return s
2088} 2125}
2089 2126
2090// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenRequest
2091type GetFederationTokenInput struct { 2127type GetFederationTokenInput struct {
2092 _ struct{} `type:"structure"` 2128 _ struct{} `type:"structure"`
2093 2129
@@ -2196,7 +2232,6 @@ func (s *GetFederationTokenInput) SetPolicy(v string) *GetFederationTokenInput {
2196 2232
2197// Contains the response to a successful GetFederationToken request, including 2233// Contains the response to a successful GetFederationToken request, including
2198// temporary AWS credentials that can be used to make AWS requests. 2234// temporary AWS credentials that can be used to make AWS requests.
2199// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenResponse
2200type GetFederationTokenOutput struct { 2235type GetFederationTokenOutput struct {
2201 _ struct{} `type:"structure"` 2236 _ struct{} `type:"structure"`
2202 2237
@@ -2249,7 +2284,6 @@ func (s *GetFederationTokenOutput) SetPackedPolicySize(v int64) *GetFederationTo
2249 return s 2284 return s
2250} 2285}
2251 2286
2252// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenRequest
2253type GetSessionTokenInput struct { 2287type GetSessionTokenInput struct {
2254 _ struct{} `type:"structure"` 2288 _ struct{} `type:"structure"`
2255 2289
@@ -2334,7 +2368,6 @@ func (s *GetSessionTokenInput) SetTokenCode(v string) *GetSessionTokenInput {
2334 2368
2335// Contains the response to a successful GetSessionToken request, including 2369// Contains the response to a successful GetSessionToken request, including
2336// temporary AWS credentials that can be used to make AWS requests. 2370// temporary AWS credentials that can be used to make AWS requests.
2337// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenResponse
2338type GetSessionTokenOutput struct { 2371type GetSessionTokenOutput struct {
2339 _ struct{} `type:"structure"` 2372 _ struct{} `type:"structure"`
2340 2373
diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go b/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go
index d2af518..ef681ab 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go
@@ -56,69 +56,17 @@
56// 56//
57// Using the Client 57// Using the Client
58// 58//
59// To use the client for AWS Security Token Service you will first need 59// To contact AWS Security Token Service with the SDK use the New function to create
60// to create a new instance of it. 60// a new service client. With that client you can make API requests to the service.
61// These clients are safe to use concurrently.
61// 62//
62// When creating a client for an AWS service you'll first need to have a Session 63// See the SDK's documentation for more information on how to use the SDK.
63// already created. The Session provides configuration that can be shared
64// between multiple service clients. Additional configuration can be applied to
65// the Session and service's client when they are constructed. The aws package's
66// Config type contains several fields such as Region for the AWS Region the
67// client should make API requests too. The optional Config value can be provided
68// as the variadic argument for Sessions and client creation.
69//
70// Once the service's client is created you can use it to make API requests the
71// AWS service. These clients are safe to use concurrently.
72//
73// // Create a session to share configuration, and load external configuration.
74// sess := session.Must(session.NewSession())
75//
76// // Create the service's client with the session.
77// svc := sts.New(sess)
78//
79// See the SDK's documentation for more information on how to use service clients.
80// https://docs.aws.amazon.com/sdk-for-go/api/ 64// https://docs.aws.amazon.com/sdk-for-go/api/
81// 65//
82// See aws package's Config type for more information on configuration options. 66// See aws.Config documentation for more information on configuring SDK clients.
83// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config 67// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
84// 68//
85// See the AWS Security Token Service client STS for more 69// See the AWS Security Token Service client STS for more
86// information on creating the service's client. 70// information on creating client for this service.
87// https://docs.aws.amazon.com/sdk-for-go/api/service/sts/#New 71// https://docs.aws.amazon.com/sdk-for-go/api/service/sts/#New
88//
89// Once the client is created you can make an API request to the service.
90// Each API method takes a input parameter, and returns the service response
91// and an error.
92//
93// The API method will document which error codes the service can be returned
94// by the operation if the service models the API operation's errors. These
95// errors will also be available as const strings prefixed with "ErrCode".
96//
97// result, err := svc.AssumeRole(params)
98// if err != nil {
99// // Cast err to awserr.Error to handle specific error codes.
100// aerr, ok := err.(awserr.Error)
101// if ok && aerr.Code() == <error code to check for> {
102// // Specific error code handling
103// }
104// return err
105// }
106//
107// fmt.Println("AssumeRole result:")
108// fmt.Println(result)
109//
110// Using the Client with Context
111//
112// The service's client also provides methods to make API requests with a Context
113// value. This allows you to control the timeout, and cancellation of pending
114// requests. These methods also take request Option as variadic parameter to apply
115// additional configuration to the API request.
116//
117// ctx := context.Background()
118//
119// result, err := svc.AssumeRoleWithContext(ctx, params)
120//
121// See the request package documentation for more information on using Context pattern
122// with the SDK.
123// https://docs.aws.amazon.com/sdk-for-go/api/aws/request/
124package sts 72package sts
diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/service.go b/vendor/github.com/aws/aws-sdk-go/service/sts/service.go
index 1ee5839..185c914 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/sts/service.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/sts/service.go
@@ -29,8 +29,9 @@ var initRequest func(*request.Request)
29 29
30// Service information constants 30// Service information constants
31const ( 31const (
32 ServiceName = "sts" // Service endpoint prefix API calls made to. 32 ServiceName = "sts" // Name of service.
33 EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata. 33 EndpointsID = ServiceName // ID to lookup a service endpoint with.
34 ServiceID = "STS" // ServiceID is a unique identifer of a specific service.
34) 35)
35 36
36// New creates a new instance of the STS client with a session. 37// New creates a new instance of the STS client with a session.
@@ -55,6 +56,7 @@ func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegio
55 cfg, 56 cfg,
56 metadata.ClientInfo{ 57 metadata.ClientInfo{
57 ServiceName: ServiceName, 58 ServiceName: ServiceName,
59 ServiceID: ServiceID,
58 SigningName: signingName, 60 SigningName: signingName,
59 SigningRegion: signingRegion, 61 SigningRegion: signingRegion,
60 Endpoint: endpoint, 62 Endpoint: endpoint,