| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
|
|
2
|
|
|
|
|
|
|
package Paws::ApiGateway::Integration; |
|
3
|
1
|
|
|
1
|
|
775
|
use Moose; |
|
|
1
|
|
|
|
|
2
|
|
|
|
1
|
|
|
|
|
7
|
|
|
4
|
|
|
|
|
|
|
has CacheKeyParameters => (is => 'ro', isa => 'ArrayRef[Str|Undef]', traits => ['NameInRequest'], request_name => 'cacheKeyParameters'); |
|
5
|
|
|
|
|
|
|
has CacheNamespace => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'cacheNamespace'); |
|
6
|
|
|
|
|
|
|
has ContentHandling => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'contentHandling'); |
|
7
|
|
|
|
|
|
|
has Credentials => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'credentials'); |
|
8
|
|
|
|
|
|
|
has HttpMethod => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'httpMethod'); |
|
9
|
|
|
|
|
|
|
has IntegrationResponses => (is => 'ro', isa => 'Paws::ApiGateway::MapOfIntegrationResponse', traits => ['NameInRequest'], request_name => 'integrationResponses'); |
|
10
|
|
|
|
|
|
|
has PassthroughBehavior => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'passthroughBehavior'); |
|
11
|
|
|
|
|
|
|
has RequestParameters => (is => 'ro', isa => 'Paws::ApiGateway::MapOfStringToString', traits => ['NameInRequest'], request_name => 'requestParameters'); |
|
12
|
|
|
|
|
|
|
has RequestTemplates => (is => 'ro', isa => 'Paws::ApiGateway::MapOfStringToString', traits => ['NameInRequest'], request_name => 'requestTemplates'); |
|
13
|
|
|
|
|
|
|
has Type => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'type'); |
|
14
|
|
|
|
|
|
|
has Uri => (is => 'ro', isa => 'Str', traits => ['NameInRequest'], request_name => 'uri'); |
|
15
|
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
has _request_id => (is => 'ro', isa => 'Str'); |
|
17
|
|
|
|
|
|
|
1; |
|
18
|
|
|
|
|
|
|
|
|
19
|
|
|
|
|
|
|
### main pod documentation begin ### |
|
20
|
|
|
|
|
|
|
|
|
21
|
|
|
|
|
|
|
=head1 NAME |
|
22
|
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
Paws::ApiGateway::Integration |
|
24
|
|
|
|
|
|
|
|
|
25
|
|
|
|
|
|
|
=head1 ATTRIBUTES |
|
26
|
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
=head2 CacheKeyParameters => ArrayRef[Str|Undef] |
|
29
|
|
|
|
|
|
|
|
|
30
|
|
|
|
|
|
|
Specifies the integration's cache key parameters. |
|
31
|
|
|
|
|
|
|
|
|
32
|
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
=head2 CacheNamespace => Str |
|
34
|
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
Specifies the integration's cache namespace. |
|
36
|
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
|
|
38
|
|
|
|
|
|
|
=head2 ContentHandling => Str |
|
39
|
|
|
|
|
|
|
|
|
40
|
|
|
|
|
|
|
Specifies how to handle request payload content type conversions. |
|
41
|
|
|
|
|
|
|
Supported values are C<CONVERT_TO_BINARY> and C<CONVERT_TO_TEXT>, with |
|
42
|
|
|
|
|
|
|
the following behaviors: |
|
43
|
|
|
|
|
|
|
|
|
44
|
|
|
|
|
|
|
=over |
|
45
|
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
=item * |
|
47
|
|
|
|
|
|
|
|
|
48
|
|
|
|
|
|
|
C<CONVERT_TO_BINARY>: Converts a request payload from a Base64-encoded |
|
49
|
|
|
|
|
|
|
string to the corresponding binary blob. |
|
50
|
|
|
|
|
|
|
|
|
51
|
|
|
|
|
|
|
=item * |
|
52
|
|
|
|
|
|
|
|
|
53
|
|
|
|
|
|
|
C<CONVERT_TO_TEXT>: Converts a request payload from a binary blob to a |
|
54
|
|
|
|
|
|
|
Base64-encoded string. |
|
55
|
|
|
|
|
|
|
|
|
56
|
|
|
|
|
|
|
=back |
|
57
|
|
|
|
|
|
|
|
|
58
|
|
|
|
|
|
|
If this property is not defined, the request payload will be passed |
|
59
|
|
|
|
|
|
|
through from the method request to integration request without |
|
60
|
|
|
|
|
|
|
modification, provided that the C<passthroughBehaviors> is configured |
|
61
|
|
|
|
|
|
|
to support payload pass-through. |
|
62
|
|
|
|
|
|
|
|
|
63
|
|
|
|
|
|
|
Valid values are: C<"CONVERT_TO_BINARY">, C<"CONVERT_TO_TEXT"> |
|
64
|
|
|
|
|
|
|
=head2 Credentials => Str |
|
65
|
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
Specifies the credentials required for the integration, if any. For AWS |
|
67
|
|
|
|
|
|
|
integrations, three options are available. To specify an IAM Role for |
|
68
|
|
|
|
|
|
|
Amazon API Gateway to assume, use the role's Amazon Resource Name |
|
69
|
|
|
|
|
|
|
(ARN). To require that the caller's identity be passed through from the |
|
70
|
|
|
|
|
|
|
request, specify the string C<arn:aws:iam::\*:user/\*>. To use |
|
71
|
|
|
|
|
|
|
resource-based permissions on supported AWS services, specify null. |
|
72
|
|
|
|
|
|
|
|
|
73
|
|
|
|
|
|
|
|
|
74
|
|
|
|
|
|
|
=head2 HttpMethod => Str |
|
75
|
|
|
|
|
|
|
|
|
76
|
|
|
|
|
|
|
Specifies the integration's HTTP method type. |
|
77
|
|
|
|
|
|
|
|
|
78
|
|
|
|
|
|
|
|
|
79
|
|
|
|
|
|
|
=head2 IntegrationResponses => L<Paws::ApiGateway::MapOfIntegrationResponse> |
|
80
|
|
|
|
|
|
|
|
|
81
|
|
|
|
|
|
|
Specifies the integration's responses. |
|
82
|
|
|
|
|
|
|
|
|
83
|
|
|
|
|
|
|
=head1 Example: Get integration responses of a method |
|
84
|
|
|
|
|
|
|
|
|
85
|
|
|
|
|
|
|
=head2 Request |
|
86
|
|
|
|
|
|
|
|
|
87
|
|
|
|
|
|
|
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} |
|
88
|
|
|
|
|
|
|
|
|
89
|
|
|
|
|
|
|
=head2 Response |
|
90
|
|
|
|
|
|
|
|
|
91
|
|
|
|
|
|
|
The successful response returns C<200 OK> status and a payload as |
|
92
|
|
|
|
|
|
|
follows: |
|
93
|
|
|
|
|
|
|
|
|
94
|
|
|
|
|
|
|
{ "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html", "name": "integrationresponse", "templated": true }, "self": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200", "title": "200" }, "integrationresponse:delete": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" }, "integrationresponse:update": { "href": "/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200" } }, "responseParameters": { "method.response.header.Content-Type": "'application/xml'" }, "responseTemplates": { "application/json": "$util.urlDecode(\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\")\n" }, "statusCode": "200" } |
|
95
|
|
|
|
|
|
|
|
|
96
|
|
|
|
|
|
|
Creating an API |
|
97
|
|
|
|
|
|
|
|
|
98
|
|
|
|
|
|
|
|
|
99
|
|
|
|
|
|
|
=head2 PassthroughBehavior => Str |
|
100
|
|
|
|
|
|
|
|
|
101
|
|
|
|
|
|
|
Specifies how the method request body of an unmapped content type will |
|
102
|
|
|
|
|
|
|
be passed through the integration request to the back end without |
|
103
|
|
|
|
|
|
|
transformation. A content type is unmapped if no mapping template is |
|
104
|
|
|
|
|
|
|
defined in the integration or the content type does not match any of |
|
105
|
|
|
|
|
|
|
the mapped content types, as specified in C<requestTemplates>. There |
|
106
|
|
|
|
|
|
|
are three valid values: C<WHEN_NO_MATCH>, C<WHEN_NO_TEMPLATES>, and |
|
107
|
|
|
|
|
|
|
C<NEVER>. |
|
108
|
|
|
|
|
|
|
|
|
109
|
|
|
|
|
|
|
=over |
|
110
|
|
|
|
|
|
|
|
|
111
|
|
|
|
|
|
|
=item * C<WHEN_NO_MATCH> passes the method request body through the |
|
112
|
|
|
|
|
|
|
integration request to the back end without transformation when the |
|
113
|
|
|
|
|
|
|
method request content type does not match any content type associated |
|
114
|
|
|
|
|
|
|
with the mapping templates defined in the integration request. |
|
115
|
|
|
|
|
|
|
|
|
116
|
|
|
|
|
|
|
=item * C<WHEN_NO_TEMPLATES> passes the method request body through the |
|
117
|
|
|
|
|
|
|
integration request to the back end without transformation when no |
|
118
|
|
|
|
|
|
|
mapping template is defined in the integration request. If a template |
|
119
|
|
|
|
|
|
|
is defined when this option is selected, the method request of an |
|
120
|
|
|
|
|
|
|
unmapped content-type will be rejected with an HTTP C<415 Unsupported |
|
121
|
|
|
|
|
|
|
Media Type> response. |
|
122
|
|
|
|
|
|
|
|
|
123
|
|
|
|
|
|
|
=item * C<NEVER> rejects the method request with an HTTP C<415 |
|
124
|
|
|
|
|
|
|
Unsupported Media Type> response when either the method request content |
|
125
|
|
|
|
|
|
|
type does not match any content type associated with the mapping |
|
126
|
|
|
|
|
|
|
templates defined in the integration request or no mapping template is |
|
127
|
|
|
|
|
|
|
defined in the integration request. |
|
128
|
|
|
|
|
|
|
|
|
129
|
|
|
|
|
|
|
=back |
|
130
|
|
|
|
|
|
|
|
|
131
|
|
|
|
|
|
|
|
|
132
|
|
|
|
|
|
|
|
|
133
|
|
|
|
|
|
|
=head2 RequestParameters => L<Paws::ApiGateway::MapOfStringToString> |
|
134
|
|
|
|
|
|
|
|
|
135
|
|
|
|
|
|
|
A key-value map specifying request parameters that are passed from the |
|
136
|
|
|
|
|
|
|
method request to the back end. The key is an integration request |
|
137
|
|
|
|
|
|
|
parameter name and the associated value is a method request parameter |
|
138
|
|
|
|
|
|
|
value or static value that must be enclosed within single quotes and |
|
139
|
|
|
|
|
|
|
pre-encoded as required by the back end. The method request parameter |
|
140
|
|
|
|
|
|
|
value must match the pattern of C<method.request.{location}.{name}>, |
|
141
|
|
|
|
|
|
|
where C<location> is C<querystring>, C<path>, or C<header> and C<name> |
|
142
|
|
|
|
|
|
|
must be a valid and unique method request parameter name. |
|
143
|
|
|
|
|
|
|
|
|
144
|
|
|
|
|
|
|
|
|
145
|
|
|
|
|
|
|
=head2 RequestTemplates => L<Paws::ApiGateway::MapOfStringToString> |
|
146
|
|
|
|
|
|
|
|
|
147
|
|
|
|
|
|
|
Represents a map of Velocity templates that are applied on the request |
|
148
|
|
|
|
|
|
|
payload based on the value of the Content-Type header sent by the |
|
149
|
|
|
|
|
|
|
client. The content type value is the key in this map, and the template |
|
150
|
|
|
|
|
|
|
(as a String) is the value. |
|
151
|
|
|
|
|
|
|
|
|
152
|
|
|
|
|
|
|
|
|
153
|
|
|
|
|
|
|
=head2 Type => Str |
|
154
|
|
|
|
|
|
|
|
|
155
|
|
|
|
|
|
|
Specifies the integration's type. The valid value is C<HTTP> for |
|
156
|
|
|
|
|
|
|
integrating with an HTTP back end, C<AWS> for any AWS service |
|
157
|
|
|
|
|
|
|
endpoints, C<MOCK> for testing without actually invoking the back end, |
|
158
|
|
|
|
|
|
|
C<HTTP_PROXY> for integrating with the HTTP proxy integration, or |
|
159
|
|
|
|
|
|
|
C<AWS_PROXY> for integrating with the Lambda proxy integration type. |
|
160
|
|
|
|
|
|
|
|
|
161
|
|
|
|
|
|
|
Valid values are: C<"HTTP">, C<"AWS">, C<"MOCK">, C<"HTTP_PROXY">, C<"AWS_PROXY"> |
|
162
|
|
|
|
|
|
|
=head2 Uri => Str |
|
163
|
|
|
|
|
|
|
|
|
164
|
|
|
|
|
|
|
Specifies the integration's Uniform Resource Identifier (URI). For HTTP |
|
165
|
|
|
|
|
|
|
integrations, the URI must be a fully formed, encoded HTTP(S) URL |
|
166
|
|
|
|
|
|
|
according to the RFC-3986 specification. For AWS integrations, the URI |
|
167
|
|
|
|
|
|
|
should be of the form |
|
168
|
|
|
|
|
|
|
C<arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}>. |
|
169
|
|
|
|
|
|
|
C<Region>, C<subdomain> and C<service> are used to determine the right |
|
170
|
|
|
|
|
|
|
endpoint. For AWS services that use the C<Action=> query string |
|
171
|
|
|
|
|
|
|
parameter, C<service_api> should be a valid action for the desired |
|
172
|
|
|
|
|
|
|
service. For RESTful AWS service APIs, C<path> is used to indicate that |
|
173
|
|
|
|
|
|
|
the remaining substring in the URI should be treated as the path to the |
|
174
|
|
|
|
|
|
|
resource, including the initial C</>. |
|
175
|
|
|
|
|
|
|
|
|
176
|
|
|
|
|
|
|
|
|
177
|
|
|
|
|
|
|
=head2 _request_id => Str |
|
178
|
|
|
|
|
|
|
|
|
179
|
|
|
|
|
|
|
|
|
180
|
|
|
|
|
|
|
=cut |
|
181
|
|
|
|
|
|
|
|