-
Notifications
You must be signed in to change notification settings - Fork 598
/
api_op_UpdateGatewayResponse.go
265 lines (245 loc) · 8.15 KB
/
api_op_UpdateGatewayResponse.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
// Code generated by smithy-go-codegen DO NOT EDIT.
package apigateway
import (
"context"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/retry"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/apigateway/types"
smithy "github.com/awslabs/smithy-go"
"github.com/awslabs/smithy-go/middleware"
smithyhttp "github.com/awslabs/smithy-go/transport/http"
)
// Updates a GatewayResponse () of a specified response type on the given RestApi
// ().
func (c *Client) UpdateGatewayResponse(ctx context.Context, params *UpdateGatewayResponseInput, optFns ...func(*Options)) (*UpdateGatewayResponseOutput, error) {
stack := middleware.NewStack("UpdateGatewayResponse", smithyhttp.NewStackRequest)
options := c.options.Copy()
for _, fn := range optFns {
fn(&options)
}
addawsRestjson1_serdeOpUpdateGatewayResponseMiddlewares(stack)
awsmiddleware.AddRequestInvocationIDMiddleware(stack)
smithyhttp.AddContentLengthMiddleware(stack)
AddResolveEndpointMiddleware(stack, options)
v4.AddComputePayloadSHA256Middleware(stack)
retry.AddRetryMiddlewares(stack, options)
addHTTPSignerV4Middleware(stack, options)
awsmiddleware.AddAttemptClockSkewMiddleware(stack)
addClientUserAgent(stack)
smithyhttp.AddErrorCloseResponseBodyMiddleware(stack)
smithyhttp.AddCloseResponseBodyMiddleware(stack)
addOpUpdateGatewayResponseValidationMiddleware(stack)
stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateGatewayResponse(options.Region), middleware.Before)
addRequestIDRetrieverMiddleware(stack)
addResponseErrorMiddleware(stack)
addAcceptHeader(stack)
for _, fn := range options.APIOptions {
if err := fn(stack); err != nil {
return nil, err
}
}
handler := middleware.DecorateHandler(smithyhttp.NewClientHandler(options.HTTPClient), stack)
result, metadata, err := handler.Handle(ctx, params)
if err != nil {
return nil, &smithy.OperationError{
ServiceID: ServiceID,
OperationName: "UpdateGatewayResponse",
Err: err,
}
}
out := result.(*UpdateGatewayResponseOutput)
out.ResultMetadata = metadata
return out, nil
}
// Updates a GatewayResponse () of a specified response type on the given RestApi
// ().
type UpdateGatewayResponseInput struct {
TemplateSkipList []*string
Title *string
// [Required] The response type of the associated GatewayResponse (). Valid values
// are
//
// * ACCESS_DENIED
//
// * API_CONFIGURATION_ERROR
//
// *
// AUTHORIZER_FAILURE
//
// * AUTHORIZER_CONFIGURATION_ERROR
//
// *
// BAD_REQUEST_PARAMETERS
//
// * BAD_REQUEST_BODY
//
// * DEFAULT_4XX
//
// *
// DEFAULT_5XX
//
// * EXPIRED_TOKEN
//
// * INVALID_SIGNATURE
//
// *
// INTEGRATION_FAILURE
//
// * INTEGRATION_TIMEOUT
//
// * INVALID_API_KEY
//
// *
// MISSING_AUTHENTICATION_TOKEN
//
// * QUOTA_EXCEEDED
//
// * REQUEST_TOO_LARGE
//
//
// * RESOURCE_NOT_FOUND
//
// * THROTTLED
//
// * UNAUTHORIZED
//
// *
// UNSUPPORTED_MEDIA_TYPE
//
// This member is required.
ResponseType types.GatewayResponseType
Name *string
Template *bool
// [Required] The string identifier of the associated RestApi ().
//
// This member is required.
RestApiId *string
// A list of update operations to be applied to the specified resource and in the
// order specified in this list.
PatchOperations []*types.PatchOperation
}
// A gateway response of a given response type and status code, with optional
// response parameters and mapping templates. For more information about valid
// gateway response types, see Gateway Response Types Supported by API Gateway
// (https://docs.aws.amazon.com/apigateway/latest/developerguide/supported-gateway-response-types.html)
// Example:
// Get a Gateway Response of a given response type
//
// Request
//
// This example shows how
// to get a gateway response of the MISSING_AUTHENTICATION_TOKEN type. GET
// /restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN HTTP/1.1
// Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json
// X-Amz-Date: 20170503T202516Z Authorization: AWS4-HMAC-SHA256
// Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request,
// SignedHeaders=content-type;host;x-amz-date,
// Signature=1b52460e3159c1a26cff29093855d50ea141c1c5b937528fecaf60f51129697a
// Cache-Control: no-cache Postman-Token: 3b2a1ce9-c848-2e26-2e2f-9c2caefbed45 The
// response type is specified as a URL path.
// Response
//
// The successful operation
// returns the 200 OK status code and a payload similar to the following: {
// "_links": { "curies": { "href":
// "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html",
// "name": "gatewayresponse", "templated": true }, "self": { "href":
// "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" },
// "gatewayresponse:delete": { "href":
// "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" },
// "gatewayresponse:put": { "href":
// "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated": true },
// "gatewayresponse:update": { "href":
// "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" } },
// "defaultResponse": false, "responseParameters": {
// "gatewayresponse.header.x-request-path": "method.request.path.petId",
// "gatewayresponse.header.Access-Control-Allow-Origin": "'a.b.c'",
// "gatewayresponse.header.x-request-query": "method.request.querystring.q",
// "gatewayresponse.header.x-request-header": "method.request.header.Accept" },
// "responseTemplates": { "application/json": "{\n \"message\":
// $context.error.messageString,\n \"type\": \"$context.error.responseType\",\n
// \"stage\": \"$context.stage\",\n \"resourcePath\": \"$context.resourcePath\",\n
// \"stageVariables.a\": \"$stageVariables.a\",\n \"statusCode\": \"'404'\"\n}" },
// "responseType": "MISSING_AUTHENTICATION_TOKEN", "statusCode": "404" }
// </div>
// <div class="seeAlso"> <a
// href="https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html">Customize
// Gateway Responses</a> </div>
type UpdateGatewayResponseOutput struct {
// The response type of the associated GatewayResponse (). Valid values are
//
// *
// ACCESS_DENIED
//
// * API_CONFIGURATION_ERROR
//
// * AUTHORIZER_FAILURE
//
// *
// AUTHORIZER_CONFIGURATION_ERROR
//
// * BAD_REQUEST_PARAMETERS
//
// *
// BAD_REQUEST_BODY
//
// * DEFAULT_4XX
//
// * DEFAULT_5XX
//
// * EXPIRED_TOKEN
//
//
// * INVALID_SIGNATURE
//
// * INTEGRATION_FAILURE
//
// * INTEGRATION_TIMEOUT
//
// *
// INVALID_API_KEY
//
// * MISSING_AUTHENTICATION_TOKEN
//
// * QUOTA_EXCEEDED
//
// *
// REQUEST_TOO_LARGE
//
// * RESOURCE_NOT_FOUND
//
// * THROTTLED
//
// *
// UNAUTHORIZED
//
// * UNSUPPORTED_MEDIA_TYPE
ResponseType types.GatewayResponseType
// A Boolean flag to indicate whether this GatewayResponse () is the default
// gateway response (true) or not (false). A default gateway response is one
// generated by API Gateway without any customization by an API developer.
DefaultResponse *bool
// Response parameters (paths, query strings and headers) of the GatewayResponse ()
// as a string-to-string map of key-value pairs.
ResponseParameters map[string]*string
// Response templates of the GatewayResponse () as a string-to-string map of
// key-value pairs.
ResponseTemplates map[string]*string
// The HTTP status code for this GatewayResponse ().
StatusCode *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
}
func addawsRestjson1_serdeOpUpdateGatewayResponseMiddlewares(stack *middleware.Stack) {
stack.Serialize.Add(&awsRestjson1_serializeOpUpdateGatewayResponse{}, middleware.After)
stack.Deserialize.Add(&awsRestjson1_deserializeOpUpdateGatewayResponse{}, middleware.After)
}
func newServiceMetadataMiddleware_opUpdateGatewayResponse(region string) awsmiddleware.RegisterServiceMetadata {
return awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "apigateway",
OperationName: "UpdateGatewayResponse",
}
}