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
|
|
|
|
|
|
|
|