cdk-serverless 2.21.0 → 2.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/constructs/assets/hierarchy.js +1 -1
- package/docs/constructs/assets/icons.js +1 -1
- package/docs/constructs/assets/icons.svg +1 -1
- package/docs/constructs/assets/main.js +5 -5
- package/docs/constructs/assets/search.js +1 -1
- package/docs/constructs/assets/style.css +251 -228
- package/docs/constructs/classes/AssetCdn.html +19 -19
- package/docs/constructs/classes/BaseApi.html +14 -14
- package/docs/constructs/classes/CognitoAuthentication.html +24 -24
- package/docs/constructs/classes/GraphQlApi.html +35 -34
- package/docs/constructs/classes/LambdaFunction.html +182 -171
- package/docs/constructs/classes/RestApi.html +41 -39
- package/docs/constructs/classes/SingleTableDatastore.html +17 -17
- package/docs/constructs/classes/Workflow.html +20 -20
- package/docs/constructs/hierarchy.html +1 -1
- package/docs/constructs/index.html +35 -17
- package/docs/constructs/interfaces/AssetCdnProps.html +6 -6
- package/docs/constructs/interfaces/BaseApiProps.html +31 -31
- package/docs/constructs/interfaces/CognitoAuthenticationProps.html +22 -22
- package/docs/constructs/interfaces/GraphQlApiProps.html +53 -36
- package/docs/constructs/interfaces/ICognitoAuthentication.html +3 -3
- package/docs/constructs/interfaces/IJwtAuthentication.html +7 -7
- package/docs/constructs/interfaces/ISingleTableDatastore.html +3 -3
- package/docs/constructs/interfaces/JsResolverOptions.html +7 -7
- package/docs/constructs/interfaces/LambdaFunctionProps.html +31 -31
- package/docs/constructs/interfaces/LambdaTracingOptions.html +4 -4
- package/docs/constructs/interfaces/RestApiProps.html +42 -42
- package/docs/constructs/interfaces/SingleTableDatastoreProps.html +11 -11
- package/docs/constructs/interfaces/SingleTableDesign.html +10 -10
- package/docs/constructs/interfaces/VtlResolverOptions.html +6 -6
- package/docs/constructs/interfaces/WorkflowProps.html +6 -6
- package/docs/constructs/modules.html +1 -1
- package/docs/constructs/types/LambdaOptions.html +1 -1
- package/docs/lambda/assets/hierarchy.js +1 -1
- package/docs/lambda/assets/highlight.css +7 -0
- package/docs/lambda/assets/icons.js +1 -1
- package/docs/lambda/assets/icons.svg +1 -1
- package/docs/lambda/assets/main.js +5 -5
- package/docs/lambda/assets/search.js +1 -1
- package/docs/lambda/assets/style.css +251 -228
- package/docs/lambda/classes/auth.ApiGatewayv1CognitoAuthorizer.html +34 -34
- package/docs/lambda/classes/auth.ApiGatewayv1JwtAuthorizer.html +33 -33
- package/docs/lambda/classes/auth.ApiGatewayv2CognitoAuthorizer.html +34 -34
- package/docs/lambda/classes/auth.ApiGatewayv2JwtAuthorizer.html +33 -33
- package/docs/lambda/classes/auth.AppSyncCognitoAuthorizer.html +33 -33
- package/docs/lambda/classes/auth.CognitoAuthorizer.html +31 -31
- package/docs/lambda/classes/auth.JwtAuthorizer.html +31 -31
- package/docs/lambda/classes/errors.BadRequestError.html +36 -15
- package/docs/lambda/classes/errors.ForbiddenError.html +36 -15
- package/docs/lambda/classes/errors.HttpError.html +37 -16
- package/docs/lambda/classes/errors.NotFoundError.html +36 -15
- package/docs/lambda/classes/errors.UnauthenticatedError.html +36 -15
- package/docs/lambda/functions/api.createAppSyncHandler.html +3 -3
- package/docs/lambda/functions/api.createHttpHandler.html +2 -2
- package/docs/lambda/functions/api.createOpenApiHandler.html +2 -2
- package/docs/lambda/functions/api.createOpenApiHandlerWithRequestBody.html +2 -2
- package/docs/lambda/functions/api.createOpenApiHandlerWithRequestBodyNoResponse.html +2 -2
- package/docs/lambda/hierarchy.html +1 -1
- package/docs/lambda/index.html +35 -17
- package/docs/lambda/interfaces/api.AppSyncHandlerContext.html +6 -6
- package/docs/lambda/interfaces/api.HttpHandlerContext.html +7 -7
- package/docs/lambda/interfaces/api.HttpResponseContext.html +5 -5
- package/docs/lambda/interfaces/api.Operation.html +3 -3
- package/docs/lambda/interfaces/api.OperationWithRequestBody.html +4 -4
- package/docs/lambda/modules/api.html +1 -1
- package/docs/lambda/modules/auth.html +1 -1
- package/docs/lambda/modules/errors.html +1 -1
- package/docs/lambda/modules.html +1 -1
- package/docs/lambda/types/api.APIGatewayv1Handler.html +2 -2
- package/docs/lambda/types/api.AppSyncHandler.html +2 -2
- package/docs/lambda/types/api.HttpHandler.html +2 -2
- package/docs/projen/assets/icons.js +1 -1
- package/docs/projen/assets/icons.svg +1 -1
- package/docs/projen/assets/main.js +5 -5
- package/docs/projen/assets/search.js +1 -1
- package/docs/projen/assets/style.css +251 -228
- package/docs/projen/classes/Datastore.html +23 -23
- package/docs/projen/classes/GraphQlApi.html +23 -23
- package/docs/projen/classes/RestApi.html +42 -42
- package/docs/projen/classes/ServerlessProject.html +217 -217
- package/docs/projen/classes/Workflow.html +33 -33
- package/docs/projen/hierarchy.html +1 -0
- package/docs/projen/index.html +35 -17
- package/docs/projen/interfaces/DatastoreOptions.html +3 -3
- package/docs/projen/interfaces/GraphQlApiOptions.html +3 -3
- package/docs/projen/interfaces/RestApiOptions.html +3 -3
- package/docs/projen/interfaces/ServerlessProjectOptions.html +542 -534
- package/docs/projen/interfaces/WorkflowOptions.html +3 -3
- package/docs/projen/modules.html +1 -1
- package/docs/projen/variables/PACKAGE_NAME.html +1 -1
- package/lib/constructs/graphql.d.ts +37 -2
- package/lib/constructs/graphql.js +39 -7
- package/lib/lambda/auth.js +1 -1
- package/package.json +27 -27
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="./"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>cdk-serverless</title><meta name="description" content="Documentation for cdk-serverless"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script><script async src="assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="index.html" class="title">cdk-serverless</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>cdk-serverless</h1></div><div class="tsd-panel tsd-typography"><h1 id="cdk-serverless" class="tsd-anchor-link">CDK Serverless<a href="#cdk-serverless" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1>
|
|
2
|
+
<p><a href="https://badge.fury.io/js/cdk-serverless"><img src="https://badge.fury.io/js/cdk-serverless.svg" alt="npm version"></a></p>
|
|
2
3
|
<p>CDK Serverless is a powerful toolkit designed to simplify serverless application development using the AWS Cloud Development Kit (CDK). It offers project management features, higher-level (L3) constructs, and utility libraries to streamline the creation and management of serverless architectures. Additionally, it leverages utility libraries to write Lambda functions and do live updates to Lambda function code during development.</p>
|
|
3
4
|
<p>Video introduction: <a href="https://www.youtube.com/watch?v=xhNJ0cXG3O8">https://www.youtube.com/watch?v=xhNJ0cXG3O8</a></p>
|
|
4
|
-
<
|
|
5
|
+
<h3 id="features" class="tsd-anchor-link">Features<a href="#features" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
6
|
+
<ul>
|
|
5
7
|
<li>Projen helper classes for easy project configuration</li>
|
|
6
8
|
<li>AWS CDK L3-constructs for RestApi, GraphQlApi, and more</li>
|
|
7
9
|
<li>Zero-config Lambda function and VTL template generation</li>
|
|
@@ -12,7 +14,8 @@
|
|
|
12
14
|
<li>Support for Cognito authentication and authorization</li>
|
|
13
15
|
<li>Automated generation of CloudFormation outputs for testing</li>
|
|
14
16
|
</ul>
|
|
15
|
-
<
|
|
17
|
+
<h2 id="quick-start" class="tsd-anchor-link">Quick Start<a href="#quick-start" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
18
|
+
<p>To begin a new project with CDK Serverless:</p>
|
|
16
19
|
<p>Create a new CDK TypeScript app using projen:</p>
|
|
17
20
|
<pre><code class="bash"><span class="hl-0">$</span><span class="hl-1"> </span><span class="hl-2">npx</span><span class="hl-1"> </span><span class="hl-2">projen</span><span class="hl-1"> </span><span class="hl-2">new</span><span class="hl-1"> </span><span class="hl-2">awscdk-app-ts</span>
|
|
18
21
|
</code><button type="button">Copy</button></pre>
|
|
@@ -23,29 +26,39 @@
|
|
|
23
26
|
<li>Run <code>npx projen</code> to install it</li>
|
|
24
27
|
</ol>
|
|
25
28
|
<p>Now you can use the project type <code>ServerlessProject</code> for your app.</p>
|
|
26
|
-
<
|
|
29
|
+
<h3 id="adding-projen-constructs" class="tsd-anchor-link">Adding projen constructs<a href="#adding-projen-constructs" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
30
|
+
<p>First you need to add the desired construct to your projen configuration: (e.g. RestApi)</p>
|
|
27
31
|
<pre><code class="typescript"><span class="hl-3">import</span><span class="hl-1"> { </span><span class="hl-4">RestApi</span><span class="hl-1"> } </span><span class="hl-3">from</span><span class="hl-1"> </span><span class="hl-2">'cdk-serverless/projen'</span><span class="hl-1">;</span><br/><br/><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">RestApi</span><span class="hl-1">(</span><span class="hl-4">project</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-4">apiName:</span><span class="hl-1"> </span><span class="hl-2">'TestApi'</span><span class="hl-1">, </span><span class="hl-6">// logical name of your API</span><br/><span class="hl-1"> </span><span class="hl-4">definitionFile:</span><span class="hl-1"> </span><span class="hl-2">'testapi.yaml'</span><span class="hl-1">, </span><span class="hl-6">// path to your OpenAPI spec</span><br/><span class="hl-1">});</span>
|
|
28
32
|
</code><button type="button">Copy</button></pre>
|
|
29
33
|
|
|
30
34
|
<p>Then run projen to generate construct files and models for the API.</p>
|
|
31
|
-
<
|
|
35
|
+
<h3 id="using-the-cdk-serverless-l3-constructs" class="tsd-anchor-link">Using the CDK serverless L3 constructs<a href="#using-the-cdk-serverless-l3-constructs" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
36
|
+
<p>In your stack you can then reference the generated L3s to create the API:</p>
|
|
32
37
|
<pre><code class="typescript"><span class="hl-3">import</span><span class="hl-1"> { </span><span class="hl-4">TestApiRestApi</span><span class="hl-1"> } </span><span class="hl-3">from</span><span class="hl-1"> </span><span class="hl-2">'./generated/rest.testapi-api.generated'</span><span class="hl-1">;</span><br/><br/><br/><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-7">api</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">TestApiRestApi</span><span class="hl-1">(</span><span class="hl-5">this</span><span class="hl-1">, </span><span class="hl-2">'Api'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-4">stageName:</span><span class="hl-1"> </span><span class="hl-4">props</span><span class="hl-1">.</span><span class="hl-4">stageName</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">domainName:</span><span class="hl-1"> </span><span class="hl-4">props</span><span class="hl-1">.</span><span class="hl-4">domainName</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">apiHostname:</span><span class="hl-1"> </span><span class="hl-2">'api'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">singleTableDatastore</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">cors:</span><span class="hl-1"> </span><span class="hl-5">true</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">additionalEnv:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-4">DOMAIN_NAME:</span><span class="hl-1"> </span><span class="hl-4">props</span><span class="hl-1">.</span><span class="hl-4">domainName</span><span class="hl-1">,</span><br/><span class="hl-1"> },</span><br/><span class="hl-1">});</span>
|
|
33
38
|
</code><button type="button">Copy</button></pre>
|
|
34
39
|
|
|
35
40
|
<p>This will also create Lambda functions for all operations defined in your spec and wire them accordingly.</p>
|
|
36
|
-
<
|
|
37
|
-
<
|
|
38
|
-
<
|
|
41
|
+
<h2 id="testing-utilities" class="tsd-anchor-link">Testing Utilities<a href="#testing-utilities" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
42
|
+
<p>CDK Serverless provides two powerful test utilities to help you write comprehensive tests for your serverless applications.</p>
|
|
43
|
+
<h3 id="lambdatestutil" class="tsd-anchor-link">LambdaTestUtil<a href="#lambdatestutil" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
44
|
+
<p>The <code>LambdaTestUtil</code> provides classes for testing both REST and GraphQL Lambda functions in isolation. It's perfect for unit testing your Lambda handlers.</p>
|
|
45
|
+
<h4 id="rest-api-testing" class="tsd-anchor-link">REST API Testing<a href="#rest-api-testing" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
46
|
+
<pre><code class="typescript"><span class="hl-3">import</span><span class="hl-1"> { </span><span class="hl-4">LambdaRestUnitTest</span><span class="hl-1"> } </span><span class="hl-3">from</span><span class="hl-1"> </span><span class="hl-2">'cdk-serverless/tests/lambda-test-utils'</span><span class="hl-1">;</span><br/><br/><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-7">test</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">LambdaRestUnitTest</span><span class="hl-1">(</span><span class="hl-4">handler</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-6">// Optional default headers for all requests</span><br/><span class="hl-1"> </span><span class="hl-4">headers:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-2">'Content-Type'</span><span class="hl-4">:</span><span class="hl-1"> </span><span class="hl-2">'application/json'</span><span class="hl-1">,</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-6">// Optional default Cognito user for all requests</span><br/><span class="hl-1"> </span><span class="hl-4">cognito:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-4">username:</span><span class="hl-1"> </span><span class="hl-2">'test-user'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">email:</span><span class="hl-1"> </span><span class="hl-2">'test@example.com'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">groups:</span><span class="hl-1"> [</span><span class="hl-2">'admin'</span><span class="hl-1">],</span><br/><span class="hl-1"> },</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-6">// Test a GET request</span><br/><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-7">result</span><span class="hl-1"> = </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">test</span><span class="hl-1">.</span><span class="hl-0">call</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-4">path:</span><span class="hl-1"> </span><span class="hl-2">'/items'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">method:</span><span class="hl-1"> </span><span class="hl-2">'GET'</span><span class="hl-1">,</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-6">// Test a POST request with body</span><br/><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-7">result</span><span class="hl-1"> = </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">test</span><span class="hl-1">.</span><span class="hl-0">call</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-4">path:</span><span class="hl-1"> </span><span class="hl-2">'/items'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">method:</span><span class="hl-1"> </span><span class="hl-2">'POST'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">body:</span><span class="hl-1"> </span><span class="hl-7">JSON</span><span class="hl-1">.</span><span class="hl-0">stringify</span><span class="hl-1">({ </span><span class="hl-4">name:</span><span class="hl-1"> </span><span class="hl-2">'test'</span><span class="hl-1"> }),</span><br/><span class="hl-1">});</span>
|
|
39
47
|
</code><button type="button">Copy</button></pre>
|
|
40
48
|
|
|
41
|
-
<
|
|
49
|
+
<h4 id="graphql-testing" class="tsd-anchor-link">GraphQL Testing<a href="#graphql-testing" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
50
|
+
<pre><code class="typescript"><span class="hl-3">import</span><span class="hl-1"> { </span><span class="hl-4">LambdaGraphQLTest</span><span class="hl-1"> } </span><span class="hl-3">from</span><span class="hl-1"> </span><span class="hl-2">'cdk-serverless/tests/lambda-test-utils'</span><span class="hl-1">;</span><br/><br/><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-7">test</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">LambdaGraphQLTest</span><span class="hl-1">(</span><span class="hl-4">handler</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-6">// Optional default Cognito user for all requests</span><br/><span class="hl-1"> </span><span class="hl-4">cognito:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-4">username:</span><span class="hl-1"> </span><span class="hl-2">'test-user'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">email:</span><span class="hl-1"> </span><span class="hl-2">'test@example.com'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">groups:</span><span class="hl-1"> [</span><span class="hl-2">'admin'</span><span class="hl-1">],</span><br/><span class="hl-1"> },</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-6">// Test a GraphQL query</span><br/><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-7">result</span><span class="hl-1"> = </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">test</span><span class="hl-1">.</span><span class="hl-0">call</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-4">fieldName:</span><span class="hl-1"> </span><span class="hl-2">'getItem'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">arguments:</span><span class="hl-1"> { </span><span class="hl-4">id:</span><span class="hl-1"> </span><span class="hl-2">'123'</span><span class="hl-1"> },</span><br/><span class="hl-1">});</span>
|
|
42
51
|
</code><button type="button">Copy</button></pre>
|
|
43
52
|
|
|
44
|
-
<
|
|
53
|
+
<h3 id="integtestutil" class="tsd-anchor-link">IntegTestUtil<a href="#integtestutil" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
54
|
+
<p>The <code>IntegTestUtil</code> provides a comprehensive set of tools for integration testing your deployed serverless applications. It handles authentication, data cleanup, and API testing.</p>
|
|
45
55
|
<pre><code class="typescript"><span class="hl-3">import</span><span class="hl-1"> { </span><span class="hl-4">IntegTestUtil</span><span class="hl-1"> } </span><span class="hl-3">from</span><span class="hl-1"> </span><span class="hl-2">'cdk-serverless/tests/integ-test-util'</span><span class="hl-1">;</span><br/><br/><span class="hl-6">// Initialize with your stack outputs</span><br/><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-7">test</span><span class="hl-1"> = </span><span class="hl-5">new</span><span class="hl-1"> </span><span class="hl-0">IntegTestUtil</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-4">region:</span><span class="hl-1"> </span><span class="hl-2">'us-east-1'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">apiOptions:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-4">baseURL:</span><span class="hl-1"> </span><span class="hl-2">'https://api.example.com'</span><span class="hl-1">,</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-4">authOptions:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-4">userPoolId:</span><span class="hl-1"> </span><span class="hl-2">'us-east-1_xxxxx'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">userPoolClientId:</span><span class="hl-1"> </span><span class="hl-2">'xxxxxxxx'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-4">identityPoolId:</span><span class="hl-1"> </span><span class="hl-2">'us-east-1:xxxxxxxx'</span><span class="hl-1">,</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-4">datastoreOptions:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-4">tableName:</span><span class="hl-1"> </span><span class="hl-2">'MyTable'</span><span class="hl-1">,</span><br/><span class="hl-1"> },</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-6">// Create and authenticate a test user</span><br/><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">test</span><span class="hl-1">.</span><span class="hl-0">createUser</span><span class="hl-1">(</span><span class="hl-2">'test@example.com'</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-2">'custom:attribute'</span><span class="hl-4">:</span><span class="hl-1"> </span><span class="hl-2">'value'</span><span class="hl-1">,</span><br/><span class="hl-1">}, [</span><span class="hl-2">'admin'</span><span class="hl-1">]);</span><br/><br/><span class="hl-6">// Get an authenticated API client</span><br/><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-7">client</span><span class="hl-1"> = </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">test</span><span class="hl-1">.</span><span class="hl-0">getAuthenticatedClient</span><span class="hl-1">(</span><span class="hl-2">'test@example.com'</span><span class="hl-1">);</span><br/><br/><span class="hl-6">// Make API calls</span><br/><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-7">response</span><span class="hl-1"> = </span><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">client</span><span class="hl-1">.</span><span class="hl-0">get</span><span class="hl-1">(</span><span class="hl-2">'/items'</span><span class="hl-1">);</span><br/><br/><span class="hl-6">// Clean up test data</span><br/><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">test</span><span class="hl-1">.</span><span class="hl-0">cleanupItems</span><span class="hl-1">();</span><br/><span class="hl-3">await</span><span class="hl-1"> </span><span class="hl-4">test</span><span class="hl-1">.</span><span class="hl-0">removeUser</span><span class="hl-1">(</span><span class="hl-2">'test@example.com'</span><span class="hl-1">);</span>
|
|
46
56
|
</code><button type="button">Copy</button></pre>
|
|
47
57
|
|
|
48
|
-
<
|
|
58
|
+
<h2 id="contribute" class="tsd-anchor-link">Contribute<a href="#contribute" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
59
|
+
<h3 id="how-to-contribute-to-cdk-serverless" class="tsd-anchor-link">How to contribute to CDK Serverless<a href="#how-to-contribute-to-cdk-serverless" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
60
|
+
<h4 id="did-you-find-a-bug" class="tsd-anchor-link"><strong>Did you find a bug?</strong><a href="#did-you-find-a-bug" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
61
|
+
<ul>
|
|
49
62
|
<li>
|
|
50
63
|
<p><strong>Ensure the bug was not already reported</strong> by searching on GitHub under <a href="https://github.com/taimos/cdk-serverless/issues">Issues</a>.</p>
|
|
51
64
|
</li>
|
|
@@ -53,7 +66,8 @@
|
|
|
53
66
|
<p>If you're unable to find an open issue addressing the problem, <a href="https://github.com/taimos/cdk-serverless/issues/new">open a new one</a>. Be sure to include a <strong>title and clear description</strong>, as much relevant information as possible, and a <strong>code sample</strong> or an <strong>executable test case</strong> demonstrating the expected behavior that is not occurring.</p>
|
|
54
67
|
</li>
|
|
55
68
|
</ul>
|
|
56
|
-
<
|
|
69
|
+
<h4 id="did-you-write-a-patch-that-fixes-a-bug" class="tsd-anchor-link"><strong>Did you write a patch that fixes a bug?</strong><a href="#did-you-write-a-patch-that-fixes-a-bug" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
70
|
+
<ul>
|
|
57
71
|
<li>
|
|
58
72
|
<p>Open a new GitHub pull request with the patch.</p>
|
|
59
73
|
</li>
|
|
@@ -61,8 +75,10 @@
|
|
|
61
75
|
<p>Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.</p>
|
|
62
76
|
</li>
|
|
63
77
|
</ul>
|
|
64
|
-
<
|
|
65
|
-
<
|
|
78
|
+
<h4 id="did-you-fix-whitespace-format-code-or-make-a-purely-cosmetic-patch" class="tsd-anchor-link"><strong>Did you fix whitespace, format code, or make a purely cosmetic patch?</strong><a href="#did-you-fix-whitespace-format-code-or-make-a-purely-cosmetic-patch" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
79
|
+
<p>Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability will normally not be accepted.</p>
|
|
80
|
+
<h4 id="do-you-intend-to-add-a-new-feature-or-change-an-existing-one" class="tsd-anchor-link"><strong>Do you intend to add a new feature or change an existing one?</strong><a href="#do-you-intend-to-add-a-new-feature-or-change-an-existing-one" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
81
|
+
<ul>
|
|
66
82
|
<li>
|
|
67
83
|
<p>Suggest your change under <a href="https://github.com/taimos/cdk-serverless/issues">Issues</a>.</p>
|
|
68
84
|
</li>
|
|
@@ -70,8 +86,10 @@
|
|
|
70
86
|
<p>Do not open a pull request on GitHub until you have collected positive feedback about the change.</p>
|
|
71
87
|
</li>
|
|
72
88
|
</ul>
|
|
73
|
-
<
|
|
89
|
+
<h4 id="do-you-want-to-contribute-to-the-cdk-serverless-documentation" class="tsd-anchor-link"><strong>Do you want to contribute to the CDK Serverless documentation?</strong><a href="#do-you-want-to-contribute-to-the-cdk-serverless-documentation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h4>
|
|
90
|
+
<ul>
|
|
74
91
|
<li>Just file a PR with your recommended changes</li>
|
|
75
92
|
</ul>
|
|
76
|
-
<
|
|
77
|
-
|
|
93
|
+
<h2 id="authors" class="tsd-anchor-link">Authors<a href="#authors" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
94
|
+
<p>Brought to you by <a href="https://taimos.de">Taimos</a></p>
|
|
95
|
+
</div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#cdk-serverless"><span>CDK <wbr/>Serverless</span></a><ul><li><ul><li><a href="#features"><span>Features</span></a></li></ul></li><li><a href="#quick-start"><span>Quick <wbr/>Start</span></a></li><li><ul><li><a href="#adding-projen-constructs"><span>Adding projen constructs</span></a></li><li><a href="#using-the-cdk-serverless-l3-constructs"><span>Using the <wbr/>CDK serverless <wbr/>L3 constructs</span></a></li></ul></li><li><a href="#testing-utilities"><span>Testing <wbr/>Utilities</span></a></li><li><ul><li><a href="#lambdatestutil"><span>Lambda<wbr/>Test<wbr/>Util</span></a></li><li><ul><li><a href="#rest-api-testing"><span>REST <wbr/>API <wbr/>Testing</span></a></li><li><a href="#graphql-testing"><span>Graph<wbr/>QL <wbr/>Testing</span></a></li></ul></li><li><a href="#integtestutil"><span>Integ<wbr/>Test<wbr/>Util</span></a></li></ul></li><li><a href="#contribute"><span>Contribute</span></a></li><li><ul><li><a href="#how-to-contribute-to-cdk-serverless"><span>How to contribute to <wbr/>CDK <wbr/>Serverless</span></a></li><li><ul><li><a href="#did-you-find-a-bug"><span>Did you find a bug?</span></a></li><li><a href="#did-you-write-a-patch-that-fixes-a-bug"><span>Did you write a patch that fixes a bug?</span></a></li><li><a href="#did-you-fix-whitespace-format-code-or-make-a-purely-cosmetic-patch"><span>Did you fix whitespace, format code, or make a purely cosmetic patch?</span></a></li><li><a href="#do-you-intend-to-add-a-new-feature-or-change-an-existing-one"><span>Do you intend to add a new feature or change an existing one?</span></a></li><li><a href="#do-you-want-to-contribute-to-the-cdk-serverless-documentation"><span>Do you want to contribute to the <wbr/>CDK <wbr/>Serverless documentation?</span></a></li></ul></li></ul></li><li><a href="#authors"><span>Authors</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html">cdk-serverless</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="
|
|
2
|
-
</div
|
|
3
|
-
<a href="
|
|
4
|
-
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><
|
|
5
|
-
</div
|
|
6
|
-
</div
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>AssetCdnProps | cdk-serverless</title><meta name="description" content="Documentation for cdk-serverless"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">cdk-serverless</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">AssetCdnProps</a></li></ul><h1>Interface AssetCdnProps</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Properties for AssetCdn L3 construct</p>
|
|
2
|
+
</div></section><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">AssetCdnProps</span> <span class="tsd-signature-symbol">{</span><br/> <a class="tsd-kind-property" href="#domainname">domainName</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/> <a class="tsd-kind-property" href="#hostname">hostName</a><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#domainname" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>domain<wbr/>Name</span></a>
|
|
3
|
+
<a href="#hostname" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>host<wbr/>Name</span></a>
|
|
4
|
+
</div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Properties</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="domainname"><span>domain<wbr/>Name</span><a href="#domainname" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">domainName</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>Domain name of the asset content delivery network (e.g. <a href="http://example.com">example.com</a>)</p>
|
|
5
|
+
</div></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="hostname"><span>host<wbr/>Name</span><a href="#hostname" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">hostName</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><div class="tsd-comment tsd-typography"><p>Hostname of the asset content delivery network (e.g. cdn)</p>
|
|
6
|
+
</div></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#domainname"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>domain<wbr/>Name</span></a><a href="#hostname"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>host<wbr/>Name</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">cdk-serverless</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|