UNPKG

193 kBTypeScriptView Raw
1import * as cdk from '@aws-cdk/core';
2import * as cfn_parse from '@aws-cdk/core/lib/helpers-internal';
3/**
4 * Properties for defining a `CfnAccount`
5 *
6 * @struct
7 * @stability external
8 *
9 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html
10 */
11export interface CfnAccountProps {
12 /**
13 * The Amazon Resource Name (ARN) of an IAM role that has write access to CloudWatch Logs in your account.
14 *
15 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html#cfn-apigateway-account-cloudwatchrolearn
16 */
17 readonly cloudWatchRoleArn?: string;
18}
19/**
20 * A CloudFormation `AWS::ApiGateway::Account`
21 *
22 * The `AWS::ApiGateway::Account` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs.
23 *
24 * > If an API Gateway resource has never been created in your AWS account , you must add a dependency on another API Gateway resource, such as an [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) or [AWS::ApiGateway::ApiKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html) resource.
25 * >
26 * > If an API Gateway resource has been created in your AWS account , no dependency is required (even if the resource was deleted).
27 *
28 * @cloudformationResource AWS::ApiGateway::Account
29 * @stability external
30 *
31 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html
32 */
33export declare class CfnAccount extends cdk.CfnResource implements cdk.IInspectable {
34 /**
35 * The CloudFormation resource type name for this resource class.
36 */
37 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::Account";
38 /**
39 * A factory method that creates a new instance of this class from an object
40 * containing the CloudFormation properties of this resource.
41 * Used in the @aws-cdk/cloudformation-include module.
42 *
43 * @internal
44 */
45 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAccount;
46 /**
47 * The ID for the account. For example: `abc123` .
48 * @cloudformationAttribute Id
49 */
50 readonly attrId: string;
51 /**
52 * The Amazon Resource Name (ARN) of an IAM role that has write access to CloudWatch Logs in your account.
53 *
54 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html#cfn-apigateway-account-cloudwatchrolearn
55 */
56 cloudWatchRoleArn: string | undefined;
57 /**
58 * Create a new `AWS::ApiGateway::Account`.
59 *
60 * @param scope - scope in which this resource is defined
61 * @param id - scoped id of the resource
62 * @param props - resource properties
63 */
64 constructor(scope: cdk.Construct, id: string, props?: CfnAccountProps);
65 /**
66 * Examines the CloudFormation resource and discloses attributes.
67 *
68 * @param inspector - tree inspector to collect and process attributes
69 *
70 */
71 inspect(inspector: cdk.TreeInspector): void;
72 protected get cfnProperties(): {
73 [key: string]: any;
74 };
75 protected renderProperties(props: {
76 [key: string]: any;
77 }): {
78 [key: string]: any;
79 };
80}
81/**
82 * Properties for defining a `CfnApiKey`
83 *
84 * @struct
85 * @stability external
86 *
87 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html
88 */
89export interface CfnApiKeyProps {
90 /**
91 * An AWS Marketplace customer identifier to use when integrating with the AWS SaaS Marketplace.
92 *
93 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-customerid
94 */
95 readonly customerId?: string;
96 /**
97 * A description of the purpose of the API key.
98 *
99 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-description
100 */
101 readonly description?: string;
102 /**
103 * Indicates whether the API key can be used by clients.
104 *
105 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-enabled
106 */
107 readonly enabled?: boolean | cdk.IResolvable;
108 /**
109 * Specifies whether the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.
110 *
111 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-generatedistinctid
112 */
113 readonly generateDistinctId?: boolean | cdk.IResolvable;
114 /**
115 * A name for the API key. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the API key name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .
116 *
117 * > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
118 *
119 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-name
120 */
121 readonly name?: string;
122 /**
123 * A list of stages to associate with this API key.
124 *
125 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-stagekeys
126 */
127 readonly stageKeys?: Array<CfnApiKey.StageKeyProperty | cdk.IResolvable> | cdk.IResolvable;
128 /**
129 * An array of arbitrary tags (key-value pairs) to associate with the API key.
130 *
131 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-tags
132 */
133 readonly tags?: cdk.CfnTag[];
134 /**
135 * The value of the API key. Must be at least 20 characters long.
136 *
137 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-value
138 */
139 readonly value?: string;
140}
141/**
142 * A CloudFormation `AWS::ApiGateway::ApiKey`
143 *
144 * The `AWS::ApiGateway::ApiKey` resource creates a unique key that you can distribute to clients who are executing API Gateway `Method` resources that require an API key. To specify which API key clients must use, map the API key with the `RestApi` and `Stage` resources that include the methods that require a key.
145 *
146 * @cloudformationResource AWS::ApiGateway::ApiKey
147 * @stability external
148 *
149 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html
150 */
151export declare class CfnApiKey extends cdk.CfnResource implements cdk.IInspectable {
152 /**
153 * The CloudFormation resource type name for this resource class.
154 */
155 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::ApiKey";
156 /**
157 * A factory method that creates a new instance of this class from an object
158 * containing the CloudFormation properties of this resource.
159 * Used in the @aws-cdk/cloudformation-include module.
160 *
161 * @internal
162 */
163 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnApiKey;
164 /**
165 * The ID for the API key. For example: `abc123` .
166 * @cloudformationAttribute APIKeyId
167 */
168 readonly attrApiKeyId: string;
169 /**
170 * An AWS Marketplace customer identifier to use when integrating with the AWS SaaS Marketplace.
171 *
172 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-customerid
173 */
174 customerId: string | undefined;
175 /**
176 * A description of the purpose of the API key.
177 *
178 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-description
179 */
180 description: string | undefined;
181 /**
182 * Indicates whether the API key can be used by clients.
183 *
184 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-enabled
185 */
186 enabled: boolean | cdk.IResolvable | undefined;
187 /**
188 * Specifies whether the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.
189 *
190 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-generatedistinctid
191 */
192 generateDistinctId: boolean | cdk.IResolvable | undefined;
193 /**
194 * A name for the API key. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the API key name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .
195 *
196 * > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
197 *
198 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-name
199 */
200 name: string | undefined;
201 /**
202 * A list of stages to associate with this API key.
203 *
204 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-stagekeys
205 */
206 stageKeys: Array<CfnApiKey.StageKeyProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
207 /**
208 * An array of arbitrary tags (key-value pairs) to associate with the API key.
209 *
210 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-tags
211 */
212 readonly tags: cdk.TagManager;
213 /**
214 * The value of the API key. Must be at least 20 characters long.
215 *
216 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-value
217 */
218 value: string | undefined;
219 /**
220 * Create a new `AWS::ApiGateway::ApiKey`.
221 *
222 * @param scope - scope in which this resource is defined
223 * @param id - scoped id of the resource
224 * @param props - resource properties
225 */
226 constructor(scope: cdk.Construct, id: string, props?: CfnApiKeyProps);
227 /**
228 * Examines the CloudFormation resource and discloses attributes.
229 *
230 * @param inspector - tree inspector to collect and process attributes
231 *
232 */
233 inspect(inspector: cdk.TreeInspector): void;
234 protected get cfnProperties(): {
235 [key: string]: any;
236 };
237 protected renderProperties(props: {
238 [key: string]: any;
239 }): {
240 [key: string]: any;
241 };
242}
243export declare namespace CfnApiKey {
244 /**
245 * `StageKey` is a property of the [AWS::ApiGateway::ApiKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html) resource that specifies the stage to associate with the API key. This association allows only clients with the key to make requests to methods in that stage.
246 *
247 * @struct
248 * @stability external
249 *
250 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html
251 */
252 interface StageKeyProperty {
253 /**
254 * The ID of a `RestApi` resource that includes the stage with which you want to associate the API key.
255 *
256 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html#cfn-apigateway-apikey-stagekey-restapiid
257 */
258 readonly restApiId?: string;
259 /**
260 * The name of the stage with which to associate the API key. The stage must be included in the `RestApi` resource that you specified in the `RestApiId` property.
261 *
262 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html#cfn-apigateway-apikey-stagekey-stagename
263 */
264 readonly stageName?: string;
265 }
266}
267/**
268 * Properties for defining a `CfnAuthorizer`
269 *
270 * @struct
271 * @stability external
272 *
273 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html
274 */
275export interface CfnAuthorizerProps {
276 /**
277 * The name of the authorizer.
278 *
279 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-name
280 */
281 readonly name: string;
282 /**
283 * The ID of the `RestApi` resource that API Gateway creates the authorizer in.
284 *
285 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-restapiid
286 */
287 readonly restApiId: string;
288 /**
289 * The type of authorizer. Valid values include:
290 *
291 * - `TOKEN` : A custom authorizer that uses a Lambda function.
292 * - `COGNITO_USER_POOLS` : An authorizer that uses Amazon Cognito user pools.
293 * - `REQUEST` : An authorizer that uses a Lambda function using incoming request parameters.
294 *
295 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-type
296 */
297 readonly type: string;
298 /**
299 * The credentials that are required for the authorizer. To specify an IAM role that API Gateway assumes, specify the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.
300 *
301 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizercredentials
302 */
303 readonly authorizerCredentials?: string;
304 /**
305 * The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches authorizer results. If you specify a value greater than 0, API Gateway caches the authorizer responses. By default, API Gateway sets this property to 300. The maximum value is 3600, or 1 hour.
306 *
307 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizerresultttlinseconds
308 */
309 readonly authorizerResultTtlInSeconds?: number;
310 /**
311 * The authorizer's Uniform Resource Identifier (URI). If you specify `TOKEN` for the authorizer's `Type` property, specify a Lambda function URI that has the form `arn:aws:apigateway: *region* :lambda:path/ *path*` . The path usually has the form /2015-03-31/functions/ *LambdaFunctionARN* /invocations.
312 *
313 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizeruri
314 */
315 readonly authorizerUri?: string;
316 /**
317 * An optional customer-defined field that's used in OpenApi imports and exports without functional impact.
318 *
319 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authtype
320 */
321 readonly authType?: string;
322 /**
323 * The source of the identity in an incoming request.
324 *
325 * If you specify `TOKEN` or `COGNITO_USER_POOLS` for the `Type` property, this property is required. Specify a header mapping expression using the form `method.request.header. *name*` , where *name* is the name of a custom authorization header that clients submit as part of their requests.
326 *
327 * If you specify `REQUEST` for the `Type` property, this property is required when authorization caching is enabled. Specify a comma-separated string of one or more mapping expressions of the specified request parameter using the form `method.request.parameter. *name*` . For supported parameter types, see [Configure Lambda Authorizer Using the API Gateway Console](https://docs.aws.amazon.com/apigateway/latest/developerguide/configure-api-gateway-lambda-authorization-with-console.html) in the *API Gateway Developer Guide* .
328 *
329 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-identitysource
330 */
331 readonly identitySource?: string;
332 /**
333 * A validation expression for the incoming identity. If you specify `TOKEN` for the authorizer's `Type` property, specify a regular expression. API Gateway uses the expression to attempt to match the incoming client token, and proceeds if the token matches. If the token doesn't match, API Gateway responds with a 401 (unauthorized request) error code.
334 *
335 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-identityvalidationexpression
336 */
337 readonly identityValidationExpression?: string;
338 /**
339 * A list of the Amazon Cognito user pool Amazon Resource Names (ARNs) to associate with this authorizer. Required if you specify `COGNITO_USER_POOLS` as the authorizer `Type` . For more information, see [Use Amazon Cognito User Pools](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html#apigateway-enable-cognito-user-pool) in the *API Gateway Developer Guide* .
340 *
341 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-providerarns
342 */
343 readonly providerArns?: string[];
344}
345/**
346 * A CloudFormation `AWS::ApiGateway::Authorizer`
347 *
348 * The `AWS::ApiGateway::Authorizer` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods.
349 *
350 * @cloudformationResource AWS::ApiGateway::Authorizer
351 * @stability external
352 *
353 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html
354 */
355export declare class CfnAuthorizer extends cdk.CfnResource implements cdk.IInspectable {
356 /**
357 * The CloudFormation resource type name for this resource class.
358 */
359 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::Authorizer";
360 /**
361 * A factory method that creates a new instance of this class from an object
362 * containing the CloudFormation properties of this resource.
363 * Used in the @aws-cdk/cloudformation-include module.
364 *
365 * @internal
366 */
367 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAuthorizer;
368 /**
369 * The ID for the authorizer. For example: `abc123` .
370 * @cloudformationAttribute AuthorizerId
371 */
372 readonly attrAuthorizerId: string;
373 /**
374 * The name of the authorizer.
375 *
376 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-name
377 */
378 name: string;
379 /**
380 * The ID of the `RestApi` resource that API Gateway creates the authorizer in.
381 *
382 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-restapiid
383 */
384 restApiId: string;
385 /**
386 * The type of authorizer. Valid values include:
387 *
388 * - `TOKEN` : A custom authorizer that uses a Lambda function.
389 * - `COGNITO_USER_POOLS` : An authorizer that uses Amazon Cognito user pools.
390 * - `REQUEST` : An authorizer that uses a Lambda function using incoming request parameters.
391 *
392 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-type
393 */
394 type: string;
395 /**
396 * The credentials that are required for the authorizer. To specify an IAM role that API Gateway assumes, specify the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.
397 *
398 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizercredentials
399 */
400 authorizerCredentials: string | undefined;
401 /**
402 * The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches authorizer results. If you specify a value greater than 0, API Gateway caches the authorizer responses. By default, API Gateway sets this property to 300. The maximum value is 3600, or 1 hour.
403 *
404 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizerresultttlinseconds
405 */
406 authorizerResultTtlInSeconds: number | undefined;
407 /**
408 * The authorizer's Uniform Resource Identifier (URI). If you specify `TOKEN` for the authorizer's `Type` property, specify a Lambda function URI that has the form `arn:aws:apigateway: *region* :lambda:path/ *path*` . The path usually has the form /2015-03-31/functions/ *LambdaFunctionARN* /invocations.
409 *
410 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizeruri
411 */
412 authorizerUri: string | undefined;
413 /**
414 * An optional customer-defined field that's used in OpenApi imports and exports without functional impact.
415 *
416 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authtype
417 */
418 authType: string | undefined;
419 /**
420 * The source of the identity in an incoming request.
421 *
422 * If you specify `TOKEN` or `COGNITO_USER_POOLS` for the `Type` property, this property is required. Specify a header mapping expression using the form `method.request.header. *name*` , where *name* is the name of a custom authorization header that clients submit as part of their requests.
423 *
424 * If you specify `REQUEST` for the `Type` property, this property is required when authorization caching is enabled. Specify a comma-separated string of one or more mapping expressions of the specified request parameter using the form `method.request.parameter. *name*` . For supported parameter types, see [Configure Lambda Authorizer Using the API Gateway Console](https://docs.aws.amazon.com/apigateway/latest/developerguide/configure-api-gateway-lambda-authorization-with-console.html) in the *API Gateway Developer Guide* .
425 *
426 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-identitysource
427 */
428 identitySource: string | undefined;
429 /**
430 * A validation expression for the incoming identity. If you specify `TOKEN` for the authorizer's `Type` property, specify a regular expression. API Gateway uses the expression to attempt to match the incoming client token, and proceeds if the token matches. If the token doesn't match, API Gateway responds with a 401 (unauthorized request) error code.
431 *
432 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-identityvalidationexpression
433 */
434 identityValidationExpression: string | undefined;
435 /**
436 * A list of the Amazon Cognito user pool Amazon Resource Names (ARNs) to associate with this authorizer. Required if you specify `COGNITO_USER_POOLS` as the authorizer `Type` . For more information, see [Use Amazon Cognito User Pools](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html#apigateway-enable-cognito-user-pool) in the *API Gateway Developer Guide* .
437 *
438 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-providerarns
439 */
440 providerArns: string[] | undefined;
441 /**
442 * Create a new `AWS::ApiGateway::Authorizer`.
443 *
444 * @param scope - scope in which this resource is defined
445 * @param id - scoped id of the resource
446 * @param props - resource properties
447 */
448 constructor(scope: cdk.Construct, id: string, props: CfnAuthorizerProps);
449 /**
450 * Examines the CloudFormation resource and discloses attributes.
451 *
452 * @param inspector - tree inspector to collect and process attributes
453 *
454 */
455 inspect(inspector: cdk.TreeInspector): void;
456 protected get cfnProperties(): {
457 [key: string]: any;
458 };
459 protected renderProperties(props: {
460 [key: string]: any;
461 }): {
462 [key: string]: any;
463 };
464}
465/**
466 * Properties for defining a `CfnBasePathMapping`
467 *
468 * @struct
469 * @stability external
470 *
471 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html
472 */
473export interface CfnBasePathMappingProps {
474 /**
475 * The `DomainName` of an [AWS::ApiGateway::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html) resource.
476 *
477 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-domainname
478 */
479 readonly domainName: string;
480 /**
481 * The base path name that callers of the API must provide in the URL after the domain name.
482 *
483 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-basepath
484 */
485 readonly basePath?: string;
486 /**
487 * `AWS::ApiGateway::BasePathMapping.Id`
488 *
489 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-id
490 */
491 readonly id?: string;
492 /**
493 * The ID of the API.
494 *
495 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-restapiid
496 */
497 readonly restApiId?: string;
498 /**
499 * The name of the API's stage.
500 *
501 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-stage
502 */
503 readonly stage?: string;
504}
505/**
506 * A CloudFormation `AWS::ApiGateway::BasePathMapping`
507 *
508 * The `AWS::ApiGateway::BasePathMapping` resource creates a base path that clients who call your API must use in the invocation URL.
509 *
510 * @cloudformationResource AWS::ApiGateway::BasePathMapping
511 * @stability external
512 *
513 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html
514 */
515export declare class CfnBasePathMapping extends cdk.CfnResource implements cdk.IInspectable {
516 /**
517 * The CloudFormation resource type name for this resource class.
518 */
519 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::BasePathMapping";
520 /**
521 * A factory method that creates a new instance of this class from an object
522 * containing the CloudFormation properties of this resource.
523 * Used in the @aws-cdk/cloudformation-include module.
524 *
525 * @internal
526 */
527 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnBasePathMapping;
528 /**
529 * The `DomainName` of an [AWS::ApiGateway::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html) resource.
530 *
531 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-domainname
532 */
533 domainName: string;
534 /**
535 * The base path name that callers of the API must provide in the URL after the domain name.
536 *
537 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-basepath
538 */
539 basePath: string | undefined;
540 /**
541 * `AWS::ApiGateway::BasePathMapping.Id`
542 *
543 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-id
544 */
545 id: string | undefined;
546 /**
547 * The ID of the API.
548 *
549 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-restapiid
550 */
551 restApiId: string | undefined;
552 /**
553 * The name of the API's stage.
554 *
555 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-stage
556 */
557 stage: string | undefined;
558 /**
559 * Create a new `AWS::ApiGateway::BasePathMapping`.
560 *
561 * @param scope - scope in which this resource is defined
562 * @param id - scoped id of the resource
563 * @param props - resource properties
564 */
565 constructor(scope: cdk.Construct, id: string, props: CfnBasePathMappingProps);
566 /**
567 * Examines the CloudFormation resource and discloses attributes.
568 *
569 * @param inspector - tree inspector to collect and process attributes
570 *
571 */
572 inspect(inspector: cdk.TreeInspector): void;
573 protected get cfnProperties(): {
574 [key: string]: any;
575 };
576 protected renderProperties(props: {
577 [key: string]: any;
578 }): {
579 [key: string]: any;
580 };
581}
582/**
583 * Properties for defining a `CfnClientCertificate`
584 *
585 * @struct
586 * @stability external
587 *
588 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html
589 */
590export interface CfnClientCertificateProps {
591 /**
592 * A description of the client certificate.
593 *
594 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-description
595 */
596 readonly description?: string;
597 /**
598 * An array of arbitrary tags (key-value pairs) to associate with the client certificate.
599 *
600 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-tags
601 */
602 readonly tags?: cdk.CfnTag[];
603}
604/**
605 * A CloudFormation `AWS::ApiGateway::ClientCertificate`
606 *
607 * The `AWS::ApiGateway::ClientCertificate` resource creates a client certificate that API Gateway uses to configure client-side SSL authentication for sending requests to the integration endpoint.
608 *
609 * @cloudformationResource AWS::ApiGateway::ClientCertificate
610 * @stability external
611 *
612 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html
613 */
614export declare class CfnClientCertificate extends cdk.CfnResource implements cdk.IInspectable {
615 /**
616 * The CloudFormation resource type name for this resource class.
617 */
618 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::ClientCertificate";
619 /**
620 * A factory method that creates a new instance of this class from an object
621 * containing the CloudFormation properties of this resource.
622 * Used in the @aws-cdk/cloudformation-include module.
623 *
624 * @internal
625 */
626 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnClientCertificate;
627 /**
628 * The ID for the client certificate. For example: `abc123` .
629 * @cloudformationAttribute ClientCertificateId
630 */
631 readonly attrClientCertificateId: string;
632 /**
633 * A description of the client certificate.
634 *
635 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-description
636 */
637 description: string | undefined;
638 /**
639 * An array of arbitrary tags (key-value pairs) to associate with the client certificate.
640 *
641 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-tags
642 */
643 readonly tags: cdk.TagManager;
644 /**
645 * Create a new `AWS::ApiGateway::ClientCertificate`.
646 *
647 * @param scope - scope in which this resource is defined
648 * @param id - scoped id of the resource
649 * @param props - resource properties
650 */
651 constructor(scope: cdk.Construct, id: string, props?: CfnClientCertificateProps);
652 /**
653 * Examines the CloudFormation resource and discloses attributes.
654 *
655 * @param inspector - tree inspector to collect and process attributes
656 *
657 */
658 inspect(inspector: cdk.TreeInspector): void;
659 protected get cfnProperties(): {
660 [key: string]: any;
661 };
662 protected renderProperties(props: {
663 [key: string]: any;
664 }): {
665 [key: string]: any;
666 };
667}
668/**
669 * Properties for defining a `CfnDeployment`
670 *
671 * @struct
672 * @stability external
673 *
674 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html
675 */
676export interface CfnDeploymentProps {
677 /**
678 * The ID of the `RestApi` resource to deploy.
679 *
680 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-restapiid
681 */
682 readonly restApiId: string;
683 /**
684 * Specifies settings for the canary deployment.
685 *
686 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-deploymentcanarysettings
687 */
688 readonly deploymentCanarySettings?: CfnDeployment.DeploymentCanarySettingsProperty | cdk.IResolvable;
689 /**
690 * A description of the purpose of the API Gateway deployment.
691 *
692 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-description
693 */
694 readonly description?: string;
695 /**
696 * Configures the stage that API Gateway creates with this deployment.
697 *
698 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-stagedescription
699 */
700 readonly stageDescription?: CfnDeployment.StageDescriptionProperty | cdk.IResolvable;
701 /**
702 * A name for the stage that API Gateway creates with this deployment. Use only alphanumeric characters.
703 *
704 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-stagename
705 */
706 readonly stageName?: string;
707}
708/**
709 * A CloudFormation `AWS::ApiGateway::Deployment`
710 *
711 * The `AWS::ApiGateway::Deployment` resource deploys an API Gateway `RestApi` resource to a stage so that clients can call the API over the internet. The stage acts as an environment.
712 *
713 * @cloudformationResource AWS::ApiGateway::Deployment
714 * @stability external
715 *
716 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html
717 */
718export declare class CfnDeployment extends cdk.CfnResource implements cdk.IInspectable {
719 /**
720 * The CloudFormation resource type name for this resource class.
721 */
722 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::Deployment";
723 /**
724 * A factory method that creates a new instance of this class from an object
725 * containing the CloudFormation properties of this resource.
726 * Used in the @aws-cdk/cloudformation-include module.
727 *
728 * @internal
729 */
730 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDeployment;
731 /**
732 * The ID for the deployment. For example: `abc123` .
733 * @cloudformationAttribute DeploymentId
734 */
735 readonly attrDeploymentId: string;
736 /**
737 * The ID of the `RestApi` resource to deploy.
738 *
739 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-restapiid
740 */
741 restApiId: string;
742 /**
743 * Specifies settings for the canary deployment.
744 *
745 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-deploymentcanarysettings
746 */
747 deploymentCanarySettings: CfnDeployment.DeploymentCanarySettingsProperty | cdk.IResolvable | undefined;
748 /**
749 * A description of the purpose of the API Gateway deployment.
750 *
751 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-description
752 */
753 description: string | undefined;
754 /**
755 * Configures the stage that API Gateway creates with this deployment.
756 *
757 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-stagedescription
758 */
759 stageDescription: CfnDeployment.StageDescriptionProperty | cdk.IResolvable | undefined;
760 /**
761 * A name for the stage that API Gateway creates with this deployment. Use only alphanumeric characters.
762 *
763 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-stagename
764 */
765 stageName: string | undefined;
766 /**
767 * Create a new `AWS::ApiGateway::Deployment`.
768 *
769 * @param scope - scope in which this resource is defined
770 * @param id - scoped id of the resource
771 * @param props - resource properties
772 */
773 constructor(scope: cdk.Construct, id: string, props: CfnDeploymentProps);
774 /**
775 * Examines the CloudFormation resource and discloses attributes.
776 *
777 * @param inspector - tree inspector to collect and process attributes
778 *
779 */
780 inspect(inspector: cdk.TreeInspector): void;
781 protected get cfnProperties(): {
782 [key: string]: any;
783 };
784 protected renderProperties(props: {
785 [key: string]: any;
786 }): {
787 [key: string]: any;
788 };
789}
790export declare namespace CfnDeployment {
791 /**
792 * The `AccessLogSetting` property type specifies settings for logging access in this stage.
793 *
794 * `AccessLogSetting` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.
795 *
796 * @struct
797 * @stability external
798 *
799 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html
800 */
801 interface AccessLogSettingProperty {
802 /**
803 * The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-` .
804 *
805 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html#cfn-apigateway-deployment-accesslogsetting-destinationarn
806 */
807 readonly destinationArn?: string;
808 /**
809 * A single line format of the access logs of data, as specified by selected [$context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference) . The format must include at least `$context.requestId` .
810 *
811 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html#cfn-apigateway-deployment-accesslogsetting-format
812 */
813 readonly format?: string;
814 }
815}
816export declare namespace CfnDeployment {
817 /**
818 * The `CanarySetting` property type specifies settings for the canary deployment in this stage.
819 *
820 * `CanarySetting` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.
821 *
822 * @struct
823 * @stability external
824 *
825 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html
826 */
827 interface CanarySettingProperty {
828 /**
829 * The percent (0-100) of traffic diverted to a canary deployment.
830 *
831 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-percenttraffic
832 */
833 readonly percentTraffic?: number;
834 /**
835 * Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.
836 *
837 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-stagevariableoverrides
838 */
839 readonly stageVariableOverrides?: {
840 [key: string]: (string);
841 } | cdk.IResolvable;
842 /**
843 * Whether the canary deployment uses the stage cache or not.
844 *
845 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-usestagecache
846 */
847 readonly useStageCache?: boolean | cdk.IResolvable;
848 }
849}
850export declare namespace CfnDeployment {
851 /**
852 * The `DeploymentCanarySettings` property type specifies settings for the canary deployment.
853 *
854 * @struct
855 * @stability external
856 *
857 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html
858 */
859 interface DeploymentCanarySettingsProperty {
860 /**
861 * The percentage (0-100) of traffic diverted to a canary deployment.
862 *
863 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-percenttraffic
864 */
865 readonly percentTraffic?: number;
866 /**
867 * Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.
868 *
869 * Duplicates are not allowed.
870 *
871 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-stagevariableoverrides
872 */
873 readonly stageVariableOverrides?: {
874 [key: string]: (string);
875 } | cdk.IResolvable;
876 /**
877 * Whether the canary deployment uses the stage cache.
878 *
879 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-usestagecache
880 */
881 readonly useStageCache?: boolean | cdk.IResolvable;
882 }
883}
884export declare namespace CfnDeployment {
885 /**
886 * The `MethodSetting` property type configures settings for all methods in a stage.
887 *
888 * The `MethodSettings` property of the [Amazon API Gateway Deployment StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type contains a list of `MethodSetting` property types.
889 *
890 * @struct
891 * @stability external
892 *
893 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html
894 */
895 interface MethodSettingProperty {
896 /**
897 * Indicates whether the cached responses are encrypted.
898 *
899 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachedataencrypted
900 */
901 readonly cacheDataEncrypted?: boolean | cdk.IResolvable;
902 /**
903 * The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.
904 *
905 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachettlinseconds
906 */
907 readonly cacheTtlInSeconds?: number;
908 /**
909 * Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide* .
910 *
911 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachingenabled
912 */
913 readonly cachingEnabled?: boolean | cdk.IResolvable;
914 /**
915 * Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs.
916 *
917 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-datatraceenabled
918 */
919 readonly dataTraceEnabled?: boolean | cdk.IResolvable;
920 /**
921 * The HTTP method.
922 *
923 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-httpmethod
924 */
925 readonly httpMethod?: string;
926 /**
927 * The logging level for this method. For valid values, see the `loggingLevel` property of the [Stage](https://docs.aws.amazon.com/apigateway/api-reference/resource/stage/#loggingLevel) resource in the *Amazon API Gateway API Reference* .
928 *
929 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-logginglevel
930 */
931 readonly loggingLevel?: string;
932 /**
933 * Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.
934 *
935 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-metricsenabled
936 */
937 readonly metricsEnabled?: boolean | cdk.IResolvable;
938 /**
939 * The resource path for this method. Forward slashes ( `/` ) are encoded as `~1` and the initial slash must include a forward slash. For example, the path value `/resource/subresource` must be encoded as `/~1resource~1subresource` . To specify the root path, use only a slash ( `/` ).
940 *
941 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-resourcepath
942 */
943 readonly resourcePath?: string;
944 /**
945 * The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account . For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .
946 *
947 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-throttlingburstlimit
948 */
949 readonly throttlingBurstLimit?: number;
950 /**
951 * The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account . For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .
952 *
953 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-throttlingratelimit
954 */
955 readonly throttlingRateLimit?: number;
956 }
957}
958export declare namespace CfnDeployment {
959 /**
960 * `StageDescription` is a property of the [AWS::ApiGateway::Deployment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html) resource that configures a deployment stage.
961 *
962 * @struct
963 * @stability external
964 *
965 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html
966 */
967 interface StageDescriptionProperty {
968 /**
969 * Specifies settings for logging access in this stage.
970 *
971 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-accesslogsetting
972 */
973 readonly accessLogSetting?: CfnDeployment.AccessLogSettingProperty | cdk.IResolvable;
974 /**
975 * Indicates whether cache clustering is enabled for the stage.
976 *
977 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclusterenabled
978 */
979 readonly cacheClusterEnabled?: boolean | cdk.IResolvable;
980 /**
981 * The size of the stage's cache cluster.
982 *
983 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclustersize
984 */
985 readonly cacheClusterSize?: string;
986 /**
987 * Indicates whether the cached responses are encrypted.
988 *
989 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachedataencrypted
990 */
991 readonly cacheDataEncrypted?: boolean | cdk.IResolvable;
992 /**
993 * The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.
994 *
995 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachettlinseconds
996 */
997 readonly cacheTtlInSeconds?: number;
998 /**
999 * Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide* .
1000 *
1001 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachingenabled
1002 */
1003 readonly cachingEnabled?: boolean | cdk.IResolvable;
1004 /**
1005 * Specifies settings for the canary deployment in this stage.
1006 *
1007 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-canarysetting
1008 */
1009 readonly canarySetting?: CfnDeployment.CanarySettingProperty | cdk.IResolvable;
1010 /**
1011 * The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage.
1012 *
1013 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-clientcertificateid
1014 */
1015 readonly clientCertificateId?: string;
1016 /**
1017 * Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs.
1018 *
1019 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-datatraceenabled
1020 */
1021 readonly dataTraceEnabled?: boolean | cdk.IResolvable;
1022 /**
1023 * A description of the purpose of the stage.
1024 *
1025 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-description
1026 */
1027 readonly description?: string;
1028 /**
1029 * The version identifier of the API documentation snapshot.
1030 *
1031 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-documentationversion
1032 */
1033 readonly documentationVersion?: string;
1034 /**
1035 * The logging level for this method. For valid values, see the `loggingLevel` property of the [Stage](https://docs.aws.amazon.com/apigateway/api-reference/resource/stage/#loggingLevel) resource in the *Amazon API Gateway API Reference* .
1036 *
1037 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-logginglevel
1038 */
1039 readonly loggingLevel?: string;
1040 /**
1041 * Configures settings for all of the stage's methods.
1042 *
1043 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-methodsettings
1044 */
1045 readonly methodSettings?: Array<CfnDeployment.MethodSettingProperty | cdk.IResolvable> | cdk.IResolvable;
1046 /**
1047 * Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.
1048 *
1049 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-metricsenabled
1050 */
1051 readonly metricsEnabled?: boolean | cdk.IResolvable;
1052 /**
1053 * An array of arbitrary tags (key-value pairs) to associate with the stage.
1054 *
1055 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-tags
1056 */
1057 readonly tags?: cdk.CfnTag[];
1058 /**
1059 * The target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .
1060 *
1061 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-throttlingburstlimit
1062 */
1063 readonly throttlingBurstLimit?: number;
1064 /**
1065 * The target request steady-state rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .
1066 *
1067 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-throttlingratelimit
1068 */
1069 readonly throttlingRateLimit?: number;
1070 /**
1071 * Specifies whether active tracing with X-ray is enabled for this stage.
1072 *
1073 * For more information, see [Trace API Gateway API Execution with AWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide* .
1074 *
1075 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-tracingenabled
1076 */
1077 readonly tracingEnabled?: boolean | cdk.IResolvable;
1078 /**
1079 * A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` .
1080 *
1081 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-variables
1082 */
1083 readonly variables?: {
1084 [key: string]: (string);
1085 } | cdk.IResolvable;
1086 }
1087}
1088/**
1089 * Properties for defining a `CfnDocumentationPart`
1090 *
1091 * @struct
1092 * @stability external
1093 *
1094 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html
1095 */
1096export interface CfnDocumentationPartProps {
1097 /**
1098 * The location of the API entity that the documentation applies to.
1099 *
1100 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html#cfn-apigateway-documentationpart-location
1101 */
1102 readonly location: CfnDocumentationPart.LocationProperty | cdk.IResolvable;
1103 /**
1104 * The documentation content map of the targeted API entity.
1105 *
1106 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html#cfn-apigateway-documentationpart-properties
1107 */
1108 readonly properties: string;
1109 /**
1110 * The identifier of the targeted API entity.
1111 *
1112 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html#cfn-apigateway-documentationpart-restapiid
1113 */
1114 readonly restApiId: string;
1115}
1116/**
1117 * A CloudFormation `AWS::ApiGateway::DocumentationPart`
1118 *
1119 * The `AWS::ApiGateway::DocumentationPart` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide* .
1120 *
1121 * @cloudformationResource AWS::ApiGateway::DocumentationPart
1122 * @stability external
1123 *
1124 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html
1125 */
1126export declare class CfnDocumentationPart extends cdk.CfnResource implements cdk.IInspectable {
1127 /**
1128 * The CloudFormation resource type name for this resource class.
1129 */
1130 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::DocumentationPart";
1131 /**
1132 * A factory method that creates a new instance of this class from an object
1133 * containing the CloudFormation properties of this resource.
1134 * Used in the @aws-cdk/cloudformation-include module.
1135 *
1136 * @internal
1137 */
1138 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDocumentationPart;
1139 /**
1140 *
1141 * @cloudformationAttribute DocumentationPartId
1142 */
1143 readonly attrDocumentationPartId: string;
1144 /**
1145 * The location of the API entity that the documentation applies to.
1146 *
1147 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html#cfn-apigateway-documentationpart-location
1148 */
1149 location: CfnDocumentationPart.LocationProperty | cdk.IResolvable;
1150 /**
1151 * The documentation content map of the targeted API entity.
1152 *
1153 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html#cfn-apigateway-documentationpart-properties
1154 */
1155 properties: string;
1156 /**
1157 * The identifier of the targeted API entity.
1158 *
1159 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html#cfn-apigateway-documentationpart-restapiid
1160 */
1161 restApiId: string;
1162 /**
1163 * Create a new `AWS::ApiGateway::DocumentationPart`.
1164 *
1165 * @param scope - scope in which this resource is defined
1166 * @param id - scoped id of the resource
1167 * @param props - resource properties
1168 */
1169 constructor(scope: cdk.Construct, id: string, props: CfnDocumentationPartProps);
1170 /**
1171 * Examines the CloudFormation resource and discloses attributes.
1172 *
1173 * @param inspector - tree inspector to collect and process attributes
1174 *
1175 */
1176 inspect(inspector: cdk.TreeInspector): void;
1177 protected get cfnProperties(): {
1178 [key: string]: any;
1179 };
1180 protected renderProperties(props: {
1181 [key: string]: any;
1182 }): {
1183 [key: string]: any;
1184 };
1185}
1186export declare namespace CfnDocumentationPart {
1187 /**
1188 * The `Location` property specifies the location of the Amazon API Gateway API entity that the documentation applies to. `Location` is a property of the [AWS::ApiGateway::DocumentationPart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html) resource.
1189 *
1190 * > For more information about each property, including constraints and valid values, see [DocumentationPart](https://docs.aws.amazon.com/apigateway/api-reference/resource/documentation-part/#location) in the *Amazon API Gateway REST API Reference* .
1191 *
1192 * @struct
1193 * @stability external
1194 *
1195 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html
1196 */
1197 interface LocationProperty {
1198 /**
1199 * The HTTP verb of a method.
1200 *
1201 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-method
1202 */
1203 readonly method?: string;
1204 /**
1205 * The name of the targeted API entity.
1206 *
1207 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-name
1208 */
1209 readonly name?: string;
1210 /**
1211 * The URL path of the target.
1212 *
1213 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-path
1214 */
1215 readonly path?: string;
1216 /**
1217 * The HTTP status code of a response.
1218 *
1219 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-statuscode
1220 */
1221 readonly statusCode?: string;
1222 /**
1223 * The type of API entity that the documentation content applies to.
1224 *
1225 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-type
1226 */
1227 readonly type?: string;
1228 }
1229}
1230/**
1231 * Properties for defining a `CfnDocumentationVersion`
1232 *
1233 * @struct
1234 * @stability external
1235 *
1236 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html
1237 */
1238export interface CfnDocumentationVersionProps {
1239 /**
1240 * The version identifier of the API documentation snapshot.
1241 *
1242 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-documentationversion
1243 */
1244 readonly documentationVersion: string;
1245 /**
1246 * The identifier of the API.
1247 *
1248 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-restapiid
1249 */
1250 readonly restApiId: string;
1251 /**
1252 * The description of the API documentation snapshot.
1253 *
1254 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-description
1255 */
1256 readonly description?: string;
1257}
1258/**
1259 * A CloudFormation `AWS::ApiGateway::DocumentationVersion`
1260 *
1261 * The `AWS::ApiGateway::DocumentationVersion` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide* .
1262 *
1263 * @cloudformationResource AWS::ApiGateway::DocumentationVersion
1264 * @stability external
1265 *
1266 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html
1267 */
1268export declare class CfnDocumentationVersion extends cdk.CfnResource implements cdk.IInspectable {
1269 /**
1270 * The CloudFormation resource type name for this resource class.
1271 */
1272 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::DocumentationVersion";
1273 /**
1274 * A factory method that creates a new instance of this class from an object
1275 * containing the CloudFormation properties of this resource.
1276 * Used in the @aws-cdk/cloudformation-include module.
1277 *
1278 * @internal
1279 */
1280 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDocumentationVersion;
1281 /**
1282 * The version identifier of the API documentation snapshot.
1283 *
1284 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-documentationversion
1285 */
1286 documentationVersion: string;
1287 /**
1288 * The identifier of the API.
1289 *
1290 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-restapiid
1291 */
1292 restApiId: string;
1293 /**
1294 * The description of the API documentation snapshot.
1295 *
1296 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-description
1297 */
1298 description: string | undefined;
1299 /**
1300 * Create a new `AWS::ApiGateway::DocumentationVersion`.
1301 *
1302 * @param scope - scope in which this resource is defined
1303 * @param id - scoped id of the resource
1304 * @param props - resource properties
1305 */
1306 constructor(scope: cdk.Construct, id: string, props: CfnDocumentationVersionProps);
1307 /**
1308 * Examines the CloudFormation resource and discloses attributes.
1309 *
1310 * @param inspector - tree inspector to collect and process attributes
1311 *
1312 */
1313 inspect(inspector: cdk.TreeInspector): void;
1314 protected get cfnProperties(): {
1315 [key: string]: any;
1316 };
1317 protected renderProperties(props: {
1318 [key: string]: any;
1319 }): {
1320 [key: string]: any;
1321 };
1322}
1323/**
1324 * Properties for defining a `CfnDomainName`
1325 *
1326 * @struct
1327 * @stability external
1328 *
1329 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html
1330 */
1331export interface CfnDomainNameProps {
1332 /**
1333 * The reference to an AWS -managed certificate for use by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source. For requirements and additional information about setting up certificates, see [Get Certificates Ready in AWS Certificate Manager](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html#how-to-custom-domains-prerequisites) in the *API Gateway Developer Guide* .
1334 *
1335 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn
1336 */
1337 readonly certificateArn?: string;
1338 /**
1339 * The custom domain name for your API. Uppercase letters are not supported.
1340 *
1341 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname
1342 */
1343 readonly domainName?: string;
1344 /**
1345 * A list of the endpoint types of the domain name.
1346 *
1347 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-endpointconfiguration
1348 */
1349 readonly endpointConfiguration?: CfnDomainName.EndpointConfigurationProperty | cdk.IResolvable;
1350 /**
1351 * The mutual TLS authentication configuration for a custom domain name.
1352 *
1353 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication
1354 */
1355 readonly mutualTlsAuthentication?: CfnDomainName.MutualTlsAuthenticationProperty | cdk.IResolvable;
1356 /**
1357 * The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn.
1358 *
1359 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-ownershipverificationcertificatearn
1360 */
1361 readonly ownershipVerificationCertificateArn?: string;
1362 /**
1363 * The reference to an AWS -managed certificate for use by the regional endpoint for the domain name. AWS Certificate Manager is the only supported source.
1364 *
1365 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn
1366 */
1367 readonly regionalCertificateArn?: string;
1368 /**
1369 * The Transport Layer Security (TLS) version + cipher suite for this domain name.
1370 *
1371 * Valid values include `TLS_1_0` and `TLS_1_2` .
1372 *
1373 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy
1374 */
1375 readonly securityPolicy?: string;
1376 /**
1377 * An array of arbitrary tags (key-value pairs) to associate with the domain name.
1378 *
1379 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-tags
1380 */
1381 readonly tags?: cdk.CfnTag[];
1382}
1383/**
1384 * A CloudFormation `AWS::ApiGateway::DomainName`
1385 *
1386 * The `AWS::ApiGateway::DomainName` resource specifies a custom domain name for your API in API Gateway.
1387 *
1388 * You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide* .
1389 *
1390 * @cloudformationResource AWS::ApiGateway::DomainName
1391 * @stability external
1392 *
1393 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html
1394 */
1395export declare class CfnDomainName extends cdk.CfnResource implements cdk.IInspectable {
1396 /**
1397 * The CloudFormation resource type name for this resource class.
1398 */
1399 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::DomainName";
1400 /**
1401 * A factory method that creates a new instance of this class from an object
1402 * containing the CloudFormation properties of this resource.
1403 * Used in the @aws-cdk/cloudformation-include module.
1404 *
1405 * @internal
1406 */
1407 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDomainName;
1408 /**
1409 * The Amazon CloudFront distribution domain name that's mapped to the custom domain name. This is only applicable for endpoints whose type is `EDGE` .
1410 *
1411 * Example: `d111111abcdef8.cloudfront.net`
1412 * @cloudformationAttribute DistributionDomainName
1413 */
1414 readonly attrDistributionDomainName: string;
1415 /**
1416 * The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized endpoint. The only valid value is `Z2FDTNDATAQYW2` for all regions.
1417 * @cloudformationAttribute DistributionHostedZoneId
1418 */
1419 readonly attrDistributionHostedZoneId: string;
1420 /**
1421 * The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name.
1422 * @cloudformationAttribute RegionalDomainName
1423 */
1424 readonly attrRegionalDomainName: string;
1425 /**
1426 * The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint.
1427 * @cloudformationAttribute RegionalHostedZoneId
1428 */
1429 readonly attrRegionalHostedZoneId: string;
1430 /**
1431 * The reference to an AWS -managed certificate for use by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source. For requirements and additional information about setting up certificates, see [Get Certificates Ready in AWS Certificate Manager](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html#how-to-custom-domains-prerequisites) in the *API Gateway Developer Guide* .
1432 *
1433 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn
1434 */
1435 certificateArn: string | undefined;
1436 /**
1437 * The custom domain name for your API. Uppercase letters are not supported.
1438 *
1439 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname
1440 */
1441 domainName: string | undefined;
1442 /**
1443 * A list of the endpoint types of the domain name.
1444 *
1445 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-endpointconfiguration
1446 */
1447 endpointConfiguration: CfnDomainName.EndpointConfigurationProperty | cdk.IResolvable | undefined;
1448 /**
1449 * The mutual TLS authentication configuration for a custom domain name.
1450 *
1451 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication
1452 */
1453 mutualTlsAuthentication: CfnDomainName.MutualTlsAuthenticationProperty | cdk.IResolvable | undefined;
1454 /**
1455 * The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn.
1456 *
1457 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-ownershipverificationcertificatearn
1458 */
1459 ownershipVerificationCertificateArn: string | undefined;
1460 /**
1461 * The reference to an AWS -managed certificate for use by the regional endpoint for the domain name. AWS Certificate Manager is the only supported source.
1462 *
1463 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn
1464 */
1465 regionalCertificateArn: string | undefined;
1466 /**
1467 * The Transport Layer Security (TLS) version + cipher suite for this domain name.
1468 *
1469 * Valid values include `TLS_1_0` and `TLS_1_2` .
1470 *
1471 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy
1472 */
1473 securityPolicy: string | undefined;
1474 /**
1475 * An array of arbitrary tags (key-value pairs) to associate with the domain name.
1476 *
1477 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-tags
1478 */
1479 readonly tags: cdk.TagManager;
1480 /**
1481 * Create a new `AWS::ApiGateway::DomainName`.
1482 *
1483 * @param scope - scope in which this resource is defined
1484 * @param id - scoped id of the resource
1485 * @param props - resource properties
1486 */
1487 constructor(scope: cdk.Construct, id: string, props?: CfnDomainNameProps);
1488 /**
1489 * Examines the CloudFormation resource and discloses attributes.
1490 *
1491 * @param inspector - tree inspector to collect and process attributes
1492 *
1493 */
1494 inspect(inspector: cdk.TreeInspector): void;
1495 protected get cfnProperties(): {
1496 [key: string]: any;
1497 };
1498 protected renderProperties(props: {
1499 [key: string]: any;
1500 }): {
1501 [key: string]: any;
1502 };
1503}
1504export declare namespace CfnDomainName {
1505 /**
1506 * The `EndpointConfiguration` property type specifies the endpoint types of an Amazon API Gateway domain name.
1507 *
1508 * `EndpointConfiguration` is a property of the [AWS::ApiGateway::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html) resource.
1509 *
1510 * @struct
1511 * @stability external
1512 *
1513 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html
1514 */
1515 interface EndpointConfigurationProperty {
1516 /**
1517 * A list of endpoint types of an API or its custom domain name. For an edge-optimized API and its custom domain name, the endpoint type is `EDGE` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` .
1518 *
1519 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html#cfn-apigateway-domainname-endpointconfiguration-types
1520 */
1521 readonly types?: string[];
1522 }
1523}
1524export declare namespace CfnDomainName {
1525 /**
1526 * If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.
1527 *
1528 * @struct
1529 * @stability external
1530 *
1531 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-mutualtlsauthentication.html
1532 */
1533 interface MutualTlsAuthenticationProperty {
1534 /**
1535 * An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, `s3:// bucket-name / key-name` . The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object.
1536 *
1537 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-mutualtlsauthentication.html#cfn-apigateway-domainname-mutualtlsauthentication-truststoreuri
1538 */
1539 readonly truststoreUri?: string;
1540 /**
1541 * The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.
1542 *
1543 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-mutualtlsauthentication.html#cfn-apigateway-domainname-mutualtlsauthentication-truststoreversion
1544 */
1545 readonly truststoreVersion?: string;
1546 }
1547}
1548/**
1549 * Properties for defining a `CfnGatewayResponse`
1550 *
1551 * @struct
1552 * @stability external
1553 *
1554 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html
1555 */
1556export interface CfnGatewayResponseProps {
1557 /**
1558 * The response type. For valid values, see [GatewayResponse](https://docs.aws.amazon.com/apigateway/api-reference/resource/gateway-response/) in the *API Gateway API Reference* .
1559 *
1560 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responsetype
1561 */
1562 readonly responseType: string;
1563 /**
1564 * The identifier of the API.
1565 *
1566 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-restapiid
1567 */
1568 readonly restApiId: string;
1569 /**
1570 * The response parameters (paths, query strings, and headers) for the response. Duplicates not allowed.
1571 *
1572 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responseparameters
1573 */
1574 readonly responseParameters?: {
1575 [key: string]: (string);
1576 } | cdk.IResolvable;
1577 /**
1578 * The response templates for the response. Duplicates not allowed.
1579 *
1580 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responsetemplates
1581 */
1582 readonly responseTemplates?: {
1583 [key: string]: (string);
1584 } | cdk.IResolvable;
1585 /**
1586 * The HTTP status code for the response.
1587 *
1588 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-statuscode
1589 */
1590 readonly statusCode?: string;
1591}
1592/**
1593 * A CloudFormation `AWS::ApiGateway::GatewayResponse`
1594 *
1595 * The `AWS::ApiGateway::GatewayResponse` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide* .
1596 *
1597 * @cloudformationResource AWS::ApiGateway::GatewayResponse
1598 * @stability external
1599 *
1600 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html
1601 */
1602export declare class CfnGatewayResponse extends cdk.CfnResource implements cdk.IInspectable {
1603 /**
1604 * The CloudFormation resource type name for this resource class.
1605 */
1606 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::GatewayResponse";
1607 /**
1608 * A factory method that creates a new instance of this class from an object
1609 * containing the CloudFormation properties of this resource.
1610 * Used in the @aws-cdk/cloudformation-include module.
1611 *
1612 * @internal
1613 */
1614 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnGatewayResponse;
1615 /**
1616 * The ID for the gateway response. For example: `abc123` .
1617 * @cloudformationAttribute Id
1618 */
1619 readonly attrId: string;
1620 /**
1621 * The response type. For valid values, see [GatewayResponse](https://docs.aws.amazon.com/apigateway/api-reference/resource/gateway-response/) in the *API Gateway API Reference* .
1622 *
1623 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responsetype
1624 */
1625 responseType: string;
1626 /**
1627 * The identifier of the API.
1628 *
1629 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-restapiid
1630 */
1631 restApiId: string;
1632 /**
1633 * The response parameters (paths, query strings, and headers) for the response. Duplicates not allowed.
1634 *
1635 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responseparameters
1636 */
1637 responseParameters: {
1638 [key: string]: (string);
1639 } | cdk.IResolvable | undefined;
1640 /**
1641 * The response templates for the response. Duplicates not allowed.
1642 *
1643 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responsetemplates
1644 */
1645 responseTemplates: {
1646 [key: string]: (string);
1647 } | cdk.IResolvable | undefined;
1648 /**
1649 * The HTTP status code for the response.
1650 *
1651 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-statuscode
1652 */
1653 statusCode: string | undefined;
1654 /**
1655 * Create a new `AWS::ApiGateway::GatewayResponse`.
1656 *
1657 * @param scope - scope in which this resource is defined
1658 * @param id - scoped id of the resource
1659 * @param props - resource properties
1660 */
1661 constructor(scope: cdk.Construct, id: string, props: CfnGatewayResponseProps);
1662 /**
1663 * Examines the CloudFormation resource and discloses attributes.
1664 *
1665 * @param inspector - tree inspector to collect and process attributes
1666 *
1667 */
1668 inspect(inspector: cdk.TreeInspector): void;
1669 protected get cfnProperties(): {
1670 [key: string]: any;
1671 };
1672 protected renderProperties(props: {
1673 [key: string]: any;
1674 }): {
1675 [key: string]: any;
1676 };
1677}
1678/**
1679 * Properties for defining a `CfnMethod`
1680 *
1681 * @struct
1682 * @stability external
1683 *
1684 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html
1685 */
1686export interface CfnMethodProps {
1687 /**
1688 * The HTTP method that clients use to call this method.
1689 *
1690 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-httpmethod
1691 */
1692 readonly httpMethod: string;
1693 /**
1694 * The ID of an API Gateway [resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html) . For root resource methods, specify the `RestApi` root resource ID, such as `{ "Fn::GetAtt": ["MyRestApi", "RootResourceId"] }` .
1695 *
1696 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-resourceid
1697 */
1698 readonly resourceId: string;
1699 /**
1700 * The ID of the [RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource in which API Gateway creates the method.
1701 *
1702 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-restapiid
1703 */
1704 readonly restApiId: string;
1705 /**
1706 * Indicates whether the method requires clients to submit a valid API key.
1707 *
1708 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-apikeyrequired
1709 */
1710 readonly apiKeyRequired?: boolean | cdk.IResolvable;
1711 /**
1712 * A list of authorization scopes configured on the method. The scopes are used with a `COGNITO_USER_POOLS` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes match a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
1713 *
1714 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationscopes
1715 */
1716 readonly authorizationScopes?: string[];
1717 /**
1718 * The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/api-reference/resource/method/) in the *API Gateway API Reference* .
1719 *
1720 * > If you specify the `AuthorizerId` property, specify `CUSTOM` or `COGNITO_USER_POOLS` for this property.
1721 *
1722 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationtype
1723 */
1724 readonly authorizationType?: string;
1725 /**
1726 * The identifier of the [authorizer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html) to use on this method. If you specify this property, specify `CUSTOM` or `COGNITO_USER_POOLS` for the `AuthorizationType` property.
1727 *
1728 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizerid
1729 */
1730 readonly authorizerId?: string;
1731 /**
1732 * The backend system that the method calls when it receives a request.
1733 *
1734 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-integration
1735 */
1736 readonly integration?: CfnMethod.IntegrationProperty | cdk.IResolvable;
1737 /**
1738 * The responses that can be sent to the client who calls the method.
1739 *
1740 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-methodresponses
1741 */
1742 readonly methodResponses?: Array<CfnMethod.MethodResponseProperty | cdk.IResolvable> | cdk.IResolvable;
1743 /**
1744 * A friendly operation name for the method. For example, you can assign the `OperationName` of `ListPets` for the `GET /pets` method.
1745 *
1746 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-operationname
1747 */
1748 readonly operationName?: string;
1749 /**
1750 * The resources that are used for the request's content type. Specify request models as key-value pairs (string-to-string mapping), with a content type as the key and a `Model` resource name as the value. To use the same model regardless of the content type, specify `$default` as the key.
1751 *
1752 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestmodels
1753 */
1754 readonly requestModels?: {
1755 [key: string]: (string);
1756 } | cdk.IResolvable;
1757 /**
1758 * The request parameters that API Gateway accepts. Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value. The Boolean specifies whether a parameter is required. A source must match the format `method.request. *location* . *name*` , where the location is querystring, path, or header, and *name* is a valid, unique parameter name.
1759 *
1760 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestparameters
1761 */
1762 readonly requestParameters?: {
1763 [key: string]: (boolean | cdk.IResolvable);
1764 } | cdk.IResolvable;
1765 /**
1766 * The ID of the associated request validator.
1767 *
1768 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestvalidatorid
1769 */
1770 readonly requestValidatorId?: string;
1771}
1772/**
1773 * A CloudFormation `AWS::ApiGateway::Method`
1774 *
1775 * The `AWS::ApiGateway::Method` resource creates API Gateway methods that define the parameters and body that clients must send in their requests.
1776 *
1777 * @cloudformationResource AWS::ApiGateway::Method
1778 * @stability external
1779 *
1780 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html
1781 */
1782export declare class CfnMethod extends cdk.CfnResource implements cdk.IInspectable {
1783 /**
1784 * The CloudFormation resource type name for this resource class.
1785 */
1786 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::Method";
1787 /**
1788 * A factory method that creates a new instance of this class from an object
1789 * containing the CloudFormation properties of this resource.
1790 * Used in the @aws-cdk/cloudformation-include module.
1791 *
1792 * @internal
1793 */
1794 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnMethod;
1795 /**
1796 * The HTTP method that clients use to call this method.
1797 *
1798 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-httpmethod
1799 */
1800 httpMethod: string;
1801 /**
1802 * The ID of an API Gateway [resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html) . For root resource methods, specify the `RestApi` root resource ID, such as `{ "Fn::GetAtt": ["MyRestApi", "RootResourceId"] }` .
1803 *
1804 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-resourceid
1805 */
1806 resourceId: string;
1807 /**
1808 * The ID of the [RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource in which API Gateway creates the method.
1809 *
1810 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-restapiid
1811 */
1812 restApiId: string;
1813 /**
1814 * Indicates whether the method requires clients to submit a valid API key.
1815 *
1816 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-apikeyrequired
1817 */
1818 apiKeyRequired: boolean | cdk.IResolvable | undefined;
1819 /**
1820 * A list of authorization scopes configured on the method. The scopes are used with a `COGNITO_USER_POOLS` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes match a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
1821 *
1822 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationscopes
1823 */
1824 authorizationScopes: string[] | undefined;
1825 /**
1826 * The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/api-reference/resource/method/) in the *API Gateway API Reference* .
1827 *
1828 * > If you specify the `AuthorizerId` property, specify `CUSTOM` or `COGNITO_USER_POOLS` for this property.
1829 *
1830 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationtype
1831 */
1832 authorizationType: string | undefined;
1833 /**
1834 * The identifier of the [authorizer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html) to use on this method. If you specify this property, specify `CUSTOM` or `COGNITO_USER_POOLS` for the `AuthorizationType` property.
1835 *
1836 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizerid
1837 */
1838 authorizerId: string | undefined;
1839 /**
1840 * The backend system that the method calls when it receives a request.
1841 *
1842 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-integration
1843 */
1844 integration: CfnMethod.IntegrationProperty | cdk.IResolvable | undefined;
1845 /**
1846 * The responses that can be sent to the client who calls the method.
1847 *
1848 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-methodresponses
1849 */
1850 methodResponses: Array<CfnMethod.MethodResponseProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
1851 /**
1852 * A friendly operation name for the method. For example, you can assign the `OperationName` of `ListPets` for the `GET /pets` method.
1853 *
1854 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-operationname
1855 */
1856 operationName: string | undefined;
1857 /**
1858 * The resources that are used for the request's content type. Specify request models as key-value pairs (string-to-string mapping), with a content type as the key and a `Model` resource name as the value. To use the same model regardless of the content type, specify `$default` as the key.
1859 *
1860 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestmodels
1861 */
1862 requestModels: {
1863 [key: string]: (string);
1864 } | cdk.IResolvable | undefined;
1865 /**
1866 * The request parameters that API Gateway accepts. Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value. The Boolean specifies whether a parameter is required. A source must match the format `method.request. *location* . *name*` , where the location is querystring, path, or header, and *name* is a valid, unique parameter name.
1867 *
1868 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestparameters
1869 */
1870 requestParameters: {
1871 [key: string]: (boolean | cdk.IResolvable);
1872 } | cdk.IResolvable | undefined;
1873 /**
1874 * The ID of the associated request validator.
1875 *
1876 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestvalidatorid
1877 */
1878 requestValidatorId: string | undefined;
1879 /**
1880 * Create a new `AWS::ApiGateway::Method`.
1881 *
1882 * @param scope - scope in which this resource is defined
1883 * @param id - scoped id of the resource
1884 * @param props - resource properties
1885 */
1886 constructor(scope: cdk.Construct, id: string, props: CfnMethodProps);
1887 /**
1888 * Examines the CloudFormation resource and discloses attributes.
1889 *
1890 * @param inspector - tree inspector to collect and process attributes
1891 *
1892 */
1893 inspect(inspector: cdk.TreeInspector): void;
1894 protected get cfnProperties(): {
1895 [key: string]: any;
1896 };
1897 protected renderProperties(props: {
1898 [key: string]: any;
1899 }): {
1900 [key: string]: any;
1901 };
1902}
1903export declare namespace CfnMethod {
1904 /**
1905 * `Integration` is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that specifies information about the target backend that a method calls.
1906 *
1907 * @struct
1908 * @stability external
1909 *
1910 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html
1911 */
1912 interface IntegrationProperty {
1913 /**
1914 * A list of request parameters whose values API Gateway caches. For cases where the integration type allows for RequestParameters to be set, these parameters must also be specified in [RequestParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestparameters) to be supported in `CacheKeyParameters` .
1915 *
1916 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-cachekeyparameters
1917 */
1918 readonly cacheKeyParameters?: string[];
1919 /**
1920 * An API-specific tag group of related cached parameters.
1921 *
1922 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-cachenamespace
1923 */
1924 readonly cacheNamespace?: string;
1925 /**
1926 * The ID of the `VpcLink` used for the integration when `connectionType=VPC_LINK` , otherwise undefined.
1927 *
1928 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-connectionid
1929 */
1930 readonly connectionId?: string;
1931 /**
1932 * The type of the network connection to the integration endpoint. The valid value is `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and a network load balancer in a VPC. The default value is `INTERNET` .
1933 *
1934 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-connectiontype
1935 */
1936 readonly connectionType?: string;
1937 /**
1938 * Specifies how to handle request payload content type conversions. Valid values are:
1939 *
1940 * - `CONVERT_TO_BINARY` : Converts a request payload from a base64-encoded string to a binary blob.
1941 * - `CONVERT_TO_TEXT` : Converts a request payload from a binary blob to a base64-encoded string.
1942 *
1943 * If this property isn't defined, the request payload is passed through from the method request to the integration request without modification, provided that the `PassthroughBehaviors` property is configured to support payload pass-through.
1944 *
1945 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-contenthandling
1946 */
1947 readonly contentHandling?: string;
1948 /**
1949 * The credentials that are required for the integration. To specify an AWS Identity and Access Management (IAM) role that API Gateway assumes, specify the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*.
1950 *
1951 * To use resource-based permissions on the AWS Lambda (Lambda) function, don't specify this property. Use the [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) resource to permit API Gateway to call the function. For more information, see [Allow Amazon API Gateway to Invoke a Lambda Function](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html#access-control-resource-based-example-apigateway-invoke-function) in the *AWS Lambda Developer Guide* .
1952 *
1953 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-credentials
1954 */
1955 readonly credentials?: string;
1956 /**
1957 * The integration's HTTP method type.
1958 *
1959 * For the `Type` property, if you specify `MOCK` , this property is optional. For all other types, you must specify this property.
1960 *
1961 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-integrationhttpmethod
1962 */
1963 readonly integrationHttpMethod?: string;
1964 /**
1965 * The response that API Gateway provides after a method's backend completes processing a request. API Gateway intercepts the response from the backend so that you can control how API Gateway surfaces backend responses. For example, you can map the backend status codes to codes that you define.
1966 *
1967 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-integrationresponses
1968 */
1969 readonly integrationResponses?: Array<CfnMethod.IntegrationResponseProperty | cdk.IResolvable> | cdk.IResolvable;
1970 /**
1971 * Indicates when API Gateway passes requests to the targeted backend. This behavior depends on the request's `Content-Type` header and whether you defined a mapping template for it.
1972 *
1973 * For more information and valid values, see the [passthroughBehavior](https://docs.aws.amazon.com/apigateway/api-reference/link-relation/integration-put/#passthroughBehavior) field in the *API Gateway API Reference* .
1974 *
1975 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-passthroughbehavior
1976 */
1977 readonly passthroughBehavior?: string;
1978 /**
1979 * The request parameters that API Gateway sends with the backend request. Specify request parameters as key-value pairs (string-to-string mappings), with a destination as the key and a source as the value.
1980 *
1981 * Specify the destination by using the following pattern `integration.request. *location* . *name*` , where *location* is query string, path, or header, and *name* is a valid, unique parameter name.
1982 *
1983 * The source must be an existing method request parameter or a static value. You must enclose static values in single quotation marks and pre-encode these values based on their destination in the request.
1984 *
1985 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-requestparameters
1986 */
1987 readonly requestParameters?: {
1988 [key: string]: (string);
1989 } | cdk.IResolvable;
1990 /**
1991 * A map of Apache Velocity templates that are applied on the request payload. The template that API Gateway uses is based on the value of the `Content-Type` header that's sent by the client. The content type value is the key, and the template is the value (specified as a string), such as the following snippet:
1992 *
1993 * `"application/json": "{\n \"statusCode\": 200\n}"`
1994 *
1995 * For more information about templates, see [API Gateway Mapping Template and Access Logging Variable Reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html) in the *API Gateway Developer Guide* .
1996 *
1997 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-requesttemplates
1998 */
1999 readonly requestTemplates?: {
2000 [key: string]: (string);
2001 } | cdk.IResolvable;
2002 /**
2003 * Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.
2004 *
2005 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-timeoutinmillis
2006 */
2007 readonly timeoutInMillis?: number;
2008 /**
2009 * The type of backend that your method is running, such as `HTTP` or `MOCK` . For all of the valid values, see the [type](https://docs.aws.amazon.com/apigateway/api-reference/resource/integration/#type) property for the `Integration` resource in the *Amazon API Gateway REST API Reference* .
2010 *
2011 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-type
2012 */
2013 readonly type?: string;
2014 /**
2015 * The Uniform Resource Identifier (URI) for the integration.
2016 *
2017 * If you specify `HTTP` for the `Type` property, specify the API endpoint URL.
2018 *
2019 * If you specify `MOCK` for the `Type` property, don't specify this property.
2020 *
2021 * If you specify `AWS` for the `Type` property, specify an AWS service that follows this form: arn:aws:apigateway: *region* : *subdomain* . *service|service* : *path|action* / *service_api* . For example, a Lambda function URI follows this form: arn:aws:apigateway: *region* :lambda:path/ *path* . The path is usually in the form /2015-03-31/functions/ *LambdaFunctionARN* /invocations. For more information, see the `uri` property of the [Integration](https://docs.aws.amazon.com/apigateway/api-reference/resource/integration/) resource in the Amazon API Gateway REST API Reference.
2022 *
2023 * If you specified `HTTP` or `AWS` for the `Type` property, you must specify this property.
2024 *
2025 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-uri
2026 */
2027 readonly uri?: string;
2028 }
2029}
2030export declare namespace CfnMethod {
2031 /**
2032 * `IntegrationResponse` is a property of the [Amazon API Gateway Method Integration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html) property type that specifies the response that API Gateway sends after a method's backend finishes processing a request.
2033 *
2034 * @struct
2035 * @stability external
2036 *
2037 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html
2038 */
2039 interface IntegrationResponseProperty {
2040 /**
2041 * Specifies how to handle request payload content type conversions. Valid values are:
2042 *
2043 * - `CONVERT_TO_BINARY` : Converts a request payload from a base64-encoded string to a binary blob.
2044 * - `CONVERT_TO_TEXT` : Converts a request payload from a binary blob to a base64-encoded string.
2045 *
2046 * If this property isn't defined, the request payload is passed through from the method request to the integration request without modification.
2047 *
2048 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integrationresponse-contenthandling
2049 */
2050 readonly contentHandling?: string;
2051 /**
2052 * The response parameters from the backend response that API Gateway sends to the method response. Specify response parameters as key-value pairs ( [string-to-string mappings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html) ).
2053 *
2054 * Use the destination as the key and the source as the value:
2055 *
2056 * - The destination must be an existing response parameter in the [MethodResponse](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html) property.
2057 * - The source must be an existing method request parameter or a static value. You must enclose static values in single quotation marks and pre-encode these values based on the destination specified in the request.
2058 *
2059 * For more information about templates, see [API Gateway Mapping Template and Access Logging Variable Reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html) in the *API Gateway Developer Guide* .
2060 *
2061 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-responseparameters
2062 */
2063 readonly responseParameters?: {
2064 [key: string]: (string);
2065 } | cdk.IResolvable;
2066 /**
2067 * The templates that are used to transform the integration response body. Specify templates as key-value pairs (string-to-string mappings), with a content type as the key and a template as the value. For more information, see [API Gateway Mapping Template and Access Logging Variable Reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html) in the *API Gateway Developer Guide* .
2068 *
2069 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-responsetemplates
2070 */
2071 readonly responseTemplates?: {
2072 [key: string]: (string);
2073 } | cdk.IResolvable;
2074 /**
2075 * A [regular expression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-regexes.html) that specifies which error strings or status codes from the backend map to the integration response.
2076 *
2077 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-selectionpattern
2078 */
2079 readonly selectionPattern?: string;
2080 /**
2081 * The status code that API Gateway uses to map the integration response to a [MethodResponse](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html) status code.
2082 *
2083 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-statuscode
2084 */
2085 readonly statusCode: string;
2086 }
2087}
2088export declare namespace CfnMethod {
2089 /**
2090 * `MethodResponse` is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that defines the responses that can be sent to the client that calls a method.
2091 *
2092 * @struct
2093 * @stability external
2094 *
2095 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html
2096 */
2097 interface MethodResponseProperty {
2098 /**
2099 * The resources used for the response's content type. Specify response models as key-value pairs (string-to-string maps), with a content type as the key and a [Model](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html) resource name as the value.
2100 *
2101 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html#cfn-apigateway-method-methodresponse-responsemodels
2102 */
2103 readonly responseModels?: {
2104 [key: string]: (string);
2105 } | cdk.IResolvable;
2106 /**
2107 * Response parameters that API Gateway sends to the client that called a method. Specify response parameters as key-value pairs (string-to-Boolean maps), with a destination as the key and a Boolean as the value. Specify the destination using the following pattern: `method.response.header. *name*` , where *name* is a valid, unique header name. The Boolean specifies whether a parameter is required.
2108 *
2109 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html#cfn-apigateway-method-methodresponse-responseparameters
2110 */
2111 readonly responseParameters?: {
2112 [key: string]: (boolean | cdk.IResolvable);
2113 } | cdk.IResolvable;
2114 /**
2115 * The method response's status code, which you map to an [IntegrationResponse](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html) .
2116 *
2117 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html#cfn-apigateway-method-methodresponse-statuscode
2118 */
2119 readonly statusCode: string;
2120 }
2121}
2122/**
2123 * Properties for defining a `CfnModel`
2124 *
2125 * @struct
2126 * @stability external
2127 *
2128 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html
2129 */
2130export interface CfnModelProps {
2131 /**
2132 * The ID of a REST API with which to associate this model.
2133 *
2134 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-restapiid
2135 */
2136 readonly restApiId: string;
2137 /**
2138 * The content type for the model.
2139 *
2140 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-contenttype
2141 */
2142 readonly contentType?: string;
2143 /**
2144 * A description that identifies this model.
2145 *
2146 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-description
2147 */
2148 readonly description?: string;
2149 /**
2150 * A name for the model. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .
2151 *
2152 * > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
2153 *
2154 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-name
2155 */
2156 readonly name?: string;
2157 /**
2158 * The schema to use to transform data to one or more output formats. Specify null ( `{}` ) if you don't want to specify a schema.
2159 *
2160 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-schema
2161 */
2162 readonly schema?: any | cdk.IResolvable;
2163}
2164/**
2165 * A CloudFormation `AWS::ApiGateway::Model`
2166 *
2167 * The `AWS::ApiGateway::Model` resource defines the structure of a request or response payload for an API method.
2168 *
2169 * @cloudformationResource AWS::ApiGateway::Model
2170 * @stability external
2171 *
2172 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html
2173 */
2174export declare class CfnModel extends cdk.CfnResource implements cdk.IInspectable {
2175 /**
2176 * The CloudFormation resource type name for this resource class.
2177 */
2178 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::Model";
2179 /**
2180 * A factory method that creates a new instance of this class from an object
2181 * containing the CloudFormation properties of this resource.
2182 * Used in the @aws-cdk/cloudformation-include module.
2183 *
2184 * @internal
2185 */
2186 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnModel;
2187 /**
2188 * The ID of a REST API with which to associate this model.
2189 *
2190 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-restapiid
2191 */
2192 restApiId: string;
2193 /**
2194 * The content type for the model.
2195 *
2196 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-contenttype
2197 */
2198 contentType: string | undefined;
2199 /**
2200 * A description that identifies this model.
2201 *
2202 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-description
2203 */
2204 description: string | undefined;
2205 /**
2206 * A name for the model. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .
2207 *
2208 * > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
2209 *
2210 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-name
2211 */
2212 name: string | undefined;
2213 /**
2214 * The schema to use to transform data to one or more output formats. Specify null ( `{}` ) if you don't want to specify a schema.
2215 *
2216 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-schema
2217 */
2218 schema: any | cdk.IResolvable | undefined;
2219 /**
2220 * Create a new `AWS::ApiGateway::Model`.
2221 *
2222 * @param scope - scope in which this resource is defined
2223 * @param id - scoped id of the resource
2224 * @param props - resource properties
2225 */
2226 constructor(scope: cdk.Construct, id: string, props: CfnModelProps);
2227 /**
2228 * Examines the CloudFormation resource and discloses attributes.
2229 *
2230 * @param inspector - tree inspector to collect and process attributes
2231 *
2232 */
2233 inspect(inspector: cdk.TreeInspector): void;
2234 protected get cfnProperties(): {
2235 [key: string]: any;
2236 };
2237 protected renderProperties(props: {
2238 [key: string]: any;
2239 }): {
2240 [key: string]: any;
2241 };
2242}
2243/**
2244 * Properties for defining a `CfnRequestValidator`
2245 *
2246 * @struct
2247 * @stability external
2248 *
2249 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html
2250 */
2251export interface CfnRequestValidatorProps {
2252 /**
2253 * The identifier of the targeted API entity.
2254 *
2255 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-restapiid
2256 */
2257 readonly restApiId: string;
2258 /**
2259 * The name of this request validator.
2260 *
2261 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-name
2262 */
2263 readonly name?: string;
2264 /**
2265 * Indicates whether to validate the request body according to the configured schema for the targeted API and method.
2266 *
2267 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-validaterequestbody
2268 */
2269 readonly validateRequestBody?: boolean | cdk.IResolvable;
2270 /**
2271 * Indicates whether to validate request parameters.
2272 *
2273 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-validaterequestparameters
2274 */
2275 readonly validateRequestParameters?: boolean | cdk.IResolvable;
2276}
2277/**
2278 * A CloudFormation `AWS::ApiGateway::RequestValidator`
2279 *
2280 * The `AWS::ApiGateway::RequestValidator` resource sets up basic validation rules for incoming requests to your API. For more information, see [Enable Basic Request Validation for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) in the *API Gateway Developer Guide* .
2281 *
2282 * @cloudformationResource AWS::ApiGateway::RequestValidator
2283 * @stability external
2284 *
2285 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html
2286 */
2287export declare class CfnRequestValidator extends cdk.CfnResource implements cdk.IInspectable {
2288 /**
2289 * The CloudFormation resource type name for this resource class.
2290 */
2291 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::RequestValidator";
2292 /**
2293 * A factory method that creates a new instance of this class from an object
2294 * containing the CloudFormation properties of this resource.
2295 * Used in the @aws-cdk/cloudformation-include module.
2296 *
2297 * @internal
2298 */
2299 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnRequestValidator;
2300 /**
2301 * The ID for the request validator. For example: `abc123` .
2302 * @cloudformationAttribute RequestValidatorId
2303 */
2304 readonly attrRequestValidatorId: string;
2305 /**
2306 * The identifier of the targeted API entity.
2307 *
2308 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-restapiid
2309 */
2310 restApiId: string;
2311 /**
2312 * The name of this request validator.
2313 *
2314 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-name
2315 */
2316 name: string | undefined;
2317 /**
2318 * Indicates whether to validate the request body according to the configured schema for the targeted API and method.
2319 *
2320 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-validaterequestbody
2321 */
2322 validateRequestBody: boolean | cdk.IResolvable | undefined;
2323 /**
2324 * Indicates whether to validate request parameters.
2325 *
2326 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-validaterequestparameters
2327 */
2328 validateRequestParameters: boolean | cdk.IResolvable | undefined;
2329 /**
2330 * Create a new `AWS::ApiGateway::RequestValidator`.
2331 *
2332 * @param scope - scope in which this resource is defined
2333 * @param id - scoped id of the resource
2334 * @param props - resource properties
2335 */
2336 constructor(scope: cdk.Construct, id: string, props: CfnRequestValidatorProps);
2337 /**
2338 * Examines the CloudFormation resource and discloses attributes.
2339 *
2340 * @param inspector - tree inspector to collect and process attributes
2341 *
2342 */
2343 inspect(inspector: cdk.TreeInspector): void;
2344 protected get cfnProperties(): {
2345 [key: string]: any;
2346 };
2347 protected renderProperties(props: {
2348 [key: string]: any;
2349 }): {
2350 [key: string]: any;
2351 };
2352}
2353/**
2354 * Properties for defining a `CfnResource`
2355 *
2356 * @struct
2357 * @stability external
2358 *
2359 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html
2360 */
2361export interface CfnResourceProps {
2362 /**
2363 * If you want to create a child resource, the ID of the parent resource. For resources without a parent, specify the `RestApi` root resource ID, such as `{ "Fn::GetAtt": ["MyRestApi", "RootResourceId"] }` .
2364 *
2365 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html#cfn-apigateway-resource-parentid
2366 */
2367 readonly parentId: string;
2368 /**
2369 * A path name for the resource.
2370 *
2371 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html#cfn-apigateway-resource-pathpart
2372 */
2373 readonly pathPart: string;
2374 /**
2375 * The ID of the [RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource in which you want to create this resource.
2376 *
2377 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html#cfn-apigateway-resource-restapiid
2378 */
2379 readonly restApiId: string;
2380}
2381/**
2382 * A CloudFormation `AWS::ApiGateway::Resource`
2383 *
2384 * The `AWS::ApiGateway::Resource` resource creates a resource in an API.
2385 *
2386 * @cloudformationResource AWS::ApiGateway::Resource
2387 * @stability external
2388 *
2389 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html
2390 */
2391export declare class CfnResource extends cdk.CfnResource implements cdk.IInspectable {
2392 /**
2393 * The CloudFormation resource type name for this resource class.
2394 */
2395 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::Resource";
2396 /**
2397 * A factory method that creates a new instance of this class from an object
2398 * containing the CloudFormation properties of this resource.
2399 * Used in the @aws-cdk/cloudformation-include module.
2400 *
2401 * @internal
2402 */
2403 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnResource;
2404 /**
2405 * The ID for the resource. For example: `abc123` .
2406 * @cloudformationAttribute ResourceId
2407 */
2408 readonly attrResourceId: string;
2409 /**
2410 * If you want to create a child resource, the ID of the parent resource. For resources without a parent, specify the `RestApi` root resource ID, such as `{ "Fn::GetAtt": ["MyRestApi", "RootResourceId"] }` .
2411 *
2412 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html#cfn-apigateway-resource-parentid
2413 */
2414 parentId: string;
2415 /**
2416 * A path name for the resource.
2417 *
2418 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html#cfn-apigateway-resource-pathpart
2419 */
2420 pathPart: string;
2421 /**
2422 * The ID of the [RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource in which you want to create this resource.
2423 *
2424 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html#cfn-apigateway-resource-restapiid
2425 */
2426 restApiId: string;
2427 /**
2428 * Create a new `AWS::ApiGateway::Resource`.
2429 *
2430 * @param scope - scope in which this resource is defined
2431 * @param id - scoped id of the resource
2432 * @param props - resource properties
2433 */
2434 constructor(scope: cdk.Construct, id: string, props: CfnResourceProps);
2435 /**
2436 * Examines the CloudFormation resource and discloses attributes.
2437 *
2438 * @param inspector - tree inspector to collect and process attributes
2439 *
2440 */
2441 inspect(inspector: cdk.TreeInspector): void;
2442 protected get cfnProperties(): {
2443 [key: string]: any;
2444 };
2445 protected renderProperties(props: {
2446 [key: string]: any;
2447 }): {
2448 [key: string]: any;
2449 };
2450}
2451/**
2452 * Properties for defining a `CfnRestApi`
2453 *
2454 * @struct
2455 * @stability external
2456 *
2457 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html
2458 */
2459export interface CfnRestApiProps {
2460 /**
2461 * The source of the API key for metering requests according to a usage plan. Valid values are:
2462 *
2463 * - `HEADER` to read the API key from the `X-API-Key` header of a request.
2464 * - `AUTHORIZER` to read the API key from the `UsageIdentifierKey` from a Lambda authorizer.
2465 *
2466 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-apikeysourcetype
2467 */
2468 readonly apiKeySourceType?: string;
2469 /**
2470 * The list of binary media types that are supported by the `RestApi` resource. Use `~1` instead of `/` in the media types, for example `image~1png` or `application~1octet-stream` . By default, `RestApi` supports only UTF-8-encoded text payloads. Duplicates are not allowed. For more information, see [Enable Support for Binary Payloads in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-payload-encodings.html) in the *API Gateway Developer Guide* .
2471 *
2472 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-binarymediatypes
2473 */
2474 readonly binaryMediaTypes?: string[];
2475 /**
2476 * An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format.
2477 *
2478 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body
2479 */
2480 readonly body?: any | cdk.IResolvable;
2481 /**
2482 * The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format.
2483 *
2484 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-bodys3location
2485 */
2486 readonly bodyS3Location?: CfnRestApi.S3LocationProperty | cdk.IResolvable;
2487 /**
2488 * The ID of the `RestApi` resource that you want to clone.
2489 *
2490 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-clonefrom
2491 */
2492 readonly cloneFrom?: string;
2493 /**
2494 * A description of the `RestApi` resource.
2495 *
2496 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-description
2497 */
2498 readonly description?: string;
2499 /**
2500 * Specifies whether clients can invoke your API by using the default `execute-api` endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
2501 *
2502 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-disableexecuteapiendpoint
2503 */
2504 readonly disableExecuteApiEndpoint?: boolean | cdk.IResolvable;
2505 /**
2506 * A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the `Parameters` property.
2507 *
2508 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-endpointconfiguration
2509 */
2510 readonly endpointConfiguration?: CfnRestApi.EndpointConfigurationProperty | cdk.IResolvable;
2511 /**
2512 * Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the `RestApi` resource.
2513 *
2514 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-failonwarnings
2515 */
2516 readonly failOnWarnings?: boolean | cdk.IResolvable;
2517 /**
2518 * A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.
2519 *
2520 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-minimumcompressionsize
2521 */
2522 readonly minimumCompressionSize?: number;
2523 /**
2524 * This property applies only when you use OpenAPI to define your REST API. The `Mode` determines how API Gateway handles resource updates.
2525 *
2526 * Valid values are `overwrite` or `merge` .
2527 *
2528 * For `overwrite` , the new API definition replaces the existing one. The existing API identifier remains unchanged.
2529 *
2530 * For `merge` , the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. Use `merge` to define top-level `RestApi` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties.
2531 *
2532 * If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is `overwrite` . Otherwise, the default value is `merge` .
2533 *
2534 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-mode
2535 */
2536 readonly mode?: string;
2537 /**
2538 * A name for the `RestApi` resource.
2539 *
2540 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-name
2541 */
2542 readonly name?: string;
2543 /**
2544 * Custom header parameters for the request.
2545 *
2546 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-parameters
2547 */
2548 readonly parameters?: {
2549 [key: string]: (string);
2550 } | cdk.IResolvable;
2551 /**
2552 * A policy document that contains the permissions for the `RestApi` resource. To set the ARN for the policy, use the `!Join` intrinsic function with `""` as delimiter and values of `"execute-api:/"` and `"*"` .
2553 *
2554 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-policy
2555 */
2556 readonly policy?: any | cdk.IResolvable;
2557 /**
2558 * An array of arbitrary tags (key-value pairs) to associate with the API.
2559 *
2560 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-tags
2561 */
2562 readonly tags?: cdk.CfnTag[];
2563}
2564/**
2565 * A CloudFormation `AWS::ApiGateway::RestApi`
2566 *
2567 * The `AWS::ApiGateway::RestApi` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/api-reference/link-relation/restapi-create/) in the *Amazon API Gateway REST API Reference* .
2568 *
2569 * > On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/) , becoming the foundation of the OpenAPI Specification.
2570 *
2571 * @cloudformationResource AWS::ApiGateway::RestApi
2572 * @stability external
2573 *
2574 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html
2575 */
2576export declare class CfnRestApi extends cdk.CfnResource implements cdk.IInspectable {
2577 /**
2578 * The CloudFormation resource type name for this resource class.
2579 */
2580 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::RestApi";
2581 /**
2582 * A factory method that creates a new instance of this class from an object
2583 * containing the CloudFormation properties of this resource.
2584 * Used in the @aws-cdk/cloudformation-include module.
2585 *
2586 * @internal
2587 */
2588 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnRestApi;
2589 /**
2590 * The root resource ID for a `RestApi` resource, such as `a0bc123d4e` .
2591 * @cloudformationAttribute RootResourceId
2592 */
2593 readonly attrRootResourceId: string;
2594 /**
2595 * The source of the API key for metering requests according to a usage plan. Valid values are:
2596 *
2597 * - `HEADER` to read the API key from the `X-API-Key` header of a request.
2598 * - `AUTHORIZER` to read the API key from the `UsageIdentifierKey` from a Lambda authorizer.
2599 *
2600 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-apikeysourcetype
2601 */
2602 apiKeySourceType: string | undefined;
2603 /**
2604 * The list of binary media types that are supported by the `RestApi` resource. Use `~1` instead of `/` in the media types, for example `image~1png` or `application~1octet-stream` . By default, `RestApi` supports only UTF-8-encoded text payloads. Duplicates are not allowed. For more information, see [Enable Support for Binary Payloads in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-payload-encodings.html) in the *API Gateway Developer Guide* .
2605 *
2606 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-binarymediatypes
2607 */
2608 binaryMediaTypes: string[] | undefined;
2609 /**
2610 * An OpenAPI specification that defines a set of RESTful APIs in JSON format. For YAML templates, you can also provide the specification in YAML format.
2611 *
2612 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body
2613 */
2614 body: any | cdk.IResolvable | undefined;
2615 /**
2616 * The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format.
2617 *
2618 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-bodys3location
2619 */
2620 bodyS3Location: CfnRestApi.S3LocationProperty | cdk.IResolvable | undefined;
2621 /**
2622 * The ID of the `RestApi` resource that you want to clone.
2623 *
2624 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-clonefrom
2625 */
2626 cloneFrom: string | undefined;
2627 /**
2628 * A description of the `RestApi` resource.
2629 *
2630 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-description
2631 */
2632 description: string | undefined;
2633 /**
2634 * Specifies whether clients can invoke your API by using the default `execute-api` endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
2635 *
2636 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-disableexecuteapiendpoint
2637 */
2638 disableExecuteApiEndpoint: boolean | cdk.IResolvable | undefined;
2639 /**
2640 * A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the `Parameters` property.
2641 *
2642 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-endpointconfiguration
2643 */
2644 endpointConfiguration: CfnRestApi.EndpointConfigurationProperty | cdk.IResolvable | undefined;
2645 /**
2646 * Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the `RestApi` resource.
2647 *
2648 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-failonwarnings
2649 */
2650 failOnWarnings: boolean | cdk.IResolvable | undefined;
2651 /**
2652 * A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.
2653 *
2654 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-minimumcompressionsize
2655 */
2656 minimumCompressionSize: number | undefined;
2657 /**
2658 * This property applies only when you use OpenAPI to define your REST API. The `Mode` determines how API Gateway handles resource updates.
2659 *
2660 * Valid values are `overwrite` or `merge` .
2661 *
2662 * For `overwrite` , the new API definition replaces the existing one. The existing API identifier remains unchanged.
2663 *
2664 * For `merge` , the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. Use `merge` to define top-level `RestApi` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties.
2665 *
2666 * If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is `overwrite` . Otherwise, the default value is `merge` .
2667 *
2668 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-mode
2669 */
2670 mode: string | undefined;
2671 /**
2672 * A name for the `RestApi` resource.
2673 *
2674 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-name
2675 */
2676 name: string | undefined;
2677 /**
2678 * Custom header parameters for the request.
2679 *
2680 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-parameters
2681 */
2682 parameters: {
2683 [key: string]: (string);
2684 } | cdk.IResolvable | undefined;
2685 /**
2686 * A policy document that contains the permissions for the `RestApi` resource. To set the ARN for the policy, use the `!Join` intrinsic function with `""` as delimiter and values of `"execute-api:/"` and `"*"` .
2687 *
2688 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-policy
2689 */
2690 policy: any | cdk.IResolvable | undefined;
2691 /**
2692 * An array of arbitrary tags (key-value pairs) to associate with the API.
2693 *
2694 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-tags
2695 */
2696 readonly tags: cdk.TagManager;
2697 /**
2698 * Create a new `AWS::ApiGateway::RestApi`.
2699 *
2700 * @param scope - scope in which this resource is defined
2701 * @param id - scoped id of the resource
2702 * @param props - resource properties
2703 */
2704 constructor(scope: cdk.Construct, id: string, props?: CfnRestApiProps);
2705 /**
2706 * Examines the CloudFormation resource and discloses attributes.
2707 *
2708 * @param inspector - tree inspector to collect and process attributes
2709 *
2710 */
2711 inspect(inspector: cdk.TreeInspector): void;
2712 protected get cfnProperties(): {
2713 [key: string]: any;
2714 };
2715 protected renderProperties(props: {
2716 [key: string]: any;
2717 }): {
2718 [key: string]: any;
2719 };
2720}
2721export declare namespace CfnRestApi {
2722 /**
2723 * The `EndpointConfiguration` property type specifies the endpoint types of a REST API.
2724 *
2725 * `EndpointConfiguration` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource.
2726 *
2727 * @struct
2728 * @stability external
2729 *
2730 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html
2731 */
2732 interface EndpointConfigurationProperty {
2733 /**
2734 * A list of endpoint types of an API or its custom domain name. Valid values include:
2735 *
2736 * - `EDGE` : For an edge-optimized API and its custom domain name.
2737 * - `REGIONAL` : For a regional API and its custom domain name.
2738 * - `PRIVATE` : For a private API.
2739 *
2740 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-types
2741 */
2742 readonly types?: string[];
2743 /**
2744 * A list of VPC endpoint IDs of an API ( [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) ) against which to create Route53 ALIASes. It is only supported for `PRIVATE` endpoint type.
2745 *
2746 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-vpcendpointids
2747 */
2748 readonly vpcEndpointIds?: string[];
2749 }
2750}
2751export declare namespace CfnRestApi {
2752 /**
2753 * `S3Location` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource that specifies the Amazon S3 location of a OpenAPI (formerly Swagger) file that defines a set of RESTful APIs in JSON or YAML.
2754 *
2755 * > On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/) , becoming the foundation of the OpenAPI Specification.
2756 *
2757 * @struct
2758 * @stability external
2759 *
2760 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html
2761 */
2762 interface S3LocationProperty {
2763 /**
2764 * The name of the S3 bucket where the OpenAPI file is stored.
2765 *
2766 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-bucket
2767 */
2768 readonly bucket?: string;
2769 /**
2770 * The Amazon S3 ETag (a file checksum) of the OpenAPI file. If you don't specify a value, API Gateway skips ETag validation of your OpenAPI file.
2771 *
2772 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-etag
2773 */
2774 readonly eTag?: string;
2775 /**
2776 * The file name of the OpenAPI file (Amazon S3 object name).
2777 *
2778 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-key
2779 */
2780 readonly key?: string;
2781 /**
2782 * For versioning-enabled buckets, a specific version of the OpenAPI file.
2783 *
2784 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-version
2785 */
2786 readonly version?: string;
2787 }
2788}
2789/**
2790 * Properties for defining a `CfnStage`
2791 *
2792 * @struct
2793 * @stability external
2794 *
2795 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html
2796 */
2797export interface CfnStageProps {
2798 /**
2799 * The ID of the `RestApi` resource that you're deploying with this stage.
2800 *
2801 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-restapiid
2802 */
2803 readonly restApiId: string;
2804 /**
2805 * Specifies settings for logging access in this stage.
2806 *
2807 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting
2808 */
2809 readonly accessLogSetting?: CfnStage.AccessLogSettingProperty | cdk.IResolvable;
2810 /**
2811 * Indicates whether cache clustering is enabled for the stage.
2812 *
2813 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclusterenabled
2814 */
2815 readonly cacheClusterEnabled?: boolean | cdk.IResolvable;
2816 /**
2817 * The stage's cache cluster size.
2818 *
2819 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclustersize
2820 */
2821 readonly cacheClusterSize?: string;
2822 /**
2823 * Specifies settings for the canary deployment in this stage.
2824 *
2825 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting
2826 */
2827 readonly canarySetting?: CfnStage.CanarySettingProperty | cdk.IResolvable;
2828 /**
2829 * The ID of the client certificate that API Gateway uses to call your integration endpoints in the stage.
2830 *
2831 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-clientcertificateid
2832 */
2833 readonly clientCertificateId?: string;
2834 /**
2835 * The ID of the deployment that the stage is associated with. This parameter is required to create a stage.
2836 *
2837 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-deploymentid
2838 */
2839 readonly deploymentId?: string;
2840 /**
2841 * A description of the stage.
2842 *
2843 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-description
2844 */
2845 readonly description?: string;
2846 /**
2847 * The version ID of the API documentation snapshot.
2848 *
2849 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-documentationversion
2850 */
2851 readonly documentationVersion?: string;
2852 /**
2853 * Settings for all methods in the stage.
2854 *
2855 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-methodsettings
2856 */
2857 readonly methodSettings?: Array<CfnStage.MethodSettingProperty | cdk.IResolvable> | cdk.IResolvable;
2858 /**
2859 * The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI).
2860 *
2861 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-stagename
2862 */
2863 readonly stageName?: string;
2864 /**
2865 * An array of arbitrary tags (key-value pairs) to associate with the stage.
2866 *
2867 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tags
2868 */
2869 readonly tags?: cdk.CfnTag[];
2870 /**
2871 * Specifies whether active X-Ray tracing is enabled for this stage.
2872 *
2873 * For more information, see [Trace API Gateway API Execution with AWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide* .
2874 *
2875 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tracingenabled
2876 */
2877 readonly tracingEnabled?: boolean | cdk.IResolvable;
2878 /**
2879 * A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` .
2880 *
2881 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-variables
2882 */
2883 readonly variables?: {
2884 [key: string]: (string);
2885 } | cdk.IResolvable;
2886}
2887/**
2888 * A CloudFormation `AWS::ApiGateway::Stage`
2889 *
2890 * The `AWS::ApiGateway::Stage` resource creates a stage for a deployment.
2891 *
2892 * @cloudformationResource AWS::ApiGateway::Stage
2893 * @stability external
2894 *
2895 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html
2896 */
2897export declare class CfnStage extends cdk.CfnResource implements cdk.IInspectable {
2898 /**
2899 * The CloudFormation resource type name for this resource class.
2900 */
2901 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::Stage";
2902 /**
2903 * A factory method that creates a new instance of this class from an object
2904 * containing the CloudFormation properties of this resource.
2905 * Used in the @aws-cdk/cloudformation-include module.
2906 *
2907 * @internal
2908 */
2909 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnStage;
2910 /**
2911 * The ID of the `RestApi` resource that you're deploying with this stage.
2912 *
2913 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-restapiid
2914 */
2915 restApiId: string;
2916 /**
2917 * Specifies settings for logging access in this stage.
2918 *
2919 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting
2920 */
2921 accessLogSetting: CfnStage.AccessLogSettingProperty | cdk.IResolvable | undefined;
2922 /**
2923 * Indicates whether cache clustering is enabled for the stage.
2924 *
2925 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclusterenabled
2926 */
2927 cacheClusterEnabled: boolean | cdk.IResolvable | undefined;
2928 /**
2929 * The stage's cache cluster size.
2930 *
2931 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclustersize
2932 */
2933 cacheClusterSize: string | undefined;
2934 /**
2935 * Specifies settings for the canary deployment in this stage.
2936 *
2937 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting
2938 */
2939 canarySetting: CfnStage.CanarySettingProperty | cdk.IResolvable | undefined;
2940 /**
2941 * The ID of the client certificate that API Gateway uses to call your integration endpoints in the stage.
2942 *
2943 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-clientcertificateid
2944 */
2945 clientCertificateId: string | undefined;
2946 /**
2947 * The ID of the deployment that the stage is associated with. This parameter is required to create a stage.
2948 *
2949 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-deploymentid
2950 */
2951 deploymentId: string | undefined;
2952 /**
2953 * A description of the stage.
2954 *
2955 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-description
2956 */
2957 description: string | undefined;
2958 /**
2959 * The version ID of the API documentation snapshot.
2960 *
2961 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-documentationversion
2962 */
2963 documentationVersion: string | undefined;
2964 /**
2965 * Settings for all methods in the stage.
2966 *
2967 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-methodsettings
2968 */
2969 methodSettings: Array<CfnStage.MethodSettingProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
2970 /**
2971 * The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI).
2972 *
2973 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-stagename
2974 */
2975 stageName: string | undefined;
2976 /**
2977 * An array of arbitrary tags (key-value pairs) to associate with the stage.
2978 *
2979 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tags
2980 */
2981 readonly tags: cdk.TagManager;
2982 /**
2983 * Specifies whether active X-Ray tracing is enabled for this stage.
2984 *
2985 * For more information, see [Trace API Gateway API Execution with AWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide* .
2986 *
2987 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tracingenabled
2988 */
2989 tracingEnabled: boolean | cdk.IResolvable | undefined;
2990 /**
2991 * A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` .
2992 *
2993 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-variables
2994 */
2995 variables: {
2996 [key: string]: (string);
2997 } | cdk.IResolvable | undefined;
2998 /**
2999 * Create a new `AWS::ApiGateway::Stage`.
3000 *
3001 * @param scope - scope in which this resource is defined
3002 * @param id - scoped id of the resource
3003 * @param props - resource properties
3004 */
3005 constructor(scope: cdk.Construct, id: string, props: CfnStageProps);
3006 /**
3007 * Examines the CloudFormation resource and discloses attributes.
3008 *
3009 * @param inspector - tree inspector to collect and process attributes
3010 *
3011 */
3012 inspect(inspector: cdk.TreeInspector): void;
3013 protected get cfnProperties(): {
3014 [key: string]: any;
3015 };
3016 protected renderProperties(props: {
3017 [key: string]: any;
3018 }): {
3019 [key: string]: any;
3020 };
3021}
3022export declare namespace CfnStage {
3023 /**
3024 * The `AccessLogSetting` property type specifies settings for logging access in this stage.
3025 *
3026 * `AccessLogSetting` is a property of the [AWS::ApiGateway::Stage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html) resource.
3027 *
3028 * @struct
3029 * @stability external
3030 *
3031 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html
3032 */
3033 interface AccessLogSettingProperty {
3034 /**
3035 * The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-` . This parameter is required to enable access logging.
3036 *
3037 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html#cfn-apigateway-stage-accesslogsetting-destinationarn
3038 */
3039 readonly destinationArn?: string;
3040 /**
3041 * A single line format of the access logs of data, as specified by selected [$context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference) . The format must include at least `$context.requestId` . This parameter is required to enable access logging.
3042 *
3043 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html#cfn-apigateway-stage-accesslogsetting-format
3044 */
3045 readonly format?: string;
3046 }
3047}
3048export declare namespace CfnStage {
3049 /**
3050 * The `CanarySetting` property type specifies settings for the canary deployment in this stage.
3051 *
3052 * `CanarySetting` is a property of the [AWS::ApiGateway::Stage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html) resource.
3053 *
3054 * @struct
3055 * @stability external
3056 *
3057 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html
3058 */
3059 interface CanarySettingProperty {
3060 /**
3061 * The identifier of the deployment that the stage points to.
3062 *
3063 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-deploymentid
3064 */
3065 readonly deploymentId?: string;
3066 /**
3067 * The percentage (0-100) of traffic diverted to a canary deployment.
3068 *
3069 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-percenttraffic
3070 */
3071 readonly percentTraffic?: number;
3072 /**
3073 * Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.
3074 *
3075 * Duplicates are not allowed.
3076 *
3077 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-stagevariableoverrides
3078 */
3079 readonly stageVariableOverrides?: {
3080 [key: string]: (string);
3081 } | cdk.IResolvable;
3082 /**
3083 * Whether the canary deployment uses the stage cache or not.
3084 *
3085 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-usestagecache
3086 */
3087 readonly useStageCache?: boolean | cdk.IResolvable;
3088 }
3089}
3090export declare namespace CfnStage {
3091 /**
3092 * The `MethodSetting` property type configures settings for all methods in a stage.
3093 *
3094 * The `MethodSettings` property of the `AWS::ApiGateway::Stage` resource contains a list of `MethodSetting` property types.
3095 *
3096 * @struct
3097 * @stability external
3098 *
3099 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html
3100 */
3101 interface MethodSettingProperty {
3102 /**
3103 * Indicates whether the cached responses are encrypted.
3104 *
3105 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-cachedataencrypted
3106 */
3107 readonly cacheDataEncrypted?: boolean | cdk.IResolvable;
3108 /**
3109 * The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses.
3110 *
3111 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-cachettlinseconds
3112 */
3113 readonly cacheTtlInSeconds?: number;
3114 /**
3115 * Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses.
3116 *
3117 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-cachingenabled
3118 */
3119 readonly cachingEnabled?: boolean | cdk.IResolvable;
3120 /**
3121 * Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs.
3122 *
3123 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-datatraceenabled
3124 */
3125 readonly dataTraceEnabled?: boolean | cdk.IResolvable;
3126 /**
3127 * The HTTP method. To apply settings to multiple resources and methods, specify an asterisk ( `*` ) for the `HttpMethod` and `/*` for the `ResourcePath` . This parameter is required when you specify a `MethodSetting` .
3128 *
3129 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-httpmethod
3130 */
3131 readonly httpMethod?: string;
3132 /**
3133 * The logging level for this method. For valid values, see the `loggingLevel` property of the [Stage](https://docs.aws.amazon.com/apigateway/api-reference/resource/stage/#loggingLevel) resource in the *Amazon API Gateway API Reference* .
3134 *
3135 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-logginglevel
3136 */
3137 readonly loggingLevel?: string;
3138 /**
3139 * Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage.
3140 *
3141 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-metricsenabled
3142 */
3143 readonly metricsEnabled?: boolean | cdk.IResolvable;
3144 /**
3145 * The resource path for this method. Forward slashes ( `/` ) are encoded as `~1` and the initial slash must include a forward slash. For example, the path value `/resource/subresource` must be encoded as `/~1resource~1subresource` . To specify the root path, use only a slash ( `/` ). To apply settings to multiple resources and methods, specify an asterisk ( `*` ) for the `HttpMethod` and `/*` for the `ResourcePath` . This parameter is required when you specify a `MethodSetting` .
3146 *
3147 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-resourcepath
3148 */
3149 readonly resourcePath?: string;
3150 /**
3151 * The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account . For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .
3152 *
3153 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-throttlingburstlimit
3154 */
3155 readonly throttlingBurstLimit?: number;
3156 /**
3157 * The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account . For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .
3158 *
3159 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-throttlingratelimit
3160 */
3161 readonly throttlingRateLimit?: number;
3162 }
3163}
3164/**
3165 * Properties for defining a `CfnUsagePlan`
3166 *
3167 * @struct
3168 * @stability external
3169 *
3170 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html
3171 */
3172export interface CfnUsagePlanProps {
3173 /**
3174 * The API stages to associate with this usage plan.
3175 *
3176 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-apistages
3177 */
3178 readonly apiStages?: Array<CfnUsagePlan.ApiStageProperty | cdk.IResolvable> | cdk.IResolvable;
3179 /**
3180 * A description of the usage plan.
3181 *
3182 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-description
3183 */
3184 readonly description?: string;
3185 /**
3186 * Configures the number of requests that users can make within a given interval.
3187 *
3188 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota
3189 */
3190 readonly quota?: CfnUsagePlan.QuotaSettingsProperty | cdk.IResolvable;
3191 /**
3192 * An array of arbitrary tags (key-value pairs) to associate with the usage plan.
3193 *
3194 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-tags
3195 */
3196 readonly tags?: cdk.CfnTag[];
3197 /**
3198 * Configures the overall request rate (average requests per second) and burst capacity.
3199 *
3200 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle
3201 */
3202 readonly throttle?: CfnUsagePlan.ThrottleSettingsProperty | cdk.IResolvable;
3203 /**
3204 * A name for the usage plan.
3205 *
3206 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname
3207 */
3208 readonly usagePlanName?: string;
3209}
3210/**
3211 * A CloudFormation `AWS::ApiGateway::UsagePlan`
3212 *
3213 * The `AWS::ApiGateway::UsagePlan` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide* .
3214 *
3215 * In some cases clients can exceed the targets that you set. Don’t rely on usage plans to control costs. Consider using [AWS Budgets](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests.
3216 *
3217 * @cloudformationResource AWS::ApiGateway::UsagePlan
3218 * @stability external
3219 *
3220 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html
3221 */
3222export declare class CfnUsagePlan extends cdk.CfnResource implements cdk.IInspectable {
3223 /**
3224 * The CloudFormation resource type name for this resource class.
3225 */
3226 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::UsagePlan";
3227 /**
3228 * A factory method that creates a new instance of this class from an object
3229 * containing the CloudFormation properties of this resource.
3230 * Used in the @aws-cdk/cloudformation-include module.
3231 *
3232 * @internal
3233 */
3234 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnUsagePlan;
3235 /**
3236 * The ID for the usage plan. For example: `abc123` .
3237 * @cloudformationAttribute Id
3238 */
3239 readonly attrId: string;
3240 /**
3241 * The API stages to associate with this usage plan.
3242 *
3243 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-apistages
3244 */
3245 apiStages: Array<CfnUsagePlan.ApiStageProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
3246 /**
3247 * A description of the usage plan.
3248 *
3249 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-description
3250 */
3251 description: string | undefined;
3252 /**
3253 * Configures the number of requests that users can make within a given interval.
3254 *
3255 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota
3256 */
3257 quota: CfnUsagePlan.QuotaSettingsProperty | cdk.IResolvable | undefined;
3258 /**
3259 * An array of arbitrary tags (key-value pairs) to associate with the usage plan.
3260 *
3261 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-tags
3262 */
3263 readonly tags: cdk.TagManager;
3264 /**
3265 * Configures the overall request rate (average requests per second) and burst capacity.
3266 *
3267 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle
3268 */
3269 throttle: CfnUsagePlan.ThrottleSettingsProperty | cdk.IResolvable | undefined;
3270 /**
3271 * A name for the usage plan.
3272 *
3273 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname
3274 */
3275 usagePlanName: string | undefined;
3276 /**
3277 * Create a new `AWS::ApiGateway::UsagePlan`.
3278 *
3279 * @param scope - scope in which this resource is defined
3280 * @param id - scoped id of the resource
3281 * @param props - resource properties
3282 */
3283 constructor(scope: cdk.Construct, id: string, props?: CfnUsagePlanProps);
3284 /**
3285 * Examines the CloudFormation resource and discloses attributes.
3286 *
3287 * @param inspector - tree inspector to collect and process attributes
3288 *
3289 */
3290 inspect(inspector: cdk.TreeInspector): void;
3291 protected get cfnProperties(): {
3292 [key: string]: any;
3293 };
3294 protected renderProperties(props: {
3295 [key: string]: any;
3296 }): {
3297 [key: string]: any;
3298 };
3299}
3300export declare namespace CfnUsagePlan {
3301 /**
3302 * `ApiStage` is a property of the [AWS::ApiGateway::UsagePlan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html) resource that specifies which stages and APIs to associate with a usage plan.
3303 *
3304 * @struct
3305 * @stability external
3306 *
3307 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html
3308 */
3309 interface ApiStageProperty {
3310 /**
3311 * The ID of an API that is in the specified `Stage` property that you want to associate with the usage plan.
3312 *
3313 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-apiid
3314 */
3315 readonly apiId?: string;
3316 /**
3317 * The name of the stage to associate with the usage plan.
3318 *
3319 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-stage
3320 */
3321 readonly stage?: string;
3322 /**
3323 * Map containing method-level throttling information for an API stage in a usage plan. The key for the map is the path and method for which to configure custom throttling, for example, "/pets/GET".
3324 *
3325 * Duplicates are not allowed.
3326 *
3327 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-throttle
3328 */
3329 readonly throttle?: {
3330 [key: string]: (CfnUsagePlan.ThrottleSettingsProperty | cdk.IResolvable);
3331 } | cdk.IResolvable;
3332 }
3333}
3334export declare namespace CfnUsagePlan {
3335 /**
3336 * `QuotaSettings` is a property of the [AWS::ApiGateway::UsagePlan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html) resource that specifies a target for the maximum number of requests users can make to your REST APIs.
3337 *
3338 * In some cases clients can exceed the targets that you set. Don’t rely on usage plans to control costs. Consider using [AWS Budgets](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests.
3339 *
3340 * @struct
3341 * @stability external
3342 *
3343 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html
3344 */
3345 interface QuotaSettingsProperty {
3346 /**
3347 * The target maximum number of requests that can be made in a given time period.
3348 *
3349 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html#cfn-apigateway-usageplan-quotasettings-limit
3350 */
3351 readonly limit?: number;
3352 /**
3353 * The day that a time period starts. For example, with a time period of `WEEK` , an offset of `0` starts on Sunday, and an offset of `1` starts on Monday.
3354 *
3355 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html#cfn-apigateway-usageplan-quotasettings-offset
3356 */
3357 readonly offset?: number;
3358 /**
3359 * The time period for which the target maximum limit of requests applies, such as `DAY` or `WEEK` . For valid values, see the period property for the [UsagePlan](https://docs.aws.amazon.com/apigateway/api-reference/resource/usage-plan) resource in the *Amazon API Gateway REST API Reference* .
3360 *
3361 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html#cfn-apigateway-usageplan-quotasettings-period
3362 */
3363 readonly period?: string;
3364 }
3365}
3366export declare namespace CfnUsagePlan {
3367 /**
3368 * `ThrottleSettings` is a property of the [AWS::ApiGateway::UsagePlan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html) resource that specifies the overall request rate (average requests per second) and burst capacity when users call your REST APIs.
3369 *
3370 * @struct
3371 * @stability external
3372 *
3373 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html
3374 */
3375 interface ThrottleSettingsProperty {
3376 /**
3377 * The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit. For more information about request throttling, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .
3378 *
3379 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html#cfn-apigateway-usageplan-throttlesettings-burstlimit
3380 */
3381 readonly burstLimit?: number;
3382 /**
3383 * The API target request steady-state rate limit. For more information about request throttling, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* .
3384 *
3385 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html#cfn-apigateway-usageplan-throttlesettings-ratelimit
3386 */
3387 readonly rateLimit?: number;
3388 }
3389}
3390/**
3391 * Properties for defining a `CfnUsagePlanKey`
3392 *
3393 * @struct
3394 * @stability external
3395 *
3396 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html
3397 */
3398export interface CfnUsagePlanKeyProps {
3399 /**
3400 * The ID of the usage plan key.
3401 *
3402 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html#cfn-apigateway-usageplankey-keyid
3403 */
3404 readonly keyId: string;
3405 /**
3406 * The type of usage plan key. Currently, the only valid key type is `API_KEY` .
3407 *
3408 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html#cfn-apigateway-usageplankey-keytype
3409 */
3410 readonly keyType: string;
3411 /**
3412 * The ID of the usage plan.
3413 *
3414 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html#cfn-apigateway-usageplankey-usageplanid
3415 */
3416 readonly usagePlanId: string;
3417}
3418/**
3419 * A CloudFormation `AWS::ApiGateway::UsagePlanKey`
3420 *
3421 * The `AWS::ApiGateway::UsagePlanKey` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to.
3422 *
3423 * @cloudformationResource AWS::ApiGateway::UsagePlanKey
3424 * @stability external
3425 *
3426 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html
3427 */
3428export declare class CfnUsagePlanKey extends cdk.CfnResource implements cdk.IInspectable {
3429 /**
3430 * The CloudFormation resource type name for this resource class.
3431 */
3432 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::UsagePlanKey";
3433 /**
3434 * A factory method that creates a new instance of this class from an object
3435 * containing the CloudFormation properties of this resource.
3436 * Used in the @aws-cdk/cloudformation-include module.
3437 *
3438 * @internal
3439 */
3440 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnUsagePlanKey;
3441 /**
3442 *
3443 * @cloudformationAttribute Id
3444 */
3445 readonly attrId: string;
3446 /**
3447 * The ID of the usage plan key.
3448 *
3449 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html#cfn-apigateway-usageplankey-keyid
3450 */
3451 keyId: string;
3452 /**
3453 * The type of usage plan key. Currently, the only valid key type is `API_KEY` .
3454 *
3455 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html#cfn-apigateway-usageplankey-keytype
3456 */
3457 keyType: string;
3458 /**
3459 * The ID of the usage plan.
3460 *
3461 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html#cfn-apigateway-usageplankey-usageplanid
3462 */
3463 usagePlanId: string;
3464 /**
3465 * Create a new `AWS::ApiGateway::UsagePlanKey`.
3466 *
3467 * @param scope - scope in which this resource is defined
3468 * @param id - scoped id of the resource
3469 * @param props - resource properties
3470 */
3471 constructor(scope: cdk.Construct, id: string, props: CfnUsagePlanKeyProps);
3472 /**
3473 * Examines the CloudFormation resource and discloses attributes.
3474 *
3475 * @param inspector - tree inspector to collect and process attributes
3476 *
3477 */
3478 inspect(inspector: cdk.TreeInspector): void;
3479 protected get cfnProperties(): {
3480 [key: string]: any;
3481 };
3482 protected renderProperties(props: {
3483 [key: string]: any;
3484 }): {
3485 [key: string]: any;
3486 };
3487}
3488/**
3489 * Properties for defining a `CfnVpcLink`
3490 *
3491 * @struct
3492 * @stability external
3493 *
3494 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html
3495 */
3496export interface CfnVpcLinkProps {
3497 /**
3498 * A name for the VPC link.
3499 *
3500 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-name
3501 */
3502 readonly name: string;
3503 /**
3504 * The ARN of network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.
3505 *
3506 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-targetarns
3507 */
3508 readonly targetArns: string[];
3509 /**
3510 * A description of the VPC link.
3511 *
3512 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-description
3513 */
3514 readonly description?: string;
3515 /**
3516 * An array of arbitrary tags (key-value pairs) to associate with the VPC link.
3517 *
3518 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-tags
3519 */
3520 readonly tags?: cdk.CfnTag[];
3521}
3522/**
3523 * A CloudFormation `AWS::ApiGateway::VpcLink`
3524 *
3525 * The `AWS::ApiGateway::VpcLink` resource creates an API Gateway VPC link for a REST API to access resources in an Amazon Virtual Private Cloud (VPC). For more information, see [vpclink:create](https://docs.aws.amazon.com/apigateway/api-reference/link-relation/vpclink-create/) in the `Amazon API Gateway REST API Reference` .
3526 *
3527 * @cloudformationResource AWS::ApiGateway::VpcLink
3528 * @stability external
3529 *
3530 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html
3531 */
3532export declare class CfnVpcLink extends cdk.CfnResource implements cdk.IInspectable {
3533 /**
3534 * The CloudFormation resource type name for this resource class.
3535 */
3536 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::ApiGateway::VpcLink";
3537 /**
3538 * A factory method that creates a new instance of this class from an object
3539 * containing the CloudFormation properties of this resource.
3540 * Used in the @aws-cdk/cloudformation-include module.
3541 *
3542 * @internal
3543 */
3544 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnVpcLink;
3545 /**
3546 * A name for the VPC link.
3547 *
3548 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-name
3549 */
3550 name: string;
3551 /**
3552 * The ARN of network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.
3553 *
3554 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-targetarns
3555 */
3556 targetArns: string[];
3557 /**
3558 * A description of the VPC link.
3559 *
3560 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-description
3561 */
3562 description: string | undefined;
3563 /**
3564 * An array of arbitrary tags (key-value pairs) to associate with the VPC link.
3565 *
3566 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-tags
3567 */
3568 readonly tags: cdk.TagManager;
3569 /**
3570 * Create a new `AWS::ApiGateway::VpcLink`.
3571 *
3572 * @param scope - scope in which this resource is defined
3573 * @param id - scoped id of the resource
3574 * @param props - resource properties
3575 */
3576 constructor(scope: cdk.Construct, id: string, props: CfnVpcLinkProps);
3577 /**
3578 * Examines the CloudFormation resource and discloses attributes.
3579 *
3580 * @param inspector - tree inspector to collect and process attributes
3581 *
3582 */
3583 inspect(inspector: cdk.TreeInspector): void;
3584 protected get cfnProperties(): {
3585 [key: string]: any;
3586 };
3587 protected renderProperties(props: {
3588 [key: string]: any;
3589 }): {
3590 [key: string]: any;
3591 };
3592}