UNPKG

cdk-internal-gateway

Version:

CDK construct to create to create internal serverless applications.

1,168 lines (736 loc) 57.2 kB
# API Reference <a name="API Reference" id="api-reference"></a> ## Constructs <a name="Constructs" id="Constructs"></a> ### InternalApiGateway <a name="InternalApiGateway" id="cdk-internal-gateway.InternalApiGateway"></a> #### Initializers <a name="Initializers" id="cdk-internal-gateway.InternalApiGateway.Initializer"></a> ```typescript import { InternalApiGateway } from 'cdk-internal-gateway' new InternalApiGateway(scope: Construct, id: string, props: InternalApiGatewayProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#cdk-internal-gateway.InternalApiGateway.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* | | <code><a href="#cdk-internal-gateway.InternalApiGateway.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* | | <code><a href="#cdk-internal-gateway.InternalApiGateway.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps">InternalApiGatewayProps</a></code> | *No description.* | --- ##### `scope`<sup>Required</sup> <a name="scope" id="cdk-internal-gateway.InternalApiGateway.Initializer.parameter.scope"></a> - *Type:* constructs.Construct --- ##### `id`<sup>Required</sup> <a name="id" id="cdk-internal-gateway.InternalApiGateway.Initializer.parameter.id"></a> - *Type:* string --- ##### `props`<sup>Required</sup> <a name="props" id="cdk-internal-gateway.InternalApiGateway.Initializer.parameter.props"></a> - *Type:* <a href="#cdk-internal-gateway.InternalApiGatewayProps">InternalApiGatewayProps</a> --- #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#cdk-internal-gateway.InternalApiGateway.toString">toString</a></code> | Returns a string representation of this construct. | --- ##### `toString` <a name="toString" id="cdk-internal-gateway.InternalApiGateway.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. #### Static Functions <a name="Static Functions" id="Static Functions"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#cdk-internal-gateway.InternalApiGateway.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. | --- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-internal-gateway.InternalApiGateway.isConstruct"></a> ```typescript import { InternalApiGateway } from 'cdk-internal-gateway' InternalApiGateway.isConstruct(x: any) ``` Checks if `x` is a construct. ###### `x`<sup>Required</sup> <a name="x" id="cdk-internal-gateway.InternalApiGateway.isConstruct.parameter.x"></a> - *Type:* any Any object. --- #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#cdk-internal-gateway.InternalApiGateway.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. | --- ##### `node`<sup>Required</sup> <a name="node" id="cdk-internal-gateway.InternalApiGateway.property.node"></a> ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ### InternalService <a name="InternalService" id="cdk-internal-gateway.InternalService"></a> #### Initializers <a name="Initializers" id="cdk-internal-gateway.InternalService.Initializer"></a> ```typescript import { InternalService } from 'cdk-internal-gateway' new InternalService(scope: Construct, id: string, props: InternalServiceProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#cdk-internal-gateway.InternalService.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* | | <code><a href="#cdk-internal-gateway.InternalService.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* | | <code><a href="#cdk-internal-gateway.InternalService.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-internal-gateway.InternalServiceProps">InternalServiceProps</a></code> | *No description.* | --- ##### `scope`<sup>Required</sup> <a name="scope" id="cdk-internal-gateway.InternalService.Initializer.parameter.scope"></a> - *Type:* constructs.Construct --- ##### `id`<sup>Required</sup> <a name="id" id="cdk-internal-gateway.InternalService.Initializer.parameter.id"></a> - *Type:* string --- ##### `props`<sup>Required</sup> <a name="props" id="cdk-internal-gateway.InternalService.Initializer.parameter.props"></a> - *Type:* <a href="#cdk-internal-gateway.InternalServiceProps">InternalServiceProps</a> --- #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#cdk-internal-gateway.InternalService.toString">toString</a></code> | Returns a string representation of this construct. | --- ##### `toString` <a name="toString" id="cdk-internal-gateway.InternalService.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. #### Static Functions <a name="Static Functions" id="Static Functions"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#cdk-internal-gateway.InternalService.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. | --- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-internal-gateway.InternalService.isConstruct"></a> ```typescript import { InternalService } from 'cdk-internal-gateway' InternalService.isConstruct(x: any) ``` Checks if `x` is a construct. ###### `x`<sup>Required</sup> <a name="x" id="cdk-internal-gateway.InternalService.isConstruct.parameter.x"></a> - *Type:* any Any object. --- #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#cdk-internal-gateway.InternalService.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. | | <code><a href="#cdk-internal-gateway.InternalService.property.applicationLoadBalancer">applicationLoadBalancer</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer</code> | The application load balancer created by the internal service stack. | | <code><a href="#cdk-internal-gateway.InternalService.property.domains">domains</a></code> | <code>aws-cdk-lib.aws_apigateway.IDomainName[]</code> | List of domains created by the internal service stack and shared with the api gateway stack. | --- ##### `node`<sup>Required</sup> <a name="node" id="cdk-internal-gateway.InternalService.property.node"></a> ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ##### `applicationLoadBalancer`<sup>Required</sup> <a name="applicationLoadBalancer" id="cdk-internal-gateway.InternalService.property.applicationLoadBalancer"></a> ```typescript public readonly applicationLoadBalancer: ApplicationLoadBalancer; ``` - *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.ApplicationLoadBalancer The application load balancer created by the internal service stack. --- ##### `domains`<sup>Required</sup> <a name="domains" id="cdk-internal-gateway.InternalService.property.domains"></a> ```typescript public readonly domains: IDomainName[]; ``` - *Type:* aws-cdk-lib.aws_apigateway.IDomainName[] List of domains created by the internal service stack and shared with the api gateway stack. --- ### InternalWebsite <a name="InternalWebsite" id="cdk-internal-gateway.InternalWebsite"></a> #### Initializers <a name="Initializers" id="cdk-internal-gateway.InternalWebsite.Initializer"></a> ```typescript import { InternalWebsite } from 'cdk-internal-gateway' new InternalWebsite(scope: Construct, id: string, props: InternalWebsiteProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#cdk-internal-gateway.InternalWebsite.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* | | <code><a href="#cdk-internal-gateway.InternalWebsite.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* | | <code><a href="#cdk-internal-gateway.InternalWebsite.Initializer.parameter.props">props</a></code> | <code><a href="#cdk-internal-gateway.InternalWebsiteProps">InternalWebsiteProps</a></code> | *No description.* | --- ##### `scope`<sup>Required</sup> <a name="scope" id="cdk-internal-gateway.InternalWebsite.Initializer.parameter.scope"></a> - *Type:* constructs.Construct --- ##### `id`<sup>Required</sup> <a name="id" id="cdk-internal-gateway.InternalWebsite.Initializer.parameter.id"></a> - *Type:* string --- ##### `props`<sup>Required</sup> <a name="props" id="cdk-internal-gateway.InternalWebsite.Initializer.parameter.props"></a> - *Type:* <a href="#cdk-internal-gateway.InternalWebsiteProps">InternalWebsiteProps</a> --- #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#cdk-internal-gateway.InternalWebsite.toString">toString</a></code> | Returns a string representation of this construct. | --- ##### `toString` <a name="toString" id="cdk-internal-gateway.InternalWebsite.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. #### Static Functions <a name="Static Functions" id="Static Functions"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#cdk-internal-gateway.InternalWebsite.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. | --- ##### ~~`isConstruct`~~ <a name="isConstruct" id="cdk-internal-gateway.InternalWebsite.isConstruct"></a> ```typescript import { InternalWebsite } from 'cdk-internal-gateway' InternalWebsite.isConstruct(x: any) ``` Checks if `x` is a construct. ###### `x`<sup>Required</sup> <a name="x" id="cdk-internal-gateway.InternalWebsite.isConstruct.parameter.x"></a> - *Type:* any Any object. --- #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#cdk-internal-gateway.InternalWebsite.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. | --- ##### `node`<sup>Required</sup> <a name="node" id="cdk-internal-gateway.InternalWebsite.property.node"></a> ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ## Structs <a name="Structs" id="Structs"></a> ### InternalApiGatewayProps <a name="InternalApiGatewayProps" id="cdk-internal-gateway.InternalApiGatewayProps"></a> Properties for ApiGateway Includes all properties of RestApiProps except: endpointConfiguration, policy This is done by intention to prevent the user from overriding the required security settings. #### Initializer <a name="Initializer" id="cdk-internal-gateway.InternalApiGatewayProps.Initializer"></a> ```typescript import { InternalApiGatewayProps } from 'cdk-internal-gateway' const internalApiGatewayProps: InternalApiGatewayProps = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.defaultCorsPreflightOptions">defaultCorsPreflightOptions</a></code> | <code>aws-cdk-lib.aws_apigateway.CorsOptions</code> | Adds a CORS preflight OPTIONS method to this resource and all child resources. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.defaultIntegration">defaultIntegration</a></code> | <code>aws-cdk-lib.aws_apigateway.Integration</code> | An integration to use as a default for all methods created within this API unless an integration is specified. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.defaultMethodOptions">defaultMethodOptions</a></code> | <code>aws-cdk-lib.aws_apigateway.MethodOptions</code> | Method options to use as a default for all methods created within this API unless custom options are specified. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.cloudWatchRole">cloudWatchRole</a></code> | <code>boolean</code> | Automatically configure an AWS CloudWatch role for API Gateway. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.deploy">deploy</a></code> | <code>boolean</code> | Indicates if a Deployment should be automatically created for this API, and recreated when the API model (resources, methods) changes. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.deployOptions">deployOptions</a></code> | <code>aws-cdk-lib.aws_apigateway.StageOptions</code> | Options for the API Gateway stage that will always point to the latest deployment when `deploy` is enabled. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.description">description</a></code> | <code>string</code> | A description of the RestApi construct. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.disableExecuteApiEndpoint">disableExecuteApiEndpoint</a></code> | <code>boolean</code> | Specifies whether clients can invoke the API using the default execute-api endpoint. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.domainName">domainName</a></code> | <code>aws-cdk-lib.aws_apigateway.DomainNameOptions</code> | Configure a custom domain name and map it to this API. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.endpointExportName">endpointExportName</a></code> | <code>string</code> | Export name for the CfnOutput containing the API endpoint. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.endpointTypes">endpointTypes</a></code> | <code>aws-cdk-lib.aws_apigateway.EndpointType[]</code> | A list of the endpoint types of the API. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.failOnWarnings">failOnWarnings</a></code> | <code>boolean</code> | Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the RestApi resource. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.parameters">parameters</a></code> | <code>{[ key: string ]: string}</code> | Custom header parameters for the request. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.policy">policy</a></code> | <code>aws-cdk-lib.aws_iam.PolicyDocument</code> | A policy document that contains the permissions for this RestApi. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.restApiName">restApiName</a></code> | <code>string</code> | A name for the API Gateway RestApi resource. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.retainDeployments">retainDeployments</a></code> | <code>boolean</code> | Retains old deployment resources when the API changes. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.apiKeySourceType">apiKeySourceType</a></code> | <code>aws-cdk-lib.aws_apigateway.ApiKeySourceType</code> | The source of the API key for metering requests according to a usage plan. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.binaryMediaTypes">binaryMediaTypes</a></code> | <code>string[]</code> | The list of binary media mime-types that are supported by the RestApi resource, such as "image/png" or "application/octet-stream". | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.cloneFrom">cloneFrom</a></code> | <code>aws-cdk-lib.aws_apigateway.IRestApi</code> | The ID of the API Gateway RestApi resource that you want to clone. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.endpointConfiguration">endpointConfiguration</a></code> | <code>aws-cdk-lib.aws_apigateway.EndpointConfiguration</code> | The EndpointConfiguration property type specifies the endpoint types of a REST API. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.minCompressionSize">minCompressionSize</a></code> | <code>aws-cdk-lib.Size</code> | A Size(in bytes, kibibytes, mebibytes etc) that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (when undefined) on an API. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.minimumCompressionSize">minimumCompressionSize</a></code> | <code>number</code> | A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (when undefined) on an API. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.domains">domains</a></code> | <code>aws-cdk-lib.aws_apigateway.IDomainName[]</code> | List of custom domains names to be used for the API Gateway. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.vpcEndpoint">vpcEndpoint</a></code> | <code>aws-cdk-lib.aws_ec2.IInterfaceVpcEndpoint</code> | VPC endpoint id of execute-api vpc endpoint. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.apiBasePathMappingPath">apiBasePathMappingPath</a></code> | <code>string</code> | Path for custom domain base path mapping that will be attached to the api gateway. | | <code><a href="#cdk-internal-gateway.InternalApiGatewayProps.property.stage">stage</a></code> | <code>string</code> | Stage name used for all cloudformation resource names and internal aws resource names. | --- ##### `defaultCorsPreflightOptions`<sup>Optional</sup> <a name="defaultCorsPreflightOptions" id="cdk-internal-gateway.InternalApiGatewayProps.property.defaultCorsPreflightOptions"></a> ```typescript public readonly defaultCorsPreflightOptions: CorsOptions; ``` - *Type:* aws-cdk-lib.aws_apigateway.CorsOptions - *Default:* CORS is disabled Adds a CORS preflight OPTIONS method to this resource and all child resources. You can add CORS at the resource-level using `addCorsPreflight`. --- ##### `defaultIntegration`<sup>Optional</sup> <a name="defaultIntegration" id="cdk-internal-gateway.InternalApiGatewayProps.property.defaultIntegration"></a> ```typescript public readonly defaultIntegration: Integration; ``` - *Type:* aws-cdk-lib.aws_apigateway.Integration - *Default:* Inherited from parent. An integration to use as a default for all methods created within this API unless an integration is specified. --- ##### `defaultMethodOptions`<sup>Optional</sup> <a name="defaultMethodOptions" id="cdk-internal-gateway.InternalApiGatewayProps.property.defaultMethodOptions"></a> ```typescript public readonly defaultMethodOptions: MethodOptions; ``` - *Type:* aws-cdk-lib.aws_apigateway.MethodOptions - *Default:* Inherited from parent. Method options to use as a default for all methods created within this API unless custom options are specified. --- ##### `cloudWatchRole`<sup>Optional</sup> <a name="cloudWatchRole" id="cdk-internal-gateway.InternalApiGatewayProps.property.cloudWatchRole"></a> ```typescript public readonly cloudWatchRole: boolean; ``` - *Type:* boolean - *Default:* false if `@aws-cdk/aws-apigateway:disableCloudWatchRole` is enabled, true otherwise Automatically configure an AWS CloudWatch role for API Gateway. --- ##### `deploy`<sup>Optional</sup> <a name="deploy" id="cdk-internal-gateway.InternalApiGatewayProps.property.deploy"></a> ```typescript public readonly deploy: boolean; ``` - *Type:* boolean - *Default:* true Indicates if a Deployment should be automatically created for this API, and recreated when the API model (resources, methods) changes. Since API Gateway deployments are immutable, When this option is enabled (by default), an AWS::ApiGateway::Deployment resource will automatically created with a logical ID that hashes the API model (methods, resources and options). This means that when the model changes, the logical ID of this CloudFormation resource will change, and a new deployment will be created. If this is set, `latestDeployment` will refer to the `Deployment` object and `deploymentStage` will refer to a `Stage` that points to this deployment. To customize the stage options, use the `deployOptions` property. A CloudFormation Output will also be defined with the root URL endpoint of this REST API. --- ##### `deployOptions`<sup>Optional</sup> <a name="deployOptions" id="cdk-internal-gateway.InternalApiGatewayProps.property.deployOptions"></a> ```typescript public readonly deployOptions: StageOptions; ``` - *Type:* aws-cdk-lib.aws_apigateway.StageOptions - *Default:* Based on defaults of `StageOptions`. Options for the API Gateway stage that will always point to the latest deployment when `deploy` is enabled. If `deploy` is disabled, this value cannot be set. --- ##### `description`<sup>Optional</sup> <a name="description" id="cdk-internal-gateway.InternalApiGatewayProps.property.description"></a> ```typescript public readonly description: string; ``` - *Type:* string - *Default:* 'Automatically created by the RestApi construct' A description of the RestApi construct. --- ##### `disableExecuteApiEndpoint`<sup>Optional</sup> <a name="disableExecuteApiEndpoint" id="cdk-internal-gateway.InternalApiGatewayProps.property.disableExecuteApiEndpoint"></a> ```typescript public readonly disableExecuteApiEndpoint: boolean; ``` - *Type:* boolean - *Default:* false Specifies whether clients can invoke the API using the default execute-api endpoint. To require that clients use a custom domain name to invoke the API, disable the default endpoint. > [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) --- ##### `domainName`<sup>Optional</sup> <a name="domainName" id="cdk-internal-gateway.InternalApiGatewayProps.property.domainName"></a> ```typescript public readonly domainName: DomainNameOptions; ``` - *Type:* aws-cdk-lib.aws_apigateway.DomainNameOptions - *Default:* no domain name is defined, use `addDomainName` or directly define a `DomainName`. Configure a custom domain name and map it to this API. --- ##### `endpointExportName`<sup>Optional</sup> <a name="endpointExportName" id="cdk-internal-gateway.InternalApiGatewayProps.property.endpointExportName"></a> ```typescript public readonly endpointExportName: string; ``` - *Type:* string - *Default:* when no export name is given, output will be created without export Export name for the CfnOutput containing the API endpoint. --- ##### `endpointTypes`<sup>Optional</sup> <a name="endpointTypes" id="cdk-internal-gateway.InternalApiGatewayProps.property.endpointTypes"></a> ```typescript public readonly endpointTypes: EndpointType[]; ``` - *Type:* aws-cdk-lib.aws_apigateway.EndpointType[] - *Default:* EndpointType.EDGE A list of the endpoint types of the API. Use this property when creating an API. --- ##### `failOnWarnings`<sup>Optional</sup> <a name="failOnWarnings" id="cdk-internal-gateway.InternalApiGatewayProps.property.failOnWarnings"></a> ```typescript public readonly failOnWarnings: boolean; ``` - *Type:* boolean - *Default:* false Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the RestApi resource. --- ##### `parameters`<sup>Optional</sup> <a name="parameters" id="cdk-internal-gateway.InternalApiGatewayProps.property.parameters"></a> ```typescript public readonly parameters: {[ key: string ]: string}; ``` - *Type:* {[ key: string ]: string} - *Default:* No parameters. Custom header parameters for the request. > [https://docs.aws.amazon.com/cli/latest/reference/apigateway/import-rest-api.html](https://docs.aws.amazon.com/cli/latest/reference/apigateway/import-rest-api.html) --- ##### `policy`<sup>Optional</sup> <a name="policy" id="cdk-internal-gateway.InternalApiGatewayProps.property.policy"></a> ```typescript public readonly policy: PolicyDocument; ``` - *Type:* aws-cdk-lib.aws_iam.PolicyDocument - *Default:* No policy. A policy document that contains the permissions for this RestApi. --- ##### `restApiName`<sup>Optional</sup> <a name="restApiName" id="cdk-internal-gateway.InternalApiGatewayProps.property.restApiName"></a> ```typescript public readonly restApiName: string; ``` - *Type:* string - *Default:* ID of the RestApi construct. A name for the API Gateway RestApi resource. --- ##### `retainDeployments`<sup>Optional</sup> <a name="retainDeployments" id="cdk-internal-gateway.InternalApiGatewayProps.property.retainDeployments"></a> ```typescript public readonly retainDeployments: boolean; ``` - *Type:* boolean - *Default:* false Retains old deployment resources when the API changes. This allows manually reverting stages to point to old deployments via the AWS Console. --- ##### `apiKeySourceType`<sup>Optional</sup> <a name="apiKeySourceType" id="cdk-internal-gateway.InternalApiGatewayProps.property.apiKeySourceType"></a> ```typescript public readonly apiKeySourceType: ApiKeySourceType; ``` - *Type:* aws-cdk-lib.aws_apigateway.ApiKeySourceType - *Default:* Metering is disabled. The source of the API key for metering requests according to a usage plan. --- ##### `binaryMediaTypes`<sup>Optional</sup> <a name="binaryMediaTypes" id="cdk-internal-gateway.InternalApiGatewayProps.property.binaryMediaTypes"></a> ```typescript public readonly binaryMediaTypes: string[]; ``` - *Type:* string[] - *Default:* RestApi supports only UTF-8-encoded text payloads. The list of binary media mime-types that are supported by the RestApi resource, such as "image/png" or "application/octet-stream". --- ##### `cloneFrom`<sup>Optional</sup> <a name="cloneFrom" id="cdk-internal-gateway.InternalApiGatewayProps.property.cloneFrom"></a> ```typescript public readonly cloneFrom: IRestApi; ``` - *Type:* aws-cdk-lib.aws_apigateway.IRestApi - *Default:* None. The ID of the API Gateway RestApi resource that you want to clone. --- ##### `endpointConfiguration`<sup>Optional</sup> <a name="endpointConfiguration" id="cdk-internal-gateway.InternalApiGatewayProps.property.endpointConfiguration"></a> ```typescript public readonly endpointConfiguration: EndpointConfiguration; ``` - *Type:* aws-cdk-lib.aws_apigateway.EndpointConfiguration - *Default:* EndpointType.EDGE The EndpointConfiguration property type specifies the endpoint types of a REST API. > [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html) --- ##### `minCompressionSize`<sup>Optional</sup> <a name="minCompressionSize" id="cdk-internal-gateway.InternalApiGatewayProps.property.minCompressionSize"></a> ```typescript public readonly minCompressionSize: Size; ``` - *Type:* aws-cdk-lib.Size - *Default:* Compression is disabled. A Size(in bytes, kibibytes, mebibytes etc) that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (when undefined) 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. --- ##### ~~`minimumCompressionSize`~~<sup>Optional</sup> <a name="minimumCompressionSize" id="cdk-internal-gateway.InternalApiGatewayProps.property.minimumCompressionSize"></a> - *Deprecated:* - superseded by `minCompressionSize` ```typescript public readonly minimumCompressionSize: number; ``` - *Type:* number - *Default:* Compression is disabled. A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (when undefined) 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. --- ##### `domains`<sup>Required</sup> <a name="domains" id="cdk-internal-gateway.InternalApiGatewayProps.property.domains"></a> ```typescript public readonly domains: IDomainName[]; ``` - *Type:* aws-cdk-lib.aws_apigateway.IDomainName[] List of custom domains names to be used for the API Gateway. --- ##### `vpcEndpoint`<sup>Required</sup> <a name="vpcEndpoint" id="cdk-internal-gateway.InternalApiGatewayProps.property.vpcEndpoint"></a> ```typescript public readonly vpcEndpoint: IInterfaceVpcEndpoint; ``` - *Type:* aws-cdk-lib.aws_ec2.IInterfaceVpcEndpoint VPC endpoint id of execute-api vpc endpoint. This endpoint will be used to forward requests from the load balancer`s target group to the api gateway. --- ##### `apiBasePathMappingPath`<sup>Optional</sup> <a name="apiBasePathMappingPath" id="cdk-internal-gateway.InternalApiGatewayProps.property.apiBasePathMappingPath"></a> ```typescript public readonly apiBasePathMappingPath: string; ``` - *Type:* string Path for custom domain base path mapping that will be attached to the api gateway. --- ##### ~~`stage`~~<sup>Optional</sup> <a name="stage" id="cdk-internal-gateway.InternalApiGatewayProps.property.stage"></a> - *Deprecated:* use deployOptions.stageName instead ```typescript public readonly stage: string; ``` - *Type:* string Stage name used for all cloudformation resource names and internal aws resource names. --- ### InternalServiceProps <a name="InternalServiceProps" id="cdk-internal-gateway.InternalServiceProps"></a> Properties for InternalService. #### Initializer <a name="Initializer" id="cdk-internal-gateway.InternalServiceProps.Initializer"></a> ```typescript import { InternalServiceProps } from 'cdk-internal-gateway' const internalServiceProps: InternalServiceProps = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#cdk-internal-gateway.InternalServiceProps.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | Hosted zone that will be used for the custom domain. | | <code><a href="#cdk-internal-gateway.InternalServiceProps.property.subDomain">subDomain</a></code> | <code>string</code> | Subdomain attached to hosted zone name. | | <code><a href="#cdk-internal-gateway.InternalServiceProps.property.subjectAlternativeNames">subjectAlternativeNames</a></code> | <code>string[]</code> | List of alternative domains attached to the solution. | | <code><a href="#cdk-internal-gateway.InternalServiceProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Subnets attached to the application load balancer. | | <code><a href="#cdk-internal-gateway.InternalServiceProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC attached to the application load balancer. | | <code><a href="#cdk-internal-gateway.InternalServiceProps.property.vpcEndpointIPAddresses">vpcEndpointIPAddresses</a></code> | <code>string[]</code> | VPC endpoint ip addresses attached to the load balancer`s target group. | | <code><a href="#cdk-internal-gateway.InternalServiceProps.property.addLoadBalancerRedirect">addLoadBalancerRedirect</a></code> | <code>boolean</code> | Add load balancer redirect from port 80 to 443. | | <code><a href="#cdk-internal-gateway.InternalServiceProps.property.customDomainSSLPolicy">customDomainSSLPolicy</a></code> | <code>aws-cdk-lib.aws_apigateway.SecurityPolicy</code> | SSLPolicy attached to the apigateway custom domain. | | <code><a href="#cdk-internal-gateway.InternalServiceProps.property.enableLoadBalancerAccessLogs">enableLoadBalancerAccessLogs</a></code> | <code>boolean</code> | Enable or disable access logs for the load balancer to follow AWS best practices for security. | | <code><a href="#cdk-internal-gateway.InternalServiceProps.property.loadBalancerListenerSSLPolicy">loadBalancerListenerSSLPolicy</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.SslPolicy</code> | SSLPolicy attached to the load balancer listener. | | <code><a href="#cdk-internal-gateway.InternalServiceProps.property.loadBalancerSecurityGroup">loadBalancerSecurityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Use a custom security group used for the load balancer. | --- ##### `hostedZone`<sup>Required</sup> <a name="hostedZone" id="cdk-internal-gateway.InternalServiceProps.property.hostedZone"></a> ```typescript public readonly hostedZone: IHostedZone; ``` - *Type:* aws-cdk-lib.aws_route53.IHostedZone Hosted zone that will be used for the custom domain. --- ##### `subDomain`<sup>Required</sup> <a name="subDomain" id="cdk-internal-gateway.InternalServiceProps.property.subDomain"></a> ```typescript public readonly subDomain: string; ``` - *Type:* string Subdomain attached to hosted zone name. --- ##### `subjectAlternativeNames`<sup>Required</sup> <a name="subjectAlternativeNames" id="cdk-internal-gateway.InternalServiceProps.property.subjectAlternativeNames"></a> ```typescript public readonly subjectAlternativeNames: string[]; ``` - *Type:* string[] List of alternative domains attached to the solution. --- ##### `subnetSelection`<sup>Required</sup> <a name="subnetSelection" id="cdk-internal-gateway.InternalServiceProps.property.subnetSelection"></a> ```typescript public readonly subnetSelection: SubnetSelection; ``` - *Type:* aws-cdk-lib.aws_ec2.SubnetSelection Subnets attached to the application load balancer. --- ##### `vpc`<sup>Required</sup> <a name="vpc" id="cdk-internal-gateway.InternalServiceProps.property.vpc"></a> ```typescript public readonly vpc: IVpc; ``` - *Type:* aws-cdk-lib.aws_ec2.IVpc VPC attached to the application load balancer. --- ##### `vpcEndpointIPAddresses`<sup>Required</sup> <a name="vpcEndpointIPAddresses" id="cdk-internal-gateway.InternalServiceProps.property.vpcEndpointIPAddresses"></a> ```typescript public readonly vpcEndpointIPAddresses: string[]; ``` - *Type:* string[] VPC endpoint ip addresses attached to the load balancer`s target group. --- ##### `addLoadBalancerRedirect`<sup>Optional</sup> <a name="addLoadBalancerRedirect" id="cdk-internal-gateway.InternalServiceProps.property.addLoadBalancerRedirect"></a> ```typescript public readonly addLoadBalancerRedirect: boolean; ``` - *Type:* boolean - *Default:* true Add load balancer redirect from port 80 to 443. --- ##### `customDomainSSLPolicy`<sup>Optional</sup> <a name="customDomainSSLPolicy" id="cdk-internal-gateway.InternalServiceProps.property.customDomainSSLPolicy"></a> ```typescript public readonly customDomainSSLPolicy: SecurityPolicy; ``` - *Type:* aws-cdk-lib.aws_apigateway.SecurityPolicy - *Default:* apigateway.SslPolicy.TLS_1_2 SSLPolicy attached to the apigateway custom domain. --- ##### `enableLoadBalancerAccessLogs`<sup>Optional</sup> <a name="enableLoadBalancerAccessLogs" id="cdk-internal-gateway.InternalServiceProps.property.enableLoadBalancerAccessLogs"></a> ```typescript public readonly enableLoadBalancerAccessLogs: boolean; ``` - *Type:* boolean - *Default:* true Enable or disable access logs for the load balancer to follow AWS best practices for security. --- ##### `loadBalancerListenerSSLPolicy`<sup>Optional</sup> <a name="loadBalancerListenerSSLPolicy" id="cdk-internal-gateway.InternalServiceProps.property.loadBalancerListenerSSLPolicy"></a> ```typescript public readonly loadBalancerListenerSSLPolicy: SslPolicy; ``` - *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.SslPolicy - *Default:* elb.SslPolicy.FORWARD_SECRECY_TLS12_RES_GCM SSLPolicy attached to the load balancer listener. --- ##### `loadBalancerSecurityGroup`<sup>Optional</sup> <a name="loadBalancerSecurityGroup" id="cdk-internal-gateway.InternalServiceProps.property.loadBalancerSecurityGroup"></a> ```typescript public readonly loadBalancerSecurityGroup: ISecurityGroup; ``` - *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup Use a custom security group used for the load balancer. By default, a security group will be created with inbound access to the typical private network CIDR ranges 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 and port 443. Any inbound access (0.0.0.0/0) is blocked by default to follow AWS best practices for security. Outbound traffic is allowed to all destinations. --- ### InternalWebsiteProps <a name="InternalWebsiteProps" id="cdk-internal-gateway.InternalWebsiteProps"></a> Properties for InternalService. #### Initializer <a name="Initializer" id="cdk-internal-gateway.InternalWebsiteProps.Initializer"></a> ```typescript import { InternalWebsiteProps } from 'cdk-internal-gateway' const internalWebsiteProps: InternalWebsiteProps = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.defaultCorsPreflightOptions">defaultCorsPreflightOptions</a></code> | <code>aws-cdk-lib.aws_apigateway.CorsOptions</code> | Adds a CORS preflight OPTIONS method to this resource and all child resources. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.defaultIntegration">defaultIntegration</a></code> | <code>aws-cdk-lib.aws_apigateway.Integration</code> | An integration to use as a default for all methods created within this API unless an integration is specified. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.defaultMethodOptions">defaultMethodOptions</a></code> | <code>aws-cdk-lib.aws_apigateway.MethodOptions</code> | Method options to use as a default for all methods created within this API unless custom options are specified. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.cloudWatchRole">cloudWatchRole</a></code> | <code>boolean</code> | Automatically configure an AWS CloudWatch role for API Gateway. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.deploy">deploy</a></code> | <code>boolean</code> | Indicates if a Deployment should be automatically created for this API, and recreated when the API model (resources, methods) changes. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.deployOptions">deployOptions</a></code> | <code>aws-cdk-lib.aws_apigateway.StageOptions</code> | Options for the API Gateway stage that will always point to the latest deployment when `deploy` is enabled. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.description">description</a></code> | <code>string</code> | A description of the RestApi construct. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.disableExecuteApiEndpoint">disableExecuteApiEndpoint</a></code> | <code>boolean</code> | Specifies whether clients can invoke the API using the default execute-api endpoint. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.domainName">domainName</a></code> | <code>aws-cdk-lib.aws_apigateway.DomainNameOptions</code> | Configure a custom domain name and map it to this API. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.endpointExportName">endpointExportName</a></code> | <code>string</code> | Export name for the CfnOutput containing the API endpoint. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.endpointTypes">endpointTypes</a></code> | <code>aws-cdk-lib.aws_apigateway.EndpointType[]</code> | A list of the endpoint types of the API. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.failOnWarnings">failOnWarnings</a></code> | <code>boolean</code> | Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the RestApi resource. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.parameters">parameters</a></code> | <code>{[ key: string ]: string}</code> | Custom header parameters for the request. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.policy">policy</a></code> | <code>aws-cdk-lib.aws_iam.PolicyDocument</code> | A policy document that contains the permissions for this RestApi. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.restApiName">restApiName</a></code> | <code>string</code> | A name for the API Gateway RestApi resource. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.retainDeployments">retainDeployments</a></code> | <code>boolean</code> | Retains old deployment resources when the API changes. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.apiKeySourceType">apiKeySourceType</a></code> | <code>aws-cdk-lib.aws_apigateway.ApiKeySourceType</code> | The source of the API key for metering requests according to a usage plan. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.binaryMediaTypes">binaryMediaTypes</a></code> | <code>string[]</code> | The list of binary media mime-types that are supported by the RestApi resource, such as "image/png" or "application/octet-stream". | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.cloneFrom">cloneFrom</a></code> | <code>aws-cdk-lib.aws_apigateway.IRestApi</code> | The ID of the API Gateway RestApi resource that you want to clone. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.endpointConfiguration">endpointConfiguration</a></code> | <code>aws-cdk-lib.aws_apigateway.EndpointConfiguration</code> | The EndpointConfiguration property type specifies the endpoint types of a REST API. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.minCompressionSize">minCompressionSize</a></code> | <code>aws-cdk-lib.Size</code> | A Size(in bytes, kibibytes, mebibytes etc) that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (when undefined) on an API. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.minimumCompressionSize">minimumCompressionSize</a></code> | <code>number</code> | A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (when undefined) on an API. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.domains">domains</a></code> | <code>aws-cdk-lib.aws_apigateway.IDomainName[]</code> | List of custom domains names to be used for the API Gateway. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.vpcEndpoint">vpcEndpoint</a></code> | <code>aws-cdk-lib.aws_ec2.IInterfaceVpcEndpoint</code> | VPC endpoint id of execute-api vpc endpoint. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.apiBasePathMappingPath">apiBasePathMappingPath</a></code> | <code>string</code> | Path for custom domain base path mapping that will be attached to the api gateway. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.stage">stage</a></code> | <code>string</code> | Stage name used for all cloudformation resource names and internal aws resource names. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.sourcePath">sourcePath</a></code> | <code>string</code> | Path of website folder containing the website`s sources. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.bucketName">bucketName</a></code> | <code>string</code> | Name of s3 bucket to use for the website deployment. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.enableSourceDeployment">enableSourceDeployment</a></code> | <code>boolean</code> | Enable/disable automatic sync of the website`s sources to the S3bucket. | | <code><a href="#cdk-internal-gateway.InternalWebsiteProps.property.websiteIndexDocument">websiteIndexDocument</a></code> | <code>string</code> | Name of html index document used for the website. | --- ##### `defaultCorsPreflightOptions`<sup>Optional</sup> <a name="defaultCorsPreflightOptions" id="cdk-internal-gateway.InternalWebsiteProps.property.defaultCorsPreflightOptions"></a> ```typescript public readonly defaultCorsPreflightOptions: CorsOptions; ``` - *Type:* aws-cdk-lib.aws_apigateway.CorsOptions - *Default:* CORS is disabled Adds a CORS preflight OPTIONS method to this resource and all child resources. You can add CORS at the resource-level using `addCorsPreflight`. --- ##### `defaultIntegration`<sup>Optional</sup> <a name="defaultIntegration" id="cdk-internal-gateway.InternalWebsiteProps.property.defaultIntegration"></a> ```typescript public readonly defaultIntegration: Integration; ``` - *Type:* aws-cdk-lib.aws_apigateway.Integration - *Default:* Inherited from parent. An integration to use as a default for all methods created within this API unless an integration is specified. --- ##### `defaultMethodOptions`<sup>Optional</sup> <a name="defaultMethodOptions" id="cdk-internal-gateway.InternalWebsiteProps.property.defaultMethodOptions"></a> ```typescript public readonly defaultMethodOptions: MethodOptions; ``` - *Type:* aws-cdk-lib.aws_apigateway.MethodOptions - *Default:* Inherited from parent. Method options to use as a default for all methods created within this API unless custom options are specified. --- ##### `cloudWatchRole`<sup>Optional</sup> <a name="cloudWatchRole" id="cdk-internal-gateway.InternalWebsiteProps.property.cloudWatchRole"></a> ```typescript public readonly cloudWatchRole: boolean; ``` - *Type:* boolean - *Default:* false if `@aws-cdk/aws-apigateway:disableCloudWatchRole` is enabled, true otherwise Automatically configure an AWS CloudWatch role for API Gateway. --- ##### `deploy`<sup>Optional</sup> <a name="deploy" id="cdk-internal-gateway.InternalWebsiteProps.property.deploy"></a> ```typescript public readonly deploy: boolean; ``` - *Type:* boolean - *Default:* true Indicates if a Deployment should be automatically created for this API, and recreated when the API model (resources, methods) changes. Since API Gateway deployments are immutable, When this option is enabled (by default), an AWS::ApiGateway::Deployment resource will automatically created with a logical ID that hashes the API model (methods, resources and options). This means that when the model changes, the logical ID of this CloudFormation resource will change, and a new deployment will be created. If this is set, `latestDeployment` will refer to the `Deployment` object and `deploymentStage` will refer to a `Stage` that points to this deployment. To customize the stage options, use the `deployOptions` property. A CloudFormation Output will also be defined with the root URL endpoint of this REST API. --- ##### `deployOptions`<sup>Optional</sup> <a name="deployOptions" id="cdk-internal-gateway.InternalWebsiteProps.property.deployOptions"></a> ```typescript public readonly deployOptions: StageOptions; ``` - *Type:* aws-cdk-lib.aws_apigateway.StageOptions - *Default:* Based on defaults of `StageOptions`. Options for the API Gateway stage that will always point to the latest deployment when `deploy` is enabled. If `deploy` is disabled, this value cannot be set. --- ##### `description`<sup>Optional</sup> <a name="description" id="cdk-internal-gateway.InternalWebsiteProps.property.description"></a> ```typescript public readonly description: string; ``` - *Type:* string - *Default:* 'Automatically created by the RestApi construct' A description of the RestApi construct. --- ##### `disableExecuteApiEndpoint`<sup>Optional</sup> <a name="disableExecuteApiEndpoint" id="cdk-internal-gateway.InternalWebsiteProps.property.disableExecuteApiEndpoint"></a> ```typescript public readonly disableExecuteApiEndpoint: boolean; ``` - *Type:* boolean - *Default:* false Specifies whether clients can invoke the API using the default execute-api endpoint. To require that clients use a custom domain name to invoke the API, disable the default endpoint. > [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) --- ##### `domainName`<sup>Optional</sup> <a name="domainName" id="cdk-internal-gateway.InternalWebsiteProps.property.domainName"></a> ```typescript public readonly domainName: DomainNameOptions; ``` - *Type:* aws-cdk-lib.aws_apigateway.DomainNameOptions - *Default:* no domain name is defined, use `addDomainName` or directly define a `DomainName`. Configure a custom domain name and map it to this API. --- ##### `endpointExportName`<sup>Optional</sup> <a name="endpointExportName" id="cdk-internal-gateway.InternalWebsiteProps.property.endpointExportName"></a> ```typescript public readonly endpointExportName: string; ``` - *Type:* string - *Default:* when no export name is given, output will be created without export Export name for the CfnOutput containing the API endpoint. --- ##### `endpointTypes`<sup>Optional</sup> <a name="endpointTypes" id="cdk-internal-gateway.InternalWebsiteProps.property.endpointTypes"></a> ```typescript public readonly endpointTypes: EndpointType[]; ``` - *Type:* aws-cdk-lib.aws_apigateway.EndpointType[] - *Default:* EndpointType.EDGE A list of the endpoint types of the API. Use this property when creating an API. --- ##### `failOnWarnings`<sup>Optional</sup> <a name="failOnWarnings" id="cdk-internal-gateway.InternalWebsiteProps.property.failOnWarnings"></a> ```typescript public readonly failOnWarnings: boolean; ``` - *Type:* boolean - *Default:* false Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the RestApi resource. --- ##### `parameters`<sup>Optional</sup> <a name="parameters" id="cdk-internal-gateway.InternalWebsiteProps.property.parameters"></a> ```typescript public readonly parameters: {[ key: string ]: string};