@@ -113,6 +113,72 @@ const (
113113 <Message>User: arn:aws:iam::123456789012:user/Bob is not authorized to perform: sts:GetCallerIdentity</Message>
114114</Error>
115115<RequestId>01234567-89ab-cdef-0123-456789abcdef</RequestId>
116+ </ErrorResponse>`
117+ // MockStsGetCallerIdentityValidResponseBodyExpiredToken uses code "ExpiredToken", seemingly the most common
118+ // code. Errors usually have an invalid body but this may be fixed at some point.
119+ MockStsGetCallerIdentityValidResponseBodyExpiredToken = `<ErrorResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
120+ <Error>
121+ <Type>Sender</Type>
122+ <Code>ExpiredToken</Code>
123+ <Message>The security token included in the request is expired</Message>
124+ </Error>
125+ <ResponseMetadata>
126+ <RequestId>01234567-89ab-cdef-0123-456789abcdef</RequestId>
127+ </ResponseMetadata>
128+ </ErrorResponse>`
129+ // MockStsGetCallerIdentityInvalidResponseBodyExpiredToken uses code "ExpiredToken", seemingly the most common
130+ // code. Errors usually have an invalid body.
131+ MockStsGetCallerIdentityInvalidResponseBodyExpiredToken = `<ErrorResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
132+ <Error>
133+ <Type>Sender</Type>
134+ <Code>ExpiredToken</Code>
135+ <Message>The security token included in the request is expired</Message>
136+ </Error>
137+ <RequestId>01234567-89ab-cdef-0123-456789abcdef</RequestId>
138+ </ErrorResponse>`
139+ // MockStsGetCallerIdentityValidResponseBodyExpiredTokenException uses code "ExpiredTokenException", a more rare code
140+ // but used at least by Fargate. Errors usually have an invalid body but this may change.
141+ MockStsGetCallerIdentityValidResponseBodyExpiredTokenException = `<ErrorResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
142+ <Error>
143+ <Type>Sender</Type>
144+ <Code>ExpiredTokenException</Code>
145+ <Message>The security token included in the request is expired</Message>
146+ </Error>
147+ <ResponseMetadata>
148+ <RequestId>01234567-89ab-cdef-0123-456789abcdef</RequestId>
149+ </ResponseMetadata>
150+ </ErrorResponse>`
151+ // MockStsGetCallerIdentityInvalidResponseBodyExpiredTokenException uses code "ExpiredTokenException", a more rare code
152+ // but used at least by Fargate. Errors usually have an invalid body but this may change.
153+ MockStsGetCallerIdentityInvalidResponseBodyExpiredTokenException = `<ErrorResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
154+ <Error>
155+ <Type>Sender</Type>
156+ <Code>ExpiredTokenException</Code>
157+ <Message>The security token included in the request is expired</Message>
158+ </Error>
159+ <RequestId>01234567-89ab-cdef-0123-456789abcdef</RequestId>
160+ </ErrorResponse>`
161+ // MockStsGetCallerIdentityValidResponseBodyRequestExpired uses code "RequestExpired", a code only used in EC2.
162+ // Errors usually have an invalid body but this may change.
163+ MockStsGetCallerIdentityValidResponseBodyRequestExpired = `<ErrorResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
164+ <Error>
165+ <Type>Sender</Type>
166+ <Code>RequestExpired</Code>
167+ <Message>The security token included in the request is expired</Message>
168+ </Error>
169+ <ResponseMetadata>
170+ <RequestId>01234567-89ab-cdef-0123-456789abcdef</RequestId>
171+ </ResponseMetadata>
172+ </ErrorResponse>`
173+ // MockStsGetCallerIdentityInvalidResponseBodyRequestExpired uses code "RequestExpired", a code only used in EC2.
174+ // Errors usually have an invalid body but this may change.
175+ MockStsGetCallerIdentityInvalidResponseBodyRequestExpired = `<ErrorResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
176+ <Error>
177+ <Type>Sender</Type>
178+ <Code>RequestExpired</Code>
179+ <Message>The security token included in the request is expired</Message>
180+ </Error>
181+ <RequestId>01234567-89ab-cdef-0123-456789abcdef</RequestId>
116182</ErrorResponse>`
117183 MockStsGetCallerIdentityPartition = `aws`
118184 MockStsGetCallerIdentityValidResponseBody = `<GetCallerIdentityResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
@@ -211,6 +277,96 @@ var (
211277 StatusCode : http .StatusForbidden ,
212278 },
213279 }
280+ MockStsGetCallerIdentityInvalidBodyExpiredToken = & MockEndpoint {
281+ Request : & MockRequest {
282+ Body : url.Values {
283+ "Action" : []string {"GetCallerIdentity" },
284+ "Version" : []string {"2011-06-15" },
285+ }.Encode (),
286+ Method : http .MethodPost ,
287+ Uri : "/" ,
288+ },
289+ Response : & MockResponse {
290+ Body : MockStsGetCallerIdentityInvalidResponseBodyExpiredToken ,
291+ ContentType : "text/xml" ,
292+ StatusCode : http .StatusForbidden ,
293+ },
294+ }
295+ MockStsGetCallerIdentityValidBodyExpiredToken = & MockEndpoint {
296+ Request : & MockRequest {
297+ Body : url.Values {
298+ "Action" : []string {"GetCallerIdentity" },
299+ "Version" : []string {"2011-06-15" },
300+ }.Encode (),
301+ Method : http .MethodPost ,
302+ Uri : "/" ,
303+ },
304+ Response : & MockResponse {
305+ Body : MockStsGetCallerIdentityValidResponseBodyExpiredToken ,
306+ ContentType : "text/xml" ,
307+ StatusCode : http .StatusForbidden ,
308+ },
309+ }
310+ MockStsGetCallerIdentityInvalidBodyExpiredTokenException = & MockEndpoint {
311+ Request : & MockRequest {
312+ Body : url.Values {
313+ "Action" : []string {"GetCallerIdentity" },
314+ "Version" : []string {"2011-06-15" },
315+ }.Encode (),
316+ Method : http .MethodPost ,
317+ Uri : "/" ,
318+ },
319+ Response : & MockResponse {
320+ Body : MockStsGetCallerIdentityInvalidResponseBodyExpiredTokenException ,
321+ ContentType : "text/xml" ,
322+ StatusCode : http .StatusForbidden ,
323+ },
324+ }
325+ MockStsGetCallerIdentityValidBodyExpiredTokenException = & MockEndpoint {
326+ Request : & MockRequest {
327+ Body : url.Values {
328+ "Action" : []string {"GetCallerIdentity" },
329+ "Version" : []string {"2011-06-15" },
330+ }.Encode (),
331+ Method : http .MethodPost ,
332+ Uri : "/" ,
333+ },
334+ Response : & MockResponse {
335+ Body : MockStsGetCallerIdentityValidResponseBodyExpiredTokenException ,
336+ ContentType : "text/xml" ,
337+ StatusCode : http .StatusForbidden ,
338+ },
339+ }
340+ MockStsGetCallerIdentityInvalidBodyRequestExpired = & MockEndpoint {
341+ Request : & MockRequest {
342+ Body : url.Values {
343+ "Action" : []string {"GetCallerIdentity" },
344+ "Version" : []string {"2011-06-15" },
345+ }.Encode (),
346+ Method : http .MethodPost ,
347+ Uri : "/" ,
348+ },
349+ Response : & MockResponse {
350+ Body : MockStsGetCallerIdentityInvalidResponseBodyRequestExpired ,
351+ ContentType : "text/xml" ,
352+ StatusCode : http .StatusForbidden ,
353+ },
354+ }
355+ MockStsGetCallerIdentityValidBodyRequestExpired = & MockEndpoint {
356+ Request : & MockRequest {
357+ Body : url.Values {
358+ "Action" : []string {"GetCallerIdentity" },
359+ "Version" : []string {"2011-06-15" },
360+ }.Encode (),
361+ Method : http .MethodPost ,
362+ Uri : "/" ,
363+ },
364+ Response : & MockResponse {
365+ Body : MockStsGetCallerIdentityValidResponseBodyRequestExpired ,
366+ ContentType : "text/xml" ,
367+ StatusCode : http .StatusForbidden ,
368+ },
369+ }
214370 MockStsGetCallerIdentityValidEndpoint = & MockEndpoint {
215371 Request : & MockRequest {
216372 Body : url.Values {
0 commit comments