From d9e1cf55d8d1d539037ed78a53e9d61a89ba38bc Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Fri, 23 Jun 2023 16:38:43 -0700 Subject: [PATCH 01/13] chore: fix CDK Appveyor job and deprecate testing CDK V1 --- appveyor-iac-integration-ubuntu.yml | 4 +- .../cdk/test_sam_cdk_integration.py | 5 +- .../cdk/testdata/cdk_v1/java/cdk.json | 6 - .../cdk/testdata/cdk_v1/java/pom.xml | 90 ----- .../java/src/main/java/com/myorg/JavaApp.java | 17 - .../src/main/java/com/myorg/JavaStack.java | 269 --------------- .../src/main/java/com/myorg/NestedStack1.java | 64 ---- .../cdk/testdata/cdk_v1/python/app.py | 10 - .../cdk/testdata/cdk_v1/python/cdk.json | 6 - .../testdata/cdk_v1/python/python/__init__.py | 0 .../cdk_v1/python/python/nested_stack.py | 61 ---- .../cdk_v1/python/python/python_stack.py | 323 ------------------ .../testdata/cdk_v1/python/requirements.txt | 8 - .../cdk_v1/typescript/bin/test-app.ts | 7 - .../cdk/testdata/cdk_v1/typescript/cdk.json | 6 - .../cdk_v1/typescript/lib/nested-stack.ts | 58 ---- .../cdk_v1/typescript/lib/test-stack.ts | 279 --------------- .../testdata/cdk_v1/typescript/package.json | 28 -- .../testdata/cdk_v1/typescript/tsconfig.json | 30 -- 19 files changed, 3 insertions(+), 1268 deletions(-) delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/java/cdk.json delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/java/pom.xml delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/java/src/main/java/com/myorg/JavaApp.java delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/java/src/main/java/com/myorg/JavaStack.java delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/java/src/main/java/com/myorg/NestedStack1.java delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/python/app.py delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/python/cdk.json delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/python/python/__init__.py delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/python/python/nested_stack.py delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/python/python/python_stack.py delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/python/requirements.txt delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/typescript/bin/test-app.ts delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/typescript/cdk.json delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/typescript/lib/nested-stack.ts delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/typescript/lib/test-stack.ts delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/typescript/package.json delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v1/typescript/tsconfig.json diff --git a/appveyor-iac-integration-ubuntu.yml b/appveyor-iac-integration-ubuntu.yml index ea2e4f54fc..af18ab451c 100644 --- a/appveyor-iac-integration-ubuntu.yml +++ b/appveyor-iac-integration-ubuntu.yml @@ -21,7 +21,7 @@ environment: install: # AppVeyor's apt-get cache might be outdated, and the package could potentially be 404. - - sh: "sudo apt-get update" + - sh: "sudo apt-get update --allow-releaseinfo-change" - sh: "gvm use go1.19" - sh: "echo $PATH" @@ -78,7 +78,7 @@ install: - sh: "docker run --rm --privileged multiarch/qemu-user-static --reset -p yes" # update ca-certificates which causes failures with newest golang library - - sh: "sudo apt-get install --reinstall ca-certificates" + - sh: "sudo apt-get install --allow-releaseinfo-change --reinstall ca-certificates" build_script: - "python -c \"import sys; print(sys.executable)\"" diff --git a/tests/iac_integration/cdk/test_sam_cdk_integration.py b/tests/iac_integration/cdk/test_sam_cdk_integration.py index f6257f0da5..ed4d5f2fbd 100644 --- a/tests/iac_integration/cdk/test_sam_cdk_integration.py +++ b/tests/iac_integration/cdk/test_sam_cdk_integration.py @@ -9,17 +9,14 @@ import requests from parameterized import parameterized_class, parameterized -from tests.testing_utils import run_command, start_persistent_process, read_until_string, kill_process +from tests.testing_utils import run_command, kill_process @parameterized_class( ("cdk_project_path", "cdk_version", "cdk_stack_template"), [ - ("/testdata/cdk_v1/typescript", "1.x", "TestStack.template.json"), ("/testdata/cdk_v2/typescript", "2.x", "TestStack.template.json"), - ("/testdata/cdk_v1/python", "1.x", "TestStack.template.json"), ("/testdata/cdk_v2/python", "2.x", "TestStack.template.json"), - ("/testdata/cdk_v1/java", "1.x", "TestStack.template.json"), ("/testdata/cdk_v2/java", "2.x", "TestStack.template.json"), ], ) diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/java/cdk.json b/tests/iac_integration/cdk/testdata/cdk_v1/java/cdk.json deleted file mode 100644 index d981a1fd3c..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/java/cdk.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "app": "mvn versions:use-latest-versions -DallowMajorUpdates=false && mvn -e -q compile exec:java", - "context": { - - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/java/pom.xml b/tests/iac_integration/cdk/testdata/cdk_v1/java/pom.xml deleted file mode 100644 index 4a6d29e2d1..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/java/pom.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - 4.0.0 - - com.myorg - java - 0.1 - - - UTF-8 - - - - - - org.codehaus.mojo - versions-maven-plugin - 2.7 - - - software.amazon.awscdk:* - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 1.8 - 1.8 - - - - - org.codehaus.mojo - exec-maven-plugin - 3.0.0 - - com.myorg.JavaApp - - - - - - - - - software.amazon.awscdk - core - 1.120.0 - - - software.amazon.awscdk - apigateway - 1.120.0 - - - software.amazon.awscdk - apigatewayv2 - 1.120.0 - - - software.amazon.awscdk - apigatewayv2-integrations - 1.120.0 - - - software.amazon.awscdk - lambda - 1.120.0 - - - software.amazon.awscdk - lambda-go - 1.120.0 - - - software.amazon.awscdk - lambda-nodejs - 1.120.0 - - - software.amazon.awscdk - lambda-python - 1.120.0 - - - diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/java/src/main/java/com/myorg/JavaApp.java b/tests/iac_integration/cdk/testdata/cdk_v1/java/src/main/java/com/myorg/JavaApp.java deleted file mode 100644 index ff8cf94126..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/java/src/main/java/com/myorg/JavaApp.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.myorg; - -import software.amazon.awscdk.core.App; -import software.amazon.awscdk.core.StackProps; - -import java.util.Arrays; - -public class JavaApp { - public static void main(final String[] args) { - App app = new App(); - - new JavaStack(app, "TestStack", StackProps.builder() - .build()); - - app.synth(); - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/java/src/main/java/com/myorg/JavaStack.java b/tests/iac_integration/cdk/testdata/cdk_v1/java/src/main/java/com/myorg/JavaStack.java deleted file mode 100644 index 90a0f516a4..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/java/src/main/java/com/myorg/JavaStack.java +++ /dev/null @@ -1,269 +0,0 @@ -package com.myorg; - -import software.amazon.awscdk.core.*; -import software.amazon.awscdk.services.apigateway.Resource; -import software.amazon.awscdk.services.apigateway.*; -import software.amazon.awscdk.services.iam.PolicyStatement; -import software.amazon.awscdk.services.iam.Role; -import software.amazon.awscdk.services.iam.ServicePrincipal; -import software.amazon.awscdk.services.lambda.Runtime; -import software.amazon.awscdk.services.lambda.*; -import software.amazon.awscdk.services.lambda.go.GoFunction; -import software.amazon.awscdk.services.lambda.nodejs.NodejsFunction; -import software.amazon.awscdk.services.lambda.python.PythonFunction; -import software.amazon.awscdk.services.lambda.python.PythonLayerVersion; -import software.amazon.awscdk.services.logs.RetentionDays; -import software.amazon.awscdk.services.s3.assets.AssetOptions; -import com.myorg.NestedStack1; - -import java.util.Arrays; - -public class JavaStack extends Stack { - public JavaStack(final Construct scope, final String id) { - this(scope, id, null); - } - - public JavaStack(final Construct scope, final String id, final StackProps props) { - super(scope, id, props); - - // Python Runtime - // Layers - PythonLayerVersion pythonLayerVersion = PythonLayerVersion.Builder - .create(this, "PythonLayerVersion") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_7, Runtime.PYTHON_3_8, - Runtime.PYTHON_3_9)) - .entry("../../src/python/layers/PythonLayerVersion") - .build(); - - LayerVersion layerVersion = LayerVersion.Builder - .create(this, "LayerVersion") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_7, Runtime.PYTHON_3_8, - Runtime.PYTHON_3_9)) - .code(Code.fromAsset("../../src/python/layers/LayerVersion")) - .build(); - // add SAM metadata to build layer - CfnLayerVersion cfnLayerVersion = (CfnLayerVersion) layerVersion.getNode().getDefaultChild(); - cfnLayerVersion.addMetadata("BuildMethod", "python3.7"); - - // Lambda LayerVersion with bundled Asset that will be built by CDK - LayerVersion bundledLayerVersionPythonRuntime = LayerVersion.Builder - .create(this, "BundledLayerVersionPythonRuntime") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_7, Runtime.PYTHON_3_8, - Runtime.PYTHON_3_9)) - .code(Code.fromAsset("../../src/python/layers/BundledLayerVersion", - AssetOptions.builder().bundling( - BundlingOptions.builder() - .image(Runtime.PYTHON_3_7.getBundlingImage()) - .command(Arrays.asList( - "/bin/sh", - "-c", - "rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input" + - " && pip install -r requirements.txt -t . && mkdir /asset-output/python && " + - "cp -R /tmp/asset-input/* /asset-output/python" - )).build() - ).build() - )).build(); - - // ZIP package type Functions - // Functions Built by CDK - Runtime Functions Constructs - PythonFunction pythonFunction = PythonFunction.Builder - .create(this, "PythonFunction") - .entry("../../src/python/PythonFunctionConstruct") - .index("app.py") - .handler("lambda_handler") - .runtime(Runtime.PYTHON_3_9) - .functionName("pythonFunc") // we need the name to use it in the API definition file - .logRetention(RetentionDays.THREE_MONTHS) - .layers(Arrays.asList(pythonLayerVersion, layerVersion)) - .tracing(Tracing.ACTIVE) - .build(); - - // Normal Lambda Function Construct - Python Runtime - Function functionPythonRuntime = Function.Builder.create(this, "FunctionPythonRuntime") - .runtime(Runtime.PYTHON_3_7) - .code(Code.fromAsset("../../src/python/FunctionConstruct")) - .handler("app.lambda_handler") - .layers(Arrays.asList(pythonLayerVersion, layerVersion)) - .tracing(Tracing.ACTIVE) - .build(); - - // Normal Lambda Function Construct - Python Runtime - with skip build metadata - Function preBuiltFunctionPythonRuntime = Function.Builder.create(this, "PreBuiltFunctionPythonRuntime") - .runtime(Runtime.PYTHON_3_7) - .code(Code.fromAsset("../../src/python/BuiltFunctionConstruct")) - .handler("app.lambda_handler") - .layers(Arrays.asList(pythonLayerVersion, layerVersion)) - .tracing(Tracing.ACTIVE) - .build(); - // add SkipBuild Metadata, so SAM will skip building this function - CfnFunction cfnPreBuiltFunctionPythonRuntime = (CfnFunction) preBuiltFunctionPythonRuntime.getNode() - .getDefaultChild(); - cfnPreBuiltFunctionPythonRuntime.addMetadata("SkipBuild", true); - - // Normal Lambda Function with bundled Asset will be built by CDK - Function bundledFunctionPythonRuntime = Function.Builder.create(this, "BundledFunctionPythonRuntime") - .runtime(Runtime.PYTHON_3_7) - .code(Code.fromAsset("../../src/python/BundledFunctionConstruct/", - AssetOptions.builder().bundling( - BundlingOptions.builder() - .command(Arrays.asList("/bin/sh", "-c", "rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && cp -R /tmp/asset-input/* /asset-output")) - .image(Runtime.PYTHON_3_7.getBundlingImage()) - .build() - ).build() - )) - .handler("app.lambda_handler") - .layers(Arrays.asList(bundledLayerVersionPythonRuntime, pythonLayerVersion)) - .timeout(Duration.seconds(120)) - .tracing(Tracing.ACTIVE) - .build(); - - // NodeJs Runtime - //Layers - LayerVersion layerVersionNodeJsRuntime = LayerVersion.Builder.create(this, "LayerVersionNodeJsRuntime") - .compatibleRuntimes(Arrays.asList(Runtime.NODEJS_14_X)) - .code(Code.fromAsset("../../src/nodejs/layers/LayerVersion")) - .build(); - // add SAM metadata to build layer - CfnLayerVersion cfnLayerVersionNodeJsRuntime = (CfnLayerVersion) layerVersionNodeJsRuntime.getNode().getDefaultChild(); - cfnLayerVersionNodeJsRuntime.addMetadata("BuildMethod", "nodejs14.x"); - - NodejsFunction nodejsFunction = NodejsFunction.Builder.create(this, "NodejsFunction") - .runtime(Runtime.NODEJS_14_X) - .entry("../../src/nodejs/NodeJsFunctionConstruct/app.ts") - .depsLockFilePath("../../src/nodejs/NodeJsFunctionConstruct/package-lock.json") - .handler("lambdaHandler") - .layers(Arrays.asList(layerVersionNodeJsRuntime)) - .tracing(Tracing.ACTIVE) - .bundling(software.amazon.awscdk.services.lambda.nodejs.BundlingOptions.builder() - .externalModules( - Arrays.asList("/opt/nodejs/layer_version_dependency") - ).build() - ).build(); - - // Normal Lambda Function Construct - NodeJs Runtime - Function functionNodeJsRuntime = Function.Builder.create(this, "FunctionNodeJsRuntime") - .runtime(Runtime.NODEJS_14_X) - .code(Code.fromAsset("../../src/nodejs/FunctionConstruct")) - .handler("app.lambdaHandler") - .layers(Arrays.asList(layerVersionNodeJsRuntime)) - .tracing(Tracing.ACTIVE) - .build(); - - // Normal Lambda Function Construct - NodeJs Runtime - with skip build metadata - Function preBuiltFunctionNodeJsRuntime = Function.Builder.create(this, "PreBuiltFunctionNodeJsRuntime") - .runtime(Runtime.NODEJS_14_X) - .code(Code.fromAsset("../../src/nodejs/BuiltFunctionConstruct")) - .handler("app.lambdaHandler") - .layers(Arrays.asList(layerVersionNodeJsRuntime)) - .tracing(Tracing.ACTIVE) - .build(); - // add SkipBuild Metadata, so SAM will skip building this function - CfnFunction cfnPreBuiltFunctionNodeJsRuntime = (CfnFunction) preBuiltFunctionNodeJsRuntime.getNode().getDefaultChild(); - cfnPreBuiltFunctionNodeJsRuntime.addMetadata("SkipBuild", true); - - // Go Runtime - GoFunction goFunction = GoFunction.Builder.create(this, "GoFunction") - .entry("../../src/go/GoFunctionConstruct") - .bundling(software.amazon.awscdk.services.lambda.go.BundlingOptions.builder() - .forcedDockerBundling(true).build()) - .build(); - - // Normal Lambda Function Construct - Go Runtime - Function functionGoRuntime = Function.Builder.create(this, "FunctionGoRuntime") - .runtime(Runtime.GO_1_X) - .code(Code.fromAsset("../../src/go/FunctionConstruct")) - .handler("FunctionConstruct") - .build(); - - // Image Package Type Functions - // One way to define an Image Package Type Function - DockerImageFunction dockerImageFunction = DockerImageFunction.Builder.create(this, "DockerImageFunction") - .code(DockerImageCode.fromImageAsset("../../src/docker/DockerImageFunctionConstruct", - AssetImageCodeProps.builder().file("Dockerfile").build() - ) - ).tracing(Tracing.ACTIVE) - .build(); - - // another way - Function functionImageAsset = Function.Builder.create(this, "FunctionImageAsset") - .code(Code.fromAssetImage("../../src/docker/FunctionConstructWithImageAssetCode", - AssetImageCodeProps.builder().file("Dockerfile").build())) - .handler(Handler.FROM_IMAGE) - .runtime(Runtime.FROM_IMAGE) - .tracing(Tracing.ACTIVE) - .build(); - - // both ways work when 'file' is a path via subfolders to the Dockerfile - // this is useful when multiple docker images share some common code - DockerImageFunction dockerImageFunctionWithSharedCode = DockerImageFunction.Builder.create(this, "DockerImageFunctionWithSharedCode") - .code(DockerImageCode.fromImageAsset("../../src/docker/ImagesWithSharedCode", - AssetImageCodeProps.builder().file("DockerImageFunctionWithSharedCode/Dockerfile").build() - ) - ).tracing(Tracing.ACTIVE) - .build(); - - Function functionImageAssetWithSharedCode = Function.Builder.create(this, "FunctionImageAssetWithSharedCode") - .code(Code.fromAssetImage("../../src/docker/ImagesWithSharedCode", - AssetImageCodeProps.builder().file("FunctionImageAssetWithSharedCode/Dockerfile").build())) - .handler(Handler.FROM_IMAGE) - .runtime(Runtime.FROM_IMAGE) - .tracing(Tracing.ACTIVE) - .build(); - - //Rest APIs - - // Spec Rest Api - SpecRestApi.Builder.create(this, "SpecRestAPI") - .apiDefinition(ApiDefinition.fromAsset("../../src/rest-api-definition.yaml")) - .build(); - - // Role to be used as credentials for the Spec rest APi - // it is used inside the spec rest api definition file - Role.Builder.create(this, "SpecRestApiRole") - .assumedBy(new ServicePrincipal("apigateway.amazonaws.com")) - .roleName("SpecRestApiRole") - .build() - .addToPolicy( - PolicyStatement.Builder.create() - .actions(Arrays.asList("lambda:InvokeFunction")) - .resources(Arrays.asList("*")) - .build() - ); - - // Rest Api - RestApi restApi = new RestApi(this, "RestAPI"); - Resource normalRootResource = restApi.getRoot().addResource("restapis") - .addResource("normal"); - - normalRootResource.addResource("pythonFunction") - .addMethod("GET", new LambdaIntegration(pythonFunction)); - normalRootResource.addResource("functionPythonRuntime") - .addMethod("GET", new LambdaIntegration(functionPythonRuntime)); - normalRootResource.addResource("preBuiltFunctionPythonRuntime") - .addMethod("GET", new LambdaIntegration(preBuiltFunctionPythonRuntime)); - normalRootResource.addResource("bundledFunctionPythonRuntime") - .addMethod("GET", new LambdaIntegration(bundledFunctionPythonRuntime)); - normalRootResource.addResource("nodejsFunction") - .addMethod("GET", new LambdaIntegration(nodejsFunction)); - normalRootResource.addResource("functionNodeJsRuntime") - .addMethod("GET", new LambdaIntegration(functionNodeJsRuntime)); - normalRootResource.addResource("preBuiltFunctionNodeJsRuntime") - .addMethod("GET", new LambdaIntegration(preBuiltFunctionNodeJsRuntime)); - normalRootResource.addResource("goFunction") - .addMethod("GET", new LambdaIntegration(goFunction)); - normalRootResource.addResource("functionGoRuntime") - .addMethod("GET", new LambdaIntegration(functionGoRuntime)); - normalRootResource.addResource("dockerImageFunction") - .addMethod("GET", new LambdaIntegration(dockerImageFunction)); - normalRootResource.addResource("functionImageAsset") - .addMethod("GET", new LambdaIntegration(functionImageAsset)); - normalRootResource.addResource("dockerImageFunctionWithSharedCode") - .addMethod("GET", new LambdaIntegration(dockerImageFunctionWithSharedCode)); - normalRootResource.addResource("functionImageAssetWithSharedCode") - .addMethod("GET", new LambdaIntegration(functionImageAssetWithSharedCode)); - - // Nested Stack - new NestedStack1(this, "NestedStack"); - - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/java/src/main/java/com/myorg/NestedStack1.java b/tests/iac_integration/cdk/testdata/cdk_v1/java/src/main/java/com/myorg/NestedStack1.java deleted file mode 100644 index cea2e65260..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/java/src/main/java/com/myorg/NestedStack1.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.myorg; - -import org.jetbrains.annotations.NotNull; -import software.amazon.awscdk.core.Construct; -import software.amazon.awscdk.core.NestedStack; -import software.amazon.awscdk.services.apigatewayv2.AddRoutesOptions; -import software.amazon.awscdk.services.apigatewayv2.HttpApi; -import software.amazon.awscdk.services.apigatewayv2.HttpMethod; -import software.amazon.awscdk.services.apigatewayv2.integrations.HttpLambdaIntegration; -import software.amazon.awscdk.services.lambda.Runtime; -import software.amazon.awscdk.services.lambda.*; -import software.amazon.awscdk.services.lambda.python.PythonFunction; -import software.amazon.awscdk.services.lambda.python.PythonLayerVersion; -import software.amazon.awscdk.services.logs.RetentionDays; - -import java.util.Arrays; - -public class NestedStack1 extends NestedStack { - - public NestedStack1(@NotNull Construct scope, @NotNull String id) { - super(scope, id); - - // Python Runtime - // Layers - PythonLayerVersion pythonLayerVersion = PythonLayerVersion.Builder - .create(this, "PythonLayerVersion") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_7, Runtime.PYTHON_3_8, - Runtime.PYTHON_3_9)) - .entry("../../src/python/layers/PythonLayerVersion") - .build(); - - LayerVersion layerVersion = LayerVersion.Builder - .create(this, "LayerVersion") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_7, Runtime.PYTHON_3_8, - Runtime.PYTHON_3_9)) - .code(Code.fromAsset("../../src/python/layers/LayerVersion")) - .build(); - // add SAM metadata to build layer - CfnLayerVersion cfnLayerVersion = (CfnLayerVersion) layerVersion.getNode().getDefaultChild(); - cfnLayerVersion.addMetadata("BuildMethod", "python3.7"); - - // ZIP package type Functions - // Functions Built by CDK - Runtime Functions Constructs - PythonFunction nestedPythonFunction = PythonFunction.Builder - .create(this, "NestedPythonFunction") - .entry("../../src/python/NestedPythonFunctionConstruct") - .index("app.py") - .handler("lambda_handler") - .runtime(Runtime.PYTHON_3_9) - .logRetention(RetentionDays.THREE_MONTHS) - .layers(Arrays.asList(pythonLayerVersion, layerVersion)) - .tracing(Tracing.ACTIVE) - .build(); - - HttpApi httpApi = new HttpApi(this, "httpAPi"); - - httpApi.addRoutes(AddRoutesOptions.builder() - .path("/httpapis/nestedPythonFunction") - .methods(Arrays.asList(HttpMethod.GET)) - .integration(new HttpLambdaIntegration("httpApiRandomNameIntegration", nestedPythonFunction)) - .build() - ); - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/python/app.py b/tests/iac_integration/cdk/testdata/cdk_v1/python/app.py deleted file mode 100644 index be87c07f11..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/python/app.py +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env python3 -from aws_cdk import core - -from python.python_stack import PythonStack - - -app = core.App() -PythonStack(app, "TestStack") - -app.synth() diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/python/cdk.json b/tests/iac_integration/cdk/testdata/cdk_v1/python/cdk.json deleted file mode 100644 index 05b65aa6c3..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/python/cdk.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "app": "python3 -m venv .env && ./.env/bin/python -m pip install -r requirements.txt && ./.env/bin/python app.py", - "context": { - - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/python/python/__init__.py b/tests/iac_integration/cdk/testdata/cdk_v1/python/python/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/python/python/nested_stack.py b/tests/iac_integration/cdk/testdata/cdk_v1/python/python/nested_stack.py deleted file mode 100644 index eb697579c1..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/python/python/nested_stack.py +++ /dev/null @@ -1,61 +0,0 @@ -from typing import cast - -from aws_cdk import ( - core as cdk, - aws_lambda as lambda1, -) -from aws_cdk.aws_apigatewayv2 import HttpApi, HttpMethod -from aws_cdk.aws_apigatewayv2_integrations import HttpLambdaIntegration -from aws_cdk.aws_lambda import CfnLayerVersion -from aws_cdk.aws_lambda_python import PythonLayerVersion, PythonFunction - - -class NestedStack1(cdk.NestedStack): - def __init__(self, scope: cdk.Construct, construct_id: str, **kwargs) -> None: - super().__init__(scope, construct_id, **kwargs) - - # Python Runtime - # Layers - python_layer_version = PythonLayerVersion( - self, - "PythonLayerVersion", - compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_7, - lambda1.Runtime.PYTHON_3_8, - lambda1.Runtime.PYTHON_3_9, - ], - entry="../../src/python/layers/PythonLayerVersion", - ) - layer_version = lambda1.LayerVersion( - self, - "LayerVersion", - compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_7, - lambda1.Runtime.PYTHON_3_8, - lambda1.Runtime.PYTHON_3_9, - ], - code=lambda1.Code.from_asset("../../src/python/layers/LayerVersion"), - ) - # add SAM metadata to build layer - cfn_layer_version = cast(CfnLayerVersion, layer_version.node.default_child) - cfn_layer_version.add_metadata("BuildMethod", "python3.7") - - # ZIP package type Functions - # Functions Built by CDK - Runtime Functions Constructs - nested_python_function = PythonFunction( - self, - "NestedPythonFunction", - entry="../../src/python/NestedPythonFunctionConstruct", - index="app.py", - handler="lambda_handler", - runtime=lambda1.Runtime.PYTHON_3_9, - layers=[python_layer_version, layer_version], - tracing=lambda1.Tracing.ACTIVE, - ) - http_api = HttpApi(self, "httpAPi") - - http_api.add_routes( - path="/httpapis/nestedPythonFunction", - methods=[HttpMethod.GET], - integration=HttpLambdaIntegration("httpApiRandomNameIntegration", nested_python_function), - ) diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/python/python/python_stack.py b/tests/iac_integration/cdk/testdata/cdk_v1/python/python/python_stack.py deleted file mode 100644 index 78b884883f..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/python/python/python_stack.py +++ /dev/null @@ -1,323 +0,0 @@ -import os -from pathlib import Path -from typing import cast - -from aws_cdk import core as cdk, aws_lambda as lambda1, aws_apigateway as apigw, aws_logs as logs -from aws_cdk.aws_apigateway import LambdaIntegration -from aws_cdk.aws_lambda_nodejs import NodejsFunction, BundlingOptions as NodeJsBundlingOptions -from aws_cdk.aws_lambda_go import GoFunction, BundlingOptions as GoBundlingOptions -from aws_cdk.aws_lambda_python import PythonFunction, PythonLayerVersion -from aws_cdk.aws_iam import Role, ServicePrincipal, PolicyStatement -from aws_cdk.aws_lambda import CfnFunction, CfnLayerVersion -from aws_cdk.core import BundlingOptions - -from .nested_stack import NestedStack1 - - -class PythonStack(cdk.Stack): - def __init__(self, scope: cdk.Construct, construct_id: str, **kwargs) -> None: - super().__init__(scope, construct_id, **kwargs) - - # Python Runtime - # Layers - python_layer_version = PythonLayerVersion( - self, - "PythonLayerVersion", - compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_7, - lambda1.Runtime.PYTHON_3_8, - lambda1.Runtime.PYTHON_3_9, - ], - entry="../../src/python/layers/PythonLayerVersion", - ) - layer_version = lambda1.LayerVersion( - self, - "LayerVersion", - compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_7, - lambda1.Runtime.PYTHON_3_8, - lambda1.Runtime.PYTHON_3_9, - ], - code=lambda1.Code.from_asset("../../src/python/layers/LayerVersion"), - ) - # add SAM metadata to build layer - cfn_layer_version = cast(CfnLayerVersion, layer_version.node.default_child) - cfn_layer_version.add_metadata("BuildMethod", "python3.7") - - # Lambda LayerVersion with bundled Asset that will be built by CDK - bundled_layer_version_python_runtime = lambda1.LayerVersion( - self, - "BundledLayerVersionPythonRuntime", - compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_7, - lambda1.Runtime.PYTHON_3_8, - lambda1.Runtime.PYTHON_3_9, - ], - code=lambda1.Code.from_asset( - "../../src/python/layers/BundledLayerVersion", - bundling=BundlingOptions( - command=[ - "/bin/sh", - "-c", - "rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && mkdir /asset-output/python && cp -R /tmp/asset-input/* /asset-output/python", - ], - image=lambda1.Runtime.PYTHON_3_7.bundling_image, - user="root", - ), - ), - ) - - # ZIP package type Functions - # Functions Built by CDK - Runtime Functions Constructs - python_function = PythonFunction( - self, - "PythonFunction", - entry="../../src/python/PythonFunctionConstruct", - index="app.py", - handler="lambda_handler", - runtime=lambda1.Runtime.PYTHON_3_9, - function_name="pythonFunc", # we need the name to use it in the API definition file - log_retention=logs.RetentionDays.THREE_MONTHS, - layers=[python_layer_version, layer_version], - tracing=lambda1.Tracing.ACTIVE, - ) - - # Normal Lambda Function Construct - Python Runtime - function_python_runtime = lambda1.Function( - self, - "FunctionPythonRuntime", - runtime=lambda1.Runtime.PYTHON_3_7, - code=lambda1.Code.from_asset("../../src/python/FunctionConstruct"), - handler="app.lambda_handler", - layers=[python_layer_version, layer_version], - tracing=lambda1.Tracing.ACTIVE, - ) - - # Normal Lambda Function Construct - Python Runtime - with skip build metadata - pre_built_function_python_runtime = lambda1.Function( - self, - "PreBuiltFunctionPythonRuntime", - runtime=lambda1.Runtime.PYTHON_3_7, - code=lambda1.Code.from_asset("../../src/python/BuiltFunctionConstruct"), - handler="app.lambda_handler", - layers=[python_layer_version, layer_version], - tracing=lambda1.Tracing.ACTIVE, - ) - # add SkipBuild Metadata, so SAM will skip building self function - cfn_pre_built_function_python_runtime = cast(CfnFunction, pre_built_function_python_runtime.node.default_child) - cfn_pre_built_function_python_runtime.add_metadata("SkipBuild", True) - - # Normal Lambda Function with bundled Asset will be built by CDK - bundled_function_python_runtime = lambda1.Function( - self, - "BundledFunctionPythonRuntime", - runtime=lambda1.Runtime.PYTHON_3_7, - code=lambda1.Code.from_asset( - "../../src/python/BundledFunctionConstruct/", - bundling=BundlingOptions( - command=[ - "/bin/sh", - "-c", - "rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && cp -R /tmp/asset-input/* /asset-output", - ], - image=lambda1.Runtime.PYTHON_3_7.bundling_image, - user="root", - ), - ), - handler="app.lambda_handler", - layers=[ - bundled_layer_version_python_runtime, - python_layer_version, - ], - timeout=cdk.Duration.seconds(120), - tracing=lambda1.Tracing.ACTIVE, - ) - - # NodeJs Runtime - # Layers - layer_version_node_js_runtime = lambda1.LayerVersion( - self, - "LayerVersionNodeJsRuntime", - compatible_runtimes=[ - lambda1.Runtime.NODEJS_14_X, - ], - code=lambda1.Code.from_asset("../../src/nodejs/layers/LayerVersion"), - ) - # add SAM metadata to build layer - cfn_layer_version_node_js_runtime = cast(CfnLayerVersion, layer_version_node_js_runtime.node.default_child) - cfn_layer_version_node_js_runtime.add_metadata("BuildMethod", "nodejs14.x") - - nodejs_function = NodejsFunction( - self, - "NodejsFunction", - runtime=lambda1.Runtime.NODEJS_14_X, - entry=os.path.join( - Path(__file__).resolve().parents[0], "../../../src/nodejs/NodeJsFunctionConstruct/app.ts" - ), - deps_lock_file_path=os.path.join( - Path(__file__).resolve().parents[0], "../../../src/nodejs/NodeJsFunctionConstruct/package-lock.json" - ), - bundling=NodeJsBundlingOptions( - external_modules=["/opt/nodejs/layer_version_dependency"], - ), - handler="lambdaHandler", - layers=[layer_version_node_js_runtime], - tracing=lambda1.Tracing.ACTIVE, - ) - - # Normal Lambda Function Construct - NodeJs Runtime - function_node_js_runtime = lambda1.Function( - self, - "FunctionNodeJsRuntime", - runtime=lambda1.Runtime.NODEJS_14_X, - code=lambda1.Code.from_asset("../../src/nodejs/FunctionConstruct"), - handler="app.lambdaHandler", - layers=[layer_version_node_js_runtime], - tracing=lambda1.Tracing.ACTIVE, - ) - - # Normal Lambda Function Construct - NodeJs Runtime - with skip build metadata - pre_built_function_node_js_runtime = lambda1.Function( - self, - "PreBuiltFunctionNodeJsRuntime", - runtime=lambda1.Runtime.NODEJS_14_X, - code=lambda1.Code.from_asset("../../src/nodejs/BuiltFunctionConstruct"), - handler="app.lambdaHandler", - layers=[layer_version_node_js_runtime], - tracing=lambda1.Tracing.ACTIVE, - ) - # add SkipBuild Metadata, so SAM will skip building self function - cfn_pre_built_function_node_js_runtime = cast( - CfnFunction, pre_built_function_node_js_runtime.node.default_child - ) - cfn_pre_built_function_node_js_runtime.add_metadata("SkipBuild", True) - - # Go Runtime - go_function = GoFunction( - self, - "GoFunction", - entry="../../src/go/GoFunctionConstruct", - bundling=GoBundlingOptions( - forced_docker_bundling=True, - ), - ) - - # Normal Lambda Function Construct - Go Runtime - function_go_runtime = lambda1.Function( - self, - "FunctionGoRuntime", - runtime=lambda1.Runtime.GO_1_X, - code=lambda1.Code.from_asset("../../src/go/FunctionConstruct"), - handler="FunctionConstruct", - ) - - # Image Package Type Functions - - # One way to define an Image Package Type Function - docker_image_function = lambda1.DockerImageFunction( - self, - "DockerImageFunction", - code=lambda1.DockerImageCode.from_image_asset( - directory="../../src/docker/DockerImageFunctionConstruct", - file="Dockerfile", - ), - tracing=lambda1.Tracing.ACTIVE, - ) - - # another way - function_image_asset = lambda1.Function( - self, - "FunctionImageAsset", - code=lambda1.Code.from_asset_image( - directory="../../src/docker/FunctionConstructWithImageAssetCode", - file="Dockerfile", - ), - handler=lambda1.Handler.FROM_IMAGE, - runtime=lambda1.Runtime.FROM_IMAGE, - tracing=lambda1.Tracing.ACTIVE, - ) - - # both ways work when 'file' is a path via subfolders to the Dockerfile - # this is useful when multiple docker images share some common code - docker_image_function_with_shared_code = lambda1.DockerImageFunction( - self, - "DockerImageFunctionWithSharedCode", - code=lambda1.DockerImageCode.from_image_asset( - directory="../../src/docker/ImagesWithSharedCode", - file="DockerImageFunctionWithSharedCode/Dockerfile", - ), - tracing=lambda1.Tracing.ACTIVE, - ) - - function_image_asset_with_shared_code = lambda1.Function( - self, - "FunctionImageAssetWithSharedCode", - code=lambda1.Code.from_asset_image( - directory="../../src/docker/ImagesWithSharedCode", - file="FunctionImageAssetWithSharedCode/Dockerfile", - ), - handler=lambda1.Handler.FROM_IMAGE, - runtime=lambda1.Runtime.FROM_IMAGE, - tracing=lambda1.Tracing.ACTIVE, - ) - - # Rest APIs - - # Spec Rest Api - apigw.SpecRestApi( - self, - "SpecRestAPI", - api_definition=apigw.ApiDefinition.from_asset("../../src/rest-api-definition.yaml"), - ) - - # Role to be used as credentials for the Spec rest APi - # it is used inside the spec rest api definition file - Role( - self, - "SpecRestApiRole", - assumed_by=ServicePrincipal("apigateway.amazonaws.com"), - role_name="SpecRestApiRole", - ).add_to_policy( - PolicyStatement( - actions=["lambda:InvokeFunction"], - resources=["*"], - ) - ) - - # Rest Api - rest_api = apigw.RestApi(self, "RestAPI") - normal_root_resource = rest_api.root.add_resource("restapis").add_resource("normal") - normal_root_resource.add_resource("pythonFunction").add_method("GET", LambdaIntegration(python_function)) - normal_root_resource.add_resource("functionPythonRuntime").add_method( - "GET", LambdaIntegration(function_python_runtime) - ) - normal_root_resource.add_resource("preBuiltFunctionPythonRuntime").add_method( - "GET", LambdaIntegration(pre_built_function_python_runtime) - ) - normal_root_resource.add_resource("bundledFunctionPythonRuntime").add_method( - "GET", LambdaIntegration(bundled_function_python_runtime) - ) - normal_root_resource.add_resource("nodejsFunction").add_method("GET", LambdaIntegration(nodejs_function)) - normal_root_resource.add_resource("functionNodeJsRuntime").add_method( - "GET", LambdaIntegration(function_node_js_runtime) - ) - normal_root_resource.add_resource("preBuiltFunctionNodeJsRuntime").add_method( - "GET", LambdaIntegration(pre_built_function_node_js_runtime) - ) - normal_root_resource.add_resource("goFunction").add_method("GET", LambdaIntegration(go_function)) - normal_root_resource.add_resource("functionGoRuntime").add_method("GET", LambdaIntegration(function_go_runtime)) - normal_root_resource.add_resource("dockerImageFunction").add_method( - "GET", LambdaIntegration(docker_image_function) - ) - normal_root_resource.add_resource("functionImageAsset").add_method( - "GET", LambdaIntegration(function_image_asset) - ) - normal_root_resource.add_resource("dockerImageFunctionWithSharedCode").add_method( - "GET", LambdaIntegration(docker_image_function_with_shared_code) - ) - normal_root_resource.add_resource("functionImageAssetWithSharedCode").add_method( - "GET", LambdaIntegration(function_image_asset_with_shared_code) - ) - - # Nested Stack - NestedStack1(self, "NestedStack") diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/python/requirements.txt b/tests/iac_integration/cdk/testdata/cdk_v1/python/requirements.txt deleted file mode 100644 index dcde485867..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/python/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -aws-cdk.aws-apigateway<2.0.0 -aws-cdk.aws-apigatewayv2<2.0.0 -aws-cdk.aws-apigatewayv2-integrations<2.0.0 -aws-cdk.aws-lambda<2.0.0 -aws-cdk.aws-lambda-go<2.0.0 -aws-cdk.aws-lambda-nodejs<2.0.0 -aws-cdk.aws-lambda-python<2.0.0 -aws-cdk.core<2.0.0 \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/typescript/bin/test-app.ts b/tests/iac_integration/cdk/testdata/cdk_v1/typescript/bin/test-app.ts deleted file mode 100644 index 277298f8bb..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/typescript/bin/test-app.ts +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env node -import * as cdk from '@aws-cdk/core'; -import { CDKSupportDemoRootStack } from '../lib/test-stack'; - -const app = new cdk.App(); -new CDKSupportDemoRootStack(app, 'TestStack'); -app.synth(); \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/typescript/cdk.json b/tests/iac_integration/cdk/testdata/cdk_v1/typescript/cdk.json deleted file mode 100644 index 608fbbc197..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/typescript/cdk.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "app": "npm install && npx ts-node --prefer-ts-exts bin/test-app.ts", - "context": { - - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/typescript/lib/nested-stack.ts b/tests/iac_integration/cdk/testdata/cdk_v1/typescript/lib/nested-stack.ts deleted file mode 100644 index fc3416e2c8..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/typescript/lib/nested-stack.ts +++ /dev/null @@ -1,58 +0,0 @@ -import * as cdk from '@aws-cdk/core'; -import * as lambda from '@aws-cdk/aws-lambda'; -import { HttpApi, HttpMethod } from '@aws-cdk/aws-apigatewayv2'; -import { HttpLambdaIntegration } from '@aws-cdk/aws-apigatewayv2-integrations'; -import { PythonFunction, PythonLayerVersion } from '@aws-cdk/aws-lambda-python'; -import {CfnLayerVersion} from "@aws-cdk/aws-lambda"; - -export class NestedStack1 extends cdk.NestedStack { - - constructor(scope: cdk.Construct, id: string, props?: cdk.NestedStackProps) { - super(scope, id, props); - - // Python Runtime - // Layers - const pythonLayerVersion = new PythonLayerVersion(this, 'PythonLayerVersion', { - compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_7, - lambda.Runtime.PYTHON_3_8, - lambda.Runtime.PYTHON_3_9, - ], - entry: '../../src/python/layers/PythonLayerVersion', - }); - const layerVersion = new lambda.LayerVersion(this, 'LayerVersion', { - compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_7, - lambda.Runtime.PYTHON_3_8, - lambda.Runtime.PYTHON_3_9, - ], - code: lambda.Code.fromAsset('../../src/python/layers/LayerVersion'), - }); - // add SAM metadata to build layer - const cfnLayerVersion = layerVersion.node.defaultChild as CfnLayerVersion; - cfnLayerVersion.addMetadata('BuildMethod', 'python3.7'); - - // ZIP package type Functions - // Functions Built by CDK - Runtime Functions Constructs - const nestedPythonFunction = new PythonFunction(this, 'NestedPythonFunction', { - entry: '../../src/python/NestedPythonFunctionConstruct', - index: 'app.py', - handler: 'lambda_handler', - runtime: lambda.Runtime.PYTHON_3_9, - layers: [pythonLayerVersion, layerVersion], - tracing: lambda.Tracing.ACTIVE, - }); - - const httpApi = new HttpApi(this, 'httpAPi', { - }); - - httpApi.addRoutes({ - path: '/httpapis/nestedPythonFunction', - methods: [HttpMethod.GET], - integration: new HttpLambdaIntegration('httpApiRandomNameIntegration', - nestedPythonFunction, {} - ), - }); - - } -} \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/typescript/lib/test-stack.ts b/tests/iac_integration/cdk/testdata/cdk_v1/typescript/lib/test-stack.ts deleted file mode 100644 index 9396cdb663..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/typescript/lib/test-stack.ts +++ /dev/null @@ -1,279 +0,0 @@ -import * as path from 'path'; -import * as cdk from '@aws-cdk/core'; -import * as lambda from '@aws-cdk/aws-lambda'; -import * as apigw from '@aws-cdk/aws-apigateway'; -import { LambdaIntegration} from '@aws-cdk/aws-apigateway'; -import { NodejsFunction } from '@aws-cdk/aws-lambda-nodejs'; -import { GoFunction } from '@aws-cdk/aws-lambda-go'; -import { PythonFunction, PythonLayerVersion } from '@aws-cdk/aws-lambda-python'; -import {Role, ServicePrincipal, PolicyStatement} from '@aws-cdk/aws-iam'; -import { CfnFunction, CfnLayerVersion } from '@aws-cdk/aws-lambda'; -import {NestedStack1} from './nested-stack'; -import * as logs from '@aws-cdk/aws-logs'; - -export class CDKSupportDemoRootStack extends cdk.Stack { - constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) { - super(scope, id, props); - - // Python Runtime - // Layers - const pythonLayerVersion = new PythonLayerVersion(this, 'PythonLayerVersion', { - compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_7, - lambda.Runtime.PYTHON_3_8, - lambda.Runtime.PYTHON_3_9, - ], - entry: '../../src/python/layers/PythonLayerVersion', - }); - const layerVersion = new lambda.LayerVersion(this, 'LayerVersion', { - compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_7, - lambda.Runtime.PYTHON_3_8, - lambda.Runtime.PYTHON_3_9, - ], - code: lambda.Code.fromAsset('../../src/python/layers/LayerVersion'), - }); - // add SAM metadata to build layer - const cfnLayerVersion = layerVersion.node.defaultChild as CfnLayerVersion; - cfnLayerVersion.addMetadata('BuildMethod', 'python3.7'); - - // Lambda LayerVersion with bundled Asset that will be built by CDK - const bundledLayerVersionPythonRuntime = new lambda.LayerVersion(this, 'BundledLayerVersionPythonRuntime', { - compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_7, - lambda.Runtime.PYTHON_3_8, - lambda.Runtime.PYTHON_3_9, - ], - code: lambda.Code.fromAsset('../../src/python/layers/BundledLayerVersion', { - bundling: { - command: [ - '/bin/sh', - '-c', - 'rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && mkdir /asset-output/python && cp -R /tmp/asset-input/* /asset-output/python', - ], - image: lambda.Runtime.PYTHON_3_7.bundlingImage, - user: 'root', - } - }), - }); - - // ZIP package type Functions - // Functions Built by CDK - Runtime Functions Constructs - const pythonFunction = new PythonFunction(this, 'PythonFunction', { - entry: '../../src/python/PythonFunctionConstruct', - index: 'app.py', - handler: 'lambda_handler', - runtime: lambda.Runtime.PYTHON_3_9, - functionName: 'pythonFunc', // we need the name to use it in the API definition file - logRetention: logs.RetentionDays.THREE_MONTHS, - layers: [pythonLayerVersion, layerVersion], - tracing: lambda.Tracing.ACTIVE, - }); - - // Normal Lambda Function Construct - Python Runtime - const functionPythonRuntime = new lambda.Function(this, 'FunctionPythonRuntime', { - runtime: lambda.Runtime.PYTHON_3_7, - code: lambda.Code.fromAsset('../../src/python/FunctionConstruct'), - handler: 'app.lambda_handler', - layers: [pythonLayerVersion, layerVersion], - tracing: lambda.Tracing.ACTIVE, - }); - - // Normal Lambda Function Construct - Python Runtime - with skip build metadata - const preBuiltFunctionPythonRuntime = new lambda.Function(this, 'PreBuiltFunctionPythonRuntime', { - runtime: lambda.Runtime.PYTHON_3_7, - code: lambda.Code.fromAsset('../../src/python/BuiltFunctionConstruct'), - handler: 'app.lambda_handler', - layers: [pythonLayerVersion, layerVersion], - tracing: lambda.Tracing.ACTIVE, - }); - // add SkipBuild Metadata, so SAM will skip building this function - const cfnPreBuiltFunctionPythonRuntime = preBuiltFunctionPythonRuntime.node.defaultChild as CfnFunction; - cfnPreBuiltFunctionPythonRuntime.addMetadata('SkipBuild', true); - - // Normal Lambda Function with bundled Asset will be built by CDK - const bundledFunctionPythonRuntime = new lambda.Function(this, 'BundledFunctionPythonRuntime', { - runtime: lambda.Runtime.PYTHON_3_7, - code: lambda.Code.fromAsset('../../src/python/BundledFunctionConstruct/', { - bundling: { - command: [ - '/bin/sh', - '-c', - 'rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && cp -R /tmp/asset-input/* /asset-output', - ], - image: lambda.Runtime.PYTHON_3_7.bundlingImage, - user: 'root', - } - }), - handler: "app.lambda_handler", - layers: [bundledLayerVersionPythonRuntime, pythonLayerVersion], - timeout: cdk.Duration.seconds(120), - tracing: lambda.Tracing.ACTIVE, - }); - - // NodeJs Runtime - //Layers - const layerVersionNodeJsRuntime = new lambda.LayerVersion(this, 'LayerVersionNodeJsRuntime', { - compatibleRuntimes: [ - lambda.Runtime.NODEJS_14_X, - ], - code: lambda.Code.fromAsset('../../src/nodejs/layers/LayerVersion'), - }); - // add SAM metadata to build layer - const cfnLayerVersionNodeJsRuntime = layerVersionNodeJsRuntime.node.defaultChild as CfnLayerVersion; - cfnLayerVersionNodeJsRuntime.addMetadata('BuildMethod', 'nodejs14.x'); - - const nodejsFunction = new NodejsFunction(this, 'NodejsFunction', { - runtime: lambda.Runtime.NODEJS_14_X, - entry: path.join(__dirname, '../../../src/nodejs/NodeJsFunctionConstruct/app.ts'), - depsLockFilePath: path.join(__dirname, '../../../src/nodejs/NodeJsFunctionConstruct/package-lock.json'), - bundling: { - externalModules: ['/opt/nodejs/layer_version_dependency'], - }, - handler: 'lambdaHandler', - layers: [layerVersionNodeJsRuntime], - tracing: lambda.Tracing.ACTIVE, - }); - - // Normal Lambda Function Construct - NodeJs Runtime - const functionNodeJsRuntime = new lambda.Function(this, 'FunctionNodeJsRuntime', { - runtime: lambda.Runtime.NODEJS_14_X, - code: lambda.Code.fromAsset('../../src/nodejs/FunctionConstruct'), - handler: 'app.lambdaHandler', - layers: [layerVersionNodeJsRuntime], - tracing: lambda.Tracing.ACTIVE, - }); - - // Normal Lambda Function Construct - NodeJs Runtime - with skip build metadata - const preBuiltFunctionNodeJsRuntime = new lambda.Function(this, 'PreBuiltFunctionNodeJsRuntime', { - runtime: lambda.Runtime.NODEJS_14_X, - code: lambda.Code.fromAsset('../../src/nodejs/BuiltFunctionConstruct'), - handler: 'app.lambdaHandler', - layers: [layerVersionNodeJsRuntime], - tracing: lambda.Tracing.ACTIVE, - }); - // add SkipBuild Metadata, so SAM will skip building this function - const cfnPreBuiltFunctionNodeJsRuntime = preBuiltFunctionNodeJsRuntime.node.defaultChild as CfnFunction; - cfnPreBuiltFunctionNodeJsRuntime.addMetadata('SkipBuild', true); - - // Go Runtime - - const goFunction = new GoFunction(this, 'GoFunction', { - entry: '../../src/go/GoFunctionConstruct', - bundling: { - forcedDockerBundling: true, - }, - }); - - // Normal Lambda Function Construct - Go Runtime - const functionGoRuntime = new lambda.Function(this, 'FunctionGoRuntime', { - runtime: lambda.Runtime.GO_1_X, - code: lambda.Code.fromAsset('../../src/go/FunctionConstruct'), - handler: 'FunctionConstruct', - }); - - // Image Package Type Functions - - // One way to define an Image Package Type Function - const dockerImageFunction = new lambda.DockerImageFunction(this, "DockerImageFunction", { - code: lambda.DockerImageCode.fromImageAsset('../../src/docker/DockerImageFunctionConstruct', { - file: 'Dockerfile', - }), - tracing: lambda.Tracing.ACTIVE, - }); - - // another way - const functionImageAsset = new lambda.Function(this, "FunctionImageAsset", { - code: lambda.Code.fromAssetImage('../../src/docker/FunctionConstructWithImageAssetCode', { - file: 'Dockerfile', - }), - handler: lambda.Handler.FROM_IMAGE, - runtime: lambda.Runtime.FROM_IMAGE, - tracing: lambda.Tracing.ACTIVE, - }); - - // both ways work when 'file' is a path via subfolders to the Dockerfile - // this is useful when multiple docker images share some common code - const dockerImageFunctionWithSharedCode = new lambda.DockerImageFunction(this, "DockerImageFunctionWithSharedCode", { - code: lambda.DockerImageCode.fromImageAsset("../../src/docker/ImagesWithSharedCode", { - file: "DockerImageFunctionWithSharedCode/Dockerfile", - }), - tracing: lambda.Tracing.ACTIVE, - }); - - // another way - const functionImageAssetWithSharedCode = new lambda.Function(this, "FunctionImageAssetWithSharedCode", { - code: lambda.Code.fromAssetImage("../../src/docker/ImagesWithSharedCode", { - file: "FunctionImageAssetWithSharedCode/Dockerfile", - }), - handler: lambda.Handler.FROM_IMAGE, - runtime: lambda.Runtime.FROM_IMAGE, - tracing: lambda.Tracing.ACTIVE, - }); - - - //Rest APIs - - // Spec Rest Api - new apigw.SpecRestApi(this, 'SpecRestAPI', { - apiDefinition: apigw.ApiDefinition.fromAsset('../../src/rest-api-definition.yaml'), - }); - - // Role to be used as credentials for the Spec rest APi - // it is used inside the spec rest api definition file - new Role(this, 'SpecRestApiRole', { - assumedBy: new ServicePrincipal('apigateway.amazonaws.com'), - roleName: 'SpecRestApiRole', - }).addToPolicy(new PolicyStatement({ - actions: ['lambda:InvokeFunction'], - resources: ['*'], - })); - - // Rest Api - const restApi = new apigw.RestApi(this, 'RestAPI', {}); - const normalRootResource = restApi.root.addResource('restapis') - .addResource('normal'); - - normalRootResource.addResource('pythonFunction') - .addMethod('GET', new LambdaIntegration(pythonFunction)); - - normalRootResource.addResource('functionPythonRuntime') - .addMethod('GET', new LambdaIntegration(functionPythonRuntime)); - - normalRootResource.addResource('preBuiltFunctionPythonRuntime') - .addMethod('GET', new LambdaIntegration(preBuiltFunctionPythonRuntime)); - - normalRootResource.addResource('bundledFunctionPythonRuntime') - .addMethod('GET', new LambdaIntegration(bundledFunctionPythonRuntime)); - - normalRootResource.addResource('nodejsFunction') - .addMethod('GET', new LambdaIntegration(nodejsFunction)); - - normalRootResource.addResource('functionNodeJsRuntime') - .addMethod('GET', new LambdaIntegration(functionNodeJsRuntime)); - - normalRootResource.addResource('preBuiltFunctionNodeJsRuntime') - .addMethod('GET', new LambdaIntegration(preBuiltFunctionNodeJsRuntime)); - - normalRootResource.addResource('goFunction') - .addMethod('GET', new LambdaIntegration(goFunction)); - - normalRootResource.addResource('functionGoRuntime') - .addMethod('GET', new LambdaIntegration(functionGoRuntime)); - - normalRootResource.addResource('dockerImageFunction') - .addMethod('GET', new LambdaIntegration(dockerImageFunction)); - - normalRootResource.addResource('functionImageAsset') - .addMethod('GET', new LambdaIntegration(functionImageAsset)); - - normalRootResource.addResource('dockerImageFunctionWithSharedCode') - .addMethod('GET', new LambdaIntegration(dockerImageFunctionWithSharedCode)); - - normalRootResource.addResource('functionImageAssetWithSharedCode') - .addMethod('GET', new LambdaIntegration(functionImageAssetWithSharedCode)); - - // Nested Stack - new NestedStack1(this, 'NestedStack' ,{}); - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/typescript/package.json b/tests/iac_integration/cdk/testdata/cdk_v1/typescript/package.json deleted file mode 100644 index 5f405323e1..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/typescript/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "api-cors-issue", - "version": "0.1.0", - "bin": { - "api-cors-issue": "bin/api-cors-issue.js" - }, - "scripts": { - "build": "tsc", - "cdk": "cdk" - }, - "devDependencies": { - "@aws-cdk/assert": "<2.0.0", - "@types/node": "10.17.27", - "aws-cdk": "<2.0.0", - "ts-node": "^9.0.0", - "typescript": "~3.9.7" - }, - "dependencies": { - "@aws-cdk/aws-apigateway": "<2.0.0", - "@aws-cdk/aws-apigatewayv2": "<2.0.0", - "@aws-cdk/aws-apigatewayv2-integrations": "<2.0.0", - "@aws-cdk/aws-lambda": "<2.0.0", - "@aws-cdk/aws-lambda-go": "<2.0.0", - "@aws-cdk/aws-lambda-nodejs": "<2.0.0", - "@aws-cdk/aws-lambda-python": "<2.0.0", - "@aws-cdk/core": "<2.0.0" - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v1/typescript/tsconfig.json b/tests/iac_integration/cdk/testdata/cdk_v1/typescript/tsconfig.json deleted file mode 100644 index 9f8e8beabd..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v1/typescript/tsconfig.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "module": "commonjs", - "lib": [ - "es2018" - ], - "declaration": true, - "strict": true, - "noImplicitAny": true, - "strictNullChecks": true, - "noImplicitThis": true, - "alwaysStrict": true, - "noUnusedLocals": false, - "noUnusedParameters": false, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": false, - "inlineSourceMap": true, - "inlineSources": true, - "experimentalDecorators": true, - "strictPropertyInitialization": false, - "typeRoots": [ - "./node_modules/@types" - ] - }, - "exclude": [ - "node_modules", - "cdk.out" - ] -} From d6fcf5a9759615f444df7b9b8189c557a017472b Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Sun, 25 Jun 2023 15:46:44 -0700 Subject: [PATCH 02/13] move CDK testing to GH Actions --- .../cdk-sam-cli-integration-testing.yml | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/cdk-sam-cli-integration-testing.yml diff --git a/.github/workflows/cdk-sam-cli-integration-testing.yml b/.github/workflows/cdk-sam-cli-integration-testing.yml new file mode 100644 index 0000000000..4a8ef37814 --- /dev/null +++ b/.github/workflows/cdk-sam-cli-integration-testing.yml @@ -0,0 +1,56 @@ +name: Test the integration between SAM CLI and Latest CDK version + +on: + schedule: + - cron: "0 7 * * 1-5" # run 7am UTC (12am PDT time) in every weekday + workflow_dispatch: {} + +# to automatically cancel the running workflow for same PR. +concurrency: + group: ${{ github.ref }} + cancel-in-progress: true + +jobs: + integration-tests: + name: Integration Tests / ${{ matrix.python }} + # if: github.repository == 'aws/aws-sam-cli' + runs-on: ubuntu-latest + env: + AWS_DEFAULT_REGION: us-east-1 + SAM_CLI_DEV: 1 + NOSE_PARAMETERIZED_NO_WARN: 1 + APPVEYOR_CONSOLE_DISABLE_PTY: false + APPVEYOR_DETAILED_SHELL_LOGGING: true + strategy: + matrix: + python: + - "3.7" + - "3.8" + - "3.11" + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + # set last version as the one in matrix to make it default + python-version: | + 3.7 + 3.8 + 3.11 + ${{ matrix.python }} + - uses: actions/setup-go@v4 + with: + go-version: '1.19' + - uses: ruby/setup-ruby@v1 + with: + ruby-version: "2.7" + - uses: actions/setup-java@v3 + with: + distribution: 'corretto' + java-version: '8' + - uses: actions/setup-node@v3 + with: + node-version: 14 + - name: Init samdev + run: make init + - name: Run CDK dintegration tests + run: pytest -vv tests/iac_integration From 154717adf956087351b8bc309408624fe10b759a Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Sun, 25 Jun 2023 15:51:49 -0700 Subject: [PATCH 03/13] fix spelling mistake --- .github/workflows/cdk-sam-cli-integration-testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cdk-sam-cli-integration-testing.yml b/.github/workflows/cdk-sam-cli-integration-testing.yml index 4a8ef37814..a100b6fc48 100644 --- a/.github/workflows/cdk-sam-cli-integration-testing.yml +++ b/.github/workflows/cdk-sam-cli-integration-testing.yml @@ -52,5 +52,5 @@ jobs: node-version: 14 - name: Init samdev run: make init - - name: Run CDK dintegration tests + - name: Run CDK integration tests run: pytest -vv tests/iac_integration From dee92d229e2b12f284b9da84d1126f39a370d006 Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Sun, 25 Jun 2023 16:06:51 -0700 Subject: [PATCH 04/13] run only on aws-sam-cli repo --- .github/workflows/cdk-sam-cli-integration-testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cdk-sam-cli-integration-testing.yml b/.github/workflows/cdk-sam-cli-integration-testing.yml index a100b6fc48..40fb5152d9 100644 --- a/.github/workflows/cdk-sam-cli-integration-testing.yml +++ b/.github/workflows/cdk-sam-cli-integration-testing.yml @@ -13,7 +13,7 @@ concurrency: jobs: integration-tests: name: Integration Tests / ${{ matrix.python }} - # if: github.repository == 'aws/aws-sam-cli' + if: github.repository == 'aws/aws-sam-cli' runs-on: ubuntu-latest env: AWS_DEFAULT_REGION: us-east-1 From 46e54b8479322cc65c759283dec56633282ed47b Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Sun, 25 Jun 2023 16:07:29 -0700 Subject: [PATCH 05/13] delete Appveyor Iac integration job --- appveyor-iac-integration-ubuntu.yml | 105 ---------------------------- 1 file changed, 105 deletions(-) delete mode 100644 appveyor-iac-integration-ubuntu.yml diff --git a/appveyor-iac-integration-ubuntu.yml b/appveyor-iac-integration-ubuntu.yml deleted file mode 100644 index af18ab451c..0000000000 --- a/appveyor-iac-integration-ubuntu.yml +++ /dev/null @@ -1,105 +0,0 @@ -version: 1.0.{build} -image: - - Ubuntu2004 - -environment: - AWS_DEFAULT_REGION: us-east-1 - SAM_CLI_DEV: 1 - NOSE_PARAMETERIZED_NO_WARN: 1 - APPVEYOR_CONSOLE_DISABLE_PTY: false - APPVEYOR_DETAILED_SHELL_LOGGING: true - - matrix: - - PYTHON_HOME: "$HOME/venv3.7/bin" - PYTHON_VERSION: '3.7' - - - PYTHON_HOME: "$HOME/venv3.8/bin" - PYTHON_VERSION: '3.8' - - - PYTHON_HOME: "$HOME/venv3.9/bin" - PYTHON_VERSION: '3.9' - -install: - # AppVeyor's apt-get cache might be outdated, and the package could potentially be 404. - - sh: "sudo apt-get update --allow-releaseinfo-change" - - - sh: "gvm use go1.19" - - sh: "echo $PATH" - - sh: "ls /usr/" - - sh: "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" - - sh: "PATH=$JAVA_HOME/bin:$PATH" - - sh: "source ${HOME}/venv${PYTHON_VERSION}/bin/activate" - - sh: "rvm use 2.7.2" - - sh: "docker --version" - # install nodejs - - sh: "nvm install --lts=Fermium" - - sh: "node --version" - - sh: "npx --version" - - # Install AWS CLI - - sh: "virtualenv aws_cli" - - sh: "./aws_cli/bin/python -m pip install awscli" - - sh: "PATH=$(echo $PWD'/aws_cli/bin'):$PATH" - - # Install latest maven - - sh: "sudo apt update" - - sh: "sudo apt install maven" - - sh: "mvn --version" - - - sh: "PATH=$PATH:$HOME/venv3.7/bin:$HOME/venv3.8/bin:$HOME/venv3.9/bin:$HOME/venv3.10/bin" - - # get testing env vars - - sh: "sudo apt install -y jq" - - sh: "python3.9 -m venv .venv_env_vars" - - sh: ".venv_env_vars/bin/pip install boto3" - - sh: "test_env_var=$(.venv_env_vars/bin/python tests/get_testing_resources.py)" - - sh: ' - if [ $? -ne 0 ]; then - echo "get_testing_resources failed. Failed to acquire credentials or test resources."; - false; - fi - ' - - - sh: 'export CI_ACCESS_ROLE_AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID' - - sh: 'export CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY' - - sh: 'export CI_ACCESS_ROLE_AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN' - - - sh: 'export AWS_ACCESS_KEY_ID=$(echo "$test_env_var" | jq -j ".accessKeyID")' - - sh: 'export AWS_SECRET_ACCESS_KEY=$(echo "$test_env_var" | jq -j ".secretAccessKey")' - - sh: 'export AWS_SESSION_TOKEN=$(echo "$test_env_var" | jq -j ".sessionToken")' - - sh: 'export TASK_TOKEN=$(echo "$test_env_var" | jq -j ".taskToken")' - - sh: 'export AWS_S3_TESTING=$(echo "$test_env_var" | jq -j ".TestBucketName")' - - sh: 'export AWS_ECR_TESTING=$(echo "$test_env_var" | jq -j ".TestECRURI")' - - sh: 'export AWS_KMS_KEY=$(echo "$test_env_var" | jq -j ".TestKMSKeyArn")' - - sh: 'export AWS_SIGNING_PROFILE_NAME=$(echo "$test_env_var" | jq -j ".TestSigningProfileName")' - - sh: 'export AWS_SIGNING_PROFILE_VERSION_ARN=$(echo "$test_env_var" | jq -j ".TestSigningProfileARN")' - - # required for RIE with arm64 in linux - - sh: "docker run --rm --privileged multiarch/qemu-user-static --reset -p yes" - - # update ca-certificates which causes failures with newest golang library - - sh: "sudo apt-get install --allow-releaseinfo-change --reinstall ca-certificates" - -build_script: - - "python -c \"import sys; print(sys.executable)\"" - -test_script: - # Pre-dev Tests - - "pip install -e \".[pre-dev]\"" - - # Runs only in Linux, logging Public ECR when running canary and cred is available - - sh: " - if [[ -n $BY_CANARY ]]; - then echo Logging in Public ECR; aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws; - fi" - - - "pip install -e \".[dev]\"" - - sh: "pytest -vv tests/iac_integration" - -# Final clean up no matter success or failure -on_finish: - - sh: 'export AWS_ACCESS_KEY_ID=$CI_ACCESS_ROLE_AWS_ACCESS_KEY_ID' - - sh: 'export AWS_SECRET_ACCESS_KEY=$CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY' - - sh: 'export AWS_SESSION_TOKEN=$CI_ACCESS_ROLE_AWS_SESSION_TOKEN' - - - sh: 'aws stepfunctions send-task-success --task-token "$TASK_TOKEN" --task-output "{}" --region us-west-2' From 11ff37a7bb0f9b7fd0710c27c86050d40cdc9d7e Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Sun, 25 Jun 2023 16:17:00 -0700 Subject: [PATCH 06/13] change cron schedule --- .github/workflows/cdk-sam-cli-integration-testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cdk-sam-cli-integration-testing.yml b/.github/workflows/cdk-sam-cli-integration-testing.yml index 40fb5152d9..cac5e71785 100644 --- a/.github/workflows/cdk-sam-cli-integration-testing.yml +++ b/.github/workflows/cdk-sam-cli-integration-testing.yml @@ -2,7 +2,7 @@ name: Test the integration between SAM CLI and Latest CDK version on: schedule: - - cron: "0 7 * * 1-5" # run 7am UTC (12am PDT time) in every weekday + - cron: "0 13 * * 1-5" # run 1PM UTC (6 am PDT) in every weekday workflow_dispatch: {} # to automatically cancel the running workflow for same PR. From 1a1d9a632ef8df7f8eb71e354e649daf126c23cb Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Mon, 26 Jun 2023 11:01:20 -0700 Subject: [PATCH 07/13] update lambda functions to only use py3.9 --- .../cdk-sam-cli-integration-testing.yml | 4 +--- .../java/src/main/java/com/myorg/JavaStack.java | 16 ++++++++-------- .../src/main/java/com/myorg/NestedStack1.java | 4 ++-- .../cdk_v2/python/python/nested_stack.py | 2 -- .../cdk_v2/python/python/python_stack.py | 13 +++++-------- .../cdk_v2/typescript/lib/nested-stack.ts | 2 -- .../testdata/cdk_v2/typescript/lib/test-stack.ts | 13 +++++-------- 7 files changed, 21 insertions(+), 33 deletions(-) diff --git a/.github/workflows/cdk-sam-cli-integration-testing.yml b/.github/workflows/cdk-sam-cli-integration-testing.yml index cac5e71785..4c13a283c8 100644 --- a/.github/workflows/cdk-sam-cli-integration-testing.yml +++ b/.github/workflows/cdk-sam-cli-integration-testing.yml @@ -33,9 +33,7 @@ jobs: with: # set last version as the one in matrix to make it default python-version: | - 3.7 - 3.8 - 3.11 + 3.9 ${{ matrix.python }} - uses: actions/setup-go@v4 with: diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java b/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java index dbf9232001..5c743805f0 100644 --- a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java +++ b/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java @@ -31,14 +31,14 @@ public JavaStack(final Construct scope, final String id, final StackProps props) // Layers PythonLayerVersion pythonLayerVersion = PythonLayerVersion.Builder .create(this, "PythonLayerVersion") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_7, Runtime.PYTHON_3_8, + .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_8, Runtime.PYTHON_3_9)) .entry("../../src/python/layers/PythonLayerVersion") .build(); LayerVersion layerVersion = LayerVersion.Builder .create(this, "LayerVersion") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_7, Runtime.PYTHON_3_8, + .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_8, Runtime.PYTHON_3_9)) .code(Code.fromAsset("../../src/python/layers/LayerVersion")) .build(); @@ -49,12 +49,12 @@ public JavaStack(final Construct scope, final String id, final StackProps props) // Lambda LayerVersion with bundled Asset that will be built by CDK LayerVersion bundledLayerVersionPythonRuntime = LayerVersion.Builder .create(this, "BundledLayerVersionPythonRuntime") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_7, Runtime.PYTHON_3_8, + .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_8, Runtime.PYTHON_3_9)) .code(Code.fromAsset("../../src/python/layers/BundledLayerVersion", AssetOptions.builder().bundling( BundlingOptions.builder() - .image(Runtime.PYTHON_3_7.getBundlingImage()) + .image(Runtime.PYTHON_3_9.getBundlingImage()) .command(Arrays.asList( "/bin/sh", "-c", @@ -81,7 +81,7 @@ public JavaStack(final Construct scope, final String id, final StackProps props) // Normal Lambda Function Construct - Python Runtime Function functionPythonRuntime = Function.Builder.create(this, "FunctionPythonRuntime") - .runtime(Runtime.PYTHON_3_7) + .runtime(Runtime.PYTHON_3_9) .code(Code.fromAsset("../../src/python/FunctionConstruct")) .handler("app.lambda_handler") .layers(Arrays.asList(pythonLayerVersion, layerVersion)) @@ -90,7 +90,7 @@ public JavaStack(final Construct scope, final String id, final StackProps props) // Normal Lambda Function Construct - Python Runtime - with skip build metadata Function preBuiltFunctionPythonRuntime = Function.Builder.create(this, "PreBuiltFunctionPythonRuntime") - .runtime(Runtime.PYTHON_3_7) + .runtime(Runtime.PYTHON_3_9) .code(Code.fromAsset("../../src/python/BuiltFunctionConstruct")) .handler("app.lambda_handler") .layers(Arrays.asList(pythonLayerVersion, layerVersion)) @@ -103,12 +103,12 @@ public JavaStack(final Construct scope, final String id, final StackProps props) // Normal Lambda Function with bundled Asset will be built by CDK Function bundledFunctionPythonRuntime = Function.Builder.create(this, "BundledFunctionPythonRuntime") - .runtime(Runtime.PYTHON_3_7) + .runtime(Runtime.PYTHON_3_9) .code(Code.fromAsset("../../src/python/BundledFunctionConstruct/", AssetOptions.builder().bundling( BundlingOptions.builder() .command(Arrays.asList("/bin/sh", "-c", "rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && cp -R /tmp/asset-input/* /asset-output")) - .image(Runtime.PYTHON_3_7.getBundlingImage()) + .image(Runtime.PYTHON_3_9.getBundlingImage()) .build() ).build() )) diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/NestedStack1.java b/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/NestedStack1.java index 505179e22f..0fa2580cb0 100644 --- a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/NestedStack1.java +++ b/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/NestedStack1.java @@ -24,14 +24,14 @@ public NestedStack1(@NotNull Construct scope, @NotNull String id) { // Layers PythonLayerVersion pythonLayerVersion = PythonLayerVersion.Builder .create(this, "PythonLayerVersion") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_7, Runtime.PYTHON_3_8, + .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_8, Runtime.PYTHON_3_9)) .entry("../../src/python/layers/PythonLayerVersion") .build(); LayerVersion layerVersion = LayerVersion.Builder .create(this, "LayerVersion") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_7, Runtime.PYTHON_3_8, + .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_8, Runtime.PYTHON_3_9)) .code(Code.fromAsset("../../src/python/layers/LayerVersion")) .build(); diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/nested_stack.py b/tests/iac_integration/cdk/testdata/cdk_v2/python/python/nested_stack.py index 576aa882ef..f589b69837 100644 --- a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/nested_stack.py +++ b/tests/iac_integration/cdk/testdata/cdk_v2/python/python/nested_stack.py @@ -18,7 +18,6 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: self, "PythonLayerVersion", compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_7, lambda1.Runtime.PYTHON_3_8, lambda1.Runtime.PYTHON_3_9, ], @@ -28,7 +27,6 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: self, "LayerVersion", compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_7, lambda1.Runtime.PYTHON_3_8, lambda1.Runtime.PYTHON_3_9, ], diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/python_stack.py b/tests/iac_integration/cdk/testdata/cdk_v2/python/python/python_stack.py index b38a23e4af..61f2956c99 100644 --- a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/python_stack.py +++ b/tests/iac_integration/cdk/testdata/cdk_v2/python/python/python_stack.py @@ -24,7 +24,6 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: self, "PythonLayerVersion", compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_7, lambda1.Runtime.PYTHON_3_8, lambda1.Runtime.PYTHON_3_9, ], @@ -34,7 +33,6 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: self, "LayerVersion", compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_7, lambda1.Runtime.PYTHON_3_8, lambda1.Runtime.PYTHON_3_9, ], @@ -49,7 +47,6 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: self, "BundledLayerVersionPythonRuntime", compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_7, lambda1.Runtime.PYTHON_3_8, lambda1.Runtime.PYTHON_3_9, ], @@ -61,7 +58,7 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: "-c", "rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && mkdir /asset-output/python && cp -R /tmp/asset-input/* /asset-output/python", ], - image=lambda1.Runtime.PYTHON_3_7.bundling_image, + image=lambda1.Runtime.PYTHON_3_9.bundling_image, user="root", ), ), @@ -86,7 +83,7 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: function_python_runtime = lambda1.Function( self, "FunctionPythonRuntime", - runtime=lambda1.Runtime.PYTHON_3_7, + runtime=lambda1.Runtime.PYTHON_3_9, code=lambda1.Code.from_asset("../../src/python/FunctionConstruct"), handler="app.lambda_handler", layers=[python_layer_version, layer_version], @@ -97,7 +94,7 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: pre_built_function_python_runtime = lambda1.Function( self, "PreBuiltFunctionPythonRuntime", - runtime=lambda1.Runtime.PYTHON_3_7, + runtime=lambda1.Runtime.PYTHON_3_9, code=lambda1.Code.from_asset("../../src/python/BuiltFunctionConstruct"), handler="app.lambda_handler", layers=[python_layer_version, layer_version], @@ -111,7 +108,7 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: bundled_function_python_runtime = lambda1.Function( self, "BundledFunctionPythonRuntime", - runtime=lambda1.Runtime.PYTHON_3_7, + runtime=lambda1.Runtime.PYTHON_3_9, code=lambda1.Code.from_asset( "../../src/python/BundledFunctionConstruct/", bundling=BundlingOptions( @@ -120,7 +117,7 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: "-c", "rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && cp -R /tmp/asset-input/* /asset-output", ], - image=lambda1.Runtime.PYTHON_3_7.bundling_image, + image=lambda1.Runtime.PYTHON_3_9.bundling_image, user="root", ), ), diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts index f877e8a3db..496f11378b 100644 --- a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts +++ b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts @@ -15,7 +15,6 @@ export class NestedStack1 extends cdk.NestedStack { // Layers const pythonLayerVersion = new PythonLayerVersion(this, 'PythonLayerVersion', { compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_7, lambda.Runtime.PYTHON_3_8, lambda.Runtime.PYTHON_3_9, ], @@ -23,7 +22,6 @@ export class NestedStack1 extends cdk.NestedStack { }); const layerVersion = new lambda.LayerVersion(this, 'LayerVersion', { compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_7, lambda.Runtime.PYTHON_3_8, lambda.Runtime.PYTHON_3_9, ], diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/test-stack.ts b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/test-stack.ts index 7c4ff3e67d..db3a18b9c6 100644 --- a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/test-stack.ts +++ b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/test-stack.ts @@ -20,7 +20,6 @@ export class CDKSupportDemoRootStack extends cdk.Stack { // Layers const pythonLayerVersion = new PythonLayerVersion(this, 'PythonLayerVersion', { compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_7, lambda.Runtime.PYTHON_3_8, lambda.Runtime.PYTHON_3_9, ], @@ -28,7 +27,6 @@ export class CDKSupportDemoRootStack extends cdk.Stack { }); const layerVersion = new lambda.LayerVersion(this, 'LayerVersion', { compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_7, lambda.Runtime.PYTHON_3_8, lambda.Runtime.PYTHON_3_9, ], @@ -40,7 +38,6 @@ export class CDKSupportDemoRootStack extends cdk.Stack { const bundledLayerVersionPythonRuntime = new lambda.LayerVersion(this, 'BundledLayerVersionPythonRuntime', { compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_7, lambda.Runtime.PYTHON_3_8, lambda.Runtime.PYTHON_3_9, ], @@ -51,7 +48,7 @@ export class CDKSupportDemoRootStack extends cdk.Stack { '-c', 'rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && mkdir /asset-output/python && cp -R /tmp/asset-input/* /asset-output/python', ], - image: lambda.Runtime.PYTHON_3_7.bundlingImage, + image: lambda.Runtime.PYTHON_3_9.bundlingImage, user: 'root', } }), @@ -72,7 +69,7 @@ export class CDKSupportDemoRootStack extends cdk.Stack { // Normal Lambda Function Construct - Python Runtime const functionPythonRuntime = new lambda.Function(this, 'FunctionPythonRuntime', { - runtime: lambda.Runtime.PYTHON_3_7, + runtime: lambda.Runtime.PYTHON_3_9, code: lambda.Code.fromAsset('../../src/python/FunctionConstruct'), handler: 'app.lambda_handler', layers: [pythonLayerVersion, layerVersion], @@ -81,7 +78,7 @@ export class CDKSupportDemoRootStack extends cdk.Stack { // Normal Lambda Function Construct - Python Runtime - with skip build metadata const preBuiltFunctionPythonRuntime = new lambda.Function(this, 'PreBuiltFunctionPythonRuntime', { - runtime: lambda.Runtime.PYTHON_3_7, + runtime: lambda.Runtime.PYTHON_3_9, code: lambda.Code.fromAsset('../../src/python/BuiltFunctionConstruct'), handler: 'app.lambda_handler', layers: [pythonLayerVersion, layerVersion], @@ -92,7 +89,7 @@ export class CDKSupportDemoRootStack extends cdk.Stack { cfnPreBuiltFunctionPythonRuntime.addMetadata('SkipBuild', true); const bundledFunctionPythonRuntime = new lambda.Function(this, 'BundledFunctionPythonRuntime', { - runtime: lambda.Runtime.PYTHON_3_7, + runtime: lambda.Runtime.PYTHON_3_9, code: lambda.Code.fromAsset('../../src/python/BundledFunctionConstruct/', { bundling: { command: [ @@ -100,7 +97,7 @@ export class CDKSupportDemoRootStack extends cdk.Stack { '-c', 'rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && cp -R /tmp/asset-input/* /asset-output', ], - image: lambda.Runtime.PYTHON_3_7.bundlingImage, + image: lambda.Runtime.PYTHON_3_9.bundlingImage, user: 'root', } }), From cd2a6bfa8a3aa501cf3e8e4630573744c7c33bf3 Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Mon, 26 Jun 2023 11:02:44 -0700 Subject: [PATCH 08/13] test on my github repo --- .github/workflows/cdk-sam-cli-integration-testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cdk-sam-cli-integration-testing.yml b/.github/workflows/cdk-sam-cli-integration-testing.yml index 4c13a283c8..fac4072232 100644 --- a/.github/workflows/cdk-sam-cli-integration-testing.yml +++ b/.github/workflows/cdk-sam-cli-integration-testing.yml @@ -13,7 +13,7 @@ concurrency: jobs: integration-tests: name: Integration Tests / ${{ matrix.python }} - if: github.repository == 'aws/aws-sam-cli' + #if: github.repository == 'aws/aws-sam-cli' runs-on: ubuntu-latest env: AWS_DEFAULT_REGION: us-east-1 From 3a8fc3a263b9a5f449747fd01850122d9119b636 Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Mon, 26 Jun 2023 11:03:41 -0700 Subject: [PATCH 09/13] run the GH action only on aws-sam-cli repo --- .github/workflows/cdk-sam-cli-integration-testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cdk-sam-cli-integration-testing.yml b/.github/workflows/cdk-sam-cli-integration-testing.yml index fac4072232..4c13a283c8 100644 --- a/.github/workflows/cdk-sam-cli-integration-testing.yml +++ b/.github/workflows/cdk-sam-cli-integration-testing.yml @@ -13,7 +13,7 @@ concurrency: jobs: integration-tests: name: Integration Tests / ${{ matrix.python }} - #if: github.repository == 'aws/aws-sam-cli' + if: github.repository == 'aws/aws-sam-cli' runs-on: ubuntu-latest env: AWS_DEFAULT_REGION: us-east-1 From 38caa07441248f3bf3b0279b58c1157d382079b6 Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Mon, 26 Jun 2023 12:05:36 -0700 Subject: [PATCH 10/13] update lambda functions to only use py3.9 --- .../testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java | 2 +- .../cdk_v2/java/src/main/java/com/myorg/NestedStack1.java | 2 +- .../cdk/testdata/cdk_v2/python/python/nested_stack.py | 2 +- .../cdk/testdata/cdk_v2/python/python/python_stack.py | 2 +- .../cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts | 2 +- .../cdk/testdata/cdk_v2/typescript/lib/test-stack.ts | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java b/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java index 5c743805f0..98094cf9c8 100644 --- a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java +++ b/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java @@ -44,7 +44,7 @@ public JavaStack(final Construct scope, final String id, final StackProps props) .build(); // add SAM metadata to build layer CfnLayerVersion cfnLayerVersion = (CfnLayerVersion) layerVersion.getNode().getDefaultChild(); - cfnLayerVersion.addMetadata("BuildMethod", "python3.7"); + cfnLayerVersion.addMetadata("BuildMethod", "python3.9"); // Lambda LayerVersion with bundled Asset that will be built by CDK LayerVersion bundledLayerVersionPythonRuntime = LayerVersion.Builder diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/NestedStack1.java b/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/NestedStack1.java index 0fa2580cb0..ac1754b263 100644 --- a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/NestedStack1.java +++ b/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/NestedStack1.java @@ -37,7 +37,7 @@ public NestedStack1(@NotNull Construct scope, @NotNull String id) { .build(); // add SAM metadata to build layer CfnLayerVersion cfnLayerVersion = (CfnLayerVersion) layerVersion.getNode().getDefaultChild(); - cfnLayerVersion.addMetadata("BuildMethod", "python3.7"); + cfnLayerVersion.addMetadata("BuildMethod", "python3.9"); // ZIP package type Functions // Functions Built by CDK - Runtime Functions Constructs diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/nested_stack.py b/tests/iac_integration/cdk/testdata/cdk_v2/python/python/nested_stack.py index f589b69837..da1455fb7d 100644 --- a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/nested_stack.py +++ b/tests/iac_integration/cdk/testdata/cdk_v2/python/python/nested_stack.py @@ -34,7 +34,7 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: ) # add SAM metadata to build layer cfn_layer_version = cast(CfnLayerVersion, layer_version.node.default_child) - cfn_layer_version.add_metadata("BuildMethod", "python3.7") + cfn_layer_version.add_metadata("BuildMethod", "python3.9") # ZIP package type Functions # Functions Built by CDK - Runtime Functions Constructs diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/python_stack.py b/tests/iac_integration/cdk/testdata/cdk_v2/python/python/python_stack.py index 61f2956c99..1b7a5d6293 100644 --- a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/python_stack.py +++ b/tests/iac_integration/cdk/testdata/cdk_v2/python/python/python_stack.py @@ -40,7 +40,7 @@ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: ) # add SAM metadata to build layer cfn_layer_version = cast(CfnLayerVersion, layer_version.node.default_child) - cfn_layer_version.add_metadata("BuildMethod", "python3.7") + cfn_layer_version.add_metadata("BuildMethod", "python3.9") # Lambda LayerVersion with bundled Asset that will be built by CDK bundled_layer_version_python_runtime = lambda1.LayerVersion( diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts index 496f11378b..b9e43221ff 100644 --- a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts +++ b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts @@ -29,7 +29,7 @@ export class NestedStack1 extends cdk.NestedStack { }); // add SAM metadata to build layer const cfnLayerVersion = layerVersion.node.defaultChild as CfnLayerVersion; - cfnLayerVersion.addMetadata('BuildMethod', 'python3.7'); + cfnLayerVersion.addMetadata('BuildMethod', 'python3.9'); // ZIP package type Functions // Functions Built by CDK - Runtime Functions Constructs diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/test-stack.ts b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/test-stack.ts index db3a18b9c6..000081be6f 100644 --- a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/test-stack.ts +++ b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/test-stack.ts @@ -34,7 +34,7 @@ export class CDKSupportDemoRootStack extends cdk.Stack { }); // add SAM metadata to build layer const cfnLayerVersion = layerVersion.node.defaultChild as CfnLayerVersion; - cfnLayerVersion.addMetadata('BuildMethod', 'python3.7'); + cfnLayerVersion.addMetadata('BuildMethod', 'python3.9'); const bundledLayerVersionPythonRuntime = new lambda.LayerVersion(this, 'BundledLayerVersionPythonRuntime', { compatibleRuntimes: [ From 8fe26b052d2dfde9f126c71e28ab76b3f3faccf2 Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Mon, 26 Jun 2023 12:06:01 -0700 Subject: [PATCH 11/13] test on my github repo --- .github/workflows/cdk-sam-cli-integration-testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cdk-sam-cli-integration-testing.yml b/.github/workflows/cdk-sam-cli-integration-testing.yml index 4c13a283c8..9f08afdf71 100644 --- a/.github/workflows/cdk-sam-cli-integration-testing.yml +++ b/.github/workflows/cdk-sam-cli-integration-testing.yml @@ -13,7 +13,7 @@ concurrency: jobs: integration-tests: name: Integration Tests / ${{ matrix.python }} - if: github.repository == 'aws/aws-sam-cli' + # if: github.repository == 'aws/aws-sam-cli' runs-on: ubuntu-latest env: AWS_DEFAULT_REGION: us-east-1 From 5529b0903049d5632119b2d0905b5da2498952a8 Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Mon, 26 Jun 2023 12:33:06 -0700 Subject: [PATCH 12/13] run the GH action only on aws-sam-cli repo --- .github/workflows/cdk-sam-cli-integration-testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cdk-sam-cli-integration-testing.yml b/.github/workflows/cdk-sam-cli-integration-testing.yml index 9f08afdf71..4c13a283c8 100644 --- a/.github/workflows/cdk-sam-cli-integration-testing.yml +++ b/.github/workflows/cdk-sam-cli-integration-testing.yml @@ -13,7 +13,7 @@ concurrency: jobs: integration-tests: name: Integration Tests / ${{ matrix.python }} - # if: github.repository == 'aws/aws-sam-cli' + if: github.repository == 'aws/aws-sam-cli' runs-on: ubuntu-latest env: AWS_DEFAULT_REGION: us-east-1 From 6f0197ecaa5e017e03a19ff156751a8c46c0c0c6 Mon Sep 17 00:00:00 2001 From: Mohamed ElAsmar Date: Tue, 4 Jul 2023 11:16:06 -0700 Subject: [PATCH 13/13] chore: remove the CDK SAM CLI integration testing and depend on the same test cases defined in CDK repo. --- .../cdk-sam-cli-integration-testing.yml | 54 -- tests/iac_integration/__init__.py | 0 tests/iac_integration/cdk/__init__.py | 0 .../cdk/test_sam_cdk_integration.py | 129 ---- .../iac_integration/cdk/testdata/__init__.py | 0 .../cdk/testdata/cdk_v2/java/cdk.json | 6 - .../cdk/testdata/cdk_v2/java/pom.xml | 80 --- .../java/src/main/java/com/myorg/JavaApp.java | 17 - .../src/main/java/com/myorg/JavaStack.java | 270 -------- .../src/main/java/com/myorg/NestedStack1.java | 64 -- .../cdk/testdata/cdk_v2/python/app.py | 10 - .../cdk/testdata/cdk_v2/python/cdk.json | 6 - .../testdata/cdk_v2/python/python/__init__.py | 0 .../cdk_v2/python/python/nested_stack.py | 57 -- .../cdk_v2/python/python/python_stack.py | 320 --------- .../testdata/cdk_v2/python/requirements.txt | 6 - .../cdk_v2/typescript/bin/test-app.ts | 7 - .../cdk/testdata/cdk_v2/typescript/cdk.json | 6 - .../cdk_v2/typescript/lib/nested-stack.ts | 57 -- .../cdk_v2/typescript/lib/test-stack.ts | 275 -------- .../testdata/cdk_v2/typescript/package.json | 26 - .../testdata/cdk_v2/typescript/tsconfig.json | 30 - .../DockerImageFunctionConstruct/Dockerfile | 9 - .../DockerImageFunctionConstruct/app.js | 22 - .../DockerImageFunctionConstruct/package.json | 16 - .../Dockerfile | 9 - .../app.js | 22 - .../package.json | 16 - .../Dockerfile | 16 - .../DockerImageFunctionWithSharedCode/app.js | 24 - .../Dockerfile | 16 - .../FunctionImageAssetWithSharedCode/app.js | 24 - .../ImagesWithSharedCode/SharedCode/shared.js | 4 - .../docker/ImagesWithSharedCode/package.json | 16 - .../testdata/src/go/FunctionConstruct/go.mod | 5 - .../testdata/src/go/FunctionConstruct/go.sum | 17 - .../testdata/src/go/FunctionConstruct/main.go | 17 - .../src/go/GoFunctionConstruct/go.mod | 5 - .../src/go/GoFunctionConstruct/go.sum | 17 - .../src/go/GoFunctionConstruct/main.go | 17 - .../src/nodejs/BuiltFunctionConstruct/app.js | 17 - .../src/nodejs/FunctionConstruct/app.js | 23 - .../src/nodejs/FunctionConstruct/package.json | 8 - .../src/nodejs/NodeJsFunctionConstruct/app.ts | 22 - .../node_modules/.package-lock.json | 16 - .../unique-names-generator/LICENSE | 9 - .../unique-names-generator/README.md | 643 ------------------ .../dist/dictionaries/adjectives.d.ts | 2 - .../dist/dictionaries/animals.d.ts | 2 - .../dist/dictionaries/colors.d.ts | 2 - .../dist/dictionaries/countries.d.ts | 2 - .../dist/dictionaries/index.d.ts | 9 - .../dist/dictionaries/languages.d.ts | 2 - .../dist/dictionaries/names.d.ts | 2 - .../dist/dictionaries/numbers.d.ts | 9 - .../dist/dictionaries/star-wars.d.ts | 2 - .../unique-names-generator/dist/index.d.ts | 3 - .../unique-names-generator/dist/index.js | 2 - .../unique-names-generator/dist/index.m.js | 2 - .../dist/index.modern.js | 2 - .../unique-names-generator/dist/index.umd.js | 2 - .../unique-names-generator/dist/seed.d.ts | 1 - .../unique-names-generator.constructor.d.ts | 18 - .../dist/unique-names-generator.d.ts | 2 - .../unique-names-generator/package.json | 60 -- .../NodeJsFunctionConstruct/package-lock.json | 30 - .../NodeJsFunctionConstruct/package.json | 8 - .../LayerVersion/layer_version_dependency.js | 9 - .../nodejs/layers/LayerVersion/package.json | 8 - .../src/python/BuiltFunctionConstruct/app.py | 18 - .../python/BundledFunctionConstruct/app.py | 19 - .../BundledFunctionConstruct/requirements.txt | 1 - .../src/python/FunctionConstruct/app.py | 19 - .../python/FunctionConstruct/requirements.txt | 1 - .../NestedPythonFunctionConstruct/app.py | 19 - .../requirements.txt | 1 - .../src/python/PythonFunctionConstruct/app.py | 19 - .../PythonFunctionConstruct/requirements.txt | 1 - .../layer_version_dependency.py | 5 - .../BundledLayerVersion/requirements.txt | 1 - .../LayerVersion/layer_version_dependency.py | 5 - .../layers/LayerVersion/requirements.txt | 1 - .../python_layer_version_dependency.py | 7 - .../PythonLayerVersion/requirements.txt | 1 - .../cdk/testdata/src/rest-api-definition.yaml | 12 - 85 files changed, 2739 deletions(-) delete mode 100644 .github/workflows/cdk-sam-cli-integration-testing.yml delete mode 100644 tests/iac_integration/__init__.py delete mode 100644 tests/iac_integration/cdk/__init__.py delete mode 100644 tests/iac_integration/cdk/test_sam_cdk_integration.py delete mode 100644 tests/iac_integration/cdk/testdata/__init__.py delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/java/cdk.json delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/java/pom.xml delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaApp.java delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/NestedStack1.java delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/python/app.py delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/python/cdk.json delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/python/python/__init__.py delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/python/python/nested_stack.py delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/python/python/python_stack.py delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/python/requirements.txt delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/typescript/bin/test-app.ts delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/typescript/cdk.json delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/test-stack.ts delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/typescript/package.json delete mode 100644 tests/iac_integration/cdk/testdata/cdk_v2/typescript/tsconfig.json delete mode 100644 tests/iac_integration/cdk/testdata/src/docker/DockerImageFunctionConstruct/Dockerfile delete mode 100644 tests/iac_integration/cdk/testdata/src/docker/DockerImageFunctionConstruct/app.js delete mode 100644 tests/iac_integration/cdk/testdata/src/docker/DockerImageFunctionConstruct/package.json delete mode 100644 tests/iac_integration/cdk/testdata/src/docker/FunctionConstructWithImageAssetCode/Dockerfile delete mode 100644 tests/iac_integration/cdk/testdata/src/docker/FunctionConstructWithImageAssetCode/app.js delete mode 100644 tests/iac_integration/cdk/testdata/src/docker/FunctionConstructWithImageAssetCode/package.json delete mode 100644 tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/DockerImageFunctionWithSharedCode/Dockerfile delete mode 100644 tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/DockerImageFunctionWithSharedCode/app.js delete mode 100644 tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/FunctionImageAssetWithSharedCode/Dockerfile delete mode 100644 tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/FunctionImageAssetWithSharedCode/app.js delete mode 100644 tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/SharedCode/shared.js delete mode 100644 tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/package.json delete mode 100644 tests/iac_integration/cdk/testdata/src/go/FunctionConstruct/go.mod delete mode 100644 tests/iac_integration/cdk/testdata/src/go/FunctionConstruct/go.sum delete mode 100644 tests/iac_integration/cdk/testdata/src/go/FunctionConstruct/main.go delete mode 100644 tests/iac_integration/cdk/testdata/src/go/GoFunctionConstruct/go.mod delete mode 100644 tests/iac_integration/cdk/testdata/src/go/GoFunctionConstruct/go.sum delete mode 100644 tests/iac_integration/cdk/testdata/src/go/GoFunctionConstruct/main.go delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/BuiltFunctionConstruct/app.js delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/FunctionConstruct/app.js delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/FunctionConstruct/package.json delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/app.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/.package-lock.json delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/LICENSE delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/README.md delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/adjectives.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/animals.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/colors.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/countries.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/index.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/languages.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/names.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/numbers.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/star-wars.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.js delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.m.js delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.modern.js delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.umd.js delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/seed.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/unique-names-generator.constructor.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/unique-names-generator.d.ts delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/package.json delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/package-lock.json delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/package.json delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/layers/LayerVersion/layer_version_dependency.js delete mode 100644 tests/iac_integration/cdk/testdata/src/nodejs/layers/LayerVersion/package.json delete mode 100644 tests/iac_integration/cdk/testdata/src/python/BuiltFunctionConstruct/app.py delete mode 100644 tests/iac_integration/cdk/testdata/src/python/BundledFunctionConstruct/app.py delete mode 100644 tests/iac_integration/cdk/testdata/src/python/BundledFunctionConstruct/requirements.txt delete mode 100644 tests/iac_integration/cdk/testdata/src/python/FunctionConstruct/app.py delete mode 100644 tests/iac_integration/cdk/testdata/src/python/FunctionConstruct/requirements.txt delete mode 100644 tests/iac_integration/cdk/testdata/src/python/NestedPythonFunctionConstruct/app.py delete mode 100644 tests/iac_integration/cdk/testdata/src/python/NestedPythonFunctionConstruct/requirements.txt delete mode 100644 tests/iac_integration/cdk/testdata/src/python/PythonFunctionConstruct/app.py delete mode 100644 tests/iac_integration/cdk/testdata/src/python/PythonFunctionConstruct/requirements.txt delete mode 100644 tests/iac_integration/cdk/testdata/src/python/layers/BundledLayerVersion/layer_version_dependency.py delete mode 100644 tests/iac_integration/cdk/testdata/src/python/layers/BundledLayerVersion/requirements.txt delete mode 100644 tests/iac_integration/cdk/testdata/src/python/layers/LayerVersion/layer_version_dependency.py delete mode 100644 tests/iac_integration/cdk/testdata/src/python/layers/LayerVersion/requirements.txt delete mode 100644 tests/iac_integration/cdk/testdata/src/python/layers/PythonLayerVersion/python_layer_version_dependency.py delete mode 100644 tests/iac_integration/cdk/testdata/src/python/layers/PythonLayerVersion/requirements.txt delete mode 100644 tests/iac_integration/cdk/testdata/src/rest-api-definition.yaml diff --git a/.github/workflows/cdk-sam-cli-integration-testing.yml b/.github/workflows/cdk-sam-cli-integration-testing.yml deleted file mode 100644 index 4c13a283c8..0000000000 --- a/.github/workflows/cdk-sam-cli-integration-testing.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Test the integration between SAM CLI and Latest CDK version - -on: - schedule: - - cron: "0 13 * * 1-5" # run 1PM UTC (6 am PDT) in every weekday - workflow_dispatch: {} - -# to automatically cancel the running workflow for same PR. -concurrency: - group: ${{ github.ref }} - cancel-in-progress: true - -jobs: - integration-tests: - name: Integration Tests / ${{ matrix.python }} - if: github.repository == 'aws/aws-sam-cli' - runs-on: ubuntu-latest - env: - AWS_DEFAULT_REGION: us-east-1 - SAM_CLI_DEV: 1 - NOSE_PARAMETERIZED_NO_WARN: 1 - APPVEYOR_CONSOLE_DISABLE_PTY: false - APPVEYOR_DETAILED_SHELL_LOGGING: true - strategy: - matrix: - python: - - "3.7" - - "3.8" - - "3.11" - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - with: - # set last version as the one in matrix to make it default - python-version: | - 3.9 - ${{ matrix.python }} - - uses: actions/setup-go@v4 - with: - go-version: '1.19' - - uses: ruby/setup-ruby@v1 - with: - ruby-version: "2.7" - - uses: actions/setup-java@v3 - with: - distribution: 'corretto' - java-version: '8' - - uses: actions/setup-node@v3 - with: - node-version: 14 - - name: Init samdev - run: make init - - name: Run CDK integration tests - run: pytest -vv tests/iac_integration diff --git a/tests/iac_integration/__init__.py b/tests/iac_integration/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/tests/iac_integration/cdk/__init__.py b/tests/iac_integration/cdk/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/tests/iac_integration/cdk/test_sam_cdk_integration.py b/tests/iac_integration/cdk/test_sam_cdk_integration.py deleted file mode 100644 index ed4d5f2fbd..0000000000 --- a/tests/iac_integration/cdk/test_sam_cdk_integration.py +++ /dev/null @@ -1,129 +0,0 @@ -from unittest import TestCase -from subprocess import Popen, PIPE -import os -import random -from pathlib import Path -import threading - -import pytest -import requests -from parameterized import parameterized_class, parameterized - -from tests.testing_utils import run_command, kill_process - - -@parameterized_class( - ("cdk_project_path", "cdk_version", "cdk_stack_template"), - [ - ("/testdata/cdk_v2/typescript", "2.x", "TestStack.template.json"), - ("/testdata/cdk_v2/python", "2.x", "TestStack.template.json"), - ("/testdata/cdk_v2/java", "2.x", "TestStack.template.json"), - ], -) -class TestSamCdkIntegration(TestCase): - integration_dir = str(Path(__file__).resolve().parents[0]) - cdk_project_path = "" - cdk_version = "" - cdk_stack_template = "" - - @classmethod - def setUpClass(cls): - cls.cdk_project = cls.integration_dir + cls.cdk_project_path - cls.api_port = str(TestSamCdkIntegration.random_port()) - cls.build_cdk_project() - cls.build() - - cls.start_api() - cls.url = "http://127.0.0.1:{}".format(cls.api_port) - - @classmethod - def build_cdk_project(cls): - command_list = ["npx", f"aws-cdk@{cls.cdk_version}", "synth", "--no-staging"] - working_dir = cls.cdk_project - result = run_command(command_list, cwd=working_dir) - if result.process.returncode != 0: - raise Exception("cdk synth command failed") - - @classmethod - def build(cls): - command = "sam" - if os.getenv("SAM_CLI_DEV"): - command = "samdev" - command_list = [command, "build", "-t", cls.cdk_stack_template] - working_dir = cls.cdk_project + "/cdk.out" - result = run_command(command_list, cwd=working_dir) - if result.process.returncode != 0: - raise Exception("sam build command failed") - - @classmethod - def start_api(cls): - command = "sam" - if os.getenv("SAM_CLI_DEV"): - command = "samdev" - - command_list = [command, "local", "start-api", "-p", cls.api_port] - - working_dir = cls.cdk_project + "/cdk.out" - cls.start_api_process = Popen(command_list, cwd=working_dir, stderr=PIPE) - - while True: - line = cls.start_api_process.stderr.readline() - if "Press CTRL+C to quit" in str(line): - break - - cls.stop_api_reading_thread = False - - def read_sub_process_stderr(): - while not cls.stop_api_reading_thread: - cls.start_api_process.stderr.readline() - - cls.api_read_threading = threading.Thread(target=read_sub_process_stderr, daemon=True) - cls.api_read_threading.start() - - @classmethod - def tearDownClass(cls): - # After all the tests run, we need to kill the start_lambda process. - cls.stop_api_reading_thread = True - kill_process(cls.start_api_process) - - @staticmethod - def random_port(): - return random.randint(30000, 40000) - - @parameterized.expand( - [ - ("/httpapis/nestedPythonFunction", "Hello World from Nested Python Function Construct 7"), - ("/restapis/spec/pythonFunction", "Hello World from python function construct 7"), - ("/restapis/normal/pythonFunction", "Hello World from python function construct 7"), - ("/restapis/normal/functionPythonRuntime", "Hello World from function construct with python runtime 7"), - ("/restapis/normal/preBuiltFunctionPythonRuntime", "Hello World from python pre built function 7"), - ( - "/restapis/normal/bundledFunctionPythonRuntime", - "Hello World from bundled function construct with python runtime 7", - ), - ("/restapis/normal/nodejsFunction", "Hello World from nodejs function construct 7"), - ("/restapis/normal/functionNodeJsRuntime", "Hello World from function construct with nodejs runtime 7"), - ("/restapis/normal/preBuiltFunctionNodeJsRuntime", "Hello World from nodejs pre built function 7"), - ("/restapis/normal/goFunction", "Hello World from go function construct"), - ("/restapis/normal/functionGoRuntime", "Hello World from function construct with go runtime"), - ("/restapis/normal/dockerImageFunction", "Hello World from docker image function construct"), - ("/restapis/normal/functionImageAsset", "Hello World from function construct with image asset"), - ( - "/restapis/normal/dockerImageFunctionWithSharedCode", - "Hello World from docker image function construct " - "with a Dockerfile that shares code with another Dockerfile", - ), - ( - "/restapis/normal/functionImageAssetWithSharedCode", - "Hello World from function construct with image asset " - "with a Dockerfile that shares code with another Dockerfile", - ), - ] - ) - @pytest.mark.flaky(reruns=3) - @pytest.mark.timeout(timeout=1000, method="thread") - def test_invoke_api(self, url_suffix, expected_message): - response = requests.get(self.url + url_suffix, timeout=800) - - self.assertEqual(response.status_code, 200) - self.assertEqual(response.json().get("message"), expected_message) diff --git a/tests/iac_integration/cdk/testdata/__init__.py b/tests/iac_integration/cdk/testdata/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/java/cdk.json b/tests/iac_integration/cdk/testdata/cdk_v2/java/cdk.json deleted file mode 100644 index d981a1fd3c..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/java/cdk.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "app": "mvn versions:use-latest-versions -DallowMajorUpdates=false && mvn -e -q compile exec:java", - "context": { - - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/java/pom.xml b/tests/iac_integration/cdk/testdata/cdk_v2/java/pom.xml deleted file mode 100644 index 8c55e74136..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/java/pom.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - 4.0.0 - - com.myorg - java - 0.1 - - - UTF-8 - - - - - - org.codehaus.mojo - versions-maven-plugin - 2.7 - - - software.amazon.awscdk:* - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 1.8 - 1.8 - - - - - org.codehaus.mojo - exec-maven-plugin - 3.0.0 - - com.myorg.JavaApp - - - - - - - - - software.amazon.awscdk - aws-cdk-lib - 2.0.0 - - - software.amazon.awscdk - apigatewayv2-alpha - 2.0.0-alpha.0 - - - software.amazon.awscdk - apigatewayv2-integrations-alpha - 2.0.0-alpha.0 - - - software.amazon.awscdk - lambda-go-alpha - 2.0.0-alpha.0 - - - software.amazon.awscdk - lambda-python-alpha - 2.0.0-alpha.0 - - - software.constructs - constructs - 10.0.0 - - - diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaApp.java b/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaApp.java deleted file mode 100644 index dee8a0e85a..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaApp.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.myorg; - -import software.amazon.awscdk.App; -import software.amazon.awscdk.StackProps; - -import java.util.Arrays; - -public class JavaApp { - public static void main(final String[] args) { - App app = new App(); - - new JavaStack(app, "TestStack", StackProps.builder() - .build()); - - app.synth(); - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java b/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java deleted file mode 100644 index 98094cf9c8..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/JavaStack.java +++ /dev/null @@ -1,270 +0,0 @@ -package com.myorg; - -import software.amazon.awscdk.*; -import software.amazon.awscdk.services.apigateway.Resource; -import software.amazon.awscdk.services.apigateway.*; -import software.amazon.awscdk.services.iam.PolicyStatement; -import software.amazon.awscdk.services.iam.Role; -import software.amazon.awscdk.services.iam.ServicePrincipal; -import software.amazon.awscdk.services.lambda.Runtime; -import software.amazon.awscdk.services.lambda.*; -import software.amazon.awscdk.services.lambda.go.alpha.GoFunction; -import software.amazon.awscdk.services.lambda.nodejs.NodejsFunction; -import software.amazon.awscdk.services.lambda.python.alpha.PythonFunction; -import software.amazon.awscdk.services.lambda.python.alpha.PythonLayerVersion; -import software.amazon.awscdk.services.logs.RetentionDays; -import software.amazon.awscdk.services.s3.assets.AssetOptions; -import software.constructs.Construct; -import com.myorg.NestedStack1; - -import java.util.Arrays; - -public class JavaStack extends Stack { - public JavaStack(final Construct scope, final String id) { - this(scope, id, null); - } - - public JavaStack(final Construct scope, final String id, final StackProps props) { - super(scope, id, props); - - // Python Runtime - // Layers - PythonLayerVersion pythonLayerVersion = PythonLayerVersion.Builder - .create(this, "PythonLayerVersion") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_8, - Runtime.PYTHON_3_9)) - .entry("../../src/python/layers/PythonLayerVersion") - .build(); - - LayerVersion layerVersion = LayerVersion.Builder - .create(this, "LayerVersion") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_8, - Runtime.PYTHON_3_9)) - .code(Code.fromAsset("../../src/python/layers/LayerVersion")) - .build(); - // add SAM metadata to build layer - CfnLayerVersion cfnLayerVersion = (CfnLayerVersion) layerVersion.getNode().getDefaultChild(); - cfnLayerVersion.addMetadata("BuildMethod", "python3.9"); - - // Lambda LayerVersion with bundled Asset that will be built by CDK - LayerVersion bundledLayerVersionPythonRuntime = LayerVersion.Builder - .create(this, "BundledLayerVersionPythonRuntime") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_8, - Runtime.PYTHON_3_9)) - .code(Code.fromAsset("../../src/python/layers/BundledLayerVersion", - AssetOptions.builder().bundling( - BundlingOptions.builder() - .image(Runtime.PYTHON_3_9.getBundlingImage()) - .command(Arrays.asList( - "/bin/sh", - "-c", - "rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input" + - " && pip install -r requirements.txt -t . && mkdir /asset-output/python && " + - "cp -R /tmp/asset-input/* /asset-output/python" - )).build() - ).build() - )).build(); - - // ZIP package type Functions - // Functions Built by CDK - Runtime Functions Constructs - PythonFunction pythonFunction = PythonFunction.Builder - .create(this, "PythonFunction") - .entry("../../src/python/PythonFunctionConstruct") - .index("app.py") - .handler("lambda_handler") - .runtime(Runtime.PYTHON_3_9) - .functionName("pythonFunc") // we need the name to use it in the API definition file - .logRetention(RetentionDays.THREE_MONTHS) - .layers(Arrays.asList(pythonLayerVersion, layerVersion)) - .tracing(Tracing.ACTIVE) - .build(); - - // Normal Lambda Function Construct - Python Runtime - Function functionPythonRuntime = Function.Builder.create(this, "FunctionPythonRuntime") - .runtime(Runtime.PYTHON_3_9) - .code(Code.fromAsset("../../src/python/FunctionConstruct")) - .handler("app.lambda_handler") - .layers(Arrays.asList(pythonLayerVersion, layerVersion)) - .tracing(Tracing.ACTIVE) - .build(); - - // Normal Lambda Function Construct - Python Runtime - with skip build metadata - Function preBuiltFunctionPythonRuntime = Function.Builder.create(this, "PreBuiltFunctionPythonRuntime") - .runtime(Runtime.PYTHON_3_9) - .code(Code.fromAsset("../../src/python/BuiltFunctionConstruct")) - .handler("app.lambda_handler") - .layers(Arrays.asList(pythonLayerVersion, layerVersion)) - .tracing(Tracing.ACTIVE) - .build(); - // add SkipBuild Metadata, so SAM will skip building this function - CfnFunction cfnPreBuiltFunctionPythonRuntime = (CfnFunction) preBuiltFunctionPythonRuntime.getNode() - .getDefaultChild(); - cfnPreBuiltFunctionPythonRuntime.addMetadata("SkipBuild", true); - - // Normal Lambda Function with bundled Asset will be built by CDK - Function bundledFunctionPythonRuntime = Function.Builder.create(this, "BundledFunctionPythonRuntime") - .runtime(Runtime.PYTHON_3_9) - .code(Code.fromAsset("../../src/python/BundledFunctionConstruct/", - AssetOptions.builder().bundling( - BundlingOptions.builder() - .command(Arrays.asList("/bin/sh", "-c", "rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && cp -R /tmp/asset-input/* /asset-output")) - .image(Runtime.PYTHON_3_9.getBundlingImage()) - .build() - ).build() - )) - .handler("app.lambda_handler") - .layers(Arrays.asList(bundledLayerVersionPythonRuntime, pythonLayerVersion)) - .timeout(Duration.seconds(120)) - .tracing(Tracing.ACTIVE) - .build(); - - // NodeJs Runtime - //Layers - LayerVersion layerVersionNodeJsRuntime = LayerVersion.Builder.create(this, "LayerVersionNodeJsRuntime") - .compatibleRuntimes(Arrays.asList(Runtime.NODEJS_14_X)) - .code(Code.fromAsset("../../src/nodejs/layers/LayerVersion")) - .build(); - // add SAM metadata to build layer - CfnLayerVersion cfnLayerVersionNodeJsRuntime = (CfnLayerVersion) layerVersionNodeJsRuntime.getNode().getDefaultChild(); - cfnLayerVersionNodeJsRuntime.addMetadata("BuildMethod", "nodejs14.x"); - - NodejsFunction nodejsFunction = NodejsFunction.Builder.create(this, "NodejsFunction") - .runtime(Runtime.NODEJS_14_X) - .entry("../../src/nodejs/NodeJsFunctionConstruct/app.ts") - .depsLockFilePath("../../src/nodejs/NodeJsFunctionConstruct/package-lock.json") - .handler("lambdaHandler") - .layers(Arrays.asList(layerVersionNodeJsRuntime)) - .tracing(Tracing.ACTIVE) - .bundling(software.amazon.awscdk.services.lambda.nodejs.BundlingOptions.builder() - .externalModules( - Arrays.asList("/opt/nodejs/layer_version_dependency") - ).build() - ).build(); - - // Normal Lambda Function Construct - NodeJs Runtime - Function functionNodeJsRuntime = Function.Builder.create(this, "FunctionNodeJsRuntime") - .runtime(Runtime.NODEJS_14_X) - .code(Code.fromAsset("../../src/nodejs/FunctionConstruct")) - .handler("app.lambdaHandler") - .layers(Arrays.asList(layerVersionNodeJsRuntime)) - .tracing(Tracing.ACTIVE) - .build(); - - // Normal Lambda Function Construct - NodeJs Runtime - with skip build metadata - Function preBuiltFunctionNodeJsRuntime = Function.Builder.create(this, "PreBuiltFunctionNodeJsRuntime") - .runtime(Runtime.NODEJS_14_X) - .code(Code.fromAsset("../../src/nodejs/BuiltFunctionConstruct")) - .handler("app.lambdaHandler") - .layers(Arrays.asList(layerVersionNodeJsRuntime)) - .tracing(Tracing.ACTIVE) - .build(); - // add SkipBuild Metadata, so SAM will skip building this function - CfnFunction cfnPreBuiltFunctionNodeJsRuntime = (CfnFunction) preBuiltFunctionNodeJsRuntime.getNode().getDefaultChild(); - cfnPreBuiltFunctionNodeJsRuntime.addMetadata("SkipBuild", true); - - // Go Runtime - GoFunction goFunction = GoFunction.Builder.create(this, "GoFunction") - .entry("../../src/go/GoFunctionConstruct") - .bundling(software.amazon.awscdk.services.lambda.go.alpha.BundlingOptions.builder() - .forcedDockerBundling(true).build()) - .build(); - - // Normal Lambda Function Construct - Go Runtime - Function functionGoRuntime = Function.Builder.create(this, "FunctionGoRuntime") - .runtime(Runtime.GO_1_X) - .code(Code.fromAsset("../../src/go/FunctionConstruct")) - .handler("FunctionConstruct") - .build(); - - // Image Package Type Functions - // One way to define an Image Package Type Function - DockerImageFunction dockerImageFunction = DockerImageFunction.Builder.create(this, "DockerImageFunction") - .code(DockerImageCode.fromImageAsset("../../src/docker/DockerImageFunctionConstruct", - AssetImageCodeProps.builder().file("Dockerfile").build() - ) - ).tracing(Tracing.ACTIVE) - .build(); - - // another way - Function functionImageAsset = Function.Builder.create(this, "FunctionImageAsset") - .code(Code.fromAssetImage("../../src/docker/FunctionConstructWithImageAssetCode", - AssetImageCodeProps.builder().file("Dockerfile").build())) - .handler(Handler.FROM_IMAGE) - .runtime(Runtime.FROM_IMAGE) - .tracing(Tracing.ACTIVE) - .build(); - - // both ways work when 'file' is a path via subfolders to the Dockerfile - // this is useful when multiple docker images share some common code - DockerImageFunction dockerImageFunctionWithSharedCode = DockerImageFunction.Builder.create(this, "DockerImageFunctionWithSharedCode") - .code(DockerImageCode.fromImageAsset("../../src/docker/ImagesWithSharedCode", - AssetImageCodeProps.builder().file("DockerImageFunctionWithSharedCode/Dockerfile").build() - ) - ).tracing(Tracing.ACTIVE) - .build(); - - Function functionImageAssetWithSharedCode = Function.Builder.create(this, "FunctionImageAssetWithSharedCode") - .code(Code.fromAssetImage("../../src/docker/ImagesWithSharedCode", - AssetImageCodeProps.builder().file("FunctionImageAssetWithSharedCode/Dockerfile").build())) - .handler(Handler.FROM_IMAGE) - .runtime(Runtime.FROM_IMAGE) - .tracing(Tracing.ACTIVE) - .build(); - - //Rest APIs - - // Spec Rest Api - SpecRestApi.Builder.create(this, "SpecRestAPI") - .apiDefinition(ApiDefinition.fromAsset("../../src/rest-api-definition.yaml")) - .build(); - - // Role to be used as credentials for the Spec rest APi - // it is used inside the spec rest api definition file - Role.Builder.create(this, "SpecRestApiRole") - .assumedBy(new ServicePrincipal("apigateway.amazonaws.com")) - .roleName("SpecRestApiRole") - .build() - .addToPolicy( - PolicyStatement.Builder.create() - .actions(Arrays.asList("lambda:InvokeFunction")) - .resources(Arrays.asList("*")) - .build() - ); - - // Rest Api - RestApi restApi = new RestApi(this, "RestAPI"); - Resource normalRootResource = restApi.getRoot().addResource("restapis") - .addResource("normal"); - - normalRootResource.addResource("pythonFunction") - .addMethod("GET", new LambdaIntegration(pythonFunction)); - normalRootResource.addResource("functionPythonRuntime") - .addMethod("GET", new LambdaIntegration(functionPythonRuntime)); - normalRootResource.addResource("preBuiltFunctionPythonRuntime") - .addMethod("GET", new LambdaIntegration(preBuiltFunctionPythonRuntime)); - normalRootResource.addResource("bundledFunctionPythonRuntime") - .addMethod("GET", new LambdaIntegration(bundledFunctionPythonRuntime)); - normalRootResource.addResource("nodejsFunction") - .addMethod("GET", new LambdaIntegration(nodejsFunction)); - normalRootResource.addResource("functionNodeJsRuntime") - .addMethod("GET", new LambdaIntegration(functionNodeJsRuntime)); - normalRootResource.addResource("preBuiltFunctionNodeJsRuntime") - .addMethod("GET", new LambdaIntegration(preBuiltFunctionNodeJsRuntime)); - normalRootResource.addResource("goFunction") - .addMethod("GET", new LambdaIntegration(goFunction)); - normalRootResource.addResource("functionGoRuntime") - .addMethod("GET", new LambdaIntegration(functionGoRuntime)); - normalRootResource.addResource("dockerImageFunction") - .addMethod("GET", new LambdaIntegration(dockerImageFunction)); - normalRootResource.addResource("functionImageAsset") - .addMethod("GET", new LambdaIntegration(functionImageAsset)); - normalRootResource.addResource("dockerImageFunctionWithSharedCode") - .addMethod("GET", new LambdaIntegration(dockerImageFunctionWithSharedCode)); - normalRootResource.addResource("functionImageAssetWithSharedCode") - .addMethod("GET", new LambdaIntegration(functionImageAssetWithSharedCode)); - - // Nested Stack - new NestedStack1(this, "NestedStack"); - - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/NestedStack1.java b/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/NestedStack1.java deleted file mode 100644 index ac1754b263..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/java/src/main/java/com/myorg/NestedStack1.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.myorg; - -import org.jetbrains.annotations.NotNull; -import software.amazon.awscdk.NestedStack; -import software.amazon.awscdk.services.apigatewayv2.alpha.AddRoutesOptions; -import software.amazon.awscdk.services.apigatewayv2.alpha.HttpApi; -import software.amazon.awscdk.services.apigatewayv2.alpha.HttpMethod; -import software.amazon.awscdk.services.apigatewayv2.integrations.alpha.HttpLambdaIntegration; -import software.amazon.awscdk.services.lambda.Runtime; -import software.amazon.awscdk.services.lambda.*; -import software.amazon.awscdk.services.lambda.python.alpha.PythonFunction; -import software.amazon.awscdk.services.lambda.python.alpha.PythonLayerVersion; -import software.amazon.awscdk.services.logs.RetentionDays; -import software.constructs.Construct; - -import java.util.Arrays; - -public class NestedStack1 extends NestedStack { - - public NestedStack1(@NotNull Construct scope, @NotNull String id) { - super(scope, id); - - // Python Runtime - // Layers - PythonLayerVersion pythonLayerVersion = PythonLayerVersion.Builder - .create(this, "PythonLayerVersion") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_8, - Runtime.PYTHON_3_9)) - .entry("../../src/python/layers/PythonLayerVersion") - .build(); - - LayerVersion layerVersion = LayerVersion.Builder - .create(this, "LayerVersion") - .compatibleRuntimes(Arrays.asList(Runtime.PYTHON_3_8, - Runtime.PYTHON_3_9)) - .code(Code.fromAsset("../../src/python/layers/LayerVersion")) - .build(); - // add SAM metadata to build layer - CfnLayerVersion cfnLayerVersion = (CfnLayerVersion) layerVersion.getNode().getDefaultChild(); - cfnLayerVersion.addMetadata("BuildMethod", "python3.9"); - - // ZIP package type Functions - // Functions Built by CDK - Runtime Functions Constructs - PythonFunction nestedPythonFunction = PythonFunction.Builder - .create(this, "NestedPythonFunction") - .entry("../../src/python/NestedPythonFunctionConstruct") - .index("app.py") - .handler("lambda_handler") - .runtime(Runtime.PYTHON_3_9) - .logRetention(RetentionDays.THREE_MONTHS) - .layers(Arrays.asList(pythonLayerVersion, layerVersion)) - .tracing(Tracing.ACTIVE) - .build(); - - HttpApi httpApi = new HttpApi(this, "httpAPi"); - - httpApi.addRoutes(AddRoutesOptions.builder() - .path("/httpapis/nestedPythonFunction") - .methods(Arrays.asList(HttpMethod.GET)) - .integration(new HttpLambdaIntegration("httpApiRandomNameIntegration", nestedPythonFunction)) - .build() - ); - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/python/app.py b/tests/iac_integration/cdk/testdata/cdk_v2/python/app.py deleted file mode 100644 index c16cdfe67a..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/python/app.py +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env python3 -from aws_cdk import App - -from python.python_stack import PythonStack - - -app = App() -PythonStack(app, "TestStack") - -app.synth() diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/python/cdk.json b/tests/iac_integration/cdk/testdata/cdk_v2/python/cdk.json deleted file mode 100644 index 05b65aa6c3..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/python/cdk.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "app": "python3 -m venv .env && ./.env/bin/python -m pip install -r requirements.txt && ./.env/bin/python app.py", - "context": { - - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/__init__.py b/tests/iac_integration/cdk/testdata/cdk_v2/python/python/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/nested_stack.py b/tests/iac_integration/cdk/testdata/cdk_v2/python/python/nested_stack.py deleted file mode 100644 index da1455fb7d..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/nested_stack.py +++ /dev/null @@ -1,57 +0,0 @@ -from typing import cast - -from aws_cdk import NestedStack, aws_lambda as lambda1 -from aws_cdk.aws_apigatewayv2_alpha import HttpApi, HttpMethod -from aws_cdk.aws_apigatewayv2_integrations_alpha import HttpLambdaIntegration -from aws_cdk.aws_lambda import CfnLayerVersion -from aws_cdk.aws_lambda_python_alpha import PythonLayerVersion, PythonFunction -from constructs import Construct - - -class NestedStack1(NestedStack): - def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: - super().__init__(scope, construct_id, **kwargs) - - # Python Runtime - # Layers - python_layer_version = PythonLayerVersion( - self, - "PythonLayerVersion", - compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_8, - lambda1.Runtime.PYTHON_3_9, - ], - entry="../../src/python/layers/PythonLayerVersion", - ) - layer_version = lambda1.LayerVersion( - self, - "LayerVersion", - compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_8, - lambda1.Runtime.PYTHON_3_9, - ], - code=lambda1.Code.from_asset("../../src/python/layers/LayerVersion"), - ) - # add SAM metadata to build layer - cfn_layer_version = cast(CfnLayerVersion, layer_version.node.default_child) - cfn_layer_version.add_metadata("BuildMethod", "python3.9") - - # ZIP package type Functions - # Functions Built by CDK - Runtime Functions Constructs - nested_python_function = PythonFunction( - self, - "NestedPythonFunction", - entry="../../src/python/NestedPythonFunctionConstruct", - index="app.py", - handler="lambda_handler", - runtime=lambda1.Runtime.PYTHON_3_9, - layers=[python_layer_version, layer_version], - tracing=lambda1.Tracing.ACTIVE, - ) - http_api = HttpApi(self, "httpAPi") - - http_api.add_routes( - path="/httpapis/nestedPythonFunction", - methods=[HttpMethod.GET], - integration=HttpLambdaIntegration("httpApiRandomNameIntegration", nested_python_function), - ) diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/python_stack.py b/tests/iac_integration/cdk/testdata/cdk_v2/python/python/python_stack.py deleted file mode 100644 index 1b7a5d6293..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/python/python/python_stack.py +++ /dev/null @@ -1,320 +0,0 @@ -import os -from pathlib import Path -from typing import cast - -from aws_cdk import Stack, Duration, BundlingOptions, aws_lambda as lambda1, aws_apigateway as apigw, aws_logs as logs -from aws_cdk.aws_apigateway import LambdaIntegration -from aws_cdk.aws_lambda_nodejs import NodejsFunction, BundlingOptions as NodeJsBundlingOptions -from aws_cdk.aws_lambda_go_alpha import GoFunction, BundlingOptions as GoBundlingOptions -from aws_cdk.aws_lambda_python_alpha import PythonFunction, PythonLayerVersion -from aws_cdk.aws_iam import Role, ServicePrincipal, PolicyStatement -from aws_cdk.aws_lambda import CfnFunction, CfnLayerVersion -from constructs import Construct - -from .nested_stack import NestedStack1 - - -class PythonStack(Stack): - def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: - super().__init__(scope, construct_id, **kwargs) - - # Python Runtime - # Layers - python_layer_version = PythonLayerVersion( - self, - "PythonLayerVersion", - compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_8, - lambda1.Runtime.PYTHON_3_9, - ], - entry="../../src/python/layers/PythonLayerVersion", - ) - layer_version = lambda1.LayerVersion( - self, - "LayerVersion", - compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_8, - lambda1.Runtime.PYTHON_3_9, - ], - code=lambda1.Code.from_asset("../../src/python/layers/LayerVersion"), - ) - # add SAM metadata to build layer - cfn_layer_version = cast(CfnLayerVersion, layer_version.node.default_child) - cfn_layer_version.add_metadata("BuildMethod", "python3.9") - - # Lambda LayerVersion with bundled Asset that will be built by CDK - bundled_layer_version_python_runtime = lambda1.LayerVersion( - self, - "BundledLayerVersionPythonRuntime", - compatible_runtimes=[ - lambda1.Runtime.PYTHON_3_8, - lambda1.Runtime.PYTHON_3_9, - ], - code=lambda1.Code.from_asset( - "../../src/python/layers/BundledLayerVersion", - bundling=BundlingOptions( - command=[ - "/bin/sh", - "-c", - "rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && mkdir /asset-output/python && cp -R /tmp/asset-input/* /asset-output/python", - ], - image=lambda1.Runtime.PYTHON_3_9.bundling_image, - user="root", - ), - ), - ) - - # ZIP package type Functions - # Functions Built by CDK - Runtime Functions Constructs - python_function = PythonFunction( - self, - "PythonFunction", - entry="../../src/python/PythonFunctionConstruct", - index="app.py", - handler="lambda_handler", - runtime=lambda1.Runtime.PYTHON_3_9, - function_name="pythonFunc", # we need the name to use it in the API definition file - log_retention=logs.RetentionDays.THREE_MONTHS, - layers=[python_layer_version, layer_version], - tracing=lambda1.Tracing.ACTIVE, - ) - - # Normal Lambda Function Construct - Python Runtime - function_python_runtime = lambda1.Function( - self, - "FunctionPythonRuntime", - runtime=lambda1.Runtime.PYTHON_3_9, - code=lambda1.Code.from_asset("../../src/python/FunctionConstruct"), - handler="app.lambda_handler", - layers=[python_layer_version, layer_version], - tracing=lambda1.Tracing.ACTIVE, - ) - - # Normal Lambda Function Construct - Python Runtime - with skip build metadata - pre_built_function_python_runtime = lambda1.Function( - self, - "PreBuiltFunctionPythonRuntime", - runtime=lambda1.Runtime.PYTHON_3_9, - code=lambda1.Code.from_asset("../../src/python/BuiltFunctionConstruct"), - handler="app.lambda_handler", - layers=[python_layer_version, layer_version], - tracing=lambda1.Tracing.ACTIVE, - ) - # add SkipBuild Metadata, so SAM will skip building self function - cfn_pre_built_function_python_runtime = cast(CfnFunction, pre_built_function_python_runtime.node.default_child) - cfn_pre_built_function_python_runtime.add_metadata("SkipBuild", True) - - # Normal Lambda Function with bundled Asset will be built by CDK - bundled_function_python_runtime = lambda1.Function( - self, - "BundledFunctionPythonRuntime", - runtime=lambda1.Runtime.PYTHON_3_9, - code=lambda1.Code.from_asset( - "../../src/python/BundledFunctionConstruct/", - bundling=BundlingOptions( - command=[ - "/bin/sh", - "-c", - "rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && cp -R /tmp/asset-input/* /asset-output", - ], - image=lambda1.Runtime.PYTHON_3_9.bundling_image, - user="root", - ), - ), - handler="app.lambda_handler", - layers=[ - bundled_layer_version_python_runtime, - python_layer_version, - ], - timeout=Duration.seconds(120), - tracing=lambda1.Tracing.ACTIVE, - ) - - # NodeJs Runtime - # Layers - layer_version_node_js_runtime = lambda1.LayerVersion( - self, - "LayerVersionNodeJsRuntime", - compatible_runtimes=[ - lambda1.Runtime.NODEJS_14_X, - ], - code=lambda1.Code.from_asset("../../src/nodejs/layers/LayerVersion"), - ) - # add SAM metadata to build layer - cfn_layer_version_node_js_runtime = cast(CfnLayerVersion, layer_version_node_js_runtime.node.default_child) - cfn_layer_version_node_js_runtime.add_metadata("BuildMethod", "nodejs14.x") - - nodejs_function = NodejsFunction( - self, - "NodejsFunction", - runtime=lambda1.Runtime.NODEJS_14_X, - entry=os.path.join( - Path(__file__).resolve().parents[0], "../../../src/nodejs/NodeJsFunctionConstruct/app.ts" - ), - deps_lock_file_path=os.path.join( - Path(__file__).resolve().parents[0], "../../../src/nodejs/NodeJsFunctionConstruct/package-lock.json" - ), - bundling=NodeJsBundlingOptions( - external_modules=["/opt/nodejs/layer_version_dependency"], - ), - handler="lambdaHandler", - layers=[layer_version_node_js_runtime], - tracing=lambda1.Tracing.ACTIVE, - ) - - # Normal Lambda Function Construct - NodeJs Runtime - function_node_js_runtime = lambda1.Function( - self, - "FunctionNodeJsRuntime", - runtime=lambda1.Runtime.NODEJS_14_X, - code=lambda1.Code.from_asset("../../src/nodejs/FunctionConstruct"), - handler="app.lambdaHandler", - layers=[layer_version_node_js_runtime], - tracing=lambda1.Tracing.ACTIVE, - ) - - # Normal Lambda Function Construct - NodeJs Runtime - with skip build metadata - pre_built_function_node_js_runtime = lambda1.Function( - self, - "PreBuiltFunctionNodeJsRuntime", - runtime=lambda1.Runtime.NODEJS_14_X, - code=lambda1.Code.from_asset("../../src/nodejs/BuiltFunctionConstruct"), - handler="app.lambdaHandler", - layers=[layer_version_node_js_runtime], - tracing=lambda1.Tracing.ACTIVE, - ) - # add SkipBuild Metadata, so SAM will skip building self function - cfn_pre_built_function_node_js_runtime = cast( - CfnFunction, pre_built_function_node_js_runtime.node.default_child - ) - cfn_pre_built_function_node_js_runtime.add_metadata("SkipBuild", True) - - # Go Runtime - go_function = GoFunction( - self, - "GoFunction", - entry="../../src/go/GoFunctionConstruct", - bundling=GoBundlingOptions( - forced_docker_bundling=True, - ), - ) - - # Normal Lambda Function Construct - Go Runtime - function_go_runtime = lambda1.Function( - self, - "FunctionGoRuntime", - runtime=lambda1.Runtime.GO_1_X, - code=lambda1.Code.from_asset("../../src/go/FunctionConstruct"), - handler="FunctionConstruct", - ) - - # Image Package Type Functions - - # One way to define an Image Package Type Function - docker_image_function = lambda1.DockerImageFunction( - self, - "DockerImageFunction", - code=lambda1.DockerImageCode.from_image_asset( - directory="../../src/docker/DockerImageFunctionConstruct", - file="Dockerfile", - ), - tracing=lambda1.Tracing.ACTIVE, - ) - - # another way - function_image_asset = lambda1.Function( - self, - "FunctionImageAsset", - code=lambda1.Code.from_asset_image( - directory="../../src/docker/FunctionConstructWithImageAssetCode", - file="Dockerfile", - ), - handler=lambda1.Handler.FROM_IMAGE, - runtime=lambda1.Runtime.FROM_IMAGE, - tracing=lambda1.Tracing.ACTIVE, - ) - - # both ways work when 'file' is a path via subfolders to the Dockerfile - # this is useful when multiple docker images share some common code - docker_image_function_with_shared_code = lambda1.DockerImageFunction( - self, - "DockerImageFunctionWithSharedCode", - code=lambda1.DockerImageCode.from_image_asset( - directory="../../src/docker/ImagesWithSharedCode", - file="DockerImageFunctionWithSharedCode/Dockerfile", - ), - tracing=lambda1.Tracing.ACTIVE, - ) - - function_image_asset_with_shared_code = lambda1.Function( - self, - "FunctionImageAssetWithSharedCode", - code=lambda1.Code.from_asset_image( - directory="../../src/docker/ImagesWithSharedCode", - file="FunctionImageAssetWithSharedCode/Dockerfile", - ), - handler=lambda1.Handler.FROM_IMAGE, - runtime=lambda1.Runtime.FROM_IMAGE, - tracing=lambda1.Tracing.ACTIVE, - ) - - # Rest APIs - - # Spec Rest Api - apigw.SpecRestApi( - self, - "SpecRestAPI", - api_definition=apigw.ApiDefinition.from_asset("../../src/rest-api-definition.yaml"), - ) - - # Role to be used as credentials for the Spec rest APi - # it is used inside the spec rest api definition file - Role( - self, - "SpecRestApiRole", - assumed_by=ServicePrincipal("apigateway.amazonaws.com"), - role_name="SpecRestApiRole", - ).add_to_policy( - PolicyStatement( - actions=["lambda:InvokeFunction"], - resources=["*"], - ) - ) - - # Rest Api - rest_api = apigw.RestApi(self, "RestAPI") - normal_root_resource = rest_api.root.add_resource("restapis").add_resource("normal") - normal_root_resource.add_resource("pythonFunction").add_method("GET", LambdaIntegration(python_function)) - normal_root_resource.add_resource("functionPythonRuntime").add_method( - "GET", LambdaIntegration(function_python_runtime) - ) - normal_root_resource.add_resource("preBuiltFunctionPythonRuntime").add_method( - "GET", LambdaIntegration(pre_built_function_python_runtime) - ) - normal_root_resource.add_resource("bundledFunctionPythonRuntime").add_method( - "GET", LambdaIntegration(bundled_function_python_runtime) - ) - normal_root_resource.add_resource("nodejsFunction").add_method("GET", LambdaIntegration(nodejs_function)) - normal_root_resource.add_resource("functionNodeJsRuntime").add_method( - "GET", LambdaIntegration(function_node_js_runtime) - ) - normal_root_resource.add_resource("preBuiltFunctionNodeJsRuntime").add_method( - "GET", LambdaIntegration(pre_built_function_node_js_runtime) - ) - normal_root_resource.add_resource("goFunction").add_method("GET", LambdaIntegration(go_function)) - normal_root_resource.add_resource("functionGoRuntime").add_method("GET", LambdaIntegration(function_go_runtime)) - normal_root_resource.add_resource("dockerImageFunction").add_method( - "GET", LambdaIntegration(docker_image_function) - ) - normal_root_resource.add_resource("functionImageAsset").add_method( - "GET", LambdaIntegration(function_image_asset) - ) - normal_root_resource.add_resource("dockerImageFunctionWithSharedCode").add_method( - "GET", LambdaIntegration(docker_image_function_with_shared_code) - ) - normal_root_resource.add_resource("functionImageAssetWithSharedCode").add_method( - "GET", LambdaIntegration(function_image_asset_with_shared_code) - ) - - # Nested Stack - NestedStack1(self, "NestedStack") diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/python/requirements.txt b/tests/iac_integration/cdk/testdata/cdk_v2/python/requirements.txt deleted file mode 100644 index 5c81fd6f2d..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/python/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -aws-cdk-lib -constructs>=10.0.0 -aws-cdk.aws-apigatewayv2-alpha -aws-cdk.aws-apigatewayv2-integrations-alpha -aws-cdk.aws-lambda-go-alpha -aws-cdk.aws-lambda-python-alpha \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/bin/test-app.ts b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/bin/test-app.ts deleted file mode 100644 index d16b2299c9..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/bin/test-app.ts +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env node -import * as cdk from 'aws-cdk-lib'; -import { CDKSupportDemoRootStack } from '../lib/test-stack'; - -const app = new cdk.App(); -new CDKSupportDemoRootStack(app, 'TestStack'); -app.synth(); \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/cdk.json b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/cdk.json deleted file mode 100644 index 608fbbc197..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/cdk.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "app": "npm install && npx ts-node --prefer-ts-exts bin/test-app.ts", - "context": { - - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts deleted file mode 100644 index b9e43221ff..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/nested-stack.ts +++ /dev/null @@ -1,57 +0,0 @@ -import * as cdk from 'aws-cdk-lib'; -import * as lambda from 'aws-cdk-lib/aws-lambda'; -import { HttpApi, HttpMethod } from '@aws-cdk/aws-apigatewayv2-alpha'; -import { HttpLambdaIntegration } from '@aws-cdk/aws-apigatewayv2-integrations-alpha'; -import { PythonFunction, PythonLayerVersion } from '@aws-cdk/aws-lambda-python-alpha'; -import { Construct } from 'constructs'; -import {CfnLayerVersion} from 'aws-cdk-lib/aws-lambda'; - -export class NestedStack1 extends cdk.NestedStack { - - constructor(scope: Construct, id: string, props?: cdk.NestedStackProps) { - super(scope, id, props); - - // Python Runtime - // Layers - const pythonLayerVersion = new PythonLayerVersion(this, 'PythonLayerVersion', { - compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_8, - lambda.Runtime.PYTHON_3_9, - ], - entry: '../../src/python/layers/PythonLayerVersion', - }); - const layerVersion = new lambda.LayerVersion(this, 'LayerVersion', { - compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_8, - lambda.Runtime.PYTHON_3_9, - ], - code: lambda.Code.fromAsset('../../src/python/layers/LayerVersion'), - }); - // add SAM metadata to build layer - const cfnLayerVersion = layerVersion.node.defaultChild as CfnLayerVersion; - cfnLayerVersion.addMetadata('BuildMethod', 'python3.9'); - - // ZIP package type Functions - // Functions Built by CDK - Runtime Functions Constructs - const nestedPythonFunction = new PythonFunction(this, 'NestedPythonFunction', { - entry: '../../src/python/NestedPythonFunctionConstruct', - index: 'app.py', - handler: 'lambda_handler', - runtime: lambda.Runtime.PYTHON_3_9, - layers: [pythonLayerVersion, layerVersion], - tracing: lambda.Tracing.ACTIVE, - }); - - const httpApi = new HttpApi(this, 'httpAPi', { - }); - - httpApi.addRoutes({ - path: '/httpapis/nestedPythonFunction', - methods: [HttpMethod.GET], - integration: new HttpLambdaIntegration('httpApiRandomNameIntegration', - nestedPythonFunction, {} - ), - }); - - } -} \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/test-stack.ts b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/test-stack.ts deleted file mode 100644 index 000081be6f..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/lib/test-stack.ts +++ /dev/null @@ -1,275 +0,0 @@ -import * as path from 'path'; -import * as cdk from 'aws-cdk-lib'; -import * as lambda from 'aws-cdk-lib/aws-lambda'; -import * as apigw from 'aws-cdk-lib/aws-apigateway'; -import { LambdaIntegration} from 'aws-cdk-lib/aws-apigateway'; -import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs'; -import { GoFunction } from '@aws-cdk/aws-lambda-go-alpha'; -import { PythonFunction, PythonLayerVersion } from '@aws-cdk/aws-lambda-python-alpha'; -import {Role, ServicePrincipal, PolicyStatement} from 'aws-cdk-lib/aws-iam'; -import { CfnFunction, CfnLayerVersion } from 'aws-cdk-lib/aws-lambda'; -import {NestedStack1} from './nested-stack'; -import { Construct } from 'constructs'; -import * as logs from 'aws-cdk-lib/aws-logs'; - -export class CDKSupportDemoRootStack extends cdk.Stack { - constructor(scope: Construct, id: string, props?: cdk.StackProps) { - super(scope, id, props); - - // Python Runtime - // Layers - const pythonLayerVersion = new PythonLayerVersion(this, 'PythonLayerVersion', { - compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_8, - lambda.Runtime.PYTHON_3_9, - ], - entry: '../../src/python/layers/PythonLayerVersion', - }); - const layerVersion = new lambda.LayerVersion(this, 'LayerVersion', { - compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_8, - lambda.Runtime.PYTHON_3_9, - ], - code: lambda.Code.fromAsset('../../src/python/layers/LayerVersion'), - }); - // add SAM metadata to build layer - const cfnLayerVersion = layerVersion.node.defaultChild as CfnLayerVersion; - cfnLayerVersion.addMetadata('BuildMethod', 'python3.9'); - - const bundledLayerVersionPythonRuntime = new lambda.LayerVersion(this, 'BundledLayerVersionPythonRuntime', { - compatibleRuntimes: [ - lambda.Runtime.PYTHON_3_8, - lambda.Runtime.PYTHON_3_9, - ], - code: lambda.Code.fromAsset('../../src/python/layers/BundledLayerVersion', { - bundling: { - command: [ - '/bin/sh', - '-c', - 'rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && mkdir /asset-output/python && cp -R /tmp/asset-input/* /asset-output/python', - ], - image: lambda.Runtime.PYTHON_3_9.bundlingImage, - user: 'root', - } - }), - }); - - // ZIP package type Functions - // Functions Built by CDK - Runtime Functions Constructs - const pythonFunction = new PythonFunction(this, 'PythonFunction', { - entry: '../../src/python/PythonFunctionConstruct', - index: 'app.py', - handler: 'lambda_handler', - runtime: lambda.Runtime.PYTHON_3_9, - functionName: 'pythonFunc', // we need the name to use it in the API definition file - logRetention: logs.RetentionDays.THREE_MONTHS, - layers: [pythonLayerVersion, layerVersion], - tracing: lambda.Tracing.ACTIVE, - }); - - // Normal Lambda Function Construct - Python Runtime - const functionPythonRuntime = new lambda.Function(this, 'FunctionPythonRuntime', { - runtime: lambda.Runtime.PYTHON_3_9, - code: lambda.Code.fromAsset('../../src/python/FunctionConstruct'), - handler: 'app.lambda_handler', - layers: [pythonLayerVersion, layerVersion], - tracing: lambda.Tracing.ACTIVE, - }); - - // Normal Lambda Function Construct - Python Runtime - with skip build metadata - const preBuiltFunctionPythonRuntime = new lambda.Function(this, 'PreBuiltFunctionPythonRuntime', { - runtime: lambda.Runtime.PYTHON_3_9, - code: lambda.Code.fromAsset('../../src/python/BuiltFunctionConstruct'), - handler: 'app.lambda_handler', - layers: [pythonLayerVersion, layerVersion], - tracing: lambda.Tracing.ACTIVE, - }); - // add SkipBuild Metadata, so SAM will skip building this function - const cfnPreBuiltFunctionPythonRuntime = preBuiltFunctionPythonRuntime.node.defaultChild as CfnFunction; - cfnPreBuiltFunctionPythonRuntime.addMetadata('SkipBuild', true); - - const bundledFunctionPythonRuntime = new lambda.Function(this, 'BundledFunctionPythonRuntime', { - runtime: lambda.Runtime.PYTHON_3_9, - code: lambda.Code.fromAsset('../../src/python/BundledFunctionConstruct/', { - bundling: { - command: [ - '/bin/sh', - '-c', - 'rm -rf /tmp/asset-input && mkdir /tmp/asset-input && cp * /tmp/asset-input && cd /tmp/asset-input && pip install -r requirements.txt -t . && cp -R /tmp/asset-input/* /asset-output', - ], - image: lambda.Runtime.PYTHON_3_9.bundlingImage, - user: 'root', - } - }), - handler: "app.lambda_handler", - layers: [bundledLayerVersionPythonRuntime, pythonLayerVersion], - timeout: cdk.Duration.seconds(120), - tracing: lambda.Tracing.ACTIVE, - }); - - // NodeJs Runtime - //Layers - const layerVersionNodeJsRuntime = new lambda.LayerVersion(this, 'LayerVersionNodeJsRuntime', { - compatibleRuntimes: [ - lambda.Runtime.NODEJS_14_X, - ], - code: lambda.Code.fromAsset('../../src/nodejs/layers/LayerVersion'), - }); - // add SAM metadata to build layer - const cfnLayerVersionNodeJsRuntime = layerVersionNodeJsRuntime.node.defaultChild as CfnLayerVersion; - cfnLayerVersionNodeJsRuntime.addMetadata('BuildMethod', 'nodejs14.x'); - - const nodejsFunction = new NodejsFunction(this, 'NodejsFunction', { - runtime: lambda.Runtime.NODEJS_14_X, - entry: path.join(__dirname, '../../../src/nodejs/NodeJsFunctionConstruct/app.ts'), - depsLockFilePath: path.join(__dirname, '../../../src/nodejs/NodeJsFunctionConstruct/package-lock.json'), - bundling: { - externalModules: ['/opt/nodejs/layer_version_dependency'], - }, - handler: 'lambdaHandler', - layers: [layerVersionNodeJsRuntime], - tracing: lambda.Tracing.ACTIVE, - }); - - // Normal Lambda Function Construct - NodeJs Runtime - const functionNodeJsRuntime = new lambda.Function(this, 'FunctionNodeJsRuntime', { - runtime: lambda.Runtime.NODEJS_14_X, - code: lambda.Code.fromAsset('../../src/nodejs/FunctionConstruct'), - handler: 'app.lambdaHandler', - layers: [layerVersionNodeJsRuntime], - tracing: lambda.Tracing.ACTIVE, - }); - - // Normal Lambda Function Construct - NodeJs Runtime - with skip build metadata - const preBuiltFunctionNodeJsRuntime = new lambda.Function(this, 'PreBuiltFunctionNodeJsRuntime', { - runtime: lambda.Runtime.NODEJS_14_X, - code: lambda.Code.fromAsset('../../src/nodejs/BuiltFunctionConstruct'), - handler: 'app.lambdaHandler', - layers: [layerVersionNodeJsRuntime], - tracing: lambda.Tracing.ACTIVE, - }); - // add SkipBuild Metadata, so SAM will skip building this function - const cfnPreBuiltFunctionNodeJsRuntime = preBuiltFunctionNodeJsRuntime.node.defaultChild as CfnFunction; - cfnPreBuiltFunctionNodeJsRuntime.addMetadata('SkipBuild', true); - - // Go Runtime - - const goFunction = new GoFunction(this, 'GoFunction', { - entry: '../../src/go/GoFunctionConstruct', - bundling: { - forcedDockerBundling: true, - }, - }); - - // Normal Lambda Function Construct - Go Runtime - const functionGoRuntime = new lambda.Function(this, 'FunctionGoRuntime', { - runtime: lambda.Runtime.GO_1_X, - code: lambda.Code.fromAsset('../../src/go/FunctionConstruct'), - handler: 'FunctionConstruct', - }); - - // Image Package Type Functions - - // One way to define an Image Package Type Function - const dockerImageFunction = new lambda.DockerImageFunction(this, "DockerImageFunction", { - code: lambda.DockerImageCode.fromImageAsset('../../src/docker/DockerImageFunctionConstruct', { - file: 'Dockerfile', - }), - tracing: lambda.Tracing.ACTIVE, - }); - - // another way - const functionImageAsset = new lambda.Function(this, "FunctionImageAsset", { - code: lambda.Code.fromAssetImage('../../src/docker/FunctionConstructWithImageAssetCode', { - file: 'Dockerfile', - }), - handler: lambda.Handler.FROM_IMAGE, - runtime: lambda.Runtime.FROM_IMAGE, - tracing: lambda.Tracing.ACTIVE, - }); - - // both ways work when 'file' is a path via subfolders to the Dockerfile - // this is useful when multiple docker images share some common code - const dockerImageFunctionWithSharedCode = new lambda.DockerImageFunction(this, "DockerImageFunctionWithSharedCode", { - code: lambda.DockerImageCode.fromImageAsset("../../src/docker/ImagesWithSharedCode", { - file: "DockerImageFunctionWithSharedCode/Dockerfile", - }), - tracing: lambda.Tracing.ACTIVE, - }); - - // another way - const functionImageAssetWithSharedCode = new lambda.Function(this, "FunctionImageAssetWithSharedCode", { - code: lambda.Code.fromAssetImage("../../src/docker/ImagesWithSharedCode", { - file: "FunctionImageAssetWithSharedCode/Dockerfile", - }), - handler: lambda.Handler.FROM_IMAGE, - runtime: lambda.Runtime.FROM_IMAGE, - tracing: lambda.Tracing.ACTIVE, - }); - - - //Rest APIs - - // Spec Rest Api - new apigw.SpecRestApi(this, 'SpecRestAPI', { - apiDefinition: apigw.ApiDefinition.fromAsset('../../src/rest-api-definition.yaml'), - }); - - // Role to be used as credentials for the Spec rest APi - // it is used inside the spec rest api definition file - new Role(this, 'SpecRestApiRole', { - assumedBy: new ServicePrincipal('apigateway.amazonaws.com'), - roleName: 'SpecRestApiRole', - }).addToPolicy(new PolicyStatement({ - actions: ['lambda:InvokeFunction'], - resources: ['*'], - })); - - // Rest Api - const restApi = new apigw.RestApi(this, 'RestAPI', {}); - const normalRootResource = restApi.root.addResource('restapis') - .addResource('normal'); - - normalRootResource.addResource('pythonFunction') - .addMethod('GET', new LambdaIntegration(pythonFunction)); - - normalRootResource.addResource('functionPythonRuntime') - .addMethod('GET', new LambdaIntegration(functionPythonRuntime)); - - normalRootResource.addResource('preBuiltFunctionPythonRuntime') - .addMethod('GET', new LambdaIntegration(preBuiltFunctionPythonRuntime)); - - normalRootResource.addResource('bundledFunctionPythonRuntime') - .addMethod('GET', new LambdaIntegration(bundledFunctionPythonRuntime)); - - normalRootResource.addResource('nodejsFunction') - .addMethod('GET', new LambdaIntegration(nodejsFunction)); - - normalRootResource.addResource('functionNodeJsRuntime') - .addMethod('GET', new LambdaIntegration(functionNodeJsRuntime)); - - normalRootResource.addResource('preBuiltFunctionNodeJsRuntime') - .addMethod('GET', new LambdaIntegration(preBuiltFunctionNodeJsRuntime)); - - normalRootResource.addResource('goFunction') - .addMethod('GET', new LambdaIntegration(goFunction)); - - normalRootResource.addResource('functionGoRuntime') - .addMethod('GET', new LambdaIntegration(functionGoRuntime)); - - normalRootResource.addResource('dockerImageFunction') - .addMethod('GET', new LambdaIntegration(dockerImageFunction)); - - normalRootResource.addResource('functionImageAsset') - .addMethod('GET', new LambdaIntegration(functionImageAsset)); - - normalRootResource.addResource('dockerImageFunctionWithSharedCode') - .addMethod('GET', new LambdaIntegration(dockerImageFunctionWithSharedCode)); - - normalRootResource.addResource('functionImageAssetWithSharedCode') - .addMethod('GET', new LambdaIntegration(functionImageAssetWithSharedCode)); - - // Nested Stack - new NestedStack1(this, 'NestedStack' ,{}); - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/package.json b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/package.json deleted file mode 100644 index baa0873358..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "api-cors-issue", - "version": "0.1.0", - "bin": { - "api-cors-issue": "bin/api-cors-issue.js" - }, - "scripts": { - "build": "tsc", - "cdk": "cdk" - }, - "devDependencies": { - "@aws-cdk/assert": "", - "@types/node": "10.17.27", - "aws-cdk": "", - "ts-node": "^9.0.0", - "typescript": "~3.9.7" - }, - "dependencies": { - "@aws-cdk/aws-apigatewayv2-alpha": "", - "@aws-cdk/aws-apigatewayv2-integrations-alpha": "", - "@aws-cdk/aws-lambda-go-alpha": "", - "@aws-cdk/aws-lambda-python-alpha": "", - "aws-cdk-lib": "", - "constructs": "^10.0.0" - } -} diff --git a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/tsconfig.json b/tests/iac_integration/cdk/testdata/cdk_v2/typescript/tsconfig.json deleted file mode 100644 index 9f8e8beabd..0000000000 --- a/tests/iac_integration/cdk/testdata/cdk_v2/typescript/tsconfig.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "module": "commonjs", - "lib": [ - "es2018" - ], - "declaration": true, - "strict": true, - "noImplicitAny": true, - "strictNullChecks": true, - "noImplicitThis": true, - "alwaysStrict": true, - "noUnusedLocals": false, - "noUnusedParameters": false, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": false, - "inlineSourceMap": true, - "inlineSources": true, - "experimentalDecorators": true, - "strictPropertyInitialization": false, - "typeRoots": [ - "./node_modules/@types" - ] - }, - "exclude": [ - "node_modules", - "cdk.out" - ] -} diff --git a/tests/iac_integration/cdk/testdata/src/docker/DockerImageFunctionConstruct/Dockerfile b/tests/iac_integration/cdk/testdata/src/docker/DockerImageFunctionConstruct/Dockerfile deleted file mode 100644 index d26e4d5ea0..0000000000 --- a/tests/iac_integration/cdk/testdata/src/docker/DockerImageFunctionConstruct/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM public.ecr.aws/lambda/nodejs:14 - -# Assumes your function is named "app.js", and there is a package.json file in the app directory -COPY app.js package.json ./ - -RUN npm install - -# Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile) -CMD [ "app.lambdaHandler" ] \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/docker/DockerImageFunctionConstruct/app.js b/tests/iac_integration/cdk/testdata/src/docker/DockerImageFunctionConstruct/app.js deleted file mode 100644 index 2489020d66..0000000000 --- a/tests/iac_integration/cdk/testdata/src/docker/DockerImageFunctionConstruct/app.js +++ /dev/null @@ -1,22 +0,0 @@ -var gen = require('unique-names-generator'); - -const colorName = gen.uniqueNamesGenerator({ - dictionaries: [gen.colors] -}); - -exports.lambdaHandler = async(event, context) => { - let response; - - try { - response = { - 'statusCode': 200, - 'body': JSON.stringify({ - message: "Hello World from docker image function construct", - }) - }; - } catch (err) { - console.log(err); - return err; - } - return response; -}; diff --git a/tests/iac_integration/cdk/testdata/src/docker/DockerImageFunctionConstruct/package.json b/tests/iac_integration/cdk/testdata/src/docker/DockerImageFunctionConstruct/package.json deleted file mode 100644 index 7b15f7c978..0000000000 --- a/tests/iac_integration/cdk/testdata/src/docker/DockerImageFunctionConstruct/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "randomColors", - "version": "0.1.0", - "bin": { - "randomColors": "bin/app.js" - }, - "scripts": { - "build": "tsc", - "watch": "tsc -w", - "test": "jest", - "cdk": "cdk" - }, - "dependencies": { - "unique-names-generator": "^4.6.0" - } -} diff --git a/tests/iac_integration/cdk/testdata/src/docker/FunctionConstructWithImageAssetCode/Dockerfile b/tests/iac_integration/cdk/testdata/src/docker/FunctionConstructWithImageAssetCode/Dockerfile deleted file mode 100644 index d26e4d5ea0..0000000000 --- a/tests/iac_integration/cdk/testdata/src/docker/FunctionConstructWithImageAssetCode/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM public.ecr.aws/lambda/nodejs:14 - -# Assumes your function is named "app.js", and there is a package.json file in the app directory -COPY app.js package.json ./ - -RUN npm install - -# Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile) -CMD [ "app.lambdaHandler" ] \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/docker/FunctionConstructWithImageAssetCode/app.js b/tests/iac_integration/cdk/testdata/src/docker/FunctionConstructWithImageAssetCode/app.js deleted file mode 100644 index ad398aff72..0000000000 --- a/tests/iac_integration/cdk/testdata/src/docker/FunctionConstructWithImageAssetCode/app.js +++ /dev/null @@ -1,22 +0,0 @@ -var gen = require('unique-names-generator'); - -const colorName = gen.uniqueNamesGenerator({ - dictionaries: [gen.colors] -}); - -exports.lambdaHandler = async(event, context) => { - let response; - - try { - response = { - 'statusCode': 200, - 'body': JSON.stringify({ - message: "Hello World from function construct with image asset", - }), - }; - } catch (err) { - console.log(err); - return err; - } - return response; -}; diff --git a/tests/iac_integration/cdk/testdata/src/docker/FunctionConstructWithImageAssetCode/package.json b/tests/iac_integration/cdk/testdata/src/docker/FunctionConstructWithImageAssetCode/package.json deleted file mode 100644 index 7b15f7c978..0000000000 --- a/tests/iac_integration/cdk/testdata/src/docker/FunctionConstructWithImageAssetCode/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "randomColors", - "version": "0.1.0", - "bin": { - "randomColors": "bin/app.js" - }, - "scripts": { - "build": "tsc", - "watch": "tsc -w", - "test": "jest", - "cdk": "cdk" - }, - "dependencies": { - "unique-names-generator": "^4.6.0" - } -} diff --git a/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/DockerImageFunctionWithSharedCode/Dockerfile b/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/DockerImageFunctionWithSharedCode/Dockerfile deleted file mode 100644 index a2c99c17fd..0000000000 --- a/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/DockerImageFunctionWithSharedCode/Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -FROM public.ecr.aws/lambda/nodejs:14 - -# Add the lambda handler for this feature -COPY DockerImageFunctionWithSharedCode/app.js ./ - -# Add the shared code -COPY SharedCode/ ./SharedCode - -# Add the shared dependencies -COPY package.json ./ - -# Install the dependencies -RUN npm install - -# Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile) -CMD [ "app.lambdaHandler" ] \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/DockerImageFunctionWithSharedCode/app.js b/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/DockerImageFunctionWithSharedCode/app.js deleted file mode 100644 index 239c7bafad..0000000000 --- a/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/DockerImageFunctionWithSharedCode/app.js +++ /dev/null @@ -1,24 +0,0 @@ -var gen = require('unique-names-generator'); -const {sayHelloWorld} = require("./SharedCode/shared"); - -const colorName = gen.uniqueNamesGenerator({ - dictionaries: [gen.colors] -}); - - -exports.lambdaHandler = async(event, context) => { - let response; - - try { - response = { - 'statusCode': 200, - 'body': JSON.stringify({ - message: sayHelloWorld("docker image function construct"), - }), - }; - } catch (err) { - console.log(err); - return err; - } - return response; -}; diff --git a/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/FunctionImageAssetWithSharedCode/Dockerfile b/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/FunctionImageAssetWithSharedCode/Dockerfile deleted file mode 100644 index a68a4f5978..0000000000 --- a/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/FunctionImageAssetWithSharedCode/Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -FROM public.ecr.aws/lambda/nodejs:14 - -# Add the lambda handler for this feature -COPY FunctionImageAssetWithSharedCode/app.js ./ - -# Add the shared code -COPY SharedCode/ ./SharedCode - -# Add the shared dependencies -COPY package.json ./ - -# Install the dependencies -RUN npm install - -# Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile) -CMD [ "app.lambdaHandler" ] \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/FunctionImageAssetWithSharedCode/app.js b/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/FunctionImageAssetWithSharedCode/app.js deleted file mode 100644 index f1dca39268..0000000000 --- a/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/FunctionImageAssetWithSharedCode/app.js +++ /dev/null @@ -1,24 +0,0 @@ -var gen = require('unique-names-generator'); -const {sayHelloWorld} = require("./SharedCode/shared"); - -const colorName = gen.uniqueNamesGenerator({ - dictionaries: [gen.colors] -}); - - -exports.lambdaHandler = async(event, context) => { - let response; - - try { - response = { - 'statusCode': 200, - 'body': JSON.stringify({ - message: sayHelloWorld("function construct with image asset"), - }), - }; - } catch (err) { - console.log(err); - return err; - } - return response; -}; diff --git a/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/SharedCode/shared.js b/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/SharedCode/shared.js deleted file mode 100644 index 334a8051fe..0000000000 --- a/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/SharedCode/shared.js +++ /dev/null @@ -1,4 +0,0 @@ - -exports.sayHelloWorld = (from) => { - return `Hello World from ${from} with a Dockerfile that shares code with another Dockerfile`; -} diff --git a/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/package.json b/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/package.json deleted file mode 100644 index 7b15f7c978..0000000000 --- a/tests/iac_integration/cdk/testdata/src/docker/ImagesWithSharedCode/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "randomColors", - "version": "0.1.0", - "bin": { - "randomColors": "bin/app.js" - }, - "scripts": { - "build": "tsc", - "watch": "tsc -w", - "test": "jest", - "cdk": "cdk" - }, - "dependencies": { - "unique-names-generator": "^4.6.0" - } -} diff --git a/tests/iac_integration/cdk/testdata/src/go/FunctionConstruct/go.mod b/tests/iac_integration/cdk/testdata/src/go/FunctionConstruct/go.mod deleted file mode 100644 index ac54bd0c32..0000000000 --- a/tests/iac_integration/cdk/testdata/src/go/FunctionConstruct/go.mod +++ /dev/null @@ -1,5 +0,0 @@ -require github.com/aws/aws-lambda-go v1.28.0 - -module hello-world - -go 1.15 diff --git a/tests/iac_integration/cdk/testdata/src/go/FunctionConstruct/go.sum b/tests/iac_integration/cdk/testdata/src/go/FunctionConstruct/go.sum deleted file mode 100644 index 4c65c61e81..0000000000 --- a/tests/iac_integration/cdk/testdata/src/go/FunctionConstruct/go.sum +++ /dev/null @@ -1,17 +0,0 @@ -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/aws/aws-lambda-go v1.28.0 h1:fZiik1PZqW2IyAN4rj+Y0UBaO1IDFlsNo9Zz/XnArK4= -github.com/aws/aws-lambda-go v1.28.0/go.mod h1:jJmlefzPfGnckuHdXX7/80O3BvUUi12XOkbv4w9SGLU= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/tests/iac_integration/cdk/testdata/src/go/FunctionConstruct/main.go b/tests/iac_integration/cdk/testdata/src/go/FunctionConstruct/main.go deleted file mode 100644 index cc08daa959..0000000000 --- a/tests/iac_integration/cdk/testdata/src/go/FunctionConstruct/main.go +++ /dev/null @@ -1,17 +0,0 @@ -package main - -import ( - "github.com/aws/aws-lambda-go/events" - "github.com/aws/aws-lambda-go/lambda" -) - -func handler(request events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) { - return events.APIGatewayProxyResponse{ - Body: "{\"message\": \"Hello World from function construct with go runtime\"}", - StatusCode: 200, - }, nil -} - -func main() { - lambda.Start(handler) -} diff --git a/tests/iac_integration/cdk/testdata/src/go/GoFunctionConstruct/go.mod b/tests/iac_integration/cdk/testdata/src/go/GoFunctionConstruct/go.mod deleted file mode 100644 index ac54bd0c32..0000000000 --- a/tests/iac_integration/cdk/testdata/src/go/GoFunctionConstruct/go.mod +++ /dev/null @@ -1,5 +0,0 @@ -require github.com/aws/aws-lambda-go v1.28.0 - -module hello-world - -go 1.15 diff --git a/tests/iac_integration/cdk/testdata/src/go/GoFunctionConstruct/go.sum b/tests/iac_integration/cdk/testdata/src/go/GoFunctionConstruct/go.sum deleted file mode 100644 index 4c65c61e81..0000000000 --- a/tests/iac_integration/cdk/testdata/src/go/GoFunctionConstruct/go.sum +++ /dev/null @@ -1,17 +0,0 @@ -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/aws/aws-lambda-go v1.28.0 h1:fZiik1PZqW2IyAN4rj+Y0UBaO1IDFlsNo9Zz/XnArK4= -github.com/aws/aws-lambda-go v1.28.0/go.mod h1:jJmlefzPfGnckuHdXX7/80O3BvUUi12XOkbv4w9SGLU= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/tests/iac_integration/cdk/testdata/src/go/GoFunctionConstruct/main.go b/tests/iac_integration/cdk/testdata/src/go/GoFunctionConstruct/main.go deleted file mode 100644 index d1d3ac1b21..0000000000 --- a/tests/iac_integration/cdk/testdata/src/go/GoFunctionConstruct/main.go +++ /dev/null @@ -1,17 +0,0 @@ -package main - -import ( - "github.com/aws/aws-lambda-go/events" - "github.com/aws/aws-lambda-go/lambda" -) - -func handler(request events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) { - return events.APIGatewayProxyResponse{ - Body: "{\"message\": \"Hello World from go function construct\"}", - StatusCode: 200, - }, nil -} - -func main() { - lambda.Start(handler) -} diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/BuiltFunctionConstruct/app.js b/tests/iac_integration/cdk/testdata/src/nodejs/BuiltFunctionConstruct/app.js deleted file mode 100644 index 99f7ed6837..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/BuiltFunctionConstruct/app.js +++ /dev/null @@ -1,17 +0,0 @@ -const layer_version_dependency = require('/opt/nodejs/layer_version_dependency'); -let response; - -exports.lambdaHandler = async (event, context) => { - try { - response = { - 'statusCode': 200, - 'body': JSON.stringify({ - message: `Hello World from nodejs pre built function ${layer_version_dependency.get_dependency()}`, - }) - }; - } catch (err) { - console.log(err); - return err; - } - return response; -}; \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/FunctionConstruct/app.js b/tests/iac_integration/cdk/testdata/src/nodejs/FunctionConstruct/app.js deleted file mode 100644 index 27991e939d..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/FunctionConstruct/app.js +++ /dev/null @@ -1,23 +0,0 @@ -const unique_names_generator = require('unique-names-generator'); -const layer_version_dependency = require('/opt/nodejs/layer_version_dependency'); - -const characterName = unique_names_generator.uniqueNamesGenerator({ - dictionaries: [unique_names_generator.animals] -}); - -let response; - -exports.lambdaHandler = async (event, context) => { - try { - response = { - 'statusCode': 200, - 'body': JSON.stringify({ - message: `Hello World from function construct with nodejs runtime ${layer_version_dependency.get_dependency()}`, - }) - }; - } catch (err) { - console.log(err); - return err; - } - return response; -}; \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/FunctionConstruct/package.json b/tests/iac_integration/cdk/testdata/src/nodejs/FunctionConstruct/package.json deleted file mode 100644 index 1dc652ae81..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/FunctionConstruct/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hello_world", - "version": "1.0.0", - "main": "app.js", - "dependencies": { - "unique-names-generator": "^4.6.0" - } -} diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/app.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/app.ts deleted file mode 100644 index 5f629a9dff..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/app.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { uniqueNamesGenerator, animals} from 'unique-names-generator'; -import {get_dependency} from '/opt/nodejs/layer_version_dependency'; - -const characterName = uniqueNamesGenerator({ - dictionaries: [animals] -}); -let response; - -exports.lambdaHandler = async(event, context) => { - try { - response = { - 'statusCode': 200, - 'body': JSON.stringify({ - message: `Hello World from nodejs function construct ${get_dependency()}`, - }) - }; - } catch (err) { - console.log(err); - return err; - } - return response; -}; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/.package-lock.json b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/.package-lock.json deleted file mode 100644 index ffbc1ed91a..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/.package-lock.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "hello_world", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "node_modules/unique-names-generator": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/unique-names-generator/-/unique-names-generator-4.6.0.tgz", - "integrity": "sha512-m0fke1emBeT96UYn2psPQYwljooDWRTKt9oUZ5vlt88ZFMBGxqwPyLHXwCfkbgdm8jzioCp7oIpo6KdM+fnUlQ==", - "engines": { - "node": ">=8" - } - } - } -} diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/LICENSE b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/LICENSE deleted file mode 100644 index a413d1ffc3..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/LICENSE +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) 2018-2021 AndreaSonny (https://github.com/andreasonny83) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/README.md b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/README.md deleted file mode 100644 index 88fc351741..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/README.md +++ /dev/null @@ -1,643 +0,0 @@ -# Unique Names Generator - -[![All Contributors](https://img.shields.io/badge/all_contributors-10-orange.svg?style=flat-square)](#contributors-) - - -[![Build Status](https://travis-ci.com/andreasonny83/unique-names-generator.svg?branch=main)](https://travis-ci.com/andreasonny83/unique-names-generator) -[![](https://img.shields.io/npm/v/unique-names-generator.svg)](https://npmjs.org/package/unique-names-generator) -[![](https://img.shields.io/npm/l/unique-names-generator.svg)](https://github.com/andreasonny83/unique-names-generator/blob/main/LICENSE) -[![Known Vulnerabilities](https://snyk.io/test/github/andreasonny83/unique-names-generator/badge.svg?targetFile=package.json)](https://snyk.io/test/github/andreasonny83/unique-names-generator?targetFile=package.json) -[![](https://img.shields.io/npm/dt/unique-names-generator.svg)](https://npmjs.org/package/unique-names-generator) -[![devDependencies Status](https://david-dm.org/andreasonny83/unique-names-generator/dev-status.svg)](https://david-dm.org/andreasonny83/unique-names-generator?type=dev) - -[![NPM](https://nodei.co/npm/unique-names-generator.png)](https://npmjs.org/package/unique-names-generator) - -> More than 50,000,000 name combinations out of the box - -## What is Unique name generator? - -Unique name generator is a tree-shakeable Node package for generating random and unique names. - -It comes with a list of dictionaries out of the box, but you can also provide your custom ones. - -## Docs - -This documentation is for the `unique-names-generator` v4. - -If you are using a version 3.x of the library, please refer to the -[v3 Docs](https://github.com/andreasonny83/unique-names-generator/blob/v3.1.1/README.md) - -For the version 1 & 2, please refer to the -[v2 Docs](https://github.com/andreasonny83/unique-names-generator/blob/v2.0.2/README.md) - -### Migrating to v4 - -If you want to migrate, from an older version of the library to v4, please read the [Migration guide](#migration-guide) - -## Table of contents - -- [Unique Names Generator](#unique-names-generator) - - [What is Unique name generator?](#what-is-unique-name-generator) - - [Docs](#docs) - - [Migrating to v4](#migrating-to-v4) - - [Table of contents](#table-of-contents) - - [Prerequisites](#prerequisites) - - [Installation](#installation) - - [Usage](#usage) - - [Typescript support](#typescript-support) - - [API](#api) - - [uniqueNamesGenerator (options)](#uniquenamesgenerator-options) - - [options](#options) - - [dictionaries](#dictionaries) - - [separator](#separator) - - [length](#length) - - [style](#style) - - [seed](#seed) - - [Dictionaries available](#dictionaries-available) - - [Numbers](#numbers) - - [Adjectives](#adjectives) - - [Animals](#animals) - - [Colors](#colors) - - [Countries](#countries) - - [Names](#names) - - [Languages](#languages) - - [Star Wars](#star-wars) - - [Default dictionaries](#default-dictionaries) - - [Custom dictionaries](#custom-dictionaries) - - [Numbers Dictionary](#numbers-dictionary) - - [Numbers Dictionary API](#numbers-dictionary-api) - - [generate (options)](#generate-options) - - [options](#options-1) - - [min](#min) - - [max](#max) - - [length](#length-1) - - [Combining custom and provided dictionaries](#combining-custom-and-provided-dictionaries) - - [Migration guide](#migration-guide) - - [Migration guide from version 3 to version 4](#migration-guide-from-version-3-to-version-4) - - [Mandatory `dictionaries` config](#mandatory-dictionaries-config) - - [Migration guide from version 1 or 2](#migration-guide-from-version-1-or-2) - - [uniqueNamesGenerator](#uniquenamesgenerator) - - [Separator](#separator-1) - - [Short](#short) - - [Contributing](#contributing) - - [License](#license) - - [Contributors ✨](#contributors-) - -## Prerequisites - -This project requires NodeJS (at least version 6) and NPM. -[Node](http://nodejs.org/) and [NPM](https://npmjs.org/) are really easy to install. -To make sure you have them available on your machine, -try running the following command. - -```sh -$ node --version -v7.10.1 - -$ npm --version -4.2.0 -``` - -## Installation - -**BEFORE YOU INSTALL:** please read the [prerequisites](#prerequisites) - -Install the package using npm or Yarn - -```sh -$ npm i -S unique-names-generator -``` - -Or using Yarn - -```sh -$ yarn add unique-names-generator -``` - -## Usage - -```js -const { uniqueNamesGenerator, adjectives, colors, animals } = require('unique-names-generator'); - -const randomName = uniqueNamesGenerator({ dictionaries: [adjectives, colors, animals] }); // big_red_donkey - -const shortName = uniqueNamesGenerator({ - dictionaries: [adjectives, animals, colors], // colors can be omitted here as not used - length: 2 -}); // big-donkey -``` - -### Typescript support - -This package export a type definition file so you can use it, out of the box, -inside your Typescript project. - -```typescript -import { uniqueNamesGenerator, Config, adjectives, colors, animals } from 'unique-names-generator'; - -const customConfig: Config = { - dictionaries: [adjectives, colors], - separator: '-', - length: 2, -}; - -const randomName: string = uniqueNamesGenerator({ - dictionaries: [adjectives, colors, animals] -}); // big_red_donkey - -const shortName: string = uniqueNamesGenerator(customConfig); // big-donkey -``` - -## API - -### uniqueNamesGenerator (options) - -Returns a `string` with a random generated name - -### options - -Type: `Config` - -#### dictionaries - -Type: `array` - -required: `true` - -This is an array of dictionaries. Each dictionary is an array of strings containing the words to use for generating the string. - -The [provided dictionaries](#dictionaries-available) can be imported from the library as a separate modules and provided in the desired order. - -```typescript -import { uniqueNamesGenerator, adjectives, colors, animals } from 'unique-names-generator'; - -const shortName: string = uniqueNamesGenerator({ - dictionaries: [colors, adjectives, animals] -}); // red_big_donkey -``` - -Read more about the dictionaries and how to use them, in the [Dictionaries](#dictionaries-available) section. - -#### separator - -Type: `string` - -required: `false` - -Default: `_` - -A string separator to be used for separate the words generated. -The default separator is set to `_`. - -#### length - -Type: `number` - -required: `false` - -Default: `3` - -The default value is set to `3` and it will return a name composed of 3 words. -This values must be equal or minor to the number of [dictionaries](#dictionaries-available) defined (3 by default). -Setting the `length` to a value of `4` will throw an error when only 3 dictionaries are provided. - -#### style - -Type: `lowerCase | upperCase | capital` - -required: `false` - -Default: `lowerCase` - -The default value is set to `lowerCase` and it will return a lower case name. -By setting the value to `upperCase`, the words, will be returned with all the letters in upper case format. -The `capital` option will capitalize each word of the unique name generated - -```typescript -import { uniqueNamesGenerator, adjectives, colors, animals } from 'unique-names-generator'; - -const capitalizedName: string = uniqueNamesGenerator({ - dictionaries: [colors, adjectives, animals], - style: 'capital' -}); // Red_Big_Donkey - -const upperCaseName: string = uniqueNamesGenerator({ - dictionaries: [colors, adjectives, animals], - style: 'upperCase' -}); // RED_BIG_DONKEY - -const lowerCaseName: string = uniqueNamesGenerator({ - dictionaries: [colors, adjectives, animals], - style: 'lowerCase' -}); // red_big_donkey -``` - -#### seed - -Type: `number` - -required: `false` - -A seed is used when wanting to deterministically generate a name. As long as the provided seed is the same the generated name will also always be the same. - -## Dictionaries available - -#### Numbers - -This is a dynamic dictionary. Read more in the [Numbers Dictionary](#numbers-dictionary) section - -#### Adjectives - -A list of more than 1,400 adjectives ready for you to use - -```typescript -import { uniqueNamesGenerator, Config, adjectives } from 'unique-names-generator'; - -const config: Config = { - dictionaries: [adjectives] -} - -const characterName: string = uniqueNamesGenerator(config); // big -``` - -#### Animals - -A list of more than 350 animals ready to use - -```typescript -import { uniqueNamesGenerator, Config, animals } from 'unique-names-generator'; - -const config: Config = { - dictionaries: [animals] -} - -const characterName: string = uniqueNamesGenerator(config); // donkey -``` - -#### Colors - -A list of more than 50 different colors - -```typescript -import { uniqueNamesGenerator, Config, colors } from 'unique-names-generator'; - -const config: Config = { - dictionaries: [colors] -} - -const characterName: string = uniqueNamesGenerator(config); // red -``` - -#### Countries - -A list of more than 250 different countries - -```typescript -import { uniqueNamesGenerator, Config, countries } from 'unique-names-generator'; - -const config: Config = { - dictionaries: [countries] -} - -const characterName: string = uniqueNamesGenerator(config); // United Arab Emirates -``` - -#### Names - -A list of more than 4,900 unique names - -```typescript -import { uniqueNamesGenerator, Config, names } from 'unique-names-generator'; - -const config: Config = { - dictionaries: [names] -} - -const characterName: string = uniqueNamesGenerator(config); // Winona -``` - -#### Languages - -A list of languages - -```typescript -import { uniqueNamesGenerator, Config, languages } from 'unique-names-generator'; - -const config: Config = { - dictionaries: [languages] -} - -const characterName: string = uniqueNamesGenerator(config); // polish -``` - -#### Star Wars - -A list of more than 80 unique character names from Star Wars - -```typescript -import { uniqueNamesGenerator, Config, starWars } from 'unique-names-generator'; - -const config: Config = { - dictionaries: [starWars] -} - -const characterName: string = uniqueNamesGenerator(config); // Han Solo -``` - -### Default dictionaries - -By default, the Unique name generator library comes with 3 dictionaries out of the box, so that you can use them -straight away. -Starting from the version 4 of the library, however, you must explicitly provide the dictionaries within the -configuration object. -This is for reducing the bundle size and allowing tree shaking to remove the extra dictionaries from your bundle when -using custom ones. - -The new syntax for using the default dictionaries is the following: - -```typescript -import { uniqueNamesGenerator, Config, adjectives, colors, animals } from 'unique-names-generator'; - -const config: Config = { - dictionaries: [adjectives, colors, animals] -} - -const characterName: string = uniqueNamesGenerator(config); // red_big_donkey -``` - -### Custom dictionaries - -You might want to provide your custom dictionaries to use for generating your unique names, -in order to meet your business requirements. - -You can easily do that using the [dictionaries](#dictionaries-available) option. - -```typescript -import { uniqueNamesGenerator } from 'unique-names-generator'; - -const starWarsCharacters = [ - 'Han Solo', - 'Jabba The Hutt', - 'R2-D2', - 'Luke Skywalker', - 'Princess Leia Organa' -]; -const colors = [ - 'Green', 'Red', 'Yellow', 'Black' -] - -const characterName: string = uniqueNamesGenerator({ - dictionaries: [colors, starWarsCharacters], - length: 2, - separator: ' ' -}); // Green Luke Skywalker -``` - -### Numbers Dictionary - -You can easily generate random numbers inside your unique name using the Numbers dictionary helper. - -```typescript -import { uniqueNamesGenerator, NumberDictionary } from 'unique-names-generator'; - -const numberDictionary = NumberDictionary.generate({ min: 100, max: 999 }); -const characterName: string = uniqueNamesGenerator({ -dictionaries: [['Dangerous'], ['Snake'], numberDictionary], - length: 3, - separator: '', - style: 'capital' -}); // DangerousSnake123 -``` - -## Numbers Dictionary API - -### generate (options) - -Returns a `string` with a random generated number between 1 and 999 - -### options - -Type: `Config` - -#### min - -Type: `number` - -required: `false` - -default: `1` - -The minimum value to be returned as a random number - -#### max - -Type: `number` - -required: `false` - -default: `999` - -The maximum value to be returned as a random number - -#### length - -Type: `number` - -required: `false` - -The length of the random generated number to be returned. - -Setting a length of 3 will always return a random number between `100` and `999`. This is the same as setting `100` and `999` as `min` and `max` option. - -**Note** If set, this will ignore any `min` and `max` options provided. - - -### Combining custom and provided dictionaries - -You can reuse the dictionaries provided by the library. -Just import the ones that you need and use them directly in your app. - -```typescript -import { uniqueNamesGenerator, adjectives, colors } from 'unique-names-generator'; - -const improvedAdjectives = [ - ...adjectives, - 'abrasive', - 'brash', - 'callous', - 'daft', - 'eccentric', -]; -const xMen = [ -'professorX', -'beast', -'colossus', -'cyclops', -'iceman', -'wolverine', -]; - -const characterName: string = uniqueNamesGenerator({ - dictionaries: [improvedAdjectives, color, xMen], - length: 2, - separator: '-' -}); // eccentric-blue-iceman -``` - -## Migration guide - -### Migration guide from version 3 to version 4 - -Unique names generator v4 implement a new breaking change. - -#### Mandatory `dictionaries` config - -You must now explicitly provide the library with the dictionaries to use. -This is for improving flexibility and allowing tree-shaking to remove the unused dictionaries from -your bundle size. - -Read more about the dictionaries in the [Dictionaries](dictionaries-available) section. - -**v3** - -```typescript -import { uniqueNamesGenerator } from 'unique-names-generator'; - -const randomName = uniqueNamesGenerator(); // big_red_donkey -``` - -**v4** - -```typescript -import { uniqueNamesGenerator, Config, adjectives, colors, animals } from 'unique-names-generator'; - -const config: Config = { - dictionaries: [adjectives, colors, animals] -} - -const randomName = uniqueNamesGenerator(config); // big_red_donkey -``` - -### Migration guide from version 1 or 2 - -Unique names generator v3 implements a couple of breaking changes. -If are upgrading your library from a version 1 or 2, you might be interested in knowing the following: - -#### uniqueNamesGenerator - -This will now work only when a `dictionaries` array is provided according to the -[v4 breaking change](#mandatory-dictionaries-config). - -**v2** - -```typescript -import { uniqueNamesGenerator } from 'unique-names-generator'; - -const randomName = uniqueNamesGenerator(); -``` - -**v4** - -```typescript -import { uniqueNamesGenerator, Config, adjectives, colors, animals } from 'unique-names-generator'; - -const config: Config = { - dictionaries: [adjectives, colors, animals] -} - -const randomName = uniqueNamesGenerator(config); // big_red_donkey -``` - -#### Separator - -**v2** - -```typescript -import { uniqueNamesGenerator } from 'unique-names-generator'; - -const shortName = uniqueNamesGenerator('-'); // big-red-donkey -``` - -**v4** - -```typescript -import { uniqueNamesGenerator, Config, adjectives, colors, animals } from 'unique-names-generator'; - -const config: Config = { - dictionaries: [adjectives, colors, animals], - separator: '-' -} - -const shortName = uniqueNamesGenerator(config); // big-red-donkey -``` - -#### Short - -The `short` property has been replaced by `length` so you can specify as many word as you want - -**v2** - -```typescript -import { uniqueNamesGenerator } from 'unique-names-generator'; - -const shortName = uniqueNamesGenerator(true); // big-donkey -``` - -**v4** - -```typescript -import { uniqueNamesGenerator, Config, adjectives, colors, animals } from 'unique-names-generator'; - -const config: Config = { - dictionaries: [adjectives, colors, animals], - length: 2 -} - -const shortName = uniqueNamesGenerator(config); // big-donkey -``` - -## Contributing - -Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us. - -1. Fork it! -2. Create your feature branch: `git checkout -b my-new-feature` -3. Add your changes: `git add .` -4. Commit your changes: `git commit -am 'Add some feature'` -5. Push to the branch: `git push origin my-new-feature` -6. Submit a pull request :sunglasses: - -## License - -[MIT License](https://andreasonny.mit-license.org/2018) © Andrea SonnY - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - -

Andrea Sonny

💻 📖 💬 📆 🤔 🖋

Abhijit Mehta

🤔

Grant Blakeman

💻 🐛

Deepak

📖 🤔

Anurag Jain

🤔

Digibake

🐛

Chase Moskal

🤔

tholst

📖

Johan Gustafsson

💻 🤔

Alex Wild

🐛 💻
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/adjectives.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/adjectives.d.ts deleted file mode 100644 index d451d2bc57..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/adjectives.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const _default: string[]; -export default _default; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/animals.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/animals.d.ts deleted file mode 100644 index d451d2bc57..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/animals.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const _default: string[]; -export default _default; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/colors.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/colors.d.ts deleted file mode 100644 index d451d2bc57..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/colors.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const _default: string[]; -export default _default; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/countries.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/countries.d.ts deleted file mode 100644 index d451d2bc57..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/countries.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const _default: string[]; -export default _default; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/index.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/index.d.ts deleted file mode 100644 index 815d810674..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/index.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import adjectives from './adjectives'; -import animals from './animals'; -import colors from './colors'; -import countries from './countries'; -import languages from './languages'; -import names from './names'; -import starWars from './star-wars'; -import { NumberDictionary } from './numbers'; -export { adjectives, animals, colors, countries, languages, names, starWars, NumberDictionary }; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/languages.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/languages.d.ts deleted file mode 100644 index d451d2bc57..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/languages.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const _default: string[]; -export default _default; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/names.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/names.d.ts deleted file mode 100644 index d451d2bc57..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/names.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const _default: string[]; -export default _default; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/numbers.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/numbers.d.ts deleted file mode 100644 index 067dcd2b0f..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/numbers.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -interface Config { - min: number; - max: number; - length?: number; -} -export declare class NumberDictionary { - static generate(config?: Partial): string[]; -} -export {}; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/star-wars.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/star-wars.d.ts deleted file mode 100644 index d451d2bc57..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/dictionaries/star-wars.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const _default: string[]; -export default _default; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.d.ts deleted file mode 100644 index ccbcfb4719..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { uniqueNamesGenerator } from './unique-names-generator'; -export { Config } from './unique-names-generator.constructor'; -export { adjectives, animals, colors, countries, languages, names, starWars, NumberDictionary, } from './dictionaries/index'; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.js b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.js deleted file mode 100644 index 5c32582261..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.js +++ /dev/null @@ -1,2 +0,0 @@ -class a{constructor(a){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;const{length:e,separator:i,dictionaries:n,style:l,seed:r}=a;this.dictionaries=n,this.separator=i,this.length=e,this.style=l,this.seed=r}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries.\nLength provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);return this.dictionaries.slice(0,this.length).reduce((a,e)=>{let i=e[Math.floor((this.seed?(n=this.seed,(a=>{a=1831565813+(a|=0)|0;let e=Math.imul(a^a>>>15,1|a);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296})(n)):Math.random())*e.length)]||"";var n;if("lowerCase"===this.style)i=i.toLowerCase();else if("capital"===this.style){const[a,...e]=i.split("");i=a.toUpperCase()+e.join("")}else"upperCase"===this.style&&(i=i.toUpperCase());return a?`${a}${this.separator}${i}`:`${i}`},"")}}const e={separator:"_",dictionaries:[]};exports.NumberDictionary=class{static generate(a={}){let e=a.min||1,i=a.max||999;if(a.length){const n=Math.pow(10,a.length);return e=n/10,i=n-1,[`${Math.floor(Math.random()*(i-e))+e}`]}return[`${Math.floor(Math.random()*(i-e))+e}`]}},exports.adjectives=["able","above","absent","absolute","abstract","abundant","academic","acceptable","accepted","accessible","accurate","accused","active","actual","acute","added","additional","adequate","adjacent","administrative","adorable","advanced","adverse","advisory","aesthetic","afraid","aggregate","aggressive","agreeable","agreed","agricultural","alert","alive","alleged","allied","alone","alright","alternative","amateur","amazing","ambitious","amused","ancient","angry","annoyed","annual","anonymous","anxious","appalling","apparent","applicable","appropriate","arbitrary","architectural","armed","arrogant","artificial","artistic","ashamed","asleep","assistant","associated","atomic","attractive","automatic","autonomous","available","average","awake","aware","awful","awkward","back","bad","balanced","bare","basic","beautiful","beneficial","better","bewildered","big","binding","biological","bitter","bizarre","blank","blind","blonde","bloody","blushing","boiling","bold","bored","boring","bottom","brainy","brave","breakable","breezy","brief","bright","brilliant","broad","broken","bumpy","burning","busy","calm","capable","capitalist","careful","casual","causal","cautious","central","certain","changing","characteristic","charming","cheap","cheerful","chemical","chief","chilly","chosen","christian","chronic","chubby","circular","civic","civil","civilian","classic","classical","clean","clear","clever","clinical","close","closed","cloudy","clumsy","coastal","cognitive","coherent","cold","collective","colonial","colorful","colossal","coloured","colourful","combative","combined","comfortable","coming","commercial","common","communist","compact","comparable","comparative","compatible","competent","competitive","complete","complex","complicated","comprehensive","compulsory","conceptual","concerned","concrete","condemned","confident","confidential","confused","conscious","conservation","conservative","considerable","consistent","constant","constitutional","contemporary","content","continental","continued","continuing","continuous","controlled","controversial","convenient","conventional","convinced","convincing","cooing","cool","cooperative","corporate","correct","corresponding","costly","courageous","crazy","creative","creepy","criminal","critical","crooked","crowded","crucial","crude","cruel","cuddly","cultural","curious","curly","current","curved","cute","daily","damaged","damp","dangerous","dark","dead","deaf","deafening","dear","decent","decisive","deep","defeated","defensive","defiant","definite","deliberate","delicate","delicious","delighted","delightful","democratic","dependent","depressed","desirable","desperate","detailed","determined","developed","developing","devoted","different","difficult","digital","diplomatic","direct","dirty","disabled","disappointed","disastrous","disciplinary","disgusted","distant","distinct","distinctive","distinguished","disturbed","disturbing","diverse","divine","dizzy","domestic","dominant","double","doubtful","drab","dramatic","dreadful","driving","drunk","dry","dual","due","dull","dusty","dutch","dying","dynamic","eager","early","eastern","easy","economic","educational","eerie","effective","efficient","elaborate","elated","elderly","eldest","electoral","electric","electrical","electronic","elegant","eligible","embarrassed","embarrassing","emotional","empirical","empty","enchanting","encouraging","endless","energetic","enormous","enthusiastic","entire","entitled","envious","environmental","equal","equivalent","essential","established","estimated","ethical","ethnic","eventual","everyday","evident","evil","evolutionary","exact","excellent","exceptional","excess","excessive","excited","exciting","exclusive","existing","exotic","expected","expensive","experienced","experimental","explicit","extended","extensive","external","extra","extraordinary","extreme","exuberant","faint","fair","faithful","familiar","famous","fancy","fantastic","far","fascinating","fashionable","fast","fat","fatal","favourable","favourite","federal","fellow","female","feminist","few","fierce","filthy","final","financial","fine","firm","fiscal","fit","fixed","flaky","flat","flexible","fluffy","fluttering","flying","following","fond","foolish","foreign","formal","formidable","forthcoming","fortunate","forward","fragile","frail","frantic","free","frequent","fresh","friendly","frightened","front","frozen","full","fun","functional","fundamental","funny","furious","future","fuzzy","gastric","gay","general","generous","genetic","gentle","genuine","geographical","giant","gigantic","given","glad","glamorous","gleaming","global","glorious","golden","good","gorgeous","gothic","governing","graceful","gradual","grand","grateful","greasy","great","grieving","grim","gross","grotesque","growing","grubby","grumpy","guilty","handicapped","handsome","happy","hard","harsh","head","healthy","heavy","helpful","helpless","hidden","high","hilarious","hissing","historic","historical","hollow","holy","homeless","homely","hon","honest","horizontal","horrible","hostile","hot","huge","human","hungry","hurt","hushed","husky","icy","ideal","identical","ideological","ill","illegal","imaginative","immediate","immense","imperial","implicit","important","impossible","impressed","impressive","improved","inadequate","inappropriate","inc","inclined","increased","increasing","incredible","independent","indirect","individual","industrial","inevitable","influential","informal","inherent","initial","injured","inland","inner","innocent","innovative","inquisitive","instant","institutional","insufficient","intact","integral","integrated","intellectual","intelligent","intense","intensive","interested","interesting","interim","interior","intermediate","internal","international","intimate","invisible","involved","irrelevant","isolated","itchy","jealous","jittery","joint","jolly","joyous","judicial","juicy","junior","just","keen","key","kind","known","labour","large","late","latin","lazy","leading","left","legal","legislative","legitimate","lengthy","lesser","level","lexical","liable","liberal","light","like","likely","limited","linear","linguistic","liquid","literary","little","live","lively","living","local","logical","lonely","long","loose","lost","loud","lovely","low","loyal","ltd","lucky","mad","magic","magnetic","magnificent","main","major","male","mammoth","managerial","managing","manual","many","marginal","marine","marked","married","marvellous","marxist","mass","massive","mathematical","mature","maximum","mean","meaningful","mechanical","medical","medieval","melodic","melted","mental","mere","metropolitan","mid","middle","mighty","mild","military","miniature","minimal","minimum","ministerial","minor","miserable","misleading","missing","misty","mixed","moaning","mobile","moderate","modern","modest","molecular","monetary","monthly","moral","motionless","muddy","multiple","mushy","musical","mute","mutual","mysterious","naked","narrow","nasty","national","native","natural","naughty","naval","near","nearby","neat","necessary","negative","neighbouring","nervous","net","neutral","new","nice","noble","noisy","normal","northern","nosy","notable","novel","nuclear","numerous","nursing","nutritious","nutty","obedient","objective","obliged","obnoxious","obvious","occasional","occupational","odd","official","ok","okay","old","olympic","only","open","operational","opposite","optimistic","oral","ordinary","organic","organisational","original","orthodox","other","outdoor","outer","outrageous","outside","outstanding","overall","overseas","overwhelming","painful","pale","panicky","parallel","parental","parliamentary","partial","particular","passing","passive","past","patient","payable","peaceful","peculiar","perfect","permanent","persistent","personal","petite","philosophical","physical","plain","planned","plastic","pleasant","pleased","poised","polite","political","poor","popular","positive","possible","potential","powerful","practical","precious","precise","preferred","pregnant","preliminary","premier","prepared","present","presidential","pretty","previous","prickly","primary","prime","primitive","principal","printed","prior","private","probable","productive","professional","profitable","profound","progressive","prominent","promising","proper","proposed","prospective","protective","protestant","proud","provincial","psychiatric","psychological","public","puny","pure","purring","puzzled","quaint","qualified","quarrelsome","querulous","quick","quickest","quiet","quintessential","quixotic","racial","radical","rainy","random","rapid","rare","raspy","rational","ratty","raw","ready","real","realistic","rear","reasonable","recent","reduced","redundant","regional","registered","regular","regulatory","related","relative","relaxed","relevant","reliable","relieved","religious","reluctant","remaining","remarkable","remote","renewed","representative","repulsive","required","resident","residential","resonant","respectable","respective","responsible","resulting","retail","retired","revolutionary","rich","ridiculous","right","rigid","ripe","rising","rival","roasted","robust","rolling","romantic","rotten","rough","round","royal","rubber","rude","ruling","running","rural","sacred","sad","safe","salty","satisfactory","satisfied","scared","scary","scattered","scientific","scornful","scrawny","screeching","secondary","secret","secure","select","selected","selective","selfish","semantic","senior","sensible","sensitive","separate","serious","severe","sexual","shaggy","shaky","shallow","shared","sharp","sheer","shiny","shivering","shocked","short","shrill","shy","sick","significant","silent","silky","silly","similar","simple","single","skilled","skinny","sleepy","slight","slim","slimy","slippery","slow","small","smart","smiling","smoggy","smooth","social","socialist","soft","solar","sole","solid","sophisticated","sore","sorry","sound","sour","southern","soviet","spare","sparkling","spatial","special","specific","specified","spectacular","spicy","spiritual","splendid","spontaneous","sporting","spotless","spotty","square","squealing","stable","stale","standard","static","statistical","statutory","steady","steep","sticky","stiff","still","stingy","stormy","straight","straightforward","strange","strategic","strict","striking","striped","strong","structural","stuck","stupid","subjective","subsequent","substantial","subtle","successful","successive","sudden","sufficient","suitable","sunny","super","superb","superior","supporting","supposed","supreme","sure","surprised","surprising","surrounding","surviving","suspicious","sweet","swift","symbolic","sympathetic","systematic","tall","tame","tart","tasteless","tasty","technical","technological","teenage","temporary","tender","tense","terrible","territorial","testy","then","theoretical","thick","thin","thirsty","thorough","thoughtful","thoughtless","thundering","tight","tiny","tired","top","tory","total","tough","toxic","traditional","tragic","tremendous","tricky","tropical","troubled","typical","ugliest","ugly","ultimate","unable","unacceptable","unaware","uncertain","unchanged","uncomfortable","unconscious","underground","underlying","unemployed","uneven","unexpected","unfair","unfortunate","unhappy","uniform","uninterested","unique","united","universal","unknown","unlikely","unnecessary","unpleasant","unsightly","unusual","unwilling","upper","upset","uptight","urban","urgent","used","useful","useless","usual","vague","valid","valuable","variable","varied","various","varying","vast","verbal","vertical","very","vicarious","vicious","victorious","violent","visible","visiting","visual","vital","vitreous","vivacious","vivid","vocal","vocational","voiceless","voluminous","voluntary","vulnerable","wandering","warm","wasteful","watery","weak","wealthy","weary","wee","weekly","weird","welcome","well","western","wet","whispering","whole","wicked","wide","widespread","wild","wilful","willing","willowy","wily","wise","wispy","wittering","witty","wonderful","wooden","working","worldwide","worried","worrying","worthwhile","worthy","written","wrong","xenacious","xenial","xenogeneic","xenophobic","xeric","xerothermic","yabbering","yammering","yappiest","yappy","yawning","yearling","yearning","yeasty","yelling","yelping","yielding","yodelling","young","youngest","youthful","ytterbic","yucky","yummy","zany","zealous","zeroth","zestful","zesty","zippy","zonal","zoophagous","zygomorphic","zygotic"],exports.animals=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],exports.colors=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"],exports.countries=["Afghanistan","Åland Islands","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica","Antigua & Barbuda","Argentina","Armenia","Aruba","Ascension Island","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia & Herzegovina","Botswana","Brazil","British Indian Ocean Territory","British Virgin Islands","Brunei","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Canary Islands","Cape Verde","Caribbean Netherlands","Cayman Islands","Central African Republic","Ceuta & Melilla","Chad","Chile","China","Christmas Island","Cocos Islands","Colombia","Comoros","Congo","Cook Islands","Costa Rica","Côte d'Ivoire","Croatia","Cuba","Curaçao","Cyprus","Czechia","Denmark","Diego Garcia","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Eurozone","Falkland Islands","Faroe Islands","Fiji","Finland","France","French Guiana","French Polynesia","French Southern Territories","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guinea","Guinea-Bissau","Guyana","Haiti","Honduras","Hong Kong SAR China","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Kosovo","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macau SAR China","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue","Norfolk Island","North Korea","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestinian Territories","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn Islands","Poland","Portugal","Puerto Rico","Qatar","Réunion","Romania","Russia","Rwanda","Samoa","San Marino","São Tomé & Príncipe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Sint Maarten","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Georgia & South Sandwich Islands","South Korea","South Sudan","Spain","Sri Lanka","St. Barthélemy","St. Helena","St. Kitts & Nevis","St. Lucia","St. Martin","St. Pierre & Miquelon","St. Vincent & Grenadines","Sudan","Suriname","Svalbard & Jan Mayen","Swaziland","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tokelau","Tonga","Trinidad & Tobago","Tristan da Cunha","Tunisia","Turkey","Turkmenistan","Turks & Caicos Islands","Tuvalu","U.S. Outlying Islands","U.S. Virgin Islands","Uganda","Ukraine","United Arab Emirates","United Kingdom","United Nations","United States","Uruguay","Uzbekistan","Vanuatu","Vatican City","Venezuela","Vietnam","Wallis & Futuna","Western Sahara","Yemen","Zambia","Zimbabwe"],exports.languages=["Akan","Amharic","Arabic","Assamese","Awadhi","Azerbaijani","Balochi","Belarusian","Bengali","Bhojpuri","Burmese","Cebuano","Chewa","Chhattisgarhi","Chittagonian","Czech","Deccan","Dhundhari","Dutch","English","French","Fula","Gan","German","Greek","Gujarati","Hakka","Haryanvi","Hausa","Hiligaynon","Hindi","Hmong","Hungarian","Igbo","Ilocano","Italian","Japanese","Javanese","Jin","Kannada","Kazakh","Khmer","Kinyarwanda","Kirundi","Konkani","Korean","Kurdish","Madurese","Magahi","Maithili","Malagasy","Malay","Malayalam","Mandarin","Marathi","Marwari","Min","Mossi","Nepali","Odia","Oromo","Pashto","Persian","Polish","Portuguese","Punjabi","Quechua","Romanian","Russian","Saraiki","Shona","Sindhi","Sinhala","Somali","Spanish","Sundanese","Swedish","Sylheti","Tagalog","Tamil","Telugu","Thai","Turkish","Turkmen","Ukrainian","Urdu","Uyghur","Uzbek","Vietnamese","Wu","Xhosa","Xiang","Yoruba","Yue","Zhuang","Zulu"],exports.names=["Aaren","Aarika","Abagael","Abagail","Abbe","Abbey","Abbi","Abbie","Abby","Abbye","Abigael","Abigail","Abigale","Abra","Ada","Adah","Adaline","Adan","Adara","Adda","Addi","Addia","Addie","Addy","Adel","Adela","Adelaida","Adelaide","Adele","Adelheid","Adelice","Adelina","Adelind","Adeline","Adella","Adelle","Adena","Adey","Adi","Adiana","Adina","Adora","Adore","Adoree","Adorne","Adrea","Adria","Adriaens","Adrian","Adriana","Adriane","Adrianna","Adrianne","Adriena","Adrienne","Aeriel","Aeriela","Aeriell","Afton","Ag","Agace","Agata","Agatha","Agathe","Aggi","Aggie","Aggy","Agna","Agnella","Agnes","Agnese","Agnesse","Agneta","Agnola","Agretha","Aida","Aidan","Aigneis","Aila","Aile","Ailee","Aileen","Ailene","Ailey","Aili","Ailina","Ailis","Ailsun","Ailyn","Aime","Aimee","Aimil","Aindrea","Ainslee","Ainsley","Ainslie","Ajay","Alaine","Alameda","Alana","Alanah","Alane","Alanna","Alayne","Alberta","Albertina","Albertine","Albina","Alecia","Aleda","Aleece","Aleen","Alejandra","Alejandrina","Alena","Alene","Alessandra","Aleta","Alethea","Alex","Alexa","Alexandra","Alexandrina","Alexi","Alexia","Alexina","Alexine","Alexis","Alfi","Alfie","Alfreda","Alfy","Ali","Alia","Alica","Alice","Alicea","Alicia","Alida","Alidia","Alie","Alika","Alikee","Alina","Aline","Alis","Alisa","Alisha","Alison","Alissa","Alisun","Alix","Aliza","Alla","Alleen","Allegra","Allene","Alli","Allianora","Allie","Allina","Allis","Allison","Allissa","Allix","Allsun","Allx","Ally","Allyce","Allyn","Allys","Allyson","Alma","Almeda","Almeria","Almeta","Almira","Almire","Aloise","Aloisia","Aloysia","Alta","Althea","Alvera","Alverta","Alvina","Alvinia","Alvira","Alyce","Alyda","Alys","Alysa","Alyse","Alysia","Alyson","Alyss","Alyssa","Amabel","Amabelle","Amalea","Amalee","Amaleta","Amalia","Amalie","Amalita","Amalle","Amanda","Amandi","Amandie","Amandy","Amara","Amargo","Amata","Amber","Amberly","Ambur","Ame","Amelia","Amelie","Amelina","Ameline","Amelita","Ami","Amie","Amii","Amil","Amitie","Amity","Ammamaria","Amy","Amye","Ana","Anabal","Anabel","Anabella","Anabelle","Analiese","Analise","Anallese","Anallise","Anastasia","Anastasie","Anastassia","Anatola","Andee","Andeee","Anderea","Andi","Andie","Andra","Andrea","Andreana","Andree","Andrei","Andria","Andriana","Andriette","Andromache","Andy","Anestassia","Anet","Anett","Anetta","Anette","Ange","Angel","Angela","Angele","Angelia","Angelica","Angelika","Angelina","Angeline","Angelique","Angelita","Angelle","Angie","Angil","Angy","Ania","Anica","Anissa","Anita","Anitra","Anjanette","Anjela","Ann","Ann-marie","Anna","Anna-diana","Anna-diane","Anna-maria","Annabal","Annabel","Annabela","Annabell","Annabella","Annabelle","Annadiana","Annadiane","Annalee","Annaliese","Annalise","Annamaria","Annamarie","Anne","Anne-corinne","Anne-marie","Annecorinne","Anneliese","Annelise","Annemarie","Annetta","Annette","Anni","Annice","Annie","Annis","Annissa","Annmaria","Annmarie","Annnora","Annora","Anny","Anselma","Ansley","Anstice","Anthe","Anthea","Anthia","Anthiathia","Antoinette","Antonella","Antonetta","Antonia","Antonie","Antonietta","Antonina","Anya","Appolonia","April","Aprilette","Ara","Arabel","Arabela","Arabele","Arabella","Arabelle","Arda","Ardath","Ardeen","Ardelia","Ardelis","Ardella","Ardelle","Arden","Ardene","Ardenia","Ardine","Ardis","Ardisj","Ardith","Ardra","Ardyce","Ardys","Ardyth","Aretha","Ariadne","Ariana","Aridatha","Ariel","Ariela","Ariella","Arielle","Arlana","Arlee","Arleen","Arlen","Arlena","Arlene","Arleta","Arlette","Arleyne","Arlie","Arliene","Arlina","Arlinda","Arline","Arluene","Arly","Arlyn","Arlyne","Aryn","Ashely","Ashia","Ashien","Ashil","Ashla","Ashlan","Ashlee","Ashleigh","Ashlen","Ashley","Ashli","Ashlie","Ashly","Asia","Astra","Astrid","Astrix","Atalanta","Athena","Athene","Atlanta","Atlante","Auberta","Aubine","Aubree","Aubrette","Aubrey","Aubrie","Aubry","Audi","Audie","Audra","Audre","Audrey","Audrie","Audry","Audrye","Audy","Augusta","Auguste","Augustina","Augustine","Aundrea","Aura","Aurea","Aurel","Aurelea","Aurelia","Aurelie","Auria","Aurie","Aurilia","Aurlie","Auroora","Aurora","Aurore","Austin","Austina","Austine","Ava","Aveline","Averil","Averyl","Avie","Avis","Aviva","Avivah","Avril","Avrit","Ayn","Bab","Babara","Babb","Babbette","Babbie","Babette","Babita","Babs","Bambi","Bambie","Bamby","Barb","Barbabra","Barbara","Barbara-anne","Barbaraanne","Barbe","Barbee","Barbette","Barbey","Barbi","Barbie","Barbra","Barby","Bari","Barrie","Barry","Basia","Bathsheba","Batsheva","Bea","Beatrice","Beatrisa","Beatrix","Beatriz","Bebe","Becca","Becka","Becki","Beckie","Becky","Bee","Beilul","Beitris","Bekki","Bel","Belia","Belicia","Belinda","Belita","Bell","Bella","Bellanca","Belle","Bellina","Belva","Belvia","Bendite","Benedetta","Benedicta","Benedikta","Benetta","Benita","Benni","Bennie","Benny","Benoite","Berenice","Beret","Berget","Berna","Bernadene","Bernadette","Bernadina","Bernadine","Bernardina","Bernardine","Bernelle","Bernete","Bernetta","Bernette","Berni","Bernice","Bernie","Bernita","Berny","Berri","Berrie","Berry","Bert","Berta","Berte","Bertha","Berthe","Berti","Bertie","Bertina","Bertine","Berty","Beryl","Beryle","Bess","Bessie","Bessy","Beth","Bethanne","Bethany","Bethena","Bethina","Betsey","Betsy","Betta","Bette","Bette-ann","Betteann","Betteanne","Betti","Bettina","Bettine","Betty","Bettye","Beulah","Bev","Beverie","Beverlee","Beverley","Beverlie","Beverly","Bevvy","Bianca","Bianka","Bibbie","Bibby","Bibbye","Bibi","Biddie","Biddy","Bidget","Bili","Bill","Billi","Billie","Billy","Billye","Binni","Binnie","Binny","Bird","Birdie","Birgit","Birgitta","Blair","Blaire","Blake","Blakelee","Blakeley","Blanca","Blanch","Blancha","Blanche","Blinni","Blinnie","Blinny","Bliss","Blisse","Blithe","Blondell","Blondelle","Blondie","Blondy","Blythe","Bobbe","Bobbee","Bobbette","Bobbi","Bobbie","Bobby","Bobbye","Bobette","Bobina","Bobine","Bobinette","Bonita","Bonnee","Bonni","Bonnibelle","Bonnie","Bonny","Brana","Brandais","Brande","Brandea","Brandi","Brandice","Brandie","Brandise","Brandy","Breanne","Brear","Bree","Breena","Bren","Brena","Brenda","Brenn","Brenna","Brett","Bria","Briana","Brianna","Brianne","Bride","Bridget","Bridgette","Bridie","Brier","Brietta","Brigid","Brigida","Brigit","Brigitta","Brigitte","Brina","Briney","Brinn","Brinna","Briny","Brit","Brita","Britney","Britni","Britt","Britta","Brittan","Brittaney","Brittani","Brittany","Britte","Britteny","Brittne","Brittney","Brittni","Brook","Brooke","Brooks","Brunhilda","Brunhilde","Bryana","Bryn","Bryna","Brynn","Brynna","Brynne","Buffy","Bunni","Bunnie","Bunny","Cacilia","Cacilie","Cahra","Cairistiona","Caitlin","Caitrin","Cal","Calida","Calla","Calley","Calli","Callida","Callie","Cally","Calypso","Cam","Camala","Camel","Camella","Camellia","Cami","Camila","Camile","Camilla","Camille","Cammi","Cammie","Cammy","Candace","Candi","Candice","Candida","Candide","Candie","Candis","Candra","Candy","Caprice","Cara","Caralie","Caren","Carena","Caresa","Caressa","Caresse","Carey","Cari","Caria","Carie","Caril","Carilyn","Carin","Carina","Carine","Cariotta","Carissa","Carita","Caritta","Carla","Carlee","Carleen","Carlen","Carlene","Carley","Carlie","Carlin","Carlina","Carline","Carlita","Carlota","Carlotta","Carly","Carlye","Carlyn","Carlynn","Carlynne","Carma","Carmel","Carmela","Carmelia","Carmelina","Carmelita","Carmella","Carmelle","Carmen","Carmencita","Carmina","Carmine","Carmita","Carmon","Caro","Carol","Carol-jean","Carola","Carolan","Carolann","Carole","Carolee","Carolin","Carolina","Caroline","Caroljean","Carolyn","Carolyne","Carolynn","Caron","Carree","Carri","Carrie","Carrissa","Carroll","Carry","Cary","Caryl","Caryn","Casandra","Casey","Casi","Casie","Cass","Cassandra","Cassandre","Cassandry","Cassaundra","Cassey","Cassi","Cassie","Cassondra","Cassy","Catarina","Cate","Caterina","Catha","Catharina","Catharine","Cathe","Cathee","Catherin","Catherina","Catherine","Cathi","Cathie","Cathleen","Cathlene","Cathrin","Cathrine","Cathryn","Cathy","Cathyleen","Cati","Catie","Catina","Catlaina","Catlee","Catlin","Catrina","Catriona","Caty","Caye","Cayla","Cecelia","Cecil","Cecile","Ceciley","Cecilia","Cecilla","Cecily","Ceil","Cele","Celene","Celesta","Celeste","Celestia","Celestina","Celestine","Celestyn","Celestyna","Celia","Celie","Celina","Celinda","Celine","Celinka","Celisse","Celka","Celle","Cesya","Chad","Chanda","Chandal","Chandra","Channa","Chantal","Chantalle","Charil","Charin","Charis","Charissa","Charisse","Charita","Charity","Charla","Charlean","Charleen","Charlena","Charlene","Charline","Charlot","Charlotta","Charlotte","Charmain","Charmaine","Charmane","Charmian","Charmine","Charmion","Charo","Charyl","Chastity","Chelsae","Chelsea","Chelsey","Chelsie","Chelsy","Cher","Chere","Cherey","Cheri","Cherianne","Cherice","Cherida","Cherie","Cherilyn","Cherilynn","Cherin","Cherise","Cherish","Cherlyn","Cherri","Cherrita","Cherry","Chery","Cherye","Cheryl","Cheslie","Chiarra","Chickie","Chicky","Chiquia","Chiquita","Chlo","Chloe","Chloette","Chloris","Chris","Chrissie","Chrissy","Christa","Christabel","Christabella","Christal","Christalle","Christan","Christean","Christel","Christen","Christi","Christian","Christiana","Christiane","Christie","Christin","Christina","Christine","Christy","Christye","Christyna","Chrysa","Chrysler","Chrystal","Chryste","Chrystel","Cicely","Cicily","Ciel","Cilka","Cinda","Cindee","Cindelyn","Cinderella","Cindi","Cindie","Cindra","Cindy","Cinnamon","Cissiee","Cissy","Clair","Claire","Clara","Clarabelle","Clare","Claresta","Clareta","Claretta","Clarette","Clarey","Clari","Claribel","Clarice","Clarie","Clarinda","Clarine","Clarissa","Clarisse","Clarita","Clary","Claude","Claudelle","Claudetta","Claudette","Claudia","Claudie","Claudina","Claudine","Clea","Clem","Clemence","Clementia","Clementina","Clementine","Clemmie","Clemmy","Cleo","Cleopatra","Clerissa","Clio","Clo","Cloe","Cloris","Clotilda","Clovis","Codee","Codi","Codie","Cody","Coleen","Colene","Coletta","Colette","Colleen","Collen","Collete","Collette","Collie","Colline","Colly","Con","Concettina","Conchita","Concordia","Conni","Connie","Conny","Consolata","Constance","Constancia","Constancy","Constanta","Constantia","Constantina","Constantine","Consuela","Consuelo","Cookie","Cora","Corabel","Corabella","Corabelle","Coral","Coralie","Coraline","Coralyn","Cordelia","Cordelie","Cordey","Cordi","Cordie","Cordula","Cordy","Coreen","Corella","Corenda","Corene","Coretta","Corette","Corey","Cori","Corie","Corilla","Corina","Corine","Corinna","Corinne","Coriss","Corissa","Corliss","Corly","Cornela","Cornelia","Cornelle","Cornie","Corny","Correna","Correy","Corri","Corrianne","Corrie","Corrina","Corrine","Corrinne","Corry","Cortney","Cory","Cosetta","Cosette","Costanza","Courtenay","Courtnay","Courtney","Crin","Cris","Crissie","Crissy","Crista","Cristabel","Cristal","Cristen","Cristi","Cristie","Cristin","Cristina","Cristine","Cristionna","Cristy","Crysta","Crystal","Crystie","Cthrine","Cyb","Cybil","Cybill","Cymbre","Cynde","Cyndi","Cyndia","Cyndie","Cyndy","Cynthea","Cynthia","Cynthie","Cynthy","Dacey","Dacia","Dacie","Dacy","Dael","Daffi","Daffie","Daffy","Dagmar","Dahlia","Daile","Daisey","Daisi","Daisie","Daisy","Dale","Dalenna","Dalia","Dalila","Dallas","Daloris","Damara","Damaris","Damita","Dana","Danell","Danella","Danette","Dani","Dania","Danica","Danice","Daniela","Daniele","Daniella","Danielle","Danika","Danila","Danit","Danita","Danna","Danni","Dannie","Danny","Dannye","Danya","Danyelle","Danyette","Daphene","Daphna","Daphne","Dara","Darb","Darbie","Darby","Darcee","Darcey","Darci","Darcie","Darcy","Darda","Dareen","Darell","Darelle","Dari","Daria","Darice","Darla","Darleen","Darlene","Darline","Darlleen","Daron","Darrelle","Darryl","Darsey","Darsie","Darya","Daryl","Daryn","Dasha","Dasi","Dasie","Dasya","Datha","Daune","Daveen","Daveta","Davida","Davina","Davine","Davita","Dawn","Dawna","Dayle","Dayna","Ddene","De","Deana","Deane","Deanna","Deanne","Deb","Debbi","Debbie","Debby","Debee","Debera","Debi","Debor","Debora","Deborah","Debra","Dede","Dedie","Dedra","Dee","Deeann","Deeanne","Deedee","Deena","Deerdre","Deeyn","Dehlia","Deidre","Deina","Deirdre","Del","Dela","Delcina","Delcine","Delia","Delila","Delilah","Delinda","Dell","Della","Delly","Delora","Delores","Deloria","Deloris","Delphine","Delphinia","Demeter","Demetra","Demetria","Demetris","Dena","Deni","Denice","Denise","Denna","Denni","Dennie","Denny","Deny","Denys","Denyse","Deonne","Desdemona","Desirae","Desiree","Desiri","Deva","Devan","Devi","Devin","Devina","Devinne","Devon","Devondra","Devonna","Devonne","Devora","Di","Diahann","Dian","Diana","Diandra","Diane","Diane-marie","Dianemarie","Diann","Dianna","Dianne","Diannne","Didi","Dido","Diena","Dierdre","Dina","Dinah","Dinnie","Dinny","Dion","Dione","Dionis","Dionne","Dita","Dix","Dixie","Dniren","Dode","Dodi","Dodie","Dody","Doe","Doll","Dolley","Dolli","Dollie","Dolly","Dolores","Dolorita","Doloritas","Domeniga","Dominga","Domini","Dominica","Dominique","Dona","Donella","Donelle","Donetta","Donia","Donica","Donielle","Donna","Donnamarie","Donni","Donnie","Donny","Dora","Doralia","Doralin","Doralyn","Doralynn","Doralynne","Dore","Doreen","Dorelia","Dorella","Dorelle","Dorena","Dorene","Doretta","Dorette","Dorey","Dori","Doria","Dorian","Dorice","Dorie","Dorine","Doris","Dorisa","Dorise","Dorita","Doro","Dorolice","Dorolisa","Dorotea","Doroteya","Dorothea","Dorothee","Dorothy","Dorree","Dorri","Dorrie","Dorris","Dorry","Dorthea","Dorthy","Dory","Dosi","Dot","Doti","Dotti","Dottie","Dotty","Dre","Dreddy","Dredi","Drona","Dru","Druci","Drucie","Drucill","Drucy","Drusi","Drusie","Drusilla","Drusy","Dulce","Dulcea","Dulci","Dulcia","Dulciana","Dulcie","Dulcine","Dulcinea","Dulcy","Dulsea","Dusty","Dyan","Dyana","Dyane","Dyann","Dyanna","Dyanne","Dyna","Dynah","Eachelle","Eada","Eadie","Eadith","Ealasaid","Eartha","Easter","Eba","Ebba","Ebonee","Ebony","Eda","Eddi","Eddie","Eddy","Ede","Edee","Edeline","Eden","Edi","Edie","Edin","Edita","Edith","Editha","Edithe","Ediva","Edna","Edwina","Edy","Edyth","Edythe","Effie","Eileen","Eilis","Eimile","Eirena","Ekaterina","Elaina","Elaine","Elana","Elane","Elayne","Elberta","Elbertina","Elbertine","Eleanor","Eleanora","Eleanore","Electra","Eleen","Elena","Elene","Eleni","Elenore","Eleonora","Eleonore","Elfie","Elfreda","Elfrida","Elfrieda","Elga","Elianora","Elianore","Elicia","Elie","Elinor","Elinore","Elisa","Elisabet","Elisabeth","Elisabetta","Elise","Elisha","Elissa","Elita","Eliza","Elizabet","Elizabeth","Elka","Elke","Ella","Elladine","Elle","Ellen","Ellene","Ellette","Elli","Ellie","Ellissa","Elly","Ellyn","Ellynn","Elmira","Elna","Elnora","Elnore","Eloisa","Eloise","Elonore","Elora","Elsa","Elsbeth","Else","Elset","Elsey","Elsi","Elsie","Elsinore","Elspeth","Elsy","Elva","Elvera","Elvina","Elvira","Elwira","Elyn","Elyse","Elysee","Elysha","Elysia","Elyssa","Em","Ema","Emalee","Emalia","Emelda","Emelia","Emelina","Emeline","Emelita","Emelyne","Emera","Emilee","Emili","Emilia","Emilie","Emiline","Emily","Emlyn","Emlynn","Emlynne","Emma","Emmalee","Emmaline","Emmalyn","Emmalynn","Emmalynne","Emmeline","Emmey","Emmi","Emmie","Emmy","Emmye","Emogene","Emyle","Emylee","Engracia","Enid","Enrica","Enrichetta","Enrika","Enriqueta","Eolanda","Eolande","Eran","Erda","Erena","Erica","Ericha","Ericka","Erika","Erin","Erina","Erinn","Erinna","Erma","Ermengarde","Ermentrude","Ermina","Erminia","Erminie","Erna","Ernaline","Ernesta","Ernestine","Ertha","Eryn","Esma","Esmaria","Esme","Esmeralda","Essa","Essie","Essy","Esta","Estel","Estele","Estell","Estella","Estelle","Ester","Esther","Estrella","Estrellita","Ethel","Ethelda","Ethelin","Ethelind","Etheline","Ethelyn","Ethyl","Etta","Etti","Ettie","Etty","Eudora","Eugenia","Eugenie","Eugine","Eula","Eulalie","Eunice","Euphemia","Eustacia","Eva","Evaleen","Evangelia","Evangelin","Evangelina","Evangeline","Evania","Evanne","Eve","Eveleen","Evelina","Eveline","Evelyn","Evey","Evie","Evita","Evonne","Evvie","Evvy","Evy","Eyde","Eydie","Ezmeralda","Fae","Faina","Faith","Fallon","Fan","Fanchette","Fanchon","Fancie","Fancy","Fanechka","Fania","Fanni","Fannie","Fanny","Fanya","Fara","Farah","Farand","Farica","Farra","Farrah","Farrand","Faun","Faunie","Faustina","Faustine","Fawn","Fawne","Fawnia","Fay","Faydra","Faye","Fayette","Fayina","Fayre","Fayth","Faythe","Federica","Fedora","Felecia","Felicdad","Felice","Felicia","Felicity","Felicle","Felipa","Felisha","Felita","Feliza","Fenelia","Feodora","Ferdinanda","Ferdinande","Fern","Fernanda","Fernande","Fernandina","Ferne","Fey","Fiann","Fianna","Fidela","Fidelia","Fidelity","Fifi","Fifine","Filia","Filide","Filippa","Fina","Fiona","Fionna","Fionnula","Fiorenze","Fleur","Fleurette","Flo","Flor","Flora","Florance","Flore","Florella","Florence","Florencia","Florentia","Florenza","Florette","Flori","Floria","Florida","Florie","Florina","Florinda","Floris","Florri","Florrie","Florry","Flory","Flossi","Flossie","Flossy","Flss","Fran","Francene","Frances","Francesca","Francine","Francisca","Franciska","Francoise","Francyne","Frank","Frankie","Franky","Franni","Frannie","Franny","Frayda","Fred","Freda","Freddi","Freddie","Freddy","Fredelia","Frederica","Fredericka","Frederique","Fredi","Fredia","Fredra","Fredrika","Freida","Frieda","Friederike","Fulvia","Gabbey","Gabbi","Gabbie","Gabey","Gabi","Gabie","Gabriel","Gabriela","Gabriell","Gabriella","Gabrielle","Gabriellia","Gabrila","Gaby","Gae","Gael","Gail","Gale","Galina","Garland","Garnet","Garnette","Gates","Gavra","Gavrielle","Gay","Gaye","Gayel","Gayla","Gayle","Gayleen","Gaylene","Gaynor","Gelya","Gena","Gene","Geneva","Genevieve","Genevra","Genia","Genna","Genni","Gennie","Gennifer","Genny","Genovera","Genvieve","George","Georgeanna","Georgeanne","Georgena","Georgeta","Georgetta","Georgette","Georgia","Georgiana","Georgianna","Georgianne","Georgie","Georgina","Georgine","Geralda","Geraldine","Gerda","Gerhardine","Geri","Gerianna","Gerianne","Gerladina","Germain","Germaine","Germana","Gerri","Gerrie","Gerrilee","Gerry","Gert","Gerta","Gerti","Gertie","Gertrud","Gertruda","Gertrude","Gertrudis","Gerty","Giacinta","Giana","Gianina","Gianna","Gigi","Gilberta","Gilberte","Gilbertina","Gilbertine","Gilda","Gilemette","Gill","Gillan","Gilli","Gillian","Gillie","Gilligan","Gilly","Gina","Ginelle","Ginevra","Ginger","Ginni","Ginnie","Ginnifer","Ginny","Giorgia","Giovanna","Gipsy","Giralda","Gisela","Gisele","Gisella","Giselle","Giuditta","Giulia","Giulietta","Giustina","Gizela","Glad","Gladi","Gladys","Gleda","Glen","Glenda","Glenine","Glenn","Glenna","Glennie","Glennis","Glori","Gloria","Gloriana","Gloriane","Glory","Glyn","Glynda","Glynis","Glynnis","Gnni","Godiva","Golda","Goldarina","Goldi","Goldia","Goldie","Goldina","Goldy","Grace","Gracia","Gracie","Grata","Gratia","Gratiana","Gray","Grayce","Grazia","Greer","Greta","Gretal","Gretchen","Grete","Gretel","Grethel","Gretna","Gretta","Grier","Griselda","Grissel","Guendolen","Guenevere","Guenna","Guglielma","Gui","Guillema","Guillemette","Guinevere","Guinna","Gunilla","Gus","Gusella","Gussi","Gussie","Gussy","Gusta","Gusti","Gustie","Gusty","Gwen","Gwendolen","Gwendolin","Gwendolyn","Gweneth","Gwenette","Gwenneth","Gwenni","Gwennie","Gwenny","Gwenora","Gwenore","Gwyn","Gwyneth","Gwynne","Gypsy","Hadria","Hailee","Haily","Haleigh","Halette","Haley","Hali","Halie","Halimeda","Halley","Halli","Hallie","Hally","Hana","Hanna","Hannah","Hanni","Hannie","Hannis","Hanny","Happy","Harlene","Harley","Harli","Harlie","Harmonia","Harmonie","Harmony","Harri","Harrie","Harriet","Harriett","Harrietta","Harriette","Harriot","Harriott","Hatti","Hattie","Hatty","Hayley","Hazel","Heath","Heather","Heda","Hedda","Heddi","Heddie","Hedi","Hedvig","Hedvige","Hedwig","Hedwiga","Hedy","Heida","Heidi","Heidie","Helaina","Helaine","Helen","Helen-elizabeth","Helena","Helene","Helenka","Helga","Helge","Helli","Heloise","Helsa","Helyn","Hendrika","Henka","Henrie","Henrieta","Henrietta","Henriette","Henryetta","Hephzibah","Hermia","Hermina","Hermine","Herminia","Hermione","Herta","Hertha","Hester","Hesther","Hestia","Hetti","Hettie","Hetty","Hilary","Hilda","Hildagard","Hildagarde","Hilde","Hildegaard","Hildegarde","Hildy","Hillary","Hilliary","Hinda","Holli","Hollie","Holly","Holly-anne","Hollyanne","Honey","Honor","Honoria","Hope","Horatia","Hortense","Hortensia","Hulda","Hyacinth","Hyacintha","Hyacinthe","Hyacinthia","Hyacinthie","Hynda","Ianthe","Ibbie","Ibby","Ida","Idalia","Idalina","Idaline","Idell","Idelle","Idette","Ileana","Ileane","Ilene","Ilise","Ilka","Illa","Ilsa","Ilse","Ilysa","Ilyse","Ilyssa","Imelda","Imogen","Imogene","Imojean","Ina","Indira","Ines","Inesita","Inessa","Inez","Inga","Ingaberg","Ingaborg","Inge","Ingeberg","Ingeborg","Inger","Ingrid","Ingunna","Inna","Iolande","Iolanthe","Iona","Iormina","Ira","Irena","Irene","Irina","Iris","Irita","Irma","Isa","Isabel","Isabelita","Isabella","Isabelle","Isadora","Isahella","Iseabal","Isidora","Isis","Isobel","Issi","Issie","Issy","Ivett","Ivette","Ivie","Ivonne","Ivory","Ivy","Izabel","Jacenta","Jacinda","Jacinta","Jacintha","Jacinthe","Jackelyn","Jacki","Jackie","Jacklin","Jacklyn","Jackquelin","Jackqueline","Jacky","Jaclin","Jaclyn","Jacquelin","Jacqueline","Jacquelyn","Jacquelynn","Jacquenetta","Jacquenette","Jacquetta","Jacquette","Jacqui","Jacquie","Jacynth","Jada","Jade","Jaime","Jaimie","Jaine","Jami","Jamie","Jamima","Jammie","Jan","Jana","Janaya","Janaye","Jandy","Jane","Janean","Janeczka","Janeen","Janel","Janela","Janella","Janelle","Janene","Janenna","Janessa","Janet","Janeta","Janetta","Janette","Janeva","Janey","Jania","Janice","Janie","Janifer","Janina","Janine","Janis","Janith","Janka","Janna","Jannel","Jannelle","Janot","Jany","Jaquelin","Jaquelyn","Jaquenetta","Jaquenette","Jaquith","Jasmin","Jasmina","Jasmine","Jayme","Jaymee","Jayne","Jaynell","Jazmin","Jean","Jeana","Jeane","Jeanelle","Jeanette","Jeanie","Jeanine","Jeanna","Jeanne","Jeannette","Jeannie","Jeannine","Jehanna","Jelene","Jemie","Jemima","Jemimah","Jemmie","Jemmy","Jen","Jena","Jenda","Jenelle","Jeni","Jenica","Jeniece","Jenifer","Jeniffer","Jenilee","Jenine","Jenn","Jenna","Jennee","Jennette","Jenni","Jennica","Jennie","Jennifer","Jennilee","Jennine","Jenny","Jeralee","Jere","Jeri","Jermaine","Jerrie","Jerrilee","Jerrilyn","Jerrine","Jerry","Jerrylee","Jess","Jessa","Jessalin","Jessalyn","Jessamine","Jessamyn","Jesse","Jesselyn","Jessi","Jessica","Jessie","Jessika","Jessy","Jewel","Jewell","Jewelle","Jill","Jillana","Jillane","Jillayne","Jilleen","Jillene","Jilli","Jillian","Jillie","Jilly","Jinny","Jo","Jo-ann","Jo-anne","Joan","Joana","Joane","Joanie","Joann","Joanna","Joanne","Joannes","Jobey","Jobi","Jobie","Jobina","Joby","Jobye","Jobyna","Jocelin","Joceline","Jocelyn","Jocelyne","Jodee","Jodi","Jodie","Jody","Joeann","Joela","Joelie","Joell","Joella","Joelle","Joellen","Joelly","Joellyn","Joelynn","Joete","Joey","Johanna","Johannah","Johna","Johnath","Johnette","Johnna","Joice","Jojo","Jolee","Joleen","Jolene","Joletta","Joli","Jolie","Joline","Joly","Jolyn","Jolynn","Jonell","Joni","Jonie","Jonis","Jordain","Jordan","Jordana","Jordanna","Jorey","Jori","Jorie","Jorrie","Jorry","Joscelin","Josee","Josefa","Josefina","Josepha","Josephina","Josephine","Josey","Josi","Josie","Josselyn","Josy","Jourdan","Joy","Joya","Joyan","Joyann","Joyce","Joycelin","Joye","Jsandye","Juana","Juanita","Judi","Judie","Judith","Juditha","Judy","Judye","Juieta","Julee","Juli","Julia","Juliana","Juliane","Juliann","Julianna","Julianne","Julie","Julienne","Juliet","Julieta","Julietta","Juliette","Julina","Juline","Julissa","Julita","June","Junette","Junia","Junie","Junina","Justina","Justine","Justinn","Jyoti","Kacey","Kacie","Kacy","Kaela","Kai","Kaia","Kaila","Kaile","Kailey","Kaitlin","Kaitlyn","Kaitlynn","Kaja","Kakalina","Kala","Kaleena","Kali","Kalie","Kalila","Kalina","Kalinda","Kalindi","Kalli","Kally","Kameko","Kamila","Kamilah","Kamillah","Kandace","Kandy","Kania","Kanya","Kara","Kara-lynn","Karalee","Karalynn","Kare","Karee","Karel","Karen","Karena","Kari","Karia","Karie","Karil","Karilynn","Karin","Karina","Karine","Kariotta","Karisa","Karissa","Karita","Karla","Karlee","Karleen","Karlen","Karlene","Karlie","Karlotta","Karlotte","Karly","Karlyn","Karmen","Karna","Karol","Karola","Karole","Karolina","Karoline","Karoly","Karon","Karrah","Karrie","Karry","Kary","Karyl","Karylin","Karyn","Kasey","Kass","Kassandra","Kassey","Kassi","Kassia","Kassie","Kat","Kata","Katalin","Kate","Katee","Katerina","Katerine","Katey","Kath","Katha","Katharina","Katharine","Katharyn","Kathe","Katherina","Katherine","Katheryn","Kathi","Kathie","Kathleen","Kathlin","Kathrine","Kathryn","Kathryne","Kathy","Kathye","Kati","Katie","Katina","Katine","Katinka","Katleen","Katlin","Katrina","Katrine","Katrinka","Katti","Kattie","Katuscha","Katusha","Katy","Katya","Kay","Kaycee","Kaye","Kayla","Kayle","Kaylee","Kayley","Kaylil","Kaylyn","Keeley","Keelia","Keely","Kelcey","Kelci","Kelcie","Kelcy","Kelila","Kellen","Kelley","Kelli","Kellia","Kellie","Kellina","Kellsie","Kelly","Kellyann","Kelsey","Kelsi","Kelsy","Kendra","Kendre","Kenna","Keri","Keriann","Kerianne","Kerri","Kerrie","Kerrill","Kerrin","Kerry","Kerstin","Kesley","Keslie","Kessia","Kessiah","Ketti","Kettie","Ketty","Kevina","Kevyn","Ki","Kiah","Kial","Kiele","Kiersten","Kikelia","Kiley","Kim","Kimberlee","Kimberley","Kimberli","Kimberly","Kimberlyn","Kimbra","Kimmi","Kimmie","Kimmy","Kinna","Kip","Kipp","Kippie","Kippy","Kira","Kirbee","Kirbie","Kirby","Kiri","Kirsten","Kirsteni","Kirsti","Kirstin","Kirstyn","Kissee","Kissiah","Kissie","Kit","Kitti","Kittie","Kitty","Kizzee","Kizzie","Klara","Klarika","Klarrisa","Konstance","Konstanze","Koo","Kora","Koral","Koralle","Kordula","Kore","Korella","Koren","Koressa","Kori","Korie","Korney","Korrie","Korry","Kris","Krissie","Krissy","Krista","Kristal","Kristan","Kriste","Kristel","Kristen","Kristi","Kristien","Kristin","Kristina","Kristine","Kristy","Kristyn","Krysta","Krystal","Krystalle","Krystle","Krystyna","Kyla","Kyle","Kylen","Kylie","Kylila","Kylynn","Kym","Kynthia","Kyrstin","Lacee","Lacey","Lacie","Lacy","Ladonna","Laetitia","Laina","Lainey","Lana","Lanae","Lane","Lanette","Laney","Lani","Lanie","Lanita","Lanna","Lanni","Lanny","Lara","Laraine","Lari","Larina","Larine","Larisa","Larissa","Lark","Laryssa","Latashia","Latia","Latisha","Latrena","Latrina","Laura","Lauraine","Laural","Lauralee","Laure","Lauree","Laureen","Laurel","Laurella","Lauren","Laurena","Laurene","Lauretta","Laurette","Lauri","Laurianne","Laurice","Laurie","Lauryn","Lavena","Laverna","Laverne","Lavina","Lavinia","Lavinie","Layla","Layne","Layney","Lea","Leah","Leandra","Leann","Leanna","Leanor","Leanora","Lebbie","Leda","Lee","Leeann","Leeanne","Leela","Leelah","Leena","Leesa","Leese","Legra","Leia","Leigh","Leigha","Leila","Leilah","Leisha","Lela","Lelah","Leland","Lelia","Lena","Lenee","Lenette","Lenka","Lenna","Lenora","Lenore","Leodora","Leoine","Leola","Leoline","Leona","Leonanie","Leone","Leonelle","Leonie","Leonora","Leonore","Leontine","Leontyne","Leora","Leshia","Lesley","Lesli","Leslie","Lesly","Lesya","Leta","Lethia","Leticia","Letisha","Letitia","Letizia","Letta","Letti","Lettie","Letty","Lexi","Lexie","Lexine","Lexis","Lexy","Leyla","Lezlie","Lia","Lian","Liana","Liane","Lianna","Lianne","Lib","Libbey","Libbi","Libbie","Libby","Licha","Lida","Lidia","Liesa","Lil","Lila","Lilah","Lilas","Lilia","Lilian","Liliane","Lilias","Lilith","Lilla","Lilli","Lillian","Lillis","Lilllie","Lilly","Lily","Lilyan","Lin","Lina","Lind","Linda","Lindi","Lindie","Lindsay","Lindsey","Lindsy","Lindy","Linea","Linell","Linet","Linette","Linn","Linnea","Linnell","Linnet","Linnie","Linzy","Lira","Lisa","Lisabeth","Lisbeth","Lise","Lisetta","Lisette","Lisha","Lishe","Lissa","Lissi","Lissie","Lissy","Lita","Liuka","Liv","Liva","Livia","Livvie","Livvy","Livvyy","Livy","Liz","Liza","Lizabeth","Lizbeth","Lizette","Lizzie","Lizzy","Loella","Lois","Loise","Lola","Loleta","Lolita","Lolly","Lona","Lonee","Loni","Lonna","Lonni","Lonnie","Lora","Lorain","Loraine","Loralee","Loralie","Loralyn","Loree","Loreen","Lorelei","Lorelle","Loren","Lorena","Lorene","Lorenza","Loretta","Lorette","Lori","Loria","Lorianna","Lorianne","Lorie","Lorilee","Lorilyn","Lorinda","Lorine","Lorita","Lorna","Lorne","Lorraine","Lorrayne","Lorri","Lorrie","Lorrin","Lorry","Lory","Lotta","Lotte","Lotti","Lottie","Lotty","Lou","Louella","Louisa","Louise","Louisette","Loutitia","Lu","Luce","Luci","Lucia","Luciana","Lucie","Lucienne","Lucila","Lucilia","Lucille","Lucina","Lucinda","Lucine","Lucita","Lucky","Lucretia","Lucy","Ludovika","Luella","Luelle","Luisa","Luise","Lula","Lulita","Lulu","Lura","Lurette","Lurleen","Lurlene","Lurline","Lusa","Luz","Lyda","Lydia","Lydie","Lyn","Lynda","Lynde","Lyndel","Lyndell","Lyndsay","Lyndsey","Lyndsie","Lyndy","Lynea","Lynelle","Lynett","Lynette","Lynn","Lynna","Lynne","Lynnea","Lynnell","Lynnelle","Lynnet","Lynnett","Lynnette","Lynsey","Lyssa","Mab","Mabel","Mabelle","Mable","Mada","Madalena","Madalyn","Maddalena","Maddi","Maddie","Maddy","Madel","Madelaine","Madeleine","Madelena","Madelene","Madelin","Madelina","Madeline","Madella","Madelle","Madelon","Madelyn","Madge","Madlen","Madlin","Madonna","Mady","Mae","Maegan","Mag","Magda","Magdaia","Magdalen","Magdalena","Magdalene","Maggee","Maggi","Maggie","Maggy","Mahala","Mahalia","Maia","Maible","Maiga","Maighdiln","Mair","Maire","Maisey","Maisie","Maitilde","Mala","Malanie","Malena","Malia","Malina","Malinda","Malinde","Malissa","Malissia","Mallissa","Mallorie","Mallory","Malorie","Malory","Malva","Malvina","Malynda","Mame","Mamie","Manda","Mandi","Mandie","Mandy","Manon","Manya","Mara","Marabel","Marcela","Marcelia","Marcella","Marcelle","Marcellina","Marcelline","Marchelle","Marci","Marcia","Marcie","Marcile","Marcille","Marcy","Mareah","Maren","Marena","Maressa","Marga","Margalit","Margalo","Margaret","Margareta","Margarete","Margaretha","Margarethe","Margaretta","Margarette","Margarita","Margaux","Marge","Margeaux","Margery","Marget","Margette","Margi","Margie","Margit","Margo","Margot","Margret","Marguerite","Margy","Mari","Maria","Mariam","Marian","Mariana","Mariann","Marianna","Marianne","Maribel","Maribelle","Maribeth","Marice","Maridel","Marie","Marie-ann","Marie-jeanne","Marieann","Mariejeanne","Mariel","Mariele","Marielle","Mariellen","Marietta","Mariette","Marigold","Marijo","Marika","Marilee","Marilin","Marillin","Marilyn","Marin","Marina","Marinna","Marion","Mariquilla","Maris","Marisa","Mariska","Marissa","Marita","Maritsa","Mariya","Marj","Marja","Marje","Marji","Marjie","Marjorie","Marjory","Marjy","Marketa","Marla","Marlane","Marleah","Marlee","Marleen","Marlena","Marlene","Marley","Marlie","Marline","Marlo","Marlyn","Marna","Marne","Marney","Marni","Marnia","Marnie","Marquita","Marrilee","Marris","Marrissa","Marsha","Marsiella","Marta","Martelle","Martguerita","Martha","Marthe","Marthena","Marti","Martica","Martie","Martina","Martita","Marty","Martynne","Mary","Marya","Maryann","Maryanna","Maryanne","Marybelle","Marybeth","Maryellen","Maryjane","Maryjo","Maryl","Marylee","Marylin","Marylinda","Marylou","Marylynne","Maryrose","Marys","Marysa","Masha","Matelda","Mathilda","Mathilde","Matilda","Matilde","Matti","Mattie","Matty","Maud","Maude","Maudie","Maura","Maure","Maureen","Maureene","Maurene","Maurine","Maurise","Maurita","Maurizia","Mavis","Mavra","Max","Maxi","Maxie","Maxine","Maxy","May","Maybelle","Maye","Mead","Meade","Meagan","Meaghan","Meara","Mechelle","Meg","Megan","Megen","Meggi","Meggie","Meggy","Meghan","Meghann","Mehetabel","Mei","Mel","Mela","Melamie","Melania","Melanie","Melantha","Melany","Melba","Melesa","Melessa","Melicent","Melina","Melinda","Melinde","Melisa","Melisande","Melisandra","Melisenda","Melisent","Melissa","Melisse","Melita","Melitta","Mella","Melli","Mellicent","Mellie","Mellisa","Mellisent","Melloney","Melly","Melodee","Melodie","Melody","Melonie","Melony","Melosa","Melva","Mercedes","Merci","Mercie","Mercy","Meredith","Meredithe","Meridel","Meridith","Meriel","Merilee","Merilyn","Meris","Merissa","Merl","Merla","Merle","Merlina","Merline","Merna","Merola","Merralee","Merridie","Merrie","Merrielle","Merrile","Merrilee","Merrili","Merrill","Merrily","Merry","Mersey","Meryl","Meta","Mia","Micaela","Michaela","Michaelina","Michaeline","Michaella","Michal","Michel","Michele","Michelina","Micheline","Michell","Michelle","Micki","Mickie","Micky","Midge","Mignon","Mignonne","Miguela","Miguelita","Mikaela","Mil","Mildred","Mildrid","Milena","Milicent","Milissent","Milka","Milli","Millicent","Millie","Millisent","Milly","Milzie","Mimi","Min","Mina","Minda","Mindy","Minerva","Minetta","Minette","Minna","Minnaminnie","Minne","Minni","Minnie","Minnnie","Minny","Minta","Miquela","Mira","Mirabel","Mirabella","Mirabelle","Miran","Miranda","Mireielle","Mireille","Mirella","Mirelle","Miriam","Mirilla","Mirna","Misha","Missie","Missy","Misti","Misty","Mitzi","Modesta","Modestia","Modestine","Modesty","Moina","Moira","Moll","Mollee","Molli","Mollie","Molly","Mommy","Mona","Monah","Monica","Monika","Monique","Mora","Moreen","Morena","Morgan","Morgana","Morganica","Morganne","Morgen","Moria","Morissa","Morna","Moselle","Moyna","Moyra","Mozelle","Muffin","Mufi","Mufinella","Muire","Mureil","Murial","Muriel","Murielle","Myra","Myrah","Myranda","Myriam","Myrilla","Myrle","Myrlene","Myrna","Myrta","Myrtia","Myrtice","Myrtie","Myrtle","Nada","Nadean","Nadeen","Nadia","Nadine","Nadiya","Nady","Nadya","Nalani","Nan","Nana","Nananne","Nance","Nancee","Nancey","Nanci","Nancie","Nancy","Nanete","Nanette","Nani","Nanice","Nanine","Nannette","Nanni","Nannie","Nanny","Nanon","Naoma","Naomi","Nara","Nari","Nariko","Nat","Nata","Natala","Natalee","Natalie","Natalina","Nataline","Natalya","Natasha","Natassia","Nathalia","Nathalie","Natividad","Natka","Natty","Neala","Neda","Nedda","Nedi","Neely","Neila","Neile","Neilla","Neille","Nelia","Nelie","Nell","Nelle","Nelli","Nellie","Nelly","Nerissa","Nerita","Nert","Nerta","Nerte","Nerti","Nertie","Nerty","Nessa","Nessi","Nessie","Nessy","Nesta","Netta","Netti","Nettie","Nettle","Netty","Nevsa","Neysa","Nichol","Nichole","Nicholle","Nicki","Nickie","Nicky","Nicol","Nicola","Nicole","Nicolea","Nicolette","Nicoli","Nicolina","Nicoline","Nicolle","Nikaniki","Nike","Niki","Nikki","Nikkie","Nikoletta","Nikolia","Nina","Ninetta","Ninette","Ninnetta","Ninnette","Ninon","Nissa","Nisse","Nissie","Nissy","Nita","Nixie","Noami","Noel","Noelani","Noell","Noella","Noelle","Noellyn","Noelyn","Noemi","Nola","Nolana","Nolie","Nollie","Nomi","Nona","Nonah","Noni","Nonie","Nonna","Nonnah","Nora","Norah","Norean","Noreen","Norene","Norina","Norine","Norma","Norri","Norrie","Norry","Novelia","Nydia","Nyssa","Octavia","Odele","Odelia","Odelinda","Odella","Odelle","Odessa","Odetta","Odette","Odilia","Odille","Ofelia","Ofella","Ofilia","Ola","Olenka","Olga","Olia","Olimpia","Olive","Olivette","Olivia","Olivie","Oliy","Ollie","Olly","Olva","Olwen","Olympe","Olympia","Olympie","Ondrea","Oneida","Onida","Oona","Opal","Opalina","Opaline","Ophelia","Ophelie","Ora","Oralee","Oralia","Oralie","Oralla","Oralle","Orel","Orelee","Orelia","Orelie","Orella","Orelle","Oriana","Orly","Orsa","Orsola","Ortensia","Otha","Othelia","Othella","Othilia","Othilie","Ottilie","Page","Paige","Paloma","Pam","Pamela","Pamelina","Pamella","Pammi","Pammie","Pammy","Pandora","Pansie","Pansy","Paola","Paolina","Papagena","Pat","Patience","Patrica","Patrice","Patricia","Patrizia","Patsy","Patti","Pattie","Patty","Paula","Paule","Pauletta","Paulette","Pauli","Paulie","Paulina","Pauline","Paulita","Pauly","Pavia","Pavla","Pearl","Pearla","Pearle","Pearline","Peg","Pegeen","Peggi","Peggie","Peggy","Pen","Penelopa","Penelope","Penni","Pennie","Penny","Pepi","Pepita","Peri","Peria","Perl","Perla","Perle","Perri","Perrine","Perry","Persis","Pet","Peta","Petra","Petrina","Petronella","Petronia","Petronilla","Petronille","Petunia","Phaedra","Phaidra","Phebe","Phedra","Phelia","Phil","Philipa","Philippa","Philippe","Philippine","Philis","Phillida","Phillie","Phillis","Philly","Philomena","Phoebe","Phylis","Phyllida","Phyllis","Phyllys","Phylys","Pia","Pier","Pierette","Pierrette","Pietra","Piper","Pippa","Pippy","Polly","Pollyanna","Pooh","Poppy","Portia","Pris","Prisca","Priscella","Priscilla","Prissie","Pru","Prudence","Prudi","Prudy","Prue","Queenie","Quentin","Querida","Quinn","Quinta","Quintana","Quintilla","Quintina","Rachael","Rachel","Rachele","Rachelle","Rae","Raeann","Raf","Rafa","Rafaela","Rafaelia","Rafaelita","Rahal","Rahel","Raina","Raine","Rakel","Ralina","Ramona","Ramonda","Rana","Randa","Randee","Randene","Randi","Randie","Randy","Ranee","Rani","Rania","Ranice","Ranique","Ranna","Raphaela","Raquel","Raquela","Rasia","Rasla","Raven","Ray","Raychel","Raye","Rayna","Raynell","Rayshell","Rea","Reba","Rebbecca","Rebe","Rebeca","Rebecca","Rebecka","Rebeka","Rebekah","Rebekkah","Ree","Reeba","Reena","Reeta","Reeva","Regan","Reggi","Reggie","Regina","Regine","Reiko","Reina","Reine","Remy","Rena","Renae","Renata","Renate","Rene","Renee","Renell","Renelle","Renie","Rennie","Reta","Retha","Revkah","Rey","Reyna","Rhea","Rheba","Rheta","Rhetta","Rhiamon","Rhianna","Rhianon","Rhoda","Rhodia","Rhodie","Rhody","Rhona","Rhonda","Riane","Riannon","Rianon","Rica","Ricca","Rici","Ricki","Rickie","Ricky","Riki","Rikki","Rina","Risa","Rita","Riva","Rivalee","Rivi","Rivkah","Rivy","Roana","Roanna","Roanne","Robbi","Robbie","Robbin","Robby","Robbyn","Robena","Robenia","Roberta","Robin","Robina","Robinet","Robinett","Robinetta","Robinette","Robinia","Roby","Robyn","Roch","Rochell","Rochella","Rochelle","Rochette","Roda","Rodi","Rodie","Rodina","Rois","Romola","Romona","Romonda","Romy","Rona","Ronalda","Ronda","Ronica","Ronna","Ronni","Ronnica","Ronnie","Ronny","Roobbie","Rora","Rori","Rorie","Rory","Ros","Rosa","Rosabel","Rosabella","Rosabelle","Rosaleen","Rosalia","Rosalie","Rosalind","Rosalinda","Rosalinde","Rosaline","Rosalyn","Rosalynd","Rosamond","Rosamund","Rosana","Rosanna","Rosanne","Rose","Roseann","Roseanna","Roseanne","Roselia","Roselin","Roseline","Rosella","Roselle","Rosemaria","Rosemarie","Rosemary","Rosemonde","Rosene","Rosetta","Rosette","Roshelle","Rosie","Rosina","Rosita","Roslyn","Rosmunda","Rosy","Row","Rowe","Rowena","Roxana","Roxane","Roxanna","Roxanne","Roxi","Roxie","Roxine","Roxy","Roz","Rozalie","Rozalin","Rozamond","Rozanna","Rozanne","Roze","Rozele","Rozella","Rozelle","Rozina","Rubetta","Rubi","Rubia","Rubie","Rubina","Ruby","Ruperta","Ruth","Ruthann","Ruthanne","Ruthe","Ruthi","Ruthie","Ruthy","Ryann","Rycca","Saba","Sabina","Sabine","Sabra","Sabrina","Sacha","Sada","Sadella","Sadie","Sadye","Saidee","Sal","Salaidh","Sallee","Salli","Sallie","Sally","Sallyann","Sallyanne","Saloma","Salome","Salomi","Sam","Samantha","Samara","Samaria","Sammy","Sande","Sandi","Sandie","Sandra","Sandy","Sandye","Sapphira","Sapphire","Sara","Sara-ann","Saraann","Sarah","Sarajane","Saree","Sarena","Sarene","Sarette","Sari","Sarina","Sarine","Sarita","Sascha","Sasha","Sashenka","Saudra","Saundra","Savina","Sayre","Scarlet","Scarlett","Sean","Seana","Seka","Sela","Selena","Selene","Selestina","Selia","Selie","Selina","Selinda","Seline","Sella","Selle","Selma","Sena","Sephira","Serena","Serene","Shae","Shaina","Shaine","Shalna","Shalne","Shana","Shanda","Shandee","Shandeigh","Shandie","Shandra","Shandy","Shane","Shani","Shanie","Shanna","Shannah","Shannen","Shannon","Shanon","Shanta","Shantee","Shara","Sharai","Shari","Sharia","Sharity","Sharl","Sharla","Sharleen","Sharlene","Sharline","Sharon","Sharona","Sharron","Sharyl","Shaun","Shauna","Shawn","Shawna","Shawnee","Shay","Shayla","Shaylah","Shaylyn","Shaylynn","Shayna","Shayne","Shea","Sheba","Sheela","Sheelagh","Sheelah","Sheena","Sheeree","Sheila","Sheila-kathryn","Sheilah","Shel","Shela","Shelagh","Shelba","Shelbi","Shelby","Shelia","Shell","Shelley","Shelli","Shellie","Shelly","Shena","Sher","Sheree","Sheri","Sherie","Sherill","Sherilyn","Sherline","Sherri","Sherrie","Sherry","Sherye","Sheryl","Shina","Shir","Shirl","Shirlee","Shirleen","Shirlene","Shirley","Shirline","Shoshana","Shoshanna","Siana","Sianna","Sib","Sibbie","Sibby","Sibeal","Sibel","Sibella","Sibelle","Sibilla","Sibley","Sibyl","Sibylla","Sibylle","Sidoney","Sidonia","Sidonnie","Sigrid","Sile","Sileas","Silva","Silvana","Silvia","Silvie","Simona","Simone","Simonette","Simonne","Sindee","Siobhan","Sioux","Siouxie","Sisely","Sisile","Sissie","Sissy","Siusan","Sofia","Sofie","Sondra","Sonia","Sonja","Sonni","Sonnie","Sonnnie","Sonny","Sonya","Sophey","Sophi","Sophia","Sophie","Sophronia","Sorcha","Sosanna","Stace","Stacee","Stacey","Staci","Stacia","Stacie","Stacy","Stafani","Star","Starla","Starlene","Starlin","Starr","Stefa","Stefania","Stefanie","Steffane","Steffi","Steffie","Stella","Stepha","Stephana","Stephani","Stephanie","Stephannie","Stephenie","Stephi","Stephie","Stephine","Stesha","Stevana","Stevena","Stoddard","Storm","Stormi","Stormie","Stormy","Sue","Suellen","Sukey","Suki","Sula","Sunny","Sunshine","Susan","Susana","Susanetta","Susann","Susanna","Susannah","Susanne","Susette","Susi","Susie","Susy","Suzann","Suzanna","Suzanne","Suzette","Suzi","Suzie","Suzy","Sybil","Sybila","Sybilla","Sybille","Sybyl","Sydel","Sydelle","Sydney","Sylvia","Tabatha","Tabbatha","Tabbi","Tabbie","Tabbitha","Tabby","Tabina","Tabitha","Taffy","Talia","Tallia","Tallie","Tallou","Tallulah","Tally","Talya","Talyah","Tamar","Tamara","Tamarah","Tamarra","Tamera","Tami","Tamiko","Tamma","Tammara","Tammi","Tammie","Tammy","Tamqrah","Tamra","Tana","Tandi","Tandie","Tandy","Tanhya","Tani","Tania","Tanitansy","Tansy","Tanya","Tara","Tarah","Tarra","Tarrah","Taryn","Tasha","Tasia","Tate","Tatiana","Tatiania","Tatum","Tawnya","Tawsha","Ted","Tedda","Teddi","Teddie","Teddy","Tedi","Tedra","Teena","Teirtza","Teodora","Tera","Teresa","Terese","Teresina","Teresita","Teressa","Teri","Teriann","Terra","Terri","Terrie","Terrijo","Terry","Terrye","Tersina","Terza","Tess","Tessa","Tessi","Tessie","Tessy","Thalia","Thea","Theadora","Theda","Thekla","Thelma","Theo","Theodora","Theodosia","Theresa","Therese","Theresina","Theresita","Theressa","Therine","Thia","Thomasa","Thomasin","Thomasina","Thomasine","Tiena","Tierney","Tiertza","Tiff","Tiffani","Tiffanie","Tiffany","Tiffi","Tiffie","Tiffy","Tilda","Tildi","Tildie","Tildy","Tillie","Tilly","Tim","Timi","Timmi","Timmie","Timmy","Timothea","Tina","Tine","Tiphani","Tiphanie","Tiphany","Tish","Tisha","Tobe","Tobey","Tobi","Toby","Tobye","Toinette","Toma","Tomasina","Tomasine","Tomi","Tommi","Tommie","Tommy","Toni","Tonia","Tonie","Tony","Tonya","Tonye","Tootsie","Torey","Tori","Torie","Torrie","Tory","Tova","Tove","Tracee","Tracey","Traci","Tracie","Tracy","Trenna","Tresa","Trescha","Tressa","Tricia","Trina","Trish","Trisha","Trista","Trix","Trixi","Trixie","Trixy","Truda","Trude","Trudey","Trudi","Trudie","Trudy","Trula","Tuesday","Twila","Twyla","Tybi","Tybie","Tyne","Ula","Ulla","Ulrica","Ulrika","Ulrikaumeko","Ulrike","Umeko","Una","Ursa","Ursala","Ursola","Ursula","Ursulina","Ursuline","Uta","Val","Valaree","Valaria","Vale","Valeda","Valencia","Valene","Valenka","Valentia","Valentina","Valentine","Valera","Valeria","Valerie","Valery","Valerye","Valida","Valina","Valli","Vallie","Vally","Valma","Valry","Van","Vanda","Vanessa","Vania","Vanna","Vanni","Vannie","Vanny","Vanya","Veda","Velma","Velvet","Venita","Venus","Vera","Veradis","Vere","Verena","Verene","Veriee","Verile","Verina","Verine","Verla","Verna","Vernice","Veronica","Veronika","Veronike","Veronique","Vevay","Vi","Vicki","Vickie","Vicky","Victoria","Vida","Viki","Vikki","Vikky","Vilhelmina","Vilma","Vin","Vina","Vinita","Vinni","Vinnie","Vinny","Viola","Violante","Viole","Violet","Violetta","Violette","Virgie","Virgina","Virginia","Virginie","Vita","Vitia","Vitoria","Vittoria","Viv","Viva","Vivi","Vivia","Vivian","Viviana","Vivianna","Vivianne","Vivie","Vivien","Viviene","Vivienne","Viviyan","Vivyan","Vivyanne","Vonni","Vonnie","Vonny","Vyky","Wallie","Wallis","Walliw","Wally","Waly","Wanda","Wandie","Wandis","Waneta","Wanids","Wenda","Wendeline","Wendi","Wendie","Wendy","Wendye","Wenona","Wenonah","Whitney","Wileen","Wilhelmina","Wilhelmine","Wilie","Willa","Willabella","Willamina","Willetta","Willette","Willi","Willie","Willow","Willy","Willyt","Wilma","Wilmette","Wilona","Wilone","Wilow","Windy","Wini","Winifred","Winna","Winnah","Winne","Winni","Winnie","Winnifred","Winny","Winona","Winonah","Wren","Wrennie","Wylma","Wynn","Wynne","Wynnie","Wynny","Xaviera","Xena","Xenia","Xylia","Xylina","Yalonda","Yasmeen","Yasmin","Yelena","Yetta","Yettie","Yetty","Yevette","Ynes","Ynez","Yoko","Yolanda","Yolande","Yolane","Yolanthe","Yoshi","Yoshiko","Yovonnda","Ysabel","Yvette","Yvonne","Zabrina","Zahara","Zandra","Zaneta","Zara","Zarah","Zaria","Zarla","Zea","Zelda","Zelma","Zena","Zenia","Zia","Zilvia","Zita","Zitella","Zoe","Zola","Zonda","Zondra","Zonnya","Zora","Zorah","Zorana","Zorina","Zorine","Zsazsa","Zulema","Zuzana"],exports.starWars=["Ackbar","Adi Gallia","Anakin Skywalker","Arvel Crynyd","Ayla Secura","Bail Prestor Organa","Barriss Offee","Ben Quadinaros","Beru Whitesun lars","Bib Fortuna","Biggs Darklighter","Boba Fett","Bossk","C-3PO","Chewbacca","Cliegg Lars","Cordé","Darth Maul","Darth Vader","Dexter Jettster","Dooku","Dormé","Dud Bolt","Eeth Koth","Finis Valorum","Gasgano","Greedo","Gregar Typho","Grievous","Han Solo","IG-88","Jabba Desilijic Tiure","Jango Fett","Jar Jar Binks","Jek Tono Porkins","Jocasta Nu","Ki-Adi-Mundi","Kit Fisto","Lama Su","Lando Calrissian","Leia Organa","Lobot","Luke Skywalker","Luminara Unduli","Mace Windu","Mas Amedda","Mon Mothma","Nien Nunb","Nute Gunray","Obi-Wan Kenobi","Owen Lars","Padmé Amidala","Palpatine","Plo Koon","Poggle the Lesser","Quarsh Panaka","Qui-Gon Jinn","R2-D2","R4-P17","R5-D4","Ratts Tyerel","Raymus Antilles","Ric Olié","Roos Tarpals","Rugor Nass","Saesee Tiin","San Hill","Sebulba","Shaak Ti","Shmi Skywalker","Sly Moore","Tarfful","Taun We","Tion Medon","Wat Tambor","Watto","Wedge Antilles","Wicket Systri Warrick","Wilhuff Tarkin","Yarael Poof","Yoda","Zam Wesell"],exports.uniqueNamesGenerator=i=>{const n=[...i&&i.dictionaries||e.dictionaries],l={...e,...i,length:i&&i.length||n.length,dictionaries:n};if(!i||!i.dictionaries||!i.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new a(l).generate()}; -//# sourceMappingURL=index.js.map diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.m.js b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.m.js deleted file mode 100644 index 542b7942ea..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.m.js +++ /dev/null @@ -1,2 +0,0 @@ -class a{constructor(a){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;const{length:e,separator:i,dictionaries:n,style:l,seed:r}=a;this.dictionaries=n,this.separator=i,this.length=e,this.style=l,this.seed=r}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries.\nLength provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);return this.dictionaries.slice(0,this.length).reduce((a,e)=>{let i=e[Math.floor((this.seed?(n=this.seed,(a=>{a=1831565813+(a|=0)|0;let e=Math.imul(a^a>>>15,1|a);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296})(n)):Math.random())*e.length)]||"";var n;if("lowerCase"===this.style)i=i.toLowerCase();else if("capital"===this.style){const[a,...e]=i.split("");i=a.toUpperCase()+e.join("")}else"upperCase"===this.style&&(i=i.toUpperCase());return a?`${a}${this.separator}${i}`:`${i}`},"")}}const e={separator:"_",dictionaries:[]},i=i=>{const n=[...i&&i.dictionaries||e.dictionaries],l={...e,...i,length:i&&i.length||n.length,dictionaries:n};if(!i||!i.dictionaries||!i.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new a(l).generate()};var n=["able","above","absent","absolute","abstract","abundant","academic","acceptable","accepted","accessible","accurate","accused","active","actual","acute","added","additional","adequate","adjacent","administrative","adorable","advanced","adverse","advisory","aesthetic","afraid","aggregate","aggressive","agreeable","agreed","agricultural","alert","alive","alleged","allied","alone","alright","alternative","amateur","amazing","ambitious","amused","ancient","angry","annoyed","annual","anonymous","anxious","appalling","apparent","applicable","appropriate","arbitrary","architectural","armed","arrogant","artificial","artistic","ashamed","asleep","assistant","associated","atomic","attractive","automatic","autonomous","available","average","awake","aware","awful","awkward","back","bad","balanced","bare","basic","beautiful","beneficial","better","bewildered","big","binding","biological","bitter","bizarre","blank","blind","blonde","bloody","blushing","boiling","bold","bored","boring","bottom","brainy","brave","breakable","breezy","brief","bright","brilliant","broad","broken","bumpy","burning","busy","calm","capable","capitalist","careful","casual","causal","cautious","central","certain","changing","characteristic","charming","cheap","cheerful","chemical","chief","chilly","chosen","christian","chronic","chubby","circular","civic","civil","civilian","classic","classical","clean","clear","clever","clinical","close","closed","cloudy","clumsy","coastal","cognitive","coherent","cold","collective","colonial","colorful","colossal","coloured","colourful","combative","combined","comfortable","coming","commercial","common","communist","compact","comparable","comparative","compatible","competent","competitive","complete","complex","complicated","comprehensive","compulsory","conceptual","concerned","concrete","condemned","confident","confidential","confused","conscious","conservation","conservative","considerable","consistent","constant","constitutional","contemporary","content","continental","continued","continuing","continuous","controlled","controversial","convenient","conventional","convinced","convincing","cooing","cool","cooperative","corporate","correct","corresponding","costly","courageous","crazy","creative","creepy","criminal","critical","crooked","crowded","crucial","crude","cruel","cuddly","cultural","curious","curly","current","curved","cute","daily","damaged","damp","dangerous","dark","dead","deaf","deafening","dear","decent","decisive","deep","defeated","defensive","defiant","definite","deliberate","delicate","delicious","delighted","delightful","democratic","dependent","depressed","desirable","desperate","detailed","determined","developed","developing","devoted","different","difficult","digital","diplomatic","direct","dirty","disabled","disappointed","disastrous","disciplinary","disgusted","distant","distinct","distinctive","distinguished","disturbed","disturbing","diverse","divine","dizzy","domestic","dominant","double","doubtful","drab","dramatic","dreadful","driving","drunk","dry","dual","due","dull","dusty","dutch","dying","dynamic","eager","early","eastern","easy","economic","educational","eerie","effective","efficient","elaborate","elated","elderly","eldest","electoral","electric","electrical","electronic","elegant","eligible","embarrassed","embarrassing","emotional","empirical","empty","enchanting","encouraging","endless","energetic","enormous","enthusiastic","entire","entitled","envious","environmental","equal","equivalent","essential","established","estimated","ethical","ethnic","eventual","everyday","evident","evil","evolutionary","exact","excellent","exceptional","excess","excessive","excited","exciting","exclusive","existing","exotic","expected","expensive","experienced","experimental","explicit","extended","extensive","external","extra","extraordinary","extreme","exuberant","faint","fair","faithful","familiar","famous","fancy","fantastic","far","fascinating","fashionable","fast","fat","fatal","favourable","favourite","federal","fellow","female","feminist","few","fierce","filthy","final","financial","fine","firm","fiscal","fit","fixed","flaky","flat","flexible","fluffy","fluttering","flying","following","fond","foolish","foreign","formal","formidable","forthcoming","fortunate","forward","fragile","frail","frantic","free","frequent","fresh","friendly","frightened","front","frozen","full","fun","functional","fundamental","funny","furious","future","fuzzy","gastric","gay","general","generous","genetic","gentle","genuine","geographical","giant","gigantic","given","glad","glamorous","gleaming","global","glorious","golden","good","gorgeous","gothic","governing","graceful","gradual","grand","grateful","greasy","great","grieving","grim","gross","grotesque","growing","grubby","grumpy","guilty","handicapped","handsome","happy","hard","harsh","head","healthy","heavy","helpful","helpless","hidden","high","hilarious","hissing","historic","historical","hollow","holy","homeless","homely","hon","honest","horizontal","horrible","hostile","hot","huge","human","hungry","hurt","hushed","husky","icy","ideal","identical","ideological","ill","illegal","imaginative","immediate","immense","imperial","implicit","important","impossible","impressed","impressive","improved","inadequate","inappropriate","inc","inclined","increased","increasing","incredible","independent","indirect","individual","industrial","inevitable","influential","informal","inherent","initial","injured","inland","inner","innocent","innovative","inquisitive","instant","institutional","insufficient","intact","integral","integrated","intellectual","intelligent","intense","intensive","interested","interesting","interim","interior","intermediate","internal","international","intimate","invisible","involved","irrelevant","isolated","itchy","jealous","jittery","joint","jolly","joyous","judicial","juicy","junior","just","keen","key","kind","known","labour","large","late","latin","lazy","leading","left","legal","legislative","legitimate","lengthy","lesser","level","lexical","liable","liberal","light","like","likely","limited","linear","linguistic","liquid","literary","little","live","lively","living","local","logical","lonely","long","loose","lost","loud","lovely","low","loyal","ltd","lucky","mad","magic","magnetic","magnificent","main","major","male","mammoth","managerial","managing","manual","many","marginal","marine","marked","married","marvellous","marxist","mass","massive","mathematical","mature","maximum","mean","meaningful","mechanical","medical","medieval","melodic","melted","mental","mere","metropolitan","mid","middle","mighty","mild","military","miniature","minimal","minimum","ministerial","minor","miserable","misleading","missing","misty","mixed","moaning","mobile","moderate","modern","modest","molecular","monetary","monthly","moral","motionless","muddy","multiple","mushy","musical","mute","mutual","mysterious","naked","narrow","nasty","national","native","natural","naughty","naval","near","nearby","neat","necessary","negative","neighbouring","nervous","net","neutral","new","nice","noble","noisy","normal","northern","nosy","notable","novel","nuclear","numerous","nursing","nutritious","nutty","obedient","objective","obliged","obnoxious","obvious","occasional","occupational","odd","official","ok","okay","old","olympic","only","open","operational","opposite","optimistic","oral","ordinary","organic","organisational","original","orthodox","other","outdoor","outer","outrageous","outside","outstanding","overall","overseas","overwhelming","painful","pale","panicky","parallel","parental","parliamentary","partial","particular","passing","passive","past","patient","payable","peaceful","peculiar","perfect","permanent","persistent","personal","petite","philosophical","physical","plain","planned","plastic","pleasant","pleased","poised","polite","political","poor","popular","positive","possible","potential","powerful","practical","precious","precise","preferred","pregnant","preliminary","premier","prepared","present","presidential","pretty","previous","prickly","primary","prime","primitive","principal","printed","prior","private","probable","productive","professional","profitable","profound","progressive","prominent","promising","proper","proposed","prospective","protective","protestant","proud","provincial","psychiatric","psychological","public","puny","pure","purring","puzzled","quaint","qualified","quarrelsome","querulous","quick","quickest","quiet","quintessential","quixotic","racial","radical","rainy","random","rapid","rare","raspy","rational","ratty","raw","ready","real","realistic","rear","reasonable","recent","reduced","redundant","regional","registered","regular","regulatory","related","relative","relaxed","relevant","reliable","relieved","religious","reluctant","remaining","remarkable","remote","renewed","representative","repulsive","required","resident","residential","resonant","respectable","respective","responsible","resulting","retail","retired","revolutionary","rich","ridiculous","right","rigid","ripe","rising","rival","roasted","robust","rolling","romantic","rotten","rough","round","royal","rubber","rude","ruling","running","rural","sacred","sad","safe","salty","satisfactory","satisfied","scared","scary","scattered","scientific","scornful","scrawny","screeching","secondary","secret","secure","select","selected","selective","selfish","semantic","senior","sensible","sensitive","separate","serious","severe","sexual","shaggy","shaky","shallow","shared","sharp","sheer","shiny","shivering","shocked","short","shrill","shy","sick","significant","silent","silky","silly","similar","simple","single","skilled","skinny","sleepy","slight","slim","slimy","slippery","slow","small","smart","smiling","smoggy","smooth","social","socialist","soft","solar","sole","solid","sophisticated","sore","sorry","sound","sour","southern","soviet","spare","sparkling","spatial","special","specific","specified","spectacular","spicy","spiritual","splendid","spontaneous","sporting","spotless","spotty","square","squealing","stable","stale","standard","static","statistical","statutory","steady","steep","sticky","stiff","still","stingy","stormy","straight","straightforward","strange","strategic","strict","striking","striped","strong","structural","stuck","stupid","subjective","subsequent","substantial","subtle","successful","successive","sudden","sufficient","suitable","sunny","super","superb","superior","supporting","supposed","supreme","sure","surprised","surprising","surrounding","surviving","suspicious","sweet","swift","symbolic","sympathetic","systematic","tall","tame","tart","tasteless","tasty","technical","technological","teenage","temporary","tender","tense","terrible","territorial","testy","then","theoretical","thick","thin","thirsty","thorough","thoughtful","thoughtless","thundering","tight","tiny","tired","top","tory","total","tough","toxic","traditional","tragic","tremendous","tricky","tropical","troubled","typical","ugliest","ugly","ultimate","unable","unacceptable","unaware","uncertain","unchanged","uncomfortable","unconscious","underground","underlying","unemployed","uneven","unexpected","unfair","unfortunate","unhappy","uniform","uninterested","unique","united","universal","unknown","unlikely","unnecessary","unpleasant","unsightly","unusual","unwilling","upper","upset","uptight","urban","urgent","used","useful","useless","usual","vague","valid","valuable","variable","varied","various","varying","vast","verbal","vertical","very","vicarious","vicious","victorious","violent","visible","visiting","visual","vital","vitreous","vivacious","vivid","vocal","vocational","voiceless","voluminous","voluntary","vulnerable","wandering","warm","wasteful","watery","weak","wealthy","weary","wee","weekly","weird","welcome","well","western","wet","whispering","whole","wicked","wide","widespread","wild","wilful","willing","willowy","wily","wise","wispy","wittering","witty","wonderful","wooden","working","worldwide","worried","worrying","worthwhile","worthy","written","wrong","xenacious","xenial","xenogeneic","xenophobic","xeric","xerothermic","yabbering","yammering","yappiest","yappy","yawning","yearling","yearning","yeasty","yelling","yelping","yielding","yodelling","young","youngest","youthful","ytterbic","yucky","yummy","zany","zealous","zeroth","zestful","zesty","zippy","zonal","zoophagous","zygomorphic","zygotic"],l=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],r=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"],t=["Afghanistan","Åland Islands","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica","Antigua & Barbuda","Argentina","Armenia","Aruba","Ascension Island","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia & Herzegovina","Botswana","Brazil","British Indian Ocean Territory","British Virgin Islands","Brunei","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Canary Islands","Cape Verde","Caribbean Netherlands","Cayman Islands","Central African Republic","Ceuta & Melilla","Chad","Chile","China","Christmas Island","Cocos Islands","Colombia","Comoros","Congo","Cook Islands","Costa Rica","Côte d'Ivoire","Croatia","Cuba","Curaçao","Cyprus","Czechia","Denmark","Diego Garcia","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Eurozone","Falkland Islands","Faroe Islands","Fiji","Finland","France","French Guiana","French Polynesia","French Southern Territories","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guinea","Guinea-Bissau","Guyana","Haiti","Honduras","Hong Kong SAR China","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Kosovo","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macau SAR China","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue","Norfolk Island","North Korea","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestinian Territories","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn Islands","Poland","Portugal","Puerto Rico","Qatar","Réunion","Romania","Russia","Rwanda","Samoa","San Marino","São Tomé & Príncipe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Sint Maarten","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Georgia & South Sandwich Islands","South Korea","South Sudan","Spain","Sri Lanka","St. Barthélemy","St. Helena","St. Kitts & Nevis","St. Lucia","St. Martin","St. Pierre & Miquelon","St. Vincent & Grenadines","Sudan","Suriname","Svalbard & Jan Mayen","Swaziland","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tokelau","Tonga","Trinidad & Tobago","Tristan da Cunha","Tunisia","Turkey","Turkmenistan","Turks & Caicos Islands","Tuvalu","U.S. Outlying Islands","U.S. Virgin Islands","Uganda","Ukraine","United Arab Emirates","United Kingdom","United Nations","United States","Uruguay","Uzbekistan","Vanuatu","Vatican City","Venezuela","Vietnam","Wallis & Futuna","Western Sahara","Yemen","Zambia","Zimbabwe"],o=["Akan","Amharic","Arabic","Assamese","Awadhi","Azerbaijani","Balochi","Belarusian","Bengali","Bhojpuri","Burmese","Cebuano","Chewa","Chhattisgarhi","Chittagonian","Czech","Deccan","Dhundhari","Dutch","English","French","Fula","Gan","German","Greek","Gujarati","Hakka","Haryanvi","Hausa","Hiligaynon","Hindi","Hmong","Hungarian","Igbo","Ilocano","Italian","Japanese","Javanese","Jin","Kannada","Kazakh","Khmer","Kinyarwanda","Kirundi","Konkani","Korean","Kurdish","Madurese","Magahi","Maithili","Malagasy","Malay","Malayalam","Mandarin","Marathi","Marwari","Min","Mossi","Nepali","Odia","Oromo","Pashto","Persian","Polish","Portuguese","Punjabi","Quechua","Romanian","Russian","Saraiki","Shona","Sindhi","Sinhala","Somali","Spanish","Sundanese","Swedish","Sylheti","Tagalog","Tamil","Telugu","Thai","Turkish","Turkmen","Ukrainian","Urdu","Uyghur","Uzbek","Vietnamese","Wu","Xhosa","Xiang","Yoruba","Yue","Zhuang","Zulu"],s=["Aaren","Aarika","Abagael","Abagail","Abbe","Abbey","Abbi","Abbie","Abby","Abbye","Abigael","Abigail","Abigale","Abra","Ada","Adah","Adaline","Adan","Adara","Adda","Addi","Addia","Addie","Addy","Adel","Adela","Adelaida","Adelaide","Adele","Adelheid","Adelice","Adelina","Adelind","Adeline","Adella","Adelle","Adena","Adey","Adi","Adiana","Adina","Adora","Adore","Adoree","Adorne","Adrea","Adria","Adriaens","Adrian","Adriana","Adriane","Adrianna","Adrianne","Adriena","Adrienne","Aeriel","Aeriela","Aeriell","Afton","Ag","Agace","Agata","Agatha","Agathe","Aggi","Aggie","Aggy","Agna","Agnella","Agnes","Agnese","Agnesse","Agneta","Agnola","Agretha","Aida","Aidan","Aigneis","Aila","Aile","Ailee","Aileen","Ailene","Ailey","Aili","Ailina","Ailis","Ailsun","Ailyn","Aime","Aimee","Aimil","Aindrea","Ainslee","Ainsley","Ainslie","Ajay","Alaine","Alameda","Alana","Alanah","Alane","Alanna","Alayne","Alberta","Albertina","Albertine","Albina","Alecia","Aleda","Aleece","Aleen","Alejandra","Alejandrina","Alena","Alene","Alessandra","Aleta","Alethea","Alex","Alexa","Alexandra","Alexandrina","Alexi","Alexia","Alexina","Alexine","Alexis","Alfi","Alfie","Alfreda","Alfy","Ali","Alia","Alica","Alice","Alicea","Alicia","Alida","Alidia","Alie","Alika","Alikee","Alina","Aline","Alis","Alisa","Alisha","Alison","Alissa","Alisun","Alix","Aliza","Alla","Alleen","Allegra","Allene","Alli","Allianora","Allie","Allina","Allis","Allison","Allissa","Allix","Allsun","Allx","Ally","Allyce","Allyn","Allys","Allyson","Alma","Almeda","Almeria","Almeta","Almira","Almire","Aloise","Aloisia","Aloysia","Alta","Althea","Alvera","Alverta","Alvina","Alvinia","Alvira","Alyce","Alyda","Alys","Alysa","Alyse","Alysia","Alyson","Alyss","Alyssa","Amabel","Amabelle","Amalea","Amalee","Amaleta","Amalia","Amalie","Amalita","Amalle","Amanda","Amandi","Amandie","Amandy","Amara","Amargo","Amata","Amber","Amberly","Ambur","Ame","Amelia","Amelie","Amelina","Ameline","Amelita","Ami","Amie","Amii","Amil","Amitie","Amity","Ammamaria","Amy","Amye","Ana","Anabal","Anabel","Anabella","Anabelle","Analiese","Analise","Anallese","Anallise","Anastasia","Anastasie","Anastassia","Anatola","Andee","Andeee","Anderea","Andi","Andie","Andra","Andrea","Andreana","Andree","Andrei","Andria","Andriana","Andriette","Andromache","Andy","Anestassia","Anet","Anett","Anetta","Anette","Ange","Angel","Angela","Angele","Angelia","Angelica","Angelika","Angelina","Angeline","Angelique","Angelita","Angelle","Angie","Angil","Angy","Ania","Anica","Anissa","Anita","Anitra","Anjanette","Anjela","Ann","Ann-marie","Anna","Anna-diana","Anna-diane","Anna-maria","Annabal","Annabel","Annabela","Annabell","Annabella","Annabelle","Annadiana","Annadiane","Annalee","Annaliese","Annalise","Annamaria","Annamarie","Anne","Anne-corinne","Anne-marie","Annecorinne","Anneliese","Annelise","Annemarie","Annetta","Annette","Anni","Annice","Annie","Annis","Annissa","Annmaria","Annmarie","Annnora","Annora","Anny","Anselma","Ansley","Anstice","Anthe","Anthea","Anthia","Anthiathia","Antoinette","Antonella","Antonetta","Antonia","Antonie","Antonietta","Antonina","Anya","Appolonia","April","Aprilette","Ara","Arabel","Arabela","Arabele","Arabella","Arabelle","Arda","Ardath","Ardeen","Ardelia","Ardelis","Ardella","Ardelle","Arden","Ardene","Ardenia","Ardine","Ardis","Ardisj","Ardith","Ardra","Ardyce","Ardys","Ardyth","Aretha","Ariadne","Ariana","Aridatha","Ariel","Ariela","Ariella","Arielle","Arlana","Arlee","Arleen","Arlen","Arlena","Arlene","Arleta","Arlette","Arleyne","Arlie","Arliene","Arlina","Arlinda","Arline","Arluene","Arly","Arlyn","Arlyne","Aryn","Ashely","Ashia","Ashien","Ashil","Ashla","Ashlan","Ashlee","Ashleigh","Ashlen","Ashley","Ashli","Ashlie","Ashly","Asia","Astra","Astrid","Astrix","Atalanta","Athena","Athene","Atlanta","Atlante","Auberta","Aubine","Aubree","Aubrette","Aubrey","Aubrie","Aubry","Audi","Audie","Audra","Audre","Audrey","Audrie","Audry","Audrye","Audy","Augusta","Auguste","Augustina","Augustine","Aundrea","Aura","Aurea","Aurel","Aurelea","Aurelia","Aurelie","Auria","Aurie","Aurilia","Aurlie","Auroora","Aurora","Aurore","Austin","Austina","Austine","Ava","Aveline","Averil","Averyl","Avie","Avis","Aviva","Avivah","Avril","Avrit","Ayn","Bab","Babara","Babb","Babbette","Babbie","Babette","Babita","Babs","Bambi","Bambie","Bamby","Barb","Barbabra","Barbara","Barbara-anne","Barbaraanne","Barbe","Barbee","Barbette","Barbey","Barbi","Barbie","Barbra","Barby","Bari","Barrie","Barry","Basia","Bathsheba","Batsheva","Bea","Beatrice","Beatrisa","Beatrix","Beatriz","Bebe","Becca","Becka","Becki","Beckie","Becky","Bee","Beilul","Beitris","Bekki","Bel","Belia","Belicia","Belinda","Belita","Bell","Bella","Bellanca","Belle","Bellina","Belva","Belvia","Bendite","Benedetta","Benedicta","Benedikta","Benetta","Benita","Benni","Bennie","Benny","Benoite","Berenice","Beret","Berget","Berna","Bernadene","Bernadette","Bernadina","Bernadine","Bernardina","Bernardine","Bernelle","Bernete","Bernetta","Bernette","Berni","Bernice","Bernie","Bernita","Berny","Berri","Berrie","Berry","Bert","Berta","Berte","Bertha","Berthe","Berti","Bertie","Bertina","Bertine","Berty","Beryl","Beryle","Bess","Bessie","Bessy","Beth","Bethanne","Bethany","Bethena","Bethina","Betsey","Betsy","Betta","Bette","Bette-ann","Betteann","Betteanne","Betti","Bettina","Bettine","Betty","Bettye","Beulah","Bev","Beverie","Beverlee","Beverley","Beverlie","Beverly","Bevvy","Bianca","Bianka","Bibbie","Bibby","Bibbye","Bibi","Biddie","Biddy","Bidget","Bili","Bill","Billi","Billie","Billy","Billye","Binni","Binnie","Binny","Bird","Birdie","Birgit","Birgitta","Blair","Blaire","Blake","Blakelee","Blakeley","Blanca","Blanch","Blancha","Blanche","Blinni","Blinnie","Blinny","Bliss","Blisse","Blithe","Blondell","Blondelle","Blondie","Blondy","Blythe","Bobbe","Bobbee","Bobbette","Bobbi","Bobbie","Bobby","Bobbye","Bobette","Bobina","Bobine","Bobinette","Bonita","Bonnee","Bonni","Bonnibelle","Bonnie","Bonny","Brana","Brandais","Brande","Brandea","Brandi","Brandice","Brandie","Brandise","Brandy","Breanne","Brear","Bree","Breena","Bren","Brena","Brenda","Brenn","Brenna","Brett","Bria","Briana","Brianna","Brianne","Bride","Bridget","Bridgette","Bridie","Brier","Brietta","Brigid","Brigida","Brigit","Brigitta","Brigitte","Brina","Briney","Brinn","Brinna","Briny","Brit","Brita","Britney","Britni","Britt","Britta","Brittan","Brittaney","Brittani","Brittany","Britte","Britteny","Brittne","Brittney","Brittni","Brook","Brooke","Brooks","Brunhilda","Brunhilde","Bryana","Bryn","Bryna","Brynn","Brynna","Brynne","Buffy","Bunni","Bunnie","Bunny","Cacilia","Cacilie","Cahra","Cairistiona","Caitlin","Caitrin","Cal","Calida","Calla","Calley","Calli","Callida","Callie","Cally","Calypso","Cam","Camala","Camel","Camella","Camellia","Cami","Camila","Camile","Camilla","Camille","Cammi","Cammie","Cammy","Candace","Candi","Candice","Candida","Candide","Candie","Candis","Candra","Candy","Caprice","Cara","Caralie","Caren","Carena","Caresa","Caressa","Caresse","Carey","Cari","Caria","Carie","Caril","Carilyn","Carin","Carina","Carine","Cariotta","Carissa","Carita","Caritta","Carla","Carlee","Carleen","Carlen","Carlene","Carley","Carlie","Carlin","Carlina","Carline","Carlita","Carlota","Carlotta","Carly","Carlye","Carlyn","Carlynn","Carlynne","Carma","Carmel","Carmela","Carmelia","Carmelina","Carmelita","Carmella","Carmelle","Carmen","Carmencita","Carmina","Carmine","Carmita","Carmon","Caro","Carol","Carol-jean","Carola","Carolan","Carolann","Carole","Carolee","Carolin","Carolina","Caroline","Caroljean","Carolyn","Carolyne","Carolynn","Caron","Carree","Carri","Carrie","Carrissa","Carroll","Carry","Cary","Caryl","Caryn","Casandra","Casey","Casi","Casie","Cass","Cassandra","Cassandre","Cassandry","Cassaundra","Cassey","Cassi","Cassie","Cassondra","Cassy","Catarina","Cate","Caterina","Catha","Catharina","Catharine","Cathe","Cathee","Catherin","Catherina","Catherine","Cathi","Cathie","Cathleen","Cathlene","Cathrin","Cathrine","Cathryn","Cathy","Cathyleen","Cati","Catie","Catina","Catlaina","Catlee","Catlin","Catrina","Catriona","Caty","Caye","Cayla","Cecelia","Cecil","Cecile","Ceciley","Cecilia","Cecilla","Cecily","Ceil","Cele","Celene","Celesta","Celeste","Celestia","Celestina","Celestine","Celestyn","Celestyna","Celia","Celie","Celina","Celinda","Celine","Celinka","Celisse","Celka","Celle","Cesya","Chad","Chanda","Chandal","Chandra","Channa","Chantal","Chantalle","Charil","Charin","Charis","Charissa","Charisse","Charita","Charity","Charla","Charlean","Charleen","Charlena","Charlene","Charline","Charlot","Charlotta","Charlotte","Charmain","Charmaine","Charmane","Charmian","Charmine","Charmion","Charo","Charyl","Chastity","Chelsae","Chelsea","Chelsey","Chelsie","Chelsy","Cher","Chere","Cherey","Cheri","Cherianne","Cherice","Cherida","Cherie","Cherilyn","Cherilynn","Cherin","Cherise","Cherish","Cherlyn","Cherri","Cherrita","Cherry","Chery","Cherye","Cheryl","Cheslie","Chiarra","Chickie","Chicky","Chiquia","Chiquita","Chlo","Chloe","Chloette","Chloris","Chris","Chrissie","Chrissy","Christa","Christabel","Christabella","Christal","Christalle","Christan","Christean","Christel","Christen","Christi","Christian","Christiana","Christiane","Christie","Christin","Christina","Christine","Christy","Christye","Christyna","Chrysa","Chrysler","Chrystal","Chryste","Chrystel","Cicely","Cicily","Ciel","Cilka","Cinda","Cindee","Cindelyn","Cinderella","Cindi","Cindie","Cindra","Cindy","Cinnamon","Cissiee","Cissy","Clair","Claire","Clara","Clarabelle","Clare","Claresta","Clareta","Claretta","Clarette","Clarey","Clari","Claribel","Clarice","Clarie","Clarinda","Clarine","Clarissa","Clarisse","Clarita","Clary","Claude","Claudelle","Claudetta","Claudette","Claudia","Claudie","Claudina","Claudine","Clea","Clem","Clemence","Clementia","Clementina","Clementine","Clemmie","Clemmy","Cleo","Cleopatra","Clerissa","Clio","Clo","Cloe","Cloris","Clotilda","Clovis","Codee","Codi","Codie","Cody","Coleen","Colene","Coletta","Colette","Colleen","Collen","Collete","Collette","Collie","Colline","Colly","Con","Concettina","Conchita","Concordia","Conni","Connie","Conny","Consolata","Constance","Constancia","Constancy","Constanta","Constantia","Constantina","Constantine","Consuela","Consuelo","Cookie","Cora","Corabel","Corabella","Corabelle","Coral","Coralie","Coraline","Coralyn","Cordelia","Cordelie","Cordey","Cordi","Cordie","Cordula","Cordy","Coreen","Corella","Corenda","Corene","Coretta","Corette","Corey","Cori","Corie","Corilla","Corina","Corine","Corinna","Corinne","Coriss","Corissa","Corliss","Corly","Cornela","Cornelia","Cornelle","Cornie","Corny","Correna","Correy","Corri","Corrianne","Corrie","Corrina","Corrine","Corrinne","Corry","Cortney","Cory","Cosetta","Cosette","Costanza","Courtenay","Courtnay","Courtney","Crin","Cris","Crissie","Crissy","Crista","Cristabel","Cristal","Cristen","Cristi","Cristie","Cristin","Cristina","Cristine","Cristionna","Cristy","Crysta","Crystal","Crystie","Cthrine","Cyb","Cybil","Cybill","Cymbre","Cynde","Cyndi","Cyndia","Cyndie","Cyndy","Cynthea","Cynthia","Cynthie","Cynthy","Dacey","Dacia","Dacie","Dacy","Dael","Daffi","Daffie","Daffy","Dagmar","Dahlia","Daile","Daisey","Daisi","Daisie","Daisy","Dale","Dalenna","Dalia","Dalila","Dallas","Daloris","Damara","Damaris","Damita","Dana","Danell","Danella","Danette","Dani","Dania","Danica","Danice","Daniela","Daniele","Daniella","Danielle","Danika","Danila","Danit","Danita","Danna","Danni","Dannie","Danny","Dannye","Danya","Danyelle","Danyette","Daphene","Daphna","Daphne","Dara","Darb","Darbie","Darby","Darcee","Darcey","Darci","Darcie","Darcy","Darda","Dareen","Darell","Darelle","Dari","Daria","Darice","Darla","Darleen","Darlene","Darline","Darlleen","Daron","Darrelle","Darryl","Darsey","Darsie","Darya","Daryl","Daryn","Dasha","Dasi","Dasie","Dasya","Datha","Daune","Daveen","Daveta","Davida","Davina","Davine","Davita","Dawn","Dawna","Dayle","Dayna","Ddene","De","Deana","Deane","Deanna","Deanne","Deb","Debbi","Debbie","Debby","Debee","Debera","Debi","Debor","Debora","Deborah","Debra","Dede","Dedie","Dedra","Dee","Deeann","Deeanne","Deedee","Deena","Deerdre","Deeyn","Dehlia","Deidre","Deina","Deirdre","Del","Dela","Delcina","Delcine","Delia","Delila","Delilah","Delinda","Dell","Della","Delly","Delora","Delores","Deloria","Deloris","Delphine","Delphinia","Demeter","Demetra","Demetria","Demetris","Dena","Deni","Denice","Denise","Denna","Denni","Dennie","Denny","Deny","Denys","Denyse","Deonne","Desdemona","Desirae","Desiree","Desiri","Deva","Devan","Devi","Devin","Devina","Devinne","Devon","Devondra","Devonna","Devonne","Devora","Di","Diahann","Dian","Diana","Diandra","Diane","Diane-marie","Dianemarie","Diann","Dianna","Dianne","Diannne","Didi","Dido","Diena","Dierdre","Dina","Dinah","Dinnie","Dinny","Dion","Dione","Dionis","Dionne","Dita","Dix","Dixie","Dniren","Dode","Dodi","Dodie","Dody","Doe","Doll","Dolley","Dolli","Dollie","Dolly","Dolores","Dolorita","Doloritas","Domeniga","Dominga","Domini","Dominica","Dominique","Dona","Donella","Donelle","Donetta","Donia","Donica","Donielle","Donna","Donnamarie","Donni","Donnie","Donny","Dora","Doralia","Doralin","Doralyn","Doralynn","Doralynne","Dore","Doreen","Dorelia","Dorella","Dorelle","Dorena","Dorene","Doretta","Dorette","Dorey","Dori","Doria","Dorian","Dorice","Dorie","Dorine","Doris","Dorisa","Dorise","Dorita","Doro","Dorolice","Dorolisa","Dorotea","Doroteya","Dorothea","Dorothee","Dorothy","Dorree","Dorri","Dorrie","Dorris","Dorry","Dorthea","Dorthy","Dory","Dosi","Dot","Doti","Dotti","Dottie","Dotty","Dre","Dreddy","Dredi","Drona","Dru","Druci","Drucie","Drucill","Drucy","Drusi","Drusie","Drusilla","Drusy","Dulce","Dulcea","Dulci","Dulcia","Dulciana","Dulcie","Dulcine","Dulcinea","Dulcy","Dulsea","Dusty","Dyan","Dyana","Dyane","Dyann","Dyanna","Dyanne","Dyna","Dynah","Eachelle","Eada","Eadie","Eadith","Ealasaid","Eartha","Easter","Eba","Ebba","Ebonee","Ebony","Eda","Eddi","Eddie","Eddy","Ede","Edee","Edeline","Eden","Edi","Edie","Edin","Edita","Edith","Editha","Edithe","Ediva","Edna","Edwina","Edy","Edyth","Edythe","Effie","Eileen","Eilis","Eimile","Eirena","Ekaterina","Elaina","Elaine","Elana","Elane","Elayne","Elberta","Elbertina","Elbertine","Eleanor","Eleanora","Eleanore","Electra","Eleen","Elena","Elene","Eleni","Elenore","Eleonora","Eleonore","Elfie","Elfreda","Elfrida","Elfrieda","Elga","Elianora","Elianore","Elicia","Elie","Elinor","Elinore","Elisa","Elisabet","Elisabeth","Elisabetta","Elise","Elisha","Elissa","Elita","Eliza","Elizabet","Elizabeth","Elka","Elke","Ella","Elladine","Elle","Ellen","Ellene","Ellette","Elli","Ellie","Ellissa","Elly","Ellyn","Ellynn","Elmira","Elna","Elnora","Elnore","Eloisa","Eloise","Elonore","Elora","Elsa","Elsbeth","Else","Elset","Elsey","Elsi","Elsie","Elsinore","Elspeth","Elsy","Elva","Elvera","Elvina","Elvira","Elwira","Elyn","Elyse","Elysee","Elysha","Elysia","Elyssa","Em","Ema","Emalee","Emalia","Emelda","Emelia","Emelina","Emeline","Emelita","Emelyne","Emera","Emilee","Emili","Emilia","Emilie","Emiline","Emily","Emlyn","Emlynn","Emlynne","Emma","Emmalee","Emmaline","Emmalyn","Emmalynn","Emmalynne","Emmeline","Emmey","Emmi","Emmie","Emmy","Emmye","Emogene","Emyle","Emylee","Engracia","Enid","Enrica","Enrichetta","Enrika","Enriqueta","Eolanda","Eolande","Eran","Erda","Erena","Erica","Ericha","Ericka","Erika","Erin","Erina","Erinn","Erinna","Erma","Ermengarde","Ermentrude","Ermina","Erminia","Erminie","Erna","Ernaline","Ernesta","Ernestine","Ertha","Eryn","Esma","Esmaria","Esme","Esmeralda","Essa","Essie","Essy","Esta","Estel","Estele","Estell","Estella","Estelle","Ester","Esther","Estrella","Estrellita","Ethel","Ethelda","Ethelin","Ethelind","Etheline","Ethelyn","Ethyl","Etta","Etti","Ettie","Etty","Eudora","Eugenia","Eugenie","Eugine","Eula","Eulalie","Eunice","Euphemia","Eustacia","Eva","Evaleen","Evangelia","Evangelin","Evangelina","Evangeline","Evania","Evanne","Eve","Eveleen","Evelina","Eveline","Evelyn","Evey","Evie","Evita","Evonne","Evvie","Evvy","Evy","Eyde","Eydie","Ezmeralda","Fae","Faina","Faith","Fallon","Fan","Fanchette","Fanchon","Fancie","Fancy","Fanechka","Fania","Fanni","Fannie","Fanny","Fanya","Fara","Farah","Farand","Farica","Farra","Farrah","Farrand","Faun","Faunie","Faustina","Faustine","Fawn","Fawne","Fawnia","Fay","Faydra","Faye","Fayette","Fayina","Fayre","Fayth","Faythe","Federica","Fedora","Felecia","Felicdad","Felice","Felicia","Felicity","Felicle","Felipa","Felisha","Felita","Feliza","Fenelia","Feodora","Ferdinanda","Ferdinande","Fern","Fernanda","Fernande","Fernandina","Ferne","Fey","Fiann","Fianna","Fidela","Fidelia","Fidelity","Fifi","Fifine","Filia","Filide","Filippa","Fina","Fiona","Fionna","Fionnula","Fiorenze","Fleur","Fleurette","Flo","Flor","Flora","Florance","Flore","Florella","Florence","Florencia","Florentia","Florenza","Florette","Flori","Floria","Florida","Florie","Florina","Florinda","Floris","Florri","Florrie","Florry","Flory","Flossi","Flossie","Flossy","Flss","Fran","Francene","Frances","Francesca","Francine","Francisca","Franciska","Francoise","Francyne","Frank","Frankie","Franky","Franni","Frannie","Franny","Frayda","Fred","Freda","Freddi","Freddie","Freddy","Fredelia","Frederica","Fredericka","Frederique","Fredi","Fredia","Fredra","Fredrika","Freida","Frieda","Friederike","Fulvia","Gabbey","Gabbi","Gabbie","Gabey","Gabi","Gabie","Gabriel","Gabriela","Gabriell","Gabriella","Gabrielle","Gabriellia","Gabrila","Gaby","Gae","Gael","Gail","Gale","Galina","Garland","Garnet","Garnette","Gates","Gavra","Gavrielle","Gay","Gaye","Gayel","Gayla","Gayle","Gayleen","Gaylene","Gaynor","Gelya","Gena","Gene","Geneva","Genevieve","Genevra","Genia","Genna","Genni","Gennie","Gennifer","Genny","Genovera","Genvieve","George","Georgeanna","Georgeanne","Georgena","Georgeta","Georgetta","Georgette","Georgia","Georgiana","Georgianna","Georgianne","Georgie","Georgina","Georgine","Geralda","Geraldine","Gerda","Gerhardine","Geri","Gerianna","Gerianne","Gerladina","Germain","Germaine","Germana","Gerri","Gerrie","Gerrilee","Gerry","Gert","Gerta","Gerti","Gertie","Gertrud","Gertruda","Gertrude","Gertrudis","Gerty","Giacinta","Giana","Gianina","Gianna","Gigi","Gilberta","Gilberte","Gilbertina","Gilbertine","Gilda","Gilemette","Gill","Gillan","Gilli","Gillian","Gillie","Gilligan","Gilly","Gina","Ginelle","Ginevra","Ginger","Ginni","Ginnie","Ginnifer","Ginny","Giorgia","Giovanna","Gipsy","Giralda","Gisela","Gisele","Gisella","Giselle","Giuditta","Giulia","Giulietta","Giustina","Gizela","Glad","Gladi","Gladys","Gleda","Glen","Glenda","Glenine","Glenn","Glenna","Glennie","Glennis","Glori","Gloria","Gloriana","Gloriane","Glory","Glyn","Glynda","Glynis","Glynnis","Gnni","Godiva","Golda","Goldarina","Goldi","Goldia","Goldie","Goldina","Goldy","Grace","Gracia","Gracie","Grata","Gratia","Gratiana","Gray","Grayce","Grazia","Greer","Greta","Gretal","Gretchen","Grete","Gretel","Grethel","Gretna","Gretta","Grier","Griselda","Grissel","Guendolen","Guenevere","Guenna","Guglielma","Gui","Guillema","Guillemette","Guinevere","Guinna","Gunilla","Gus","Gusella","Gussi","Gussie","Gussy","Gusta","Gusti","Gustie","Gusty","Gwen","Gwendolen","Gwendolin","Gwendolyn","Gweneth","Gwenette","Gwenneth","Gwenni","Gwennie","Gwenny","Gwenora","Gwenore","Gwyn","Gwyneth","Gwynne","Gypsy","Hadria","Hailee","Haily","Haleigh","Halette","Haley","Hali","Halie","Halimeda","Halley","Halli","Hallie","Hally","Hana","Hanna","Hannah","Hanni","Hannie","Hannis","Hanny","Happy","Harlene","Harley","Harli","Harlie","Harmonia","Harmonie","Harmony","Harri","Harrie","Harriet","Harriett","Harrietta","Harriette","Harriot","Harriott","Hatti","Hattie","Hatty","Hayley","Hazel","Heath","Heather","Heda","Hedda","Heddi","Heddie","Hedi","Hedvig","Hedvige","Hedwig","Hedwiga","Hedy","Heida","Heidi","Heidie","Helaina","Helaine","Helen","Helen-elizabeth","Helena","Helene","Helenka","Helga","Helge","Helli","Heloise","Helsa","Helyn","Hendrika","Henka","Henrie","Henrieta","Henrietta","Henriette","Henryetta","Hephzibah","Hermia","Hermina","Hermine","Herminia","Hermione","Herta","Hertha","Hester","Hesther","Hestia","Hetti","Hettie","Hetty","Hilary","Hilda","Hildagard","Hildagarde","Hilde","Hildegaard","Hildegarde","Hildy","Hillary","Hilliary","Hinda","Holli","Hollie","Holly","Holly-anne","Hollyanne","Honey","Honor","Honoria","Hope","Horatia","Hortense","Hortensia","Hulda","Hyacinth","Hyacintha","Hyacinthe","Hyacinthia","Hyacinthie","Hynda","Ianthe","Ibbie","Ibby","Ida","Idalia","Idalina","Idaline","Idell","Idelle","Idette","Ileana","Ileane","Ilene","Ilise","Ilka","Illa","Ilsa","Ilse","Ilysa","Ilyse","Ilyssa","Imelda","Imogen","Imogene","Imojean","Ina","Indira","Ines","Inesita","Inessa","Inez","Inga","Ingaberg","Ingaborg","Inge","Ingeberg","Ingeborg","Inger","Ingrid","Ingunna","Inna","Iolande","Iolanthe","Iona","Iormina","Ira","Irena","Irene","Irina","Iris","Irita","Irma","Isa","Isabel","Isabelita","Isabella","Isabelle","Isadora","Isahella","Iseabal","Isidora","Isis","Isobel","Issi","Issie","Issy","Ivett","Ivette","Ivie","Ivonne","Ivory","Ivy","Izabel","Jacenta","Jacinda","Jacinta","Jacintha","Jacinthe","Jackelyn","Jacki","Jackie","Jacklin","Jacklyn","Jackquelin","Jackqueline","Jacky","Jaclin","Jaclyn","Jacquelin","Jacqueline","Jacquelyn","Jacquelynn","Jacquenetta","Jacquenette","Jacquetta","Jacquette","Jacqui","Jacquie","Jacynth","Jada","Jade","Jaime","Jaimie","Jaine","Jami","Jamie","Jamima","Jammie","Jan","Jana","Janaya","Janaye","Jandy","Jane","Janean","Janeczka","Janeen","Janel","Janela","Janella","Janelle","Janene","Janenna","Janessa","Janet","Janeta","Janetta","Janette","Janeva","Janey","Jania","Janice","Janie","Janifer","Janina","Janine","Janis","Janith","Janka","Janna","Jannel","Jannelle","Janot","Jany","Jaquelin","Jaquelyn","Jaquenetta","Jaquenette","Jaquith","Jasmin","Jasmina","Jasmine","Jayme","Jaymee","Jayne","Jaynell","Jazmin","Jean","Jeana","Jeane","Jeanelle","Jeanette","Jeanie","Jeanine","Jeanna","Jeanne","Jeannette","Jeannie","Jeannine","Jehanna","Jelene","Jemie","Jemima","Jemimah","Jemmie","Jemmy","Jen","Jena","Jenda","Jenelle","Jeni","Jenica","Jeniece","Jenifer","Jeniffer","Jenilee","Jenine","Jenn","Jenna","Jennee","Jennette","Jenni","Jennica","Jennie","Jennifer","Jennilee","Jennine","Jenny","Jeralee","Jere","Jeri","Jermaine","Jerrie","Jerrilee","Jerrilyn","Jerrine","Jerry","Jerrylee","Jess","Jessa","Jessalin","Jessalyn","Jessamine","Jessamyn","Jesse","Jesselyn","Jessi","Jessica","Jessie","Jessika","Jessy","Jewel","Jewell","Jewelle","Jill","Jillana","Jillane","Jillayne","Jilleen","Jillene","Jilli","Jillian","Jillie","Jilly","Jinny","Jo","Jo-ann","Jo-anne","Joan","Joana","Joane","Joanie","Joann","Joanna","Joanne","Joannes","Jobey","Jobi","Jobie","Jobina","Joby","Jobye","Jobyna","Jocelin","Joceline","Jocelyn","Jocelyne","Jodee","Jodi","Jodie","Jody","Joeann","Joela","Joelie","Joell","Joella","Joelle","Joellen","Joelly","Joellyn","Joelynn","Joete","Joey","Johanna","Johannah","Johna","Johnath","Johnette","Johnna","Joice","Jojo","Jolee","Joleen","Jolene","Joletta","Joli","Jolie","Joline","Joly","Jolyn","Jolynn","Jonell","Joni","Jonie","Jonis","Jordain","Jordan","Jordana","Jordanna","Jorey","Jori","Jorie","Jorrie","Jorry","Joscelin","Josee","Josefa","Josefina","Josepha","Josephina","Josephine","Josey","Josi","Josie","Josselyn","Josy","Jourdan","Joy","Joya","Joyan","Joyann","Joyce","Joycelin","Joye","Jsandye","Juana","Juanita","Judi","Judie","Judith","Juditha","Judy","Judye","Juieta","Julee","Juli","Julia","Juliana","Juliane","Juliann","Julianna","Julianne","Julie","Julienne","Juliet","Julieta","Julietta","Juliette","Julina","Juline","Julissa","Julita","June","Junette","Junia","Junie","Junina","Justina","Justine","Justinn","Jyoti","Kacey","Kacie","Kacy","Kaela","Kai","Kaia","Kaila","Kaile","Kailey","Kaitlin","Kaitlyn","Kaitlynn","Kaja","Kakalina","Kala","Kaleena","Kali","Kalie","Kalila","Kalina","Kalinda","Kalindi","Kalli","Kally","Kameko","Kamila","Kamilah","Kamillah","Kandace","Kandy","Kania","Kanya","Kara","Kara-lynn","Karalee","Karalynn","Kare","Karee","Karel","Karen","Karena","Kari","Karia","Karie","Karil","Karilynn","Karin","Karina","Karine","Kariotta","Karisa","Karissa","Karita","Karla","Karlee","Karleen","Karlen","Karlene","Karlie","Karlotta","Karlotte","Karly","Karlyn","Karmen","Karna","Karol","Karola","Karole","Karolina","Karoline","Karoly","Karon","Karrah","Karrie","Karry","Kary","Karyl","Karylin","Karyn","Kasey","Kass","Kassandra","Kassey","Kassi","Kassia","Kassie","Kat","Kata","Katalin","Kate","Katee","Katerina","Katerine","Katey","Kath","Katha","Katharina","Katharine","Katharyn","Kathe","Katherina","Katherine","Katheryn","Kathi","Kathie","Kathleen","Kathlin","Kathrine","Kathryn","Kathryne","Kathy","Kathye","Kati","Katie","Katina","Katine","Katinka","Katleen","Katlin","Katrina","Katrine","Katrinka","Katti","Kattie","Katuscha","Katusha","Katy","Katya","Kay","Kaycee","Kaye","Kayla","Kayle","Kaylee","Kayley","Kaylil","Kaylyn","Keeley","Keelia","Keely","Kelcey","Kelci","Kelcie","Kelcy","Kelila","Kellen","Kelley","Kelli","Kellia","Kellie","Kellina","Kellsie","Kelly","Kellyann","Kelsey","Kelsi","Kelsy","Kendra","Kendre","Kenna","Keri","Keriann","Kerianne","Kerri","Kerrie","Kerrill","Kerrin","Kerry","Kerstin","Kesley","Keslie","Kessia","Kessiah","Ketti","Kettie","Ketty","Kevina","Kevyn","Ki","Kiah","Kial","Kiele","Kiersten","Kikelia","Kiley","Kim","Kimberlee","Kimberley","Kimberli","Kimberly","Kimberlyn","Kimbra","Kimmi","Kimmie","Kimmy","Kinna","Kip","Kipp","Kippie","Kippy","Kira","Kirbee","Kirbie","Kirby","Kiri","Kirsten","Kirsteni","Kirsti","Kirstin","Kirstyn","Kissee","Kissiah","Kissie","Kit","Kitti","Kittie","Kitty","Kizzee","Kizzie","Klara","Klarika","Klarrisa","Konstance","Konstanze","Koo","Kora","Koral","Koralle","Kordula","Kore","Korella","Koren","Koressa","Kori","Korie","Korney","Korrie","Korry","Kris","Krissie","Krissy","Krista","Kristal","Kristan","Kriste","Kristel","Kristen","Kristi","Kristien","Kristin","Kristina","Kristine","Kristy","Kristyn","Krysta","Krystal","Krystalle","Krystle","Krystyna","Kyla","Kyle","Kylen","Kylie","Kylila","Kylynn","Kym","Kynthia","Kyrstin","Lacee","Lacey","Lacie","Lacy","Ladonna","Laetitia","Laina","Lainey","Lana","Lanae","Lane","Lanette","Laney","Lani","Lanie","Lanita","Lanna","Lanni","Lanny","Lara","Laraine","Lari","Larina","Larine","Larisa","Larissa","Lark","Laryssa","Latashia","Latia","Latisha","Latrena","Latrina","Laura","Lauraine","Laural","Lauralee","Laure","Lauree","Laureen","Laurel","Laurella","Lauren","Laurena","Laurene","Lauretta","Laurette","Lauri","Laurianne","Laurice","Laurie","Lauryn","Lavena","Laverna","Laverne","Lavina","Lavinia","Lavinie","Layla","Layne","Layney","Lea","Leah","Leandra","Leann","Leanna","Leanor","Leanora","Lebbie","Leda","Lee","Leeann","Leeanne","Leela","Leelah","Leena","Leesa","Leese","Legra","Leia","Leigh","Leigha","Leila","Leilah","Leisha","Lela","Lelah","Leland","Lelia","Lena","Lenee","Lenette","Lenka","Lenna","Lenora","Lenore","Leodora","Leoine","Leola","Leoline","Leona","Leonanie","Leone","Leonelle","Leonie","Leonora","Leonore","Leontine","Leontyne","Leora","Leshia","Lesley","Lesli","Leslie","Lesly","Lesya","Leta","Lethia","Leticia","Letisha","Letitia","Letizia","Letta","Letti","Lettie","Letty","Lexi","Lexie","Lexine","Lexis","Lexy","Leyla","Lezlie","Lia","Lian","Liana","Liane","Lianna","Lianne","Lib","Libbey","Libbi","Libbie","Libby","Licha","Lida","Lidia","Liesa","Lil","Lila","Lilah","Lilas","Lilia","Lilian","Liliane","Lilias","Lilith","Lilla","Lilli","Lillian","Lillis","Lilllie","Lilly","Lily","Lilyan","Lin","Lina","Lind","Linda","Lindi","Lindie","Lindsay","Lindsey","Lindsy","Lindy","Linea","Linell","Linet","Linette","Linn","Linnea","Linnell","Linnet","Linnie","Linzy","Lira","Lisa","Lisabeth","Lisbeth","Lise","Lisetta","Lisette","Lisha","Lishe","Lissa","Lissi","Lissie","Lissy","Lita","Liuka","Liv","Liva","Livia","Livvie","Livvy","Livvyy","Livy","Liz","Liza","Lizabeth","Lizbeth","Lizette","Lizzie","Lizzy","Loella","Lois","Loise","Lola","Loleta","Lolita","Lolly","Lona","Lonee","Loni","Lonna","Lonni","Lonnie","Lora","Lorain","Loraine","Loralee","Loralie","Loralyn","Loree","Loreen","Lorelei","Lorelle","Loren","Lorena","Lorene","Lorenza","Loretta","Lorette","Lori","Loria","Lorianna","Lorianne","Lorie","Lorilee","Lorilyn","Lorinda","Lorine","Lorita","Lorna","Lorne","Lorraine","Lorrayne","Lorri","Lorrie","Lorrin","Lorry","Lory","Lotta","Lotte","Lotti","Lottie","Lotty","Lou","Louella","Louisa","Louise","Louisette","Loutitia","Lu","Luce","Luci","Lucia","Luciana","Lucie","Lucienne","Lucila","Lucilia","Lucille","Lucina","Lucinda","Lucine","Lucita","Lucky","Lucretia","Lucy","Ludovika","Luella","Luelle","Luisa","Luise","Lula","Lulita","Lulu","Lura","Lurette","Lurleen","Lurlene","Lurline","Lusa","Luz","Lyda","Lydia","Lydie","Lyn","Lynda","Lynde","Lyndel","Lyndell","Lyndsay","Lyndsey","Lyndsie","Lyndy","Lynea","Lynelle","Lynett","Lynette","Lynn","Lynna","Lynne","Lynnea","Lynnell","Lynnelle","Lynnet","Lynnett","Lynnette","Lynsey","Lyssa","Mab","Mabel","Mabelle","Mable","Mada","Madalena","Madalyn","Maddalena","Maddi","Maddie","Maddy","Madel","Madelaine","Madeleine","Madelena","Madelene","Madelin","Madelina","Madeline","Madella","Madelle","Madelon","Madelyn","Madge","Madlen","Madlin","Madonna","Mady","Mae","Maegan","Mag","Magda","Magdaia","Magdalen","Magdalena","Magdalene","Maggee","Maggi","Maggie","Maggy","Mahala","Mahalia","Maia","Maible","Maiga","Maighdiln","Mair","Maire","Maisey","Maisie","Maitilde","Mala","Malanie","Malena","Malia","Malina","Malinda","Malinde","Malissa","Malissia","Mallissa","Mallorie","Mallory","Malorie","Malory","Malva","Malvina","Malynda","Mame","Mamie","Manda","Mandi","Mandie","Mandy","Manon","Manya","Mara","Marabel","Marcela","Marcelia","Marcella","Marcelle","Marcellina","Marcelline","Marchelle","Marci","Marcia","Marcie","Marcile","Marcille","Marcy","Mareah","Maren","Marena","Maressa","Marga","Margalit","Margalo","Margaret","Margareta","Margarete","Margaretha","Margarethe","Margaretta","Margarette","Margarita","Margaux","Marge","Margeaux","Margery","Marget","Margette","Margi","Margie","Margit","Margo","Margot","Margret","Marguerite","Margy","Mari","Maria","Mariam","Marian","Mariana","Mariann","Marianna","Marianne","Maribel","Maribelle","Maribeth","Marice","Maridel","Marie","Marie-ann","Marie-jeanne","Marieann","Mariejeanne","Mariel","Mariele","Marielle","Mariellen","Marietta","Mariette","Marigold","Marijo","Marika","Marilee","Marilin","Marillin","Marilyn","Marin","Marina","Marinna","Marion","Mariquilla","Maris","Marisa","Mariska","Marissa","Marita","Maritsa","Mariya","Marj","Marja","Marje","Marji","Marjie","Marjorie","Marjory","Marjy","Marketa","Marla","Marlane","Marleah","Marlee","Marleen","Marlena","Marlene","Marley","Marlie","Marline","Marlo","Marlyn","Marna","Marne","Marney","Marni","Marnia","Marnie","Marquita","Marrilee","Marris","Marrissa","Marsha","Marsiella","Marta","Martelle","Martguerita","Martha","Marthe","Marthena","Marti","Martica","Martie","Martina","Martita","Marty","Martynne","Mary","Marya","Maryann","Maryanna","Maryanne","Marybelle","Marybeth","Maryellen","Maryjane","Maryjo","Maryl","Marylee","Marylin","Marylinda","Marylou","Marylynne","Maryrose","Marys","Marysa","Masha","Matelda","Mathilda","Mathilde","Matilda","Matilde","Matti","Mattie","Matty","Maud","Maude","Maudie","Maura","Maure","Maureen","Maureene","Maurene","Maurine","Maurise","Maurita","Maurizia","Mavis","Mavra","Max","Maxi","Maxie","Maxine","Maxy","May","Maybelle","Maye","Mead","Meade","Meagan","Meaghan","Meara","Mechelle","Meg","Megan","Megen","Meggi","Meggie","Meggy","Meghan","Meghann","Mehetabel","Mei","Mel","Mela","Melamie","Melania","Melanie","Melantha","Melany","Melba","Melesa","Melessa","Melicent","Melina","Melinda","Melinde","Melisa","Melisande","Melisandra","Melisenda","Melisent","Melissa","Melisse","Melita","Melitta","Mella","Melli","Mellicent","Mellie","Mellisa","Mellisent","Melloney","Melly","Melodee","Melodie","Melody","Melonie","Melony","Melosa","Melva","Mercedes","Merci","Mercie","Mercy","Meredith","Meredithe","Meridel","Meridith","Meriel","Merilee","Merilyn","Meris","Merissa","Merl","Merla","Merle","Merlina","Merline","Merna","Merola","Merralee","Merridie","Merrie","Merrielle","Merrile","Merrilee","Merrili","Merrill","Merrily","Merry","Mersey","Meryl","Meta","Mia","Micaela","Michaela","Michaelina","Michaeline","Michaella","Michal","Michel","Michele","Michelina","Micheline","Michell","Michelle","Micki","Mickie","Micky","Midge","Mignon","Mignonne","Miguela","Miguelita","Mikaela","Mil","Mildred","Mildrid","Milena","Milicent","Milissent","Milka","Milli","Millicent","Millie","Millisent","Milly","Milzie","Mimi","Min","Mina","Minda","Mindy","Minerva","Minetta","Minette","Minna","Minnaminnie","Minne","Minni","Minnie","Minnnie","Minny","Minta","Miquela","Mira","Mirabel","Mirabella","Mirabelle","Miran","Miranda","Mireielle","Mireille","Mirella","Mirelle","Miriam","Mirilla","Mirna","Misha","Missie","Missy","Misti","Misty","Mitzi","Modesta","Modestia","Modestine","Modesty","Moina","Moira","Moll","Mollee","Molli","Mollie","Molly","Mommy","Mona","Monah","Monica","Monika","Monique","Mora","Moreen","Morena","Morgan","Morgana","Morganica","Morganne","Morgen","Moria","Morissa","Morna","Moselle","Moyna","Moyra","Mozelle","Muffin","Mufi","Mufinella","Muire","Mureil","Murial","Muriel","Murielle","Myra","Myrah","Myranda","Myriam","Myrilla","Myrle","Myrlene","Myrna","Myrta","Myrtia","Myrtice","Myrtie","Myrtle","Nada","Nadean","Nadeen","Nadia","Nadine","Nadiya","Nady","Nadya","Nalani","Nan","Nana","Nananne","Nance","Nancee","Nancey","Nanci","Nancie","Nancy","Nanete","Nanette","Nani","Nanice","Nanine","Nannette","Nanni","Nannie","Nanny","Nanon","Naoma","Naomi","Nara","Nari","Nariko","Nat","Nata","Natala","Natalee","Natalie","Natalina","Nataline","Natalya","Natasha","Natassia","Nathalia","Nathalie","Natividad","Natka","Natty","Neala","Neda","Nedda","Nedi","Neely","Neila","Neile","Neilla","Neille","Nelia","Nelie","Nell","Nelle","Nelli","Nellie","Nelly","Nerissa","Nerita","Nert","Nerta","Nerte","Nerti","Nertie","Nerty","Nessa","Nessi","Nessie","Nessy","Nesta","Netta","Netti","Nettie","Nettle","Netty","Nevsa","Neysa","Nichol","Nichole","Nicholle","Nicki","Nickie","Nicky","Nicol","Nicola","Nicole","Nicolea","Nicolette","Nicoli","Nicolina","Nicoline","Nicolle","Nikaniki","Nike","Niki","Nikki","Nikkie","Nikoletta","Nikolia","Nina","Ninetta","Ninette","Ninnetta","Ninnette","Ninon","Nissa","Nisse","Nissie","Nissy","Nita","Nixie","Noami","Noel","Noelani","Noell","Noella","Noelle","Noellyn","Noelyn","Noemi","Nola","Nolana","Nolie","Nollie","Nomi","Nona","Nonah","Noni","Nonie","Nonna","Nonnah","Nora","Norah","Norean","Noreen","Norene","Norina","Norine","Norma","Norri","Norrie","Norry","Novelia","Nydia","Nyssa","Octavia","Odele","Odelia","Odelinda","Odella","Odelle","Odessa","Odetta","Odette","Odilia","Odille","Ofelia","Ofella","Ofilia","Ola","Olenka","Olga","Olia","Olimpia","Olive","Olivette","Olivia","Olivie","Oliy","Ollie","Olly","Olva","Olwen","Olympe","Olympia","Olympie","Ondrea","Oneida","Onida","Oona","Opal","Opalina","Opaline","Ophelia","Ophelie","Ora","Oralee","Oralia","Oralie","Oralla","Oralle","Orel","Orelee","Orelia","Orelie","Orella","Orelle","Oriana","Orly","Orsa","Orsola","Ortensia","Otha","Othelia","Othella","Othilia","Othilie","Ottilie","Page","Paige","Paloma","Pam","Pamela","Pamelina","Pamella","Pammi","Pammie","Pammy","Pandora","Pansie","Pansy","Paola","Paolina","Papagena","Pat","Patience","Patrica","Patrice","Patricia","Patrizia","Patsy","Patti","Pattie","Patty","Paula","Paule","Pauletta","Paulette","Pauli","Paulie","Paulina","Pauline","Paulita","Pauly","Pavia","Pavla","Pearl","Pearla","Pearle","Pearline","Peg","Pegeen","Peggi","Peggie","Peggy","Pen","Penelopa","Penelope","Penni","Pennie","Penny","Pepi","Pepita","Peri","Peria","Perl","Perla","Perle","Perri","Perrine","Perry","Persis","Pet","Peta","Petra","Petrina","Petronella","Petronia","Petronilla","Petronille","Petunia","Phaedra","Phaidra","Phebe","Phedra","Phelia","Phil","Philipa","Philippa","Philippe","Philippine","Philis","Phillida","Phillie","Phillis","Philly","Philomena","Phoebe","Phylis","Phyllida","Phyllis","Phyllys","Phylys","Pia","Pier","Pierette","Pierrette","Pietra","Piper","Pippa","Pippy","Polly","Pollyanna","Pooh","Poppy","Portia","Pris","Prisca","Priscella","Priscilla","Prissie","Pru","Prudence","Prudi","Prudy","Prue","Queenie","Quentin","Querida","Quinn","Quinta","Quintana","Quintilla","Quintina","Rachael","Rachel","Rachele","Rachelle","Rae","Raeann","Raf","Rafa","Rafaela","Rafaelia","Rafaelita","Rahal","Rahel","Raina","Raine","Rakel","Ralina","Ramona","Ramonda","Rana","Randa","Randee","Randene","Randi","Randie","Randy","Ranee","Rani","Rania","Ranice","Ranique","Ranna","Raphaela","Raquel","Raquela","Rasia","Rasla","Raven","Ray","Raychel","Raye","Rayna","Raynell","Rayshell","Rea","Reba","Rebbecca","Rebe","Rebeca","Rebecca","Rebecka","Rebeka","Rebekah","Rebekkah","Ree","Reeba","Reena","Reeta","Reeva","Regan","Reggi","Reggie","Regina","Regine","Reiko","Reina","Reine","Remy","Rena","Renae","Renata","Renate","Rene","Renee","Renell","Renelle","Renie","Rennie","Reta","Retha","Revkah","Rey","Reyna","Rhea","Rheba","Rheta","Rhetta","Rhiamon","Rhianna","Rhianon","Rhoda","Rhodia","Rhodie","Rhody","Rhona","Rhonda","Riane","Riannon","Rianon","Rica","Ricca","Rici","Ricki","Rickie","Ricky","Riki","Rikki","Rina","Risa","Rita","Riva","Rivalee","Rivi","Rivkah","Rivy","Roana","Roanna","Roanne","Robbi","Robbie","Robbin","Robby","Robbyn","Robena","Robenia","Roberta","Robin","Robina","Robinet","Robinett","Robinetta","Robinette","Robinia","Roby","Robyn","Roch","Rochell","Rochella","Rochelle","Rochette","Roda","Rodi","Rodie","Rodina","Rois","Romola","Romona","Romonda","Romy","Rona","Ronalda","Ronda","Ronica","Ronna","Ronni","Ronnica","Ronnie","Ronny","Roobbie","Rora","Rori","Rorie","Rory","Ros","Rosa","Rosabel","Rosabella","Rosabelle","Rosaleen","Rosalia","Rosalie","Rosalind","Rosalinda","Rosalinde","Rosaline","Rosalyn","Rosalynd","Rosamond","Rosamund","Rosana","Rosanna","Rosanne","Rose","Roseann","Roseanna","Roseanne","Roselia","Roselin","Roseline","Rosella","Roselle","Rosemaria","Rosemarie","Rosemary","Rosemonde","Rosene","Rosetta","Rosette","Roshelle","Rosie","Rosina","Rosita","Roslyn","Rosmunda","Rosy","Row","Rowe","Rowena","Roxana","Roxane","Roxanna","Roxanne","Roxi","Roxie","Roxine","Roxy","Roz","Rozalie","Rozalin","Rozamond","Rozanna","Rozanne","Roze","Rozele","Rozella","Rozelle","Rozina","Rubetta","Rubi","Rubia","Rubie","Rubina","Ruby","Ruperta","Ruth","Ruthann","Ruthanne","Ruthe","Ruthi","Ruthie","Ruthy","Ryann","Rycca","Saba","Sabina","Sabine","Sabra","Sabrina","Sacha","Sada","Sadella","Sadie","Sadye","Saidee","Sal","Salaidh","Sallee","Salli","Sallie","Sally","Sallyann","Sallyanne","Saloma","Salome","Salomi","Sam","Samantha","Samara","Samaria","Sammy","Sande","Sandi","Sandie","Sandra","Sandy","Sandye","Sapphira","Sapphire","Sara","Sara-ann","Saraann","Sarah","Sarajane","Saree","Sarena","Sarene","Sarette","Sari","Sarina","Sarine","Sarita","Sascha","Sasha","Sashenka","Saudra","Saundra","Savina","Sayre","Scarlet","Scarlett","Sean","Seana","Seka","Sela","Selena","Selene","Selestina","Selia","Selie","Selina","Selinda","Seline","Sella","Selle","Selma","Sena","Sephira","Serena","Serene","Shae","Shaina","Shaine","Shalna","Shalne","Shana","Shanda","Shandee","Shandeigh","Shandie","Shandra","Shandy","Shane","Shani","Shanie","Shanna","Shannah","Shannen","Shannon","Shanon","Shanta","Shantee","Shara","Sharai","Shari","Sharia","Sharity","Sharl","Sharla","Sharleen","Sharlene","Sharline","Sharon","Sharona","Sharron","Sharyl","Shaun","Shauna","Shawn","Shawna","Shawnee","Shay","Shayla","Shaylah","Shaylyn","Shaylynn","Shayna","Shayne","Shea","Sheba","Sheela","Sheelagh","Sheelah","Sheena","Sheeree","Sheila","Sheila-kathryn","Sheilah","Shel","Shela","Shelagh","Shelba","Shelbi","Shelby","Shelia","Shell","Shelley","Shelli","Shellie","Shelly","Shena","Sher","Sheree","Sheri","Sherie","Sherill","Sherilyn","Sherline","Sherri","Sherrie","Sherry","Sherye","Sheryl","Shina","Shir","Shirl","Shirlee","Shirleen","Shirlene","Shirley","Shirline","Shoshana","Shoshanna","Siana","Sianna","Sib","Sibbie","Sibby","Sibeal","Sibel","Sibella","Sibelle","Sibilla","Sibley","Sibyl","Sibylla","Sibylle","Sidoney","Sidonia","Sidonnie","Sigrid","Sile","Sileas","Silva","Silvana","Silvia","Silvie","Simona","Simone","Simonette","Simonne","Sindee","Siobhan","Sioux","Siouxie","Sisely","Sisile","Sissie","Sissy","Siusan","Sofia","Sofie","Sondra","Sonia","Sonja","Sonni","Sonnie","Sonnnie","Sonny","Sonya","Sophey","Sophi","Sophia","Sophie","Sophronia","Sorcha","Sosanna","Stace","Stacee","Stacey","Staci","Stacia","Stacie","Stacy","Stafani","Star","Starla","Starlene","Starlin","Starr","Stefa","Stefania","Stefanie","Steffane","Steffi","Steffie","Stella","Stepha","Stephana","Stephani","Stephanie","Stephannie","Stephenie","Stephi","Stephie","Stephine","Stesha","Stevana","Stevena","Stoddard","Storm","Stormi","Stormie","Stormy","Sue","Suellen","Sukey","Suki","Sula","Sunny","Sunshine","Susan","Susana","Susanetta","Susann","Susanna","Susannah","Susanne","Susette","Susi","Susie","Susy","Suzann","Suzanna","Suzanne","Suzette","Suzi","Suzie","Suzy","Sybil","Sybila","Sybilla","Sybille","Sybyl","Sydel","Sydelle","Sydney","Sylvia","Tabatha","Tabbatha","Tabbi","Tabbie","Tabbitha","Tabby","Tabina","Tabitha","Taffy","Talia","Tallia","Tallie","Tallou","Tallulah","Tally","Talya","Talyah","Tamar","Tamara","Tamarah","Tamarra","Tamera","Tami","Tamiko","Tamma","Tammara","Tammi","Tammie","Tammy","Tamqrah","Tamra","Tana","Tandi","Tandie","Tandy","Tanhya","Tani","Tania","Tanitansy","Tansy","Tanya","Tara","Tarah","Tarra","Tarrah","Taryn","Tasha","Tasia","Tate","Tatiana","Tatiania","Tatum","Tawnya","Tawsha","Ted","Tedda","Teddi","Teddie","Teddy","Tedi","Tedra","Teena","Teirtza","Teodora","Tera","Teresa","Terese","Teresina","Teresita","Teressa","Teri","Teriann","Terra","Terri","Terrie","Terrijo","Terry","Terrye","Tersina","Terza","Tess","Tessa","Tessi","Tessie","Tessy","Thalia","Thea","Theadora","Theda","Thekla","Thelma","Theo","Theodora","Theodosia","Theresa","Therese","Theresina","Theresita","Theressa","Therine","Thia","Thomasa","Thomasin","Thomasina","Thomasine","Tiena","Tierney","Tiertza","Tiff","Tiffani","Tiffanie","Tiffany","Tiffi","Tiffie","Tiffy","Tilda","Tildi","Tildie","Tildy","Tillie","Tilly","Tim","Timi","Timmi","Timmie","Timmy","Timothea","Tina","Tine","Tiphani","Tiphanie","Tiphany","Tish","Tisha","Tobe","Tobey","Tobi","Toby","Tobye","Toinette","Toma","Tomasina","Tomasine","Tomi","Tommi","Tommie","Tommy","Toni","Tonia","Tonie","Tony","Tonya","Tonye","Tootsie","Torey","Tori","Torie","Torrie","Tory","Tova","Tove","Tracee","Tracey","Traci","Tracie","Tracy","Trenna","Tresa","Trescha","Tressa","Tricia","Trina","Trish","Trisha","Trista","Trix","Trixi","Trixie","Trixy","Truda","Trude","Trudey","Trudi","Trudie","Trudy","Trula","Tuesday","Twila","Twyla","Tybi","Tybie","Tyne","Ula","Ulla","Ulrica","Ulrika","Ulrikaumeko","Ulrike","Umeko","Una","Ursa","Ursala","Ursola","Ursula","Ursulina","Ursuline","Uta","Val","Valaree","Valaria","Vale","Valeda","Valencia","Valene","Valenka","Valentia","Valentina","Valentine","Valera","Valeria","Valerie","Valery","Valerye","Valida","Valina","Valli","Vallie","Vally","Valma","Valry","Van","Vanda","Vanessa","Vania","Vanna","Vanni","Vannie","Vanny","Vanya","Veda","Velma","Velvet","Venita","Venus","Vera","Veradis","Vere","Verena","Verene","Veriee","Verile","Verina","Verine","Verla","Verna","Vernice","Veronica","Veronika","Veronike","Veronique","Vevay","Vi","Vicki","Vickie","Vicky","Victoria","Vida","Viki","Vikki","Vikky","Vilhelmina","Vilma","Vin","Vina","Vinita","Vinni","Vinnie","Vinny","Viola","Violante","Viole","Violet","Violetta","Violette","Virgie","Virgina","Virginia","Virginie","Vita","Vitia","Vitoria","Vittoria","Viv","Viva","Vivi","Vivia","Vivian","Viviana","Vivianna","Vivianne","Vivie","Vivien","Viviene","Vivienne","Viviyan","Vivyan","Vivyanne","Vonni","Vonnie","Vonny","Vyky","Wallie","Wallis","Walliw","Wally","Waly","Wanda","Wandie","Wandis","Waneta","Wanids","Wenda","Wendeline","Wendi","Wendie","Wendy","Wendye","Wenona","Wenonah","Whitney","Wileen","Wilhelmina","Wilhelmine","Wilie","Willa","Willabella","Willamina","Willetta","Willette","Willi","Willie","Willow","Willy","Willyt","Wilma","Wilmette","Wilona","Wilone","Wilow","Windy","Wini","Winifred","Winna","Winnah","Winne","Winni","Winnie","Winnifred","Winny","Winona","Winonah","Wren","Wrennie","Wylma","Wynn","Wynne","Wynnie","Wynny","Xaviera","Xena","Xenia","Xylia","Xylina","Yalonda","Yasmeen","Yasmin","Yelena","Yetta","Yettie","Yetty","Yevette","Ynes","Ynez","Yoko","Yolanda","Yolande","Yolane","Yolanthe","Yoshi","Yoshiko","Yovonnda","Ysabel","Yvette","Yvonne","Zabrina","Zahara","Zandra","Zaneta","Zara","Zarah","Zaria","Zarla","Zea","Zelda","Zelma","Zena","Zenia","Zia","Zilvia","Zita","Zitella","Zoe","Zola","Zonda","Zondra","Zonnya","Zora","Zorah","Zorana","Zorina","Zorine","Zsazsa","Zulema","Zuzana"],d=["Ackbar","Adi Gallia","Anakin Skywalker","Arvel Crynyd","Ayla Secura","Bail Prestor Organa","Barriss Offee","Ben Quadinaros","Beru Whitesun lars","Bib Fortuna","Biggs Darklighter","Boba Fett","Bossk","C-3PO","Chewbacca","Cliegg Lars","Cordé","Darth Maul","Darth Vader","Dexter Jettster","Dooku","Dormé","Dud Bolt","Eeth Koth","Finis Valorum","Gasgano","Greedo","Gregar Typho","Grievous","Han Solo","IG-88","Jabba Desilijic Tiure","Jango Fett","Jar Jar Binks","Jek Tono Porkins","Jocasta Nu","Ki-Adi-Mundi","Kit Fisto","Lama Su","Lando Calrissian","Leia Organa","Lobot","Luke Skywalker","Luminara Unduli","Mace Windu","Mas Amedda","Mon Mothma","Nien Nunb","Nute Gunray","Obi-Wan Kenobi","Owen Lars","Padmé Amidala","Palpatine","Plo Koon","Poggle the Lesser","Quarsh Panaka","Qui-Gon Jinn","R2-D2","R4-P17","R5-D4","Ratts Tyerel","Raymus Antilles","Ric Olié","Roos Tarpals","Rugor Nass","Saesee Tiin","San Hill","Sebulba","Shaak Ti","Shmi Skywalker","Sly Moore","Tarfful","Taun We","Tion Medon","Wat Tambor","Watto","Wedge Antilles","Wicket Systri Warrick","Wilhuff Tarkin","Yarael Poof","Yoda","Zam Wesell"];class y{static generate(a={}){let e=a.min||1,i=a.max||999;if(a.length){const n=Math.pow(10,a.length);return e=n/10,i=n-1,[`${Math.floor(Math.random()*(i-e))+e}`]}return[`${Math.floor(Math.random()*(i-e))+e}`]}}export{y as NumberDictionary,n as adjectives,l as animals,r as colors,t as countries,o as languages,s as names,d as starWars,i as uniqueNamesGenerator}; -//# sourceMappingURL=index.m.js.map diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.modern.js b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.modern.js deleted file mode 100644 index f10585b0c8..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.modern.js +++ /dev/null @@ -1,2 +0,0 @@ -function a(){return(a=Object.assign||function(a){for(var e=1;ethis.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries.\nLength provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);return this.dictionaries.slice(0,this.length).reduce((a,e)=>{let i=e[Math.floor((this.seed?(n=this.seed,(a=>{a=1831565813+(a|=0)|0;let e=Math.imul(a^a>>>15,1|a);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296})(n)):Math.random())*e.length)]||"";var n;if("lowerCase"===this.style)i=i.toLowerCase();else if("capital"===this.style){const[a,...e]=i.split("");i=a.toUpperCase()+e.join("")}else"upperCase"===this.style&&(i=i.toUpperCase());return a?`${a}${this.separator}${i}`:`${i}`},"")}}const i={separator:"_",dictionaries:[]},n=n=>{const l=[...n&&n.dictionaries||i.dictionaries],r=a({},i,n,{length:n&&n.length||l.length,dictionaries:l});if(!n||!n.dictionaries||!n.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new e(r).generate()};var l=["able","above","absent","absolute","abstract","abundant","academic","acceptable","accepted","accessible","accurate","accused","active","actual","acute","added","additional","adequate","adjacent","administrative","adorable","advanced","adverse","advisory","aesthetic","afraid","aggregate","aggressive","agreeable","agreed","agricultural","alert","alive","alleged","allied","alone","alright","alternative","amateur","amazing","ambitious","amused","ancient","angry","annoyed","annual","anonymous","anxious","appalling","apparent","applicable","appropriate","arbitrary","architectural","armed","arrogant","artificial","artistic","ashamed","asleep","assistant","associated","atomic","attractive","automatic","autonomous","available","average","awake","aware","awful","awkward","back","bad","balanced","bare","basic","beautiful","beneficial","better","bewildered","big","binding","biological","bitter","bizarre","blank","blind","blonde","bloody","blushing","boiling","bold","bored","boring","bottom","brainy","brave","breakable","breezy","brief","bright","brilliant","broad","broken","bumpy","burning","busy","calm","capable","capitalist","careful","casual","causal","cautious","central","certain","changing","characteristic","charming","cheap","cheerful","chemical","chief","chilly","chosen","christian","chronic","chubby","circular","civic","civil","civilian","classic","classical","clean","clear","clever","clinical","close","closed","cloudy","clumsy","coastal","cognitive","coherent","cold","collective","colonial","colorful","colossal","coloured","colourful","combative","combined","comfortable","coming","commercial","common","communist","compact","comparable","comparative","compatible","competent","competitive","complete","complex","complicated","comprehensive","compulsory","conceptual","concerned","concrete","condemned","confident","confidential","confused","conscious","conservation","conservative","considerable","consistent","constant","constitutional","contemporary","content","continental","continued","continuing","continuous","controlled","controversial","convenient","conventional","convinced","convincing","cooing","cool","cooperative","corporate","correct","corresponding","costly","courageous","crazy","creative","creepy","criminal","critical","crooked","crowded","crucial","crude","cruel","cuddly","cultural","curious","curly","current","curved","cute","daily","damaged","damp","dangerous","dark","dead","deaf","deafening","dear","decent","decisive","deep","defeated","defensive","defiant","definite","deliberate","delicate","delicious","delighted","delightful","democratic","dependent","depressed","desirable","desperate","detailed","determined","developed","developing","devoted","different","difficult","digital","diplomatic","direct","dirty","disabled","disappointed","disastrous","disciplinary","disgusted","distant","distinct","distinctive","distinguished","disturbed","disturbing","diverse","divine","dizzy","domestic","dominant","double","doubtful","drab","dramatic","dreadful","driving","drunk","dry","dual","due","dull","dusty","dutch","dying","dynamic","eager","early","eastern","easy","economic","educational","eerie","effective","efficient","elaborate","elated","elderly","eldest","electoral","electric","electrical","electronic","elegant","eligible","embarrassed","embarrassing","emotional","empirical","empty","enchanting","encouraging","endless","energetic","enormous","enthusiastic","entire","entitled","envious","environmental","equal","equivalent","essential","established","estimated","ethical","ethnic","eventual","everyday","evident","evil","evolutionary","exact","excellent","exceptional","excess","excessive","excited","exciting","exclusive","existing","exotic","expected","expensive","experienced","experimental","explicit","extended","extensive","external","extra","extraordinary","extreme","exuberant","faint","fair","faithful","familiar","famous","fancy","fantastic","far","fascinating","fashionable","fast","fat","fatal","favourable","favourite","federal","fellow","female","feminist","few","fierce","filthy","final","financial","fine","firm","fiscal","fit","fixed","flaky","flat","flexible","fluffy","fluttering","flying","following","fond","foolish","foreign","formal","formidable","forthcoming","fortunate","forward","fragile","frail","frantic","free","frequent","fresh","friendly","frightened","front","frozen","full","fun","functional","fundamental","funny","furious","future","fuzzy","gastric","gay","general","generous","genetic","gentle","genuine","geographical","giant","gigantic","given","glad","glamorous","gleaming","global","glorious","golden","good","gorgeous","gothic","governing","graceful","gradual","grand","grateful","greasy","great","grieving","grim","gross","grotesque","growing","grubby","grumpy","guilty","handicapped","handsome","happy","hard","harsh","head","healthy","heavy","helpful","helpless","hidden","high","hilarious","hissing","historic","historical","hollow","holy","homeless","homely","hon","honest","horizontal","horrible","hostile","hot","huge","human","hungry","hurt","hushed","husky","icy","ideal","identical","ideological","ill","illegal","imaginative","immediate","immense","imperial","implicit","important","impossible","impressed","impressive","improved","inadequate","inappropriate","inc","inclined","increased","increasing","incredible","independent","indirect","individual","industrial","inevitable","influential","informal","inherent","initial","injured","inland","inner","innocent","innovative","inquisitive","instant","institutional","insufficient","intact","integral","integrated","intellectual","intelligent","intense","intensive","interested","interesting","interim","interior","intermediate","internal","international","intimate","invisible","involved","irrelevant","isolated","itchy","jealous","jittery","joint","jolly","joyous","judicial","juicy","junior","just","keen","key","kind","known","labour","large","late","latin","lazy","leading","left","legal","legislative","legitimate","lengthy","lesser","level","lexical","liable","liberal","light","like","likely","limited","linear","linguistic","liquid","literary","little","live","lively","living","local","logical","lonely","long","loose","lost","loud","lovely","low","loyal","ltd","lucky","mad","magic","magnetic","magnificent","main","major","male","mammoth","managerial","managing","manual","many","marginal","marine","marked","married","marvellous","marxist","mass","massive","mathematical","mature","maximum","mean","meaningful","mechanical","medical","medieval","melodic","melted","mental","mere","metropolitan","mid","middle","mighty","mild","military","miniature","minimal","minimum","ministerial","minor","miserable","misleading","missing","misty","mixed","moaning","mobile","moderate","modern","modest","molecular","monetary","monthly","moral","motionless","muddy","multiple","mushy","musical","mute","mutual","mysterious","naked","narrow","nasty","national","native","natural","naughty","naval","near","nearby","neat","necessary","negative","neighbouring","nervous","net","neutral","new","nice","noble","noisy","normal","northern","nosy","notable","novel","nuclear","numerous","nursing","nutritious","nutty","obedient","objective","obliged","obnoxious","obvious","occasional","occupational","odd","official","ok","okay","old","olympic","only","open","operational","opposite","optimistic","oral","ordinary","organic","organisational","original","orthodox","other","outdoor","outer","outrageous","outside","outstanding","overall","overseas","overwhelming","painful","pale","panicky","parallel","parental","parliamentary","partial","particular","passing","passive","past","patient","payable","peaceful","peculiar","perfect","permanent","persistent","personal","petite","philosophical","physical","plain","planned","plastic","pleasant","pleased","poised","polite","political","poor","popular","positive","possible","potential","powerful","practical","precious","precise","preferred","pregnant","preliminary","premier","prepared","present","presidential","pretty","previous","prickly","primary","prime","primitive","principal","printed","prior","private","probable","productive","professional","profitable","profound","progressive","prominent","promising","proper","proposed","prospective","protective","protestant","proud","provincial","psychiatric","psychological","public","puny","pure","purring","puzzled","quaint","qualified","quarrelsome","querulous","quick","quickest","quiet","quintessential","quixotic","racial","radical","rainy","random","rapid","rare","raspy","rational","ratty","raw","ready","real","realistic","rear","reasonable","recent","reduced","redundant","regional","registered","regular","regulatory","related","relative","relaxed","relevant","reliable","relieved","religious","reluctant","remaining","remarkable","remote","renewed","representative","repulsive","required","resident","residential","resonant","respectable","respective","responsible","resulting","retail","retired","revolutionary","rich","ridiculous","right","rigid","ripe","rising","rival","roasted","robust","rolling","romantic","rotten","rough","round","royal","rubber","rude","ruling","running","rural","sacred","sad","safe","salty","satisfactory","satisfied","scared","scary","scattered","scientific","scornful","scrawny","screeching","secondary","secret","secure","select","selected","selective","selfish","semantic","senior","sensible","sensitive","separate","serious","severe","sexual","shaggy","shaky","shallow","shared","sharp","sheer","shiny","shivering","shocked","short","shrill","shy","sick","significant","silent","silky","silly","similar","simple","single","skilled","skinny","sleepy","slight","slim","slimy","slippery","slow","small","smart","smiling","smoggy","smooth","social","socialist","soft","solar","sole","solid","sophisticated","sore","sorry","sound","sour","southern","soviet","spare","sparkling","spatial","special","specific","specified","spectacular","spicy","spiritual","splendid","spontaneous","sporting","spotless","spotty","square","squealing","stable","stale","standard","static","statistical","statutory","steady","steep","sticky","stiff","still","stingy","stormy","straight","straightforward","strange","strategic","strict","striking","striped","strong","structural","stuck","stupid","subjective","subsequent","substantial","subtle","successful","successive","sudden","sufficient","suitable","sunny","super","superb","superior","supporting","supposed","supreme","sure","surprised","surprising","surrounding","surviving","suspicious","sweet","swift","symbolic","sympathetic","systematic","tall","tame","tart","tasteless","tasty","technical","technological","teenage","temporary","tender","tense","terrible","territorial","testy","then","theoretical","thick","thin","thirsty","thorough","thoughtful","thoughtless","thundering","tight","tiny","tired","top","tory","total","tough","toxic","traditional","tragic","tremendous","tricky","tropical","troubled","typical","ugliest","ugly","ultimate","unable","unacceptable","unaware","uncertain","unchanged","uncomfortable","unconscious","underground","underlying","unemployed","uneven","unexpected","unfair","unfortunate","unhappy","uniform","uninterested","unique","united","universal","unknown","unlikely","unnecessary","unpleasant","unsightly","unusual","unwilling","upper","upset","uptight","urban","urgent","used","useful","useless","usual","vague","valid","valuable","variable","varied","various","varying","vast","verbal","vertical","very","vicarious","vicious","victorious","violent","visible","visiting","visual","vital","vitreous","vivacious","vivid","vocal","vocational","voiceless","voluminous","voluntary","vulnerable","wandering","warm","wasteful","watery","weak","wealthy","weary","wee","weekly","weird","welcome","well","western","wet","whispering","whole","wicked","wide","widespread","wild","wilful","willing","willowy","wily","wise","wispy","wittering","witty","wonderful","wooden","working","worldwide","worried","worrying","worthwhile","worthy","written","wrong","xenacious","xenial","xenogeneic","xenophobic","xeric","xerothermic","yabbering","yammering","yappiest","yappy","yawning","yearling","yearning","yeasty","yelling","yelping","yielding","yodelling","young","youngest","youthful","ytterbic","yucky","yummy","zany","zealous","zeroth","zestful","zesty","zippy","zonal","zoophagous","zygomorphic","zygotic"],r=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],t=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"],o=["Afghanistan","Åland Islands","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica","Antigua & Barbuda","Argentina","Armenia","Aruba","Ascension Island","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia & Herzegovina","Botswana","Brazil","British Indian Ocean Territory","British Virgin Islands","Brunei","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Canary Islands","Cape Verde","Caribbean Netherlands","Cayman Islands","Central African Republic","Ceuta & Melilla","Chad","Chile","China","Christmas Island","Cocos Islands","Colombia","Comoros","Congo","Cook Islands","Costa Rica","Côte d'Ivoire","Croatia","Cuba","Curaçao","Cyprus","Czechia","Denmark","Diego Garcia","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Eurozone","Falkland Islands","Faroe Islands","Fiji","Finland","France","French Guiana","French Polynesia","French Southern Territories","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guinea","Guinea-Bissau","Guyana","Haiti","Honduras","Hong Kong SAR China","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Kosovo","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macau SAR China","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue","Norfolk Island","North Korea","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestinian Territories","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn Islands","Poland","Portugal","Puerto Rico","Qatar","Réunion","Romania","Russia","Rwanda","Samoa","San Marino","São Tomé & Príncipe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Sint Maarten","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Georgia & South Sandwich Islands","South Korea","South Sudan","Spain","Sri Lanka","St. Barthélemy","St. Helena","St. Kitts & Nevis","St. Lucia","St. Martin","St. Pierre & Miquelon","St. Vincent & Grenadines","Sudan","Suriname","Svalbard & Jan Mayen","Swaziland","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tokelau","Tonga","Trinidad & Tobago","Tristan da Cunha","Tunisia","Turkey","Turkmenistan","Turks & Caicos Islands","Tuvalu","U.S. Outlying Islands","U.S. Virgin Islands","Uganda","Ukraine","United Arab Emirates","United Kingdom","United Nations","United States","Uruguay","Uzbekistan","Vanuatu","Vatican City","Venezuela","Vietnam","Wallis & Futuna","Western Sahara","Yemen","Zambia","Zimbabwe"],s=["Akan","Amharic","Arabic","Assamese","Awadhi","Azerbaijani","Balochi","Belarusian","Bengali","Bhojpuri","Burmese","Cebuano","Chewa","Chhattisgarhi","Chittagonian","Czech","Deccan","Dhundhari","Dutch","English","French","Fula","Gan","German","Greek","Gujarati","Hakka","Haryanvi","Hausa","Hiligaynon","Hindi","Hmong","Hungarian","Igbo","Ilocano","Italian","Japanese","Javanese","Jin","Kannada","Kazakh","Khmer","Kinyarwanda","Kirundi","Konkani","Korean","Kurdish","Madurese","Magahi","Maithili","Malagasy","Malay","Malayalam","Mandarin","Marathi","Marwari","Min","Mossi","Nepali","Odia","Oromo","Pashto","Persian","Polish","Portuguese","Punjabi","Quechua","Romanian","Russian","Saraiki","Shona","Sindhi","Sinhala","Somali","Spanish","Sundanese","Swedish","Sylheti","Tagalog","Tamil","Telugu","Thai","Turkish","Turkmen","Ukrainian","Urdu","Uyghur","Uzbek","Vietnamese","Wu","Xhosa","Xiang","Yoruba","Yue","Zhuang","Zulu"],d=["Aaren","Aarika","Abagael","Abagail","Abbe","Abbey","Abbi","Abbie","Abby","Abbye","Abigael","Abigail","Abigale","Abra","Ada","Adah","Adaline","Adan","Adara","Adda","Addi","Addia","Addie","Addy","Adel","Adela","Adelaida","Adelaide","Adele","Adelheid","Adelice","Adelina","Adelind","Adeline","Adella","Adelle","Adena","Adey","Adi","Adiana","Adina","Adora","Adore","Adoree","Adorne","Adrea","Adria","Adriaens","Adrian","Adriana","Adriane","Adrianna","Adrianne","Adriena","Adrienne","Aeriel","Aeriela","Aeriell","Afton","Ag","Agace","Agata","Agatha","Agathe","Aggi","Aggie","Aggy","Agna","Agnella","Agnes","Agnese","Agnesse","Agneta","Agnola","Agretha","Aida","Aidan","Aigneis","Aila","Aile","Ailee","Aileen","Ailene","Ailey","Aili","Ailina","Ailis","Ailsun","Ailyn","Aime","Aimee","Aimil","Aindrea","Ainslee","Ainsley","Ainslie","Ajay","Alaine","Alameda","Alana","Alanah","Alane","Alanna","Alayne","Alberta","Albertina","Albertine","Albina","Alecia","Aleda","Aleece","Aleen","Alejandra","Alejandrina","Alena","Alene","Alessandra","Aleta","Alethea","Alex","Alexa","Alexandra","Alexandrina","Alexi","Alexia","Alexina","Alexine","Alexis","Alfi","Alfie","Alfreda","Alfy","Ali","Alia","Alica","Alice","Alicea","Alicia","Alida","Alidia","Alie","Alika","Alikee","Alina","Aline","Alis","Alisa","Alisha","Alison","Alissa","Alisun","Alix","Aliza","Alla","Alleen","Allegra","Allene","Alli","Allianora","Allie","Allina","Allis","Allison","Allissa","Allix","Allsun","Allx","Ally","Allyce","Allyn","Allys","Allyson","Alma","Almeda","Almeria","Almeta","Almira","Almire","Aloise","Aloisia","Aloysia","Alta","Althea","Alvera","Alverta","Alvina","Alvinia","Alvira","Alyce","Alyda","Alys","Alysa","Alyse","Alysia","Alyson","Alyss","Alyssa","Amabel","Amabelle","Amalea","Amalee","Amaleta","Amalia","Amalie","Amalita","Amalle","Amanda","Amandi","Amandie","Amandy","Amara","Amargo","Amata","Amber","Amberly","Ambur","Ame","Amelia","Amelie","Amelina","Ameline","Amelita","Ami","Amie","Amii","Amil","Amitie","Amity","Ammamaria","Amy","Amye","Ana","Anabal","Anabel","Anabella","Anabelle","Analiese","Analise","Anallese","Anallise","Anastasia","Anastasie","Anastassia","Anatola","Andee","Andeee","Anderea","Andi","Andie","Andra","Andrea","Andreana","Andree","Andrei","Andria","Andriana","Andriette","Andromache","Andy","Anestassia","Anet","Anett","Anetta","Anette","Ange","Angel","Angela","Angele","Angelia","Angelica","Angelika","Angelina","Angeline","Angelique","Angelita","Angelle","Angie","Angil","Angy","Ania","Anica","Anissa","Anita","Anitra","Anjanette","Anjela","Ann","Ann-marie","Anna","Anna-diana","Anna-diane","Anna-maria","Annabal","Annabel","Annabela","Annabell","Annabella","Annabelle","Annadiana","Annadiane","Annalee","Annaliese","Annalise","Annamaria","Annamarie","Anne","Anne-corinne","Anne-marie","Annecorinne","Anneliese","Annelise","Annemarie","Annetta","Annette","Anni","Annice","Annie","Annis","Annissa","Annmaria","Annmarie","Annnora","Annora","Anny","Anselma","Ansley","Anstice","Anthe","Anthea","Anthia","Anthiathia","Antoinette","Antonella","Antonetta","Antonia","Antonie","Antonietta","Antonina","Anya","Appolonia","April","Aprilette","Ara","Arabel","Arabela","Arabele","Arabella","Arabelle","Arda","Ardath","Ardeen","Ardelia","Ardelis","Ardella","Ardelle","Arden","Ardene","Ardenia","Ardine","Ardis","Ardisj","Ardith","Ardra","Ardyce","Ardys","Ardyth","Aretha","Ariadne","Ariana","Aridatha","Ariel","Ariela","Ariella","Arielle","Arlana","Arlee","Arleen","Arlen","Arlena","Arlene","Arleta","Arlette","Arleyne","Arlie","Arliene","Arlina","Arlinda","Arline","Arluene","Arly","Arlyn","Arlyne","Aryn","Ashely","Ashia","Ashien","Ashil","Ashla","Ashlan","Ashlee","Ashleigh","Ashlen","Ashley","Ashli","Ashlie","Ashly","Asia","Astra","Astrid","Astrix","Atalanta","Athena","Athene","Atlanta","Atlante","Auberta","Aubine","Aubree","Aubrette","Aubrey","Aubrie","Aubry","Audi","Audie","Audra","Audre","Audrey","Audrie","Audry","Audrye","Audy","Augusta","Auguste","Augustina","Augustine","Aundrea","Aura","Aurea","Aurel","Aurelea","Aurelia","Aurelie","Auria","Aurie","Aurilia","Aurlie","Auroora","Aurora","Aurore","Austin","Austina","Austine","Ava","Aveline","Averil","Averyl","Avie","Avis","Aviva","Avivah","Avril","Avrit","Ayn","Bab","Babara","Babb","Babbette","Babbie","Babette","Babita","Babs","Bambi","Bambie","Bamby","Barb","Barbabra","Barbara","Barbara-anne","Barbaraanne","Barbe","Barbee","Barbette","Barbey","Barbi","Barbie","Barbra","Barby","Bari","Barrie","Barry","Basia","Bathsheba","Batsheva","Bea","Beatrice","Beatrisa","Beatrix","Beatriz","Bebe","Becca","Becka","Becki","Beckie","Becky","Bee","Beilul","Beitris","Bekki","Bel","Belia","Belicia","Belinda","Belita","Bell","Bella","Bellanca","Belle","Bellina","Belva","Belvia","Bendite","Benedetta","Benedicta","Benedikta","Benetta","Benita","Benni","Bennie","Benny","Benoite","Berenice","Beret","Berget","Berna","Bernadene","Bernadette","Bernadina","Bernadine","Bernardina","Bernardine","Bernelle","Bernete","Bernetta","Bernette","Berni","Bernice","Bernie","Bernita","Berny","Berri","Berrie","Berry","Bert","Berta","Berte","Bertha","Berthe","Berti","Bertie","Bertina","Bertine","Berty","Beryl","Beryle","Bess","Bessie","Bessy","Beth","Bethanne","Bethany","Bethena","Bethina","Betsey","Betsy","Betta","Bette","Bette-ann","Betteann","Betteanne","Betti","Bettina","Bettine","Betty","Bettye","Beulah","Bev","Beverie","Beverlee","Beverley","Beverlie","Beverly","Bevvy","Bianca","Bianka","Bibbie","Bibby","Bibbye","Bibi","Biddie","Biddy","Bidget","Bili","Bill","Billi","Billie","Billy","Billye","Binni","Binnie","Binny","Bird","Birdie","Birgit","Birgitta","Blair","Blaire","Blake","Blakelee","Blakeley","Blanca","Blanch","Blancha","Blanche","Blinni","Blinnie","Blinny","Bliss","Blisse","Blithe","Blondell","Blondelle","Blondie","Blondy","Blythe","Bobbe","Bobbee","Bobbette","Bobbi","Bobbie","Bobby","Bobbye","Bobette","Bobina","Bobine","Bobinette","Bonita","Bonnee","Bonni","Bonnibelle","Bonnie","Bonny","Brana","Brandais","Brande","Brandea","Brandi","Brandice","Brandie","Brandise","Brandy","Breanne","Brear","Bree","Breena","Bren","Brena","Brenda","Brenn","Brenna","Brett","Bria","Briana","Brianna","Brianne","Bride","Bridget","Bridgette","Bridie","Brier","Brietta","Brigid","Brigida","Brigit","Brigitta","Brigitte","Brina","Briney","Brinn","Brinna","Briny","Brit","Brita","Britney","Britni","Britt","Britta","Brittan","Brittaney","Brittani","Brittany","Britte","Britteny","Brittne","Brittney","Brittni","Brook","Brooke","Brooks","Brunhilda","Brunhilde","Bryana","Bryn","Bryna","Brynn","Brynna","Brynne","Buffy","Bunni","Bunnie","Bunny","Cacilia","Cacilie","Cahra","Cairistiona","Caitlin","Caitrin","Cal","Calida","Calla","Calley","Calli","Callida","Callie","Cally","Calypso","Cam","Camala","Camel","Camella","Camellia","Cami","Camila","Camile","Camilla","Camille","Cammi","Cammie","Cammy","Candace","Candi","Candice","Candida","Candide","Candie","Candis","Candra","Candy","Caprice","Cara","Caralie","Caren","Carena","Caresa","Caressa","Caresse","Carey","Cari","Caria","Carie","Caril","Carilyn","Carin","Carina","Carine","Cariotta","Carissa","Carita","Caritta","Carla","Carlee","Carleen","Carlen","Carlene","Carley","Carlie","Carlin","Carlina","Carline","Carlita","Carlota","Carlotta","Carly","Carlye","Carlyn","Carlynn","Carlynne","Carma","Carmel","Carmela","Carmelia","Carmelina","Carmelita","Carmella","Carmelle","Carmen","Carmencita","Carmina","Carmine","Carmita","Carmon","Caro","Carol","Carol-jean","Carola","Carolan","Carolann","Carole","Carolee","Carolin","Carolina","Caroline","Caroljean","Carolyn","Carolyne","Carolynn","Caron","Carree","Carri","Carrie","Carrissa","Carroll","Carry","Cary","Caryl","Caryn","Casandra","Casey","Casi","Casie","Cass","Cassandra","Cassandre","Cassandry","Cassaundra","Cassey","Cassi","Cassie","Cassondra","Cassy","Catarina","Cate","Caterina","Catha","Catharina","Catharine","Cathe","Cathee","Catherin","Catherina","Catherine","Cathi","Cathie","Cathleen","Cathlene","Cathrin","Cathrine","Cathryn","Cathy","Cathyleen","Cati","Catie","Catina","Catlaina","Catlee","Catlin","Catrina","Catriona","Caty","Caye","Cayla","Cecelia","Cecil","Cecile","Ceciley","Cecilia","Cecilla","Cecily","Ceil","Cele","Celene","Celesta","Celeste","Celestia","Celestina","Celestine","Celestyn","Celestyna","Celia","Celie","Celina","Celinda","Celine","Celinka","Celisse","Celka","Celle","Cesya","Chad","Chanda","Chandal","Chandra","Channa","Chantal","Chantalle","Charil","Charin","Charis","Charissa","Charisse","Charita","Charity","Charla","Charlean","Charleen","Charlena","Charlene","Charline","Charlot","Charlotta","Charlotte","Charmain","Charmaine","Charmane","Charmian","Charmine","Charmion","Charo","Charyl","Chastity","Chelsae","Chelsea","Chelsey","Chelsie","Chelsy","Cher","Chere","Cherey","Cheri","Cherianne","Cherice","Cherida","Cherie","Cherilyn","Cherilynn","Cherin","Cherise","Cherish","Cherlyn","Cherri","Cherrita","Cherry","Chery","Cherye","Cheryl","Cheslie","Chiarra","Chickie","Chicky","Chiquia","Chiquita","Chlo","Chloe","Chloette","Chloris","Chris","Chrissie","Chrissy","Christa","Christabel","Christabella","Christal","Christalle","Christan","Christean","Christel","Christen","Christi","Christian","Christiana","Christiane","Christie","Christin","Christina","Christine","Christy","Christye","Christyna","Chrysa","Chrysler","Chrystal","Chryste","Chrystel","Cicely","Cicily","Ciel","Cilka","Cinda","Cindee","Cindelyn","Cinderella","Cindi","Cindie","Cindra","Cindy","Cinnamon","Cissiee","Cissy","Clair","Claire","Clara","Clarabelle","Clare","Claresta","Clareta","Claretta","Clarette","Clarey","Clari","Claribel","Clarice","Clarie","Clarinda","Clarine","Clarissa","Clarisse","Clarita","Clary","Claude","Claudelle","Claudetta","Claudette","Claudia","Claudie","Claudina","Claudine","Clea","Clem","Clemence","Clementia","Clementina","Clementine","Clemmie","Clemmy","Cleo","Cleopatra","Clerissa","Clio","Clo","Cloe","Cloris","Clotilda","Clovis","Codee","Codi","Codie","Cody","Coleen","Colene","Coletta","Colette","Colleen","Collen","Collete","Collette","Collie","Colline","Colly","Con","Concettina","Conchita","Concordia","Conni","Connie","Conny","Consolata","Constance","Constancia","Constancy","Constanta","Constantia","Constantina","Constantine","Consuela","Consuelo","Cookie","Cora","Corabel","Corabella","Corabelle","Coral","Coralie","Coraline","Coralyn","Cordelia","Cordelie","Cordey","Cordi","Cordie","Cordula","Cordy","Coreen","Corella","Corenda","Corene","Coretta","Corette","Corey","Cori","Corie","Corilla","Corina","Corine","Corinna","Corinne","Coriss","Corissa","Corliss","Corly","Cornela","Cornelia","Cornelle","Cornie","Corny","Correna","Correy","Corri","Corrianne","Corrie","Corrina","Corrine","Corrinne","Corry","Cortney","Cory","Cosetta","Cosette","Costanza","Courtenay","Courtnay","Courtney","Crin","Cris","Crissie","Crissy","Crista","Cristabel","Cristal","Cristen","Cristi","Cristie","Cristin","Cristina","Cristine","Cristionna","Cristy","Crysta","Crystal","Crystie","Cthrine","Cyb","Cybil","Cybill","Cymbre","Cynde","Cyndi","Cyndia","Cyndie","Cyndy","Cynthea","Cynthia","Cynthie","Cynthy","Dacey","Dacia","Dacie","Dacy","Dael","Daffi","Daffie","Daffy","Dagmar","Dahlia","Daile","Daisey","Daisi","Daisie","Daisy","Dale","Dalenna","Dalia","Dalila","Dallas","Daloris","Damara","Damaris","Damita","Dana","Danell","Danella","Danette","Dani","Dania","Danica","Danice","Daniela","Daniele","Daniella","Danielle","Danika","Danila","Danit","Danita","Danna","Danni","Dannie","Danny","Dannye","Danya","Danyelle","Danyette","Daphene","Daphna","Daphne","Dara","Darb","Darbie","Darby","Darcee","Darcey","Darci","Darcie","Darcy","Darda","Dareen","Darell","Darelle","Dari","Daria","Darice","Darla","Darleen","Darlene","Darline","Darlleen","Daron","Darrelle","Darryl","Darsey","Darsie","Darya","Daryl","Daryn","Dasha","Dasi","Dasie","Dasya","Datha","Daune","Daveen","Daveta","Davida","Davina","Davine","Davita","Dawn","Dawna","Dayle","Dayna","Ddene","De","Deana","Deane","Deanna","Deanne","Deb","Debbi","Debbie","Debby","Debee","Debera","Debi","Debor","Debora","Deborah","Debra","Dede","Dedie","Dedra","Dee","Deeann","Deeanne","Deedee","Deena","Deerdre","Deeyn","Dehlia","Deidre","Deina","Deirdre","Del","Dela","Delcina","Delcine","Delia","Delila","Delilah","Delinda","Dell","Della","Delly","Delora","Delores","Deloria","Deloris","Delphine","Delphinia","Demeter","Demetra","Demetria","Demetris","Dena","Deni","Denice","Denise","Denna","Denni","Dennie","Denny","Deny","Denys","Denyse","Deonne","Desdemona","Desirae","Desiree","Desiri","Deva","Devan","Devi","Devin","Devina","Devinne","Devon","Devondra","Devonna","Devonne","Devora","Di","Diahann","Dian","Diana","Diandra","Diane","Diane-marie","Dianemarie","Diann","Dianna","Dianne","Diannne","Didi","Dido","Diena","Dierdre","Dina","Dinah","Dinnie","Dinny","Dion","Dione","Dionis","Dionne","Dita","Dix","Dixie","Dniren","Dode","Dodi","Dodie","Dody","Doe","Doll","Dolley","Dolli","Dollie","Dolly","Dolores","Dolorita","Doloritas","Domeniga","Dominga","Domini","Dominica","Dominique","Dona","Donella","Donelle","Donetta","Donia","Donica","Donielle","Donna","Donnamarie","Donni","Donnie","Donny","Dora","Doralia","Doralin","Doralyn","Doralynn","Doralynne","Dore","Doreen","Dorelia","Dorella","Dorelle","Dorena","Dorene","Doretta","Dorette","Dorey","Dori","Doria","Dorian","Dorice","Dorie","Dorine","Doris","Dorisa","Dorise","Dorita","Doro","Dorolice","Dorolisa","Dorotea","Doroteya","Dorothea","Dorothee","Dorothy","Dorree","Dorri","Dorrie","Dorris","Dorry","Dorthea","Dorthy","Dory","Dosi","Dot","Doti","Dotti","Dottie","Dotty","Dre","Dreddy","Dredi","Drona","Dru","Druci","Drucie","Drucill","Drucy","Drusi","Drusie","Drusilla","Drusy","Dulce","Dulcea","Dulci","Dulcia","Dulciana","Dulcie","Dulcine","Dulcinea","Dulcy","Dulsea","Dusty","Dyan","Dyana","Dyane","Dyann","Dyanna","Dyanne","Dyna","Dynah","Eachelle","Eada","Eadie","Eadith","Ealasaid","Eartha","Easter","Eba","Ebba","Ebonee","Ebony","Eda","Eddi","Eddie","Eddy","Ede","Edee","Edeline","Eden","Edi","Edie","Edin","Edita","Edith","Editha","Edithe","Ediva","Edna","Edwina","Edy","Edyth","Edythe","Effie","Eileen","Eilis","Eimile","Eirena","Ekaterina","Elaina","Elaine","Elana","Elane","Elayne","Elberta","Elbertina","Elbertine","Eleanor","Eleanora","Eleanore","Electra","Eleen","Elena","Elene","Eleni","Elenore","Eleonora","Eleonore","Elfie","Elfreda","Elfrida","Elfrieda","Elga","Elianora","Elianore","Elicia","Elie","Elinor","Elinore","Elisa","Elisabet","Elisabeth","Elisabetta","Elise","Elisha","Elissa","Elita","Eliza","Elizabet","Elizabeth","Elka","Elke","Ella","Elladine","Elle","Ellen","Ellene","Ellette","Elli","Ellie","Ellissa","Elly","Ellyn","Ellynn","Elmira","Elna","Elnora","Elnore","Eloisa","Eloise","Elonore","Elora","Elsa","Elsbeth","Else","Elset","Elsey","Elsi","Elsie","Elsinore","Elspeth","Elsy","Elva","Elvera","Elvina","Elvira","Elwira","Elyn","Elyse","Elysee","Elysha","Elysia","Elyssa","Em","Ema","Emalee","Emalia","Emelda","Emelia","Emelina","Emeline","Emelita","Emelyne","Emera","Emilee","Emili","Emilia","Emilie","Emiline","Emily","Emlyn","Emlynn","Emlynne","Emma","Emmalee","Emmaline","Emmalyn","Emmalynn","Emmalynne","Emmeline","Emmey","Emmi","Emmie","Emmy","Emmye","Emogene","Emyle","Emylee","Engracia","Enid","Enrica","Enrichetta","Enrika","Enriqueta","Eolanda","Eolande","Eran","Erda","Erena","Erica","Ericha","Ericka","Erika","Erin","Erina","Erinn","Erinna","Erma","Ermengarde","Ermentrude","Ermina","Erminia","Erminie","Erna","Ernaline","Ernesta","Ernestine","Ertha","Eryn","Esma","Esmaria","Esme","Esmeralda","Essa","Essie","Essy","Esta","Estel","Estele","Estell","Estella","Estelle","Ester","Esther","Estrella","Estrellita","Ethel","Ethelda","Ethelin","Ethelind","Etheline","Ethelyn","Ethyl","Etta","Etti","Ettie","Etty","Eudora","Eugenia","Eugenie","Eugine","Eula","Eulalie","Eunice","Euphemia","Eustacia","Eva","Evaleen","Evangelia","Evangelin","Evangelina","Evangeline","Evania","Evanne","Eve","Eveleen","Evelina","Eveline","Evelyn","Evey","Evie","Evita","Evonne","Evvie","Evvy","Evy","Eyde","Eydie","Ezmeralda","Fae","Faina","Faith","Fallon","Fan","Fanchette","Fanchon","Fancie","Fancy","Fanechka","Fania","Fanni","Fannie","Fanny","Fanya","Fara","Farah","Farand","Farica","Farra","Farrah","Farrand","Faun","Faunie","Faustina","Faustine","Fawn","Fawne","Fawnia","Fay","Faydra","Faye","Fayette","Fayina","Fayre","Fayth","Faythe","Federica","Fedora","Felecia","Felicdad","Felice","Felicia","Felicity","Felicle","Felipa","Felisha","Felita","Feliza","Fenelia","Feodora","Ferdinanda","Ferdinande","Fern","Fernanda","Fernande","Fernandina","Ferne","Fey","Fiann","Fianna","Fidela","Fidelia","Fidelity","Fifi","Fifine","Filia","Filide","Filippa","Fina","Fiona","Fionna","Fionnula","Fiorenze","Fleur","Fleurette","Flo","Flor","Flora","Florance","Flore","Florella","Florence","Florencia","Florentia","Florenza","Florette","Flori","Floria","Florida","Florie","Florina","Florinda","Floris","Florri","Florrie","Florry","Flory","Flossi","Flossie","Flossy","Flss","Fran","Francene","Frances","Francesca","Francine","Francisca","Franciska","Francoise","Francyne","Frank","Frankie","Franky","Franni","Frannie","Franny","Frayda","Fred","Freda","Freddi","Freddie","Freddy","Fredelia","Frederica","Fredericka","Frederique","Fredi","Fredia","Fredra","Fredrika","Freida","Frieda","Friederike","Fulvia","Gabbey","Gabbi","Gabbie","Gabey","Gabi","Gabie","Gabriel","Gabriela","Gabriell","Gabriella","Gabrielle","Gabriellia","Gabrila","Gaby","Gae","Gael","Gail","Gale","Galina","Garland","Garnet","Garnette","Gates","Gavra","Gavrielle","Gay","Gaye","Gayel","Gayla","Gayle","Gayleen","Gaylene","Gaynor","Gelya","Gena","Gene","Geneva","Genevieve","Genevra","Genia","Genna","Genni","Gennie","Gennifer","Genny","Genovera","Genvieve","George","Georgeanna","Georgeanne","Georgena","Georgeta","Georgetta","Georgette","Georgia","Georgiana","Georgianna","Georgianne","Georgie","Georgina","Georgine","Geralda","Geraldine","Gerda","Gerhardine","Geri","Gerianna","Gerianne","Gerladina","Germain","Germaine","Germana","Gerri","Gerrie","Gerrilee","Gerry","Gert","Gerta","Gerti","Gertie","Gertrud","Gertruda","Gertrude","Gertrudis","Gerty","Giacinta","Giana","Gianina","Gianna","Gigi","Gilberta","Gilberte","Gilbertina","Gilbertine","Gilda","Gilemette","Gill","Gillan","Gilli","Gillian","Gillie","Gilligan","Gilly","Gina","Ginelle","Ginevra","Ginger","Ginni","Ginnie","Ginnifer","Ginny","Giorgia","Giovanna","Gipsy","Giralda","Gisela","Gisele","Gisella","Giselle","Giuditta","Giulia","Giulietta","Giustina","Gizela","Glad","Gladi","Gladys","Gleda","Glen","Glenda","Glenine","Glenn","Glenna","Glennie","Glennis","Glori","Gloria","Gloriana","Gloriane","Glory","Glyn","Glynda","Glynis","Glynnis","Gnni","Godiva","Golda","Goldarina","Goldi","Goldia","Goldie","Goldina","Goldy","Grace","Gracia","Gracie","Grata","Gratia","Gratiana","Gray","Grayce","Grazia","Greer","Greta","Gretal","Gretchen","Grete","Gretel","Grethel","Gretna","Gretta","Grier","Griselda","Grissel","Guendolen","Guenevere","Guenna","Guglielma","Gui","Guillema","Guillemette","Guinevere","Guinna","Gunilla","Gus","Gusella","Gussi","Gussie","Gussy","Gusta","Gusti","Gustie","Gusty","Gwen","Gwendolen","Gwendolin","Gwendolyn","Gweneth","Gwenette","Gwenneth","Gwenni","Gwennie","Gwenny","Gwenora","Gwenore","Gwyn","Gwyneth","Gwynne","Gypsy","Hadria","Hailee","Haily","Haleigh","Halette","Haley","Hali","Halie","Halimeda","Halley","Halli","Hallie","Hally","Hana","Hanna","Hannah","Hanni","Hannie","Hannis","Hanny","Happy","Harlene","Harley","Harli","Harlie","Harmonia","Harmonie","Harmony","Harri","Harrie","Harriet","Harriett","Harrietta","Harriette","Harriot","Harriott","Hatti","Hattie","Hatty","Hayley","Hazel","Heath","Heather","Heda","Hedda","Heddi","Heddie","Hedi","Hedvig","Hedvige","Hedwig","Hedwiga","Hedy","Heida","Heidi","Heidie","Helaina","Helaine","Helen","Helen-elizabeth","Helena","Helene","Helenka","Helga","Helge","Helli","Heloise","Helsa","Helyn","Hendrika","Henka","Henrie","Henrieta","Henrietta","Henriette","Henryetta","Hephzibah","Hermia","Hermina","Hermine","Herminia","Hermione","Herta","Hertha","Hester","Hesther","Hestia","Hetti","Hettie","Hetty","Hilary","Hilda","Hildagard","Hildagarde","Hilde","Hildegaard","Hildegarde","Hildy","Hillary","Hilliary","Hinda","Holli","Hollie","Holly","Holly-anne","Hollyanne","Honey","Honor","Honoria","Hope","Horatia","Hortense","Hortensia","Hulda","Hyacinth","Hyacintha","Hyacinthe","Hyacinthia","Hyacinthie","Hynda","Ianthe","Ibbie","Ibby","Ida","Idalia","Idalina","Idaline","Idell","Idelle","Idette","Ileana","Ileane","Ilene","Ilise","Ilka","Illa","Ilsa","Ilse","Ilysa","Ilyse","Ilyssa","Imelda","Imogen","Imogene","Imojean","Ina","Indira","Ines","Inesita","Inessa","Inez","Inga","Ingaberg","Ingaborg","Inge","Ingeberg","Ingeborg","Inger","Ingrid","Ingunna","Inna","Iolande","Iolanthe","Iona","Iormina","Ira","Irena","Irene","Irina","Iris","Irita","Irma","Isa","Isabel","Isabelita","Isabella","Isabelle","Isadora","Isahella","Iseabal","Isidora","Isis","Isobel","Issi","Issie","Issy","Ivett","Ivette","Ivie","Ivonne","Ivory","Ivy","Izabel","Jacenta","Jacinda","Jacinta","Jacintha","Jacinthe","Jackelyn","Jacki","Jackie","Jacklin","Jacklyn","Jackquelin","Jackqueline","Jacky","Jaclin","Jaclyn","Jacquelin","Jacqueline","Jacquelyn","Jacquelynn","Jacquenetta","Jacquenette","Jacquetta","Jacquette","Jacqui","Jacquie","Jacynth","Jada","Jade","Jaime","Jaimie","Jaine","Jami","Jamie","Jamima","Jammie","Jan","Jana","Janaya","Janaye","Jandy","Jane","Janean","Janeczka","Janeen","Janel","Janela","Janella","Janelle","Janene","Janenna","Janessa","Janet","Janeta","Janetta","Janette","Janeva","Janey","Jania","Janice","Janie","Janifer","Janina","Janine","Janis","Janith","Janka","Janna","Jannel","Jannelle","Janot","Jany","Jaquelin","Jaquelyn","Jaquenetta","Jaquenette","Jaquith","Jasmin","Jasmina","Jasmine","Jayme","Jaymee","Jayne","Jaynell","Jazmin","Jean","Jeana","Jeane","Jeanelle","Jeanette","Jeanie","Jeanine","Jeanna","Jeanne","Jeannette","Jeannie","Jeannine","Jehanna","Jelene","Jemie","Jemima","Jemimah","Jemmie","Jemmy","Jen","Jena","Jenda","Jenelle","Jeni","Jenica","Jeniece","Jenifer","Jeniffer","Jenilee","Jenine","Jenn","Jenna","Jennee","Jennette","Jenni","Jennica","Jennie","Jennifer","Jennilee","Jennine","Jenny","Jeralee","Jere","Jeri","Jermaine","Jerrie","Jerrilee","Jerrilyn","Jerrine","Jerry","Jerrylee","Jess","Jessa","Jessalin","Jessalyn","Jessamine","Jessamyn","Jesse","Jesselyn","Jessi","Jessica","Jessie","Jessika","Jessy","Jewel","Jewell","Jewelle","Jill","Jillana","Jillane","Jillayne","Jilleen","Jillene","Jilli","Jillian","Jillie","Jilly","Jinny","Jo","Jo-ann","Jo-anne","Joan","Joana","Joane","Joanie","Joann","Joanna","Joanne","Joannes","Jobey","Jobi","Jobie","Jobina","Joby","Jobye","Jobyna","Jocelin","Joceline","Jocelyn","Jocelyne","Jodee","Jodi","Jodie","Jody","Joeann","Joela","Joelie","Joell","Joella","Joelle","Joellen","Joelly","Joellyn","Joelynn","Joete","Joey","Johanna","Johannah","Johna","Johnath","Johnette","Johnna","Joice","Jojo","Jolee","Joleen","Jolene","Joletta","Joli","Jolie","Joline","Joly","Jolyn","Jolynn","Jonell","Joni","Jonie","Jonis","Jordain","Jordan","Jordana","Jordanna","Jorey","Jori","Jorie","Jorrie","Jorry","Joscelin","Josee","Josefa","Josefina","Josepha","Josephina","Josephine","Josey","Josi","Josie","Josselyn","Josy","Jourdan","Joy","Joya","Joyan","Joyann","Joyce","Joycelin","Joye","Jsandye","Juana","Juanita","Judi","Judie","Judith","Juditha","Judy","Judye","Juieta","Julee","Juli","Julia","Juliana","Juliane","Juliann","Julianna","Julianne","Julie","Julienne","Juliet","Julieta","Julietta","Juliette","Julina","Juline","Julissa","Julita","June","Junette","Junia","Junie","Junina","Justina","Justine","Justinn","Jyoti","Kacey","Kacie","Kacy","Kaela","Kai","Kaia","Kaila","Kaile","Kailey","Kaitlin","Kaitlyn","Kaitlynn","Kaja","Kakalina","Kala","Kaleena","Kali","Kalie","Kalila","Kalina","Kalinda","Kalindi","Kalli","Kally","Kameko","Kamila","Kamilah","Kamillah","Kandace","Kandy","Kania","Kanya","Kara","Kara-lynn","Karalee","Karalynn","Kare","Karee","Karel","Karen","Karena","Kari","Karia","Karie","Karil","Karilynn","Karin","Karina","Karine","Kariotta","Karisa","Karissa","Karita","Karla","Karlee","Karleen","Karlen","Karlene","Karlie","Karlotta","Karlotte","Karly","Karlyn","Karmen","Karna","Karol","Karola","Karole","Karolina","Karoline","Karoly","Karon","Karrah","Karrie","Karry","Kary","Karyl","Karylin","Karyn","Kasey","Kass","Kassandra","Kassey","Kassi","Kassia","Kassie","Kat","Kata","Katalin","Kate","Katee","Katerina","Katerine","Katey","Kath","Katha","Katharina","Katharine","Katharyn","Kathe","Katherina","Katherine","Katheryn","Kathi","Kathie","Kathleen","Kathlin","Kathrine","Kathryn","Kathryne","Kathy","Kathye","Kati","Katie","Katina","Katine","Katinka","Katleen","Katlin","Katrina","Katrine","Katrinka","Katti","Kattie","Katuscha","Katusha","Katy","Katya","Kay","Kaycee","Kaye","Kayla","Kayle","Kaylee","Kayley","Kaylil","Kaylyn","Keeley","Keelia","Keely","Kelcey","Kelci","Kelcie","Kelcy","Kelila","Kellen","Kelley","Kelli","Kellia","Kellie","Kellina","Kellsie","Kelly","Kellyann","Kelsey","Kelsi","Kelsy","Kendra","Kendre","Kenna","Keri","Keriann","Kerianne","Kerri","Kerrie","Kerrill","Kerrin","Kerry","Kerstin","Kesley","Keslie","Kessia","Kessiah","Ketti","Kettie","Ketty","Kevina","Kevyn","Ki","Kiah","Kial","Kiele","Kiersten","Kikelia","Kiley","Kim","Kimberlee","Kimberley","Kimberli","Kimberly","Kimberlyn","Kimbra","Kimmi","Kimmie","Kimmy","Kinna","Kip","Kipp","Kippie","Kippy","Kira","Kirbee","Kirbie","Kirby","Kiri","Kirsten","Kirsteni","Kirsti","Kirstin","Kirstyn","Kissee","Kissiah","Kissie","Kit","Kitti","Kittie","Kitty","Kizzee","Kizzie","Klara","Klarika","Klarrisa","Konstance","Konstanze","Koo","Kora","Koral","Koralle","Kordula","Kore","Korella","Koren","Koressa","Kori","Korie","Korney","Korrie","Korry","Kris","Krissie","Krissy","Krista","Kristal","Kristan","Kriste","Kristel","Kristen","Kristi","Kristien","Kristin","Kristina","Kristine","Kristy","Kristyn","Krysta","Krystal","Krystalle","Krystle","Krystyna","Kyla","Kyle","Kylen","Kylie","Kylila","Kylynn","Kym","Kynthia","Kyrstin","Lacee","Lacey","Lacie","Lacy","Ladonna","Laetitia","Laina","Lainey","Lana","Lanae","Lane","Lanette","Laney","Lani","Lanie","Lanita","Lanna","Lanni","Lanny","Lara","Laraine","Lari","Larina","Larine","Larisa","Larissa","Lark","Laryssa","Latashia","Latia","Latisha","Latrena","Latrina","Laura","Lauraine","Laural","Lauralee","Laure","Lauree","Laureen","Laurel","Laurella","Lauren","Laurena","Laurene","Lauretta","Laurette","Lauri","Laurianne","Laurice","Laurie","Lauryn","Lavena","Laverna","Laverne","Lavina","Lavinia","Lavinie","Layla","Layne","Layney","Lea","Leah","Leandra","Leann","Leanna","Leanor","Leanora","Lebbie","Leda","Lee","Leeann","Leeanne","Leela","Leelah","Leena","Leesa","Leese","Legra","Leia","Leigh","Leigha","Leila","Leilah","Leisha","Lela","Lelah","Leland","Lelia","Lena","Lenee","Lenette","Lenka","Lenna","Lenora","Lenore","Leodora","Leoine","Leola","Leoline","Leona","Leonanie","Leone","Leonelle","Leonie","Leonora","Leonore","Leontine","Leontyne","Leora","Leshia","Lesley","Lesli","Leslie","Lesly","Lesya","Leta","Lethia","Leticia","Letisha","Letitia","Letizia","Letta","Letti","Lettie","Letty","Lexi","Lexie","Lexine","Lexis","Lexy","Leyla","Lezlie","Lia","Lian","Liana","Liane","Lianna","Lianne","Lib","Libbey","Libbi","Libbie","Libby","Licha","Lida","Lidia","Liesa","Lil","Lila","Lilah","Lilas","Lilia","Lilian","Liliane","Lilias","Lilith","Lilla","Lilli","Lillian","Lillis","Lilllie","Lilly","Lily","Lilyan","Lin","Lina","Lind","Linda","Lindi","Lindie","Lindsay","Lindsey","Lindsy","Lindy","Linea","Linell","Linet","Linette","Linn","Linnea","Linnell","Linnet","Linnie","Linzy","Lira","Lisa","Lisabeth","Lisbeth","Lise","Lisetta","Lisette","Lisha","Lishe","Lissa","Lissi","Lissie","Lissy","Lita","Liuka","Liv","Liva","Livia","Livvie","Livvy","Livvyy","Livy","Liz","Liza","Lizabeth","Lizbeth","Lizette","Lizzie","Lizzy","Loella","Lois","Loise","Lola","Loleta","Lolita","Lolly","Lona","Lonee","Loni","Lonna","Lonni","Lonnie","Lora","Lorain","Loraine","Loralee","Loralie","Loralyn","Loree","Loreen","Lorelei","Lorelle","Loren","Lorena","Lorene","Lorenza","Loretta","Lorette","Lori","Loria","Lorianna","Lorianne","Lorie","Lorilee","Lorilyn","Lorinda","Lorine","Lorita","Lorna","Lorne","Lorraine","Lorrayne","Lorri","Lorrie","Lorrin","Lorry","Lory","Lotta","Lotte","Lotti","Lottie","Lotty","Lou","Louella","Louisa","Louise","Louisette","Loutitia","Lu","Luce","Luci","Lucia","Luciana","Lucie","Lucienne","Lucila","Lucilia","Lucille","Lucina","Lucinda","Lucine","Lucita","Lucky","Lucretia","Lucy","Ludovika","Luella","Luelle","Luisa","Luise","Lula","Lulita","Lulu","Lura","Lurette","Lurleen","Lurlene","Lurline","Lusa","Luz","Lyda","Lydia","Lydie","Lyn","Lynda","Lynde","Lyndel","Lyndell","Lyndsay","Lyndsey","Lyndsie","Lyndy","Lynea","Lynelle","Lynett","Lynette","Lynn","Lynna","Lynne","Lynnea","Lynnell","Lynnelle","Lynnet","Lynnett","Lynnette","Lynsey","Lyssa","Mab","Mabel","Mabelle","Mable","Mada","Madalena","Madalyn","Maddalena","Maddi","Maddie","Maddy","Madel","Madelaine","Madeleine","Madelena","Madelene","Madelin","Madelina","Madeline","Madella","Madelle","Madelon","Madelyn","Madge","Madlen","Madlin","Madonna","Mady","Mae","Maegan","Mag","Magda","Magdaia","Magdalen","Magdalena","Magdalene","Maggee","Maggi","Maggie","Maggy","Mahala","Mahalia","Maia","Maible","Maiga","Maighdiln","Mair","Maire","Maisey","Maisie","Maitilde","Mala","Malanie","Malena","Malia","Malina","Malinda","Malinde","Malissa","Malissia","Mallissa","Mallorie","Mallory","Malorie","Malory","Malva","Malvina","Malynda","Mame","Mamie","Manda","Mandi","Mandie","Mandy","Manon","Manya","Mara","Marabel","Marcela","Marcelia","Marcella","Marcelle","Marcellina","Marcelline","Marchelle","Marci","Marcia","Marcie","Marcile","Marcille","Marcy","Mareah","Maren","Marena","Maressa","Marga","Margalit","Margalo","Margaret","Margareta","Margarete","Margaretha","Margarethe","Margaretta","Margarette","Margarita","Margaux","Marge","Margeaux","Margery","Marget","Margette","Margi","Margie","Margit","Margo","Margot","Margret","Marguerite","Margy","Mari","Maria","Mariam","Marian","Mariana","Mariann","Marianna","Marianne","Maribel","Maribelle","Maribeth","Marice","Maridel","Marie","Marie-ann","Marie-jeanne","Marieann","Mariejeanne","Mariel","Mariele","Marielle","Mariellen","Marietta","Mariette","Marigold","Marijo","Marika","Marilee","Marilin","Marillin","Marilyn","Marin","Marina","Marinna","Marion","Mariquilla","Maris","Marisa","Mariska","Marissa","Marita","Maritsa","Mariya","Marj","Marja","Marje","Marji","Marjie","Marjorie","Marjory","Marjy","Marketa","Marla","Marlane","Marleah","Marlee","Marleen","Marlena","Marlene","Marley","Marlie","Marline","Marlo","Marlyn","Marna","Marne","Marney","Marni","Marnia","Marnie","Marquita","Marrilee","Marris","Marrissa","Marsha","Marsiella","Marta","Martelle","Martguerita","Martha","Marthe","Marthena","Marti","Martica","Martie","Martina","Martita","Marty","Martynne","Mary","Marya","Maryann","Maryanna","Maryanne","Marybelle","Marybeth","Maryellen","Maryjane","Maryjo","Maryl","Marylee","Marylin","Marylinda","Marylou","Marylynne","Maryrose","Marys","Marysa","Masha","Matelda","Mathilda","Mathilde","Matilda","Matilde","Matti","Mattie","Matty","Maud","Maude","Maudie","Maura","Maure","Maureen","Maureene","Maurene","Maurine","Maurise","Maurita","Maurizia","Mavis","Mavra","Max","Maxi","Maxie","Maxine","Maxy","May","Maybelle","Maye","Mead","Meade","Meagan","Meaghan","Meara","Mechelle","Meg","Megan","Megen","Meggi","Meggie","Meggy","Meghan","Meghann","Mehetabel","Mei","Mel","Mela","Melamie","Melania","Melanie","Melantha","Melany","Melba","Melesa","Melessa","Melicent","Melina","Melinda","Melinde","Melisa","Melisande","Melisandra","Melisenda","Melisent","Melissa","Melisse","Melita","Melitta","Mella","Melli","Mellicent","Mellie","Mellisa","Mellisent","Melloney","Melly","Melodee","Melodie","Melody","Melonie","Melony","Melosa","Melva","Mercedes","Merci","Mercie","Mercy","Meredith","Meredithe","Meridel","Meridith","Meriel","Merilee","Merilyn","Meris","Merissa","Merl","Merla","Merle","Merlina","Merline","Merna","Merola","Merralee","Merridie","Merrie","Merrielle","Merrile","Merrilee","Merrili","Merrill","Merrily","Merry","Mersey","Meryl","Meta","Mia","Micaela","Michaela","Michaelina","Michaeline","Michaella","Michal","Michel","Michele","Michelina","Micheline","Michell","Michelle","Micki","Mickie","Micky","Midge","Mignon","Mignonne","Miguela","Miguelita","Mikaela","Mil","Mildred","Mildrid","Milena","Milicent","Milissent","Milka","Milli","Millicent","Millie","Millisent","Milly","Milzie","Mimi","Min","Mina","Minda","Mindy","Minerva","Minetta","Minette","Minna","Minnaminnie","Minne","Minni","Minnie","Minnnie","Minny","Minta","Miquela","Mira","Mirabel","Mirabella","Mirabelle","Miran","Miranda","Mireielle","Mireille","Mirella","Mirelle","Miriam","Mirilla","Mirna","Misha","Missie","Missy","Misti","Misty","Mitzi","Modesta","Modestia","Modestine","Modesty","Moina","Moira","Moll","Mollee","Molli","Mollie","Molly","Mommy","Mona","Monah","Monica","Monika","Monique","Mora","Moreen","Morena","Morgan","Morgana","Morganica","Morganne","Morgen","Moria","Morissa","Morna","Moselle","Moyna","Moyra","Mozelle","Muffin","Mufi","Mufinella","Muire","Mureil","Murial","Muriel","Murielle","Myra","Myrah","Myranda","Myriam","Myrilla","Myrle","Myrlene","Myrna","Myrta","Myrtia","Myrtice","Myrtie","Myrtle","Nada","Nadean","Nadeen","Nadia","Nadine","Nadiya","Nady","Nadya","Nalani","Nan","Nana","Nananne","Nance","Nancee","Nancey","Nanci","Nancie","Nancy","Nanete","Nanette","Nani","Nanice","Nanine","Nannette","Nanni","Nannie","Nanny","Nanon","Naoma","Naomi","Nara","Nari","Nariko","Nat","Nata","Natala","Natalee","Natalie","Natalina","Nataline","Natalya","Natasha","Natassia","Nathalia","Nathalie","Natividad","Natka","Natty","Neala","Neda","Nedda","Nedi","Neely","Neila","Neile","Neilla","Neille","Nelia","Nelie","Nell","Nelle","Nelli","Nellie","Nelly","Nerissa","Nerita","Nert","Nerta","Nerte","Nerti","Nertie","Nerty","Nessa","Nessi","Nessie","Nessy","Nesta","Netta","Netti","Nettie","Nettle","Netty","Nevsa","Neysa","Nichol","Nichole","Nicholle","Nicki","Nickie","Nicky","Nicol","Nicola","Nicole","Nicolea","Nicolette","Nicoli","Nicolina","Nicoline","Nicolle","Nikaniki","Nike","Niki","Nikki","Nikkie","Nikoletta","Nikolia","Nina","Ninetta","Ninette","Ninnetta","Ninnette","Ninon","Nissa","Nisse","Nissie","Nissy","Nita","Nixie","Noami","Noel","Noelani","Noell","Noella","Noelle","Noellyn","Noelyn","Noemi","Nola","Nolana","Nolie","Nollie","Nomi","Nona","Nonah","Noni","Nonie","Nonna","Nonnah","Nora","Norah","Norean","Noreen","Norene","Norina","Norine","Norma","Norri","Norrie","Norry","Novelia","Nydia","Nyssa","Octavia","Odele","Odelia","Odelinda","Odella","Odelle","Odessa","Odetta","Odette","Odilia","Odille","Ofelia","Ofella","Ofilia","Ola","Olenka","Olga","Olia","Olimpia","Olive","Olivette","Olivia","Olivie","Oliy","Ollie","Olly","Olva","Olwen","Olympe","Olympia","Olympie","Ondrea","Oneida","Onida","Oona","Opal","Opalina","Opaline","Ophelia","Ophelie","Ora","Oralee","Oralia","Oralie","Oralla","Oralle","Orel","Orelee","Orelia","Orelie","Orella","Orelle","Oriana","Orly","Orsa","Orsola","Ortensia","Otha","Othelia","Othella","Othilia","Othilie","Ottilie","Page","Paige","Paloma","Pam","Pamela","Pamelina","Pamella","Pammi","Pammie","Pammy","Pandora","Pansie","Pansy","Paola","Paolina","Papagena","Pat","Patience","Patrica","Patrice","Patricia","Patrizia","Patsy","Patti","Pattie","Patty","Paula","Paule","Pauletta","Paulette","Pauli","Paulie","Paulina","Pauline","Paulita","Pauly","Pavia","Pavla","Pearl","Pearla","Pearle","Pearline","Peg","Pegeen","Peggi","Peggie","Peggy","Pen","Penelopa","Penelope","Penni","Pennie","Penny","Pepi","Pepita","Peri","Peria","Perl","Perla","Perle","Perri","Perrine","Perry","Persis","Pet","Peta","Petra","Petrina","Petronella","Petronia","Petronilla","Petronille","Petunia","Phaedra","Phaidra","Phebe","Phedra","Phelia","Phil","Philipa","Philippa","Philippe","Philippine","Philis","Phillida","Phillie","Phillis","Philly","Philomena","Phoebe","Phylis","Phyllida","Phyllis","Phyllys","Phylys","Pia","Pier","Pierette","Pierrette","Pietra","Piper","Pippa","Pippy","Polly","Pollyanna","Pooh","Poppy","Portia","Pris","Prisca","Priscella","Priscilla","Prissie","Pru","Prudence","Prudi","Prudy","Prue","Queenie","Quentin","Querida","Quinn","Quinta","Quintana","Quintilla","Quintina","Rachael","Rachel","Rachele","Rachelle","Rae","Raeann","Raf","Rafa","Rafaela","Rafaelia","Rafaelita","Rahal","Rahel","Raina","Raine","Rakel","Ralina","Ramona","Ramonda","Rana","Randa","Randee","Randene","Randi","Randie","Randy","Ranee","Rani","Rania","Ranice","Ranique","Ranna","Raphaela","Raquel","Raquela","Rasia","Rasla","Raven","Ray","Raychel","Raye","Rayna","Raynell","Rayshell","Rea","Reba","Rebbecca","Rebe","Rebeca","Rebecca","Rebecka","Rebeka","Rebekah","Rebekkah","Ree","Reeba","Reena","Reeta","Reeva","Regan","Reggi","Reggie","Regina","Regine","Reiko","Reina","Reine","Remy","Rena","Renae","Renata","Renate","Rene","Renee","Renell","Renelle","Renie","Rennie","Reta","Retha","Revkah","Rey","Reyna","Rhea","Rheba","Rheta","Rhetta","Rhiamon","Rhianna","Rhianon","Rhoda","Rhodia","Rhodie","Rhody","Rhona","Rhonda","Riane","Riannon","Rianon","Rica","Ricca","Rici","Ricki","Rickie","Ricky","Riki","Rikki","Rina","Risa","Rita","Riva","Rivalee","Rivi","Rivkah","Rivy","Roana","Roanna","Roanne","Robbi","Robbie","Robbin","Robby","Robbyn","Robena","Robenia","Roberta","Robin","Robina","Robinet","Robinett","Robinetta","Robinette","Robinia","Roby","Robyn","Roch","Rochell","Rochella","Rochelle","Rochette","Roda","Rodi","Rodie","Rodina","Rois","Romola","Romona","Romonda","Romy","Rona","Ronalda","Ronda","Ronica","Ronna","Ronni","Ronnica","Ronnie","Ronny","Roobbie","Rora","Rori","Rorie","Rory","Ros","Rosa","Rosabel","Rosabella","Rosabelle","Rosaleen","Rosalia","Rosalie","Rosalind","Rosalinda","Rosalinde","Rosaline","Rosalyn","Rosalynd","Rosamond","Rosamund","Rosana","Rosanna","Rosanne","Rose","Roseann","Roseanna","Roseanne","Roselia","Roselin","Roseline","Rosella","Roselle","Rosemaria","Rosemarie","Rosemary","Rosemonde","Rosene","Rosetta","Rosette","Roshelle","Rosie","Rosina","Rosita","Roslyn","Rosmunda","Rosy","Row","Rowe","Rowena","Roxana","Roxane","Roxanna","Roxanne","Roxi","Roxie","Roxine","Roxy","Roz","Rozalie","Rozalin","Rozamond","Rozanna","Rozanne","Roze","Rozele","Rozella","Rozelle","Rozina","Rubetta","Rubi","Rubia","Rubie","Rubina","Ruby","Ruperta","Ruth","Ruthann","Ruthanne","Ruthe","Ruthi","Ruthie","Ruthy","Ryann","Rycca","Saba","Sabina","Sabine","Sabra","Sabrina","Sacha","Sada","Sadella","Sadie","Sadye","Saidee","Sal","Salaidh","Sallee","Salli","Sallie","Sally","Sallyann","Sallyanne","Saloma","Salome","Salomi","Sam","Samantha","Samara","Samaria","Sammy","Sande","Sandi","Sandie","Sandra","Sandy","Sandye","Sapphira","Sapphire","Sara","Sara-ann","Saraann","Sarah","Sarajane","Saree","Sarena","Sarene","Sarette","Sari","Sarina","Sarine","Sarita","Sascha","Sasha","Sashenka","Saudra","Saundra","Savina","Sayre","Scarlet","Scarlett","Sean","Seana","Seka","Sela","Selena","Selene","Selestina","Selia","Selie","Selina","Selinda","Seline","Sella","Selle","Selma","Sena","Sephira","Serena","Serene","Shae","Shaina","Shaine","Shalna","Shalne","Shana","Shanda","Shandee","Shandeigh","Shandie","Shandra","Shandy","Shane","Shani","Shanie","Shanna","Shannah","Shannen","Shannon","Shanon","Shanta","Shantee","Shara","Sharai","Shari","Sharia","Sharity","Sharl","Sharla","Sharleen","Sharlene","Sharline","Sharon","Sharona","Sharron","Sharyl","Shaun","Shauna","Shawn","Shawna","Shawnee","Shay","Shayla","Shaylah","Shaylyn","Shaylynn","Shayna","Shayne","Shea","Sheba","Sheela","Sheelagh","Sheelah","Sheena","Sheeree","Sheila","Sheila-kathryn","Sheilah","Shel","Shela","Shelagh","Shelba","Shelbi","Shelby","Shelia","Shell","Shelley","Shelli","Shellie","Shelly","Shena","Sher","Sheree","Sheri","Sherie","Sherill","Sherilyn","Sherline","Sherri","Sherrie","Sherry","Sherye","Sheryl","Shina","Shir","Shirl","Shirlee","Shirleen","Shirlene","Shirley","Shirline","Shoshana","Shoshanna","Siana","Sianna","Sib","Sibbie","Sibby","Sibeal","Sibel","Sibella","Sibelle","Sibilla","Sibley","Sibyl","Sibylla","Sibylle","Sidoney","Sidonia","Sidonnie","Sigrid","Sile","Sileas","Silva","Silvana","Silvia","Silvie","Simona","Simone","Simonette","Simonne","Sindee","Siobhan","Sioux","Siouxie","Sisely","Sisile","Sissie","Sissy","Siusan","Sofia","Sofie","Sondra","Sonia","Sonja","Sonni","Sonnie","Sonnnie","Sonny","Sonya","Sophey","Sophi","Sophia","Sophie","Sophronia","Sorcha","Sosanna","Stace","Stacee","Stacey","Staci","Stacia","Stacie","Stacy","Stafani","Star","Starla","Starlene","Starlin","Starr","Stefa","Stefania","Stefanie","Steffane","Steffi","Steffie","Stella","Stepha","Stephana","Stephani","Stephanie","Stephannie","Stephenie","Stephi","Stephie","Stephine","Stesha","Stevana","Stevena","Stoddard","Storm","Stormi","Stormie","Stormy","Sue","Suellen","Sukey","Suki","Sula","Sunny","Sunshine","Susan","Susana","Susanetta","Susann","Susanna","Susannah","Susanne","Susette","Susi","Susie","Susy","Suzann","Suzanna","Suzanne","Suzette","Suzi","Suzie","Suzy","Sybil","Sybila","Sybilla","Sybille","Sybyl","Sydel","Sydelle","Sydney","Sylvia","Tabatha","Tabbatha","Tabbi","Tabbie","Tabbitha","Tabby","Tabina","Tabitha","Taffy","Talia","Tallia","Tallie","Tallou","Tallulah","Tally","Talya","Talyah","Tamar","Tamara","Tamarah","Tamarra","Tamera","Tami","Tamiko","Tamma","Tammara","Tammi","Tammie","Tammy","Tamqrah","Tamra","Tana","Tandi","Tandie","Tandy","Tanhya","Tani","Tania","Tanitansy","Tansy","Tanya","Tara","Tarah","Tarra","Tarrah","Taryn","Tasha","Tasia","Tate","Tatiana","Tatiania","Tatum","Tawnya","Tawsha","Ted","Tedda","Teddi","Teddie","Teddy","Tedi","Tedra","Teena","Teirtza","Teodora","Tera","Teresa","Terese","Teresina","Teresita","Teressa","Teri","Teriann","Terra","Terri","Terrie","Terrijo","Terry","Terrye","Tersina","Terza","Tess","Tessa","Tessi","Tessie","Tessy","Thalia","Thea","Theadora","Theda","Thekla","Thelma","Theo","Theodora","Theodosia","Theresa","Therese","Theresina","Theresita","Theressa","Therine","Thia","Thomasa","Thomasin","Thomasina","Thomasine","Tiena","Tierney","Tiertza","Tiff","Tiffani","Tiffanie","Tiffany","Tiffi","Tiffie","Tiffy","Tilda","Tildi","Tildie","Tildy","Tillie","Tilly","Tim","Timi","Timmi","Timmie","Timmy","Timothea","Tina","Tine","Tiphani","Tiphanie","Tiphany","Tish","Tisha","Tobe","Tobey","Tobi","Toby","Tobye","Toinette","Toma","Tomasina","Tomasine","Tomi","Tommi","Tommie","Tommy","Toni","Tonia","Tonie","Tony","Tonya","Tonye","Tootsie","Torey","Tori","Torie","Torrie","Tory","Tova","Tove","Tracee","Tracey","Traci","Tracie","Tracy","Trenna","Tresa","Trescha","Tressa","Tricia","Trina","Trish","Trisha","Trista","Trix","Trixi","Trixie","Trixy","Truda","Trude","Trudey","Trudi","Trudie","Trudy","Trula","Tuesday","Twila","Twyla","Tybi","Tybie","Tyne","Ula","Ulla","Ulrica","Ulrika","Ulrikaumeko","Ulrike","Umeko","Una","Ursa","Ursala","Ursola","Ursula","Ursulina","Ursuline","Uta","Val","Valaree","Valaria","Vale","Valeda","Valencia","Valene","Valenka","Valentia","Valentina","Valentine","Valera","Valeria","Valerie","Valery","Valerye","Valida","Valina","Valli","Vallie","Vally","Valma","Valry","Van","Vanda","Vanessa","Vania","Vanna","Vanni","Vannie","Vanny","Vanya","Veda","Velma","Velvet","Venita","Venus","Vera","Veradis","Vere","Verena","Verene","Veriee","Verile","Verina","Verine","Verla","Verna","Vernice","Veronica","Veronika","Veronike","Veronique","Vevay","Vi","Vicki","Vickie","Vicky","Victoria","Vida","Viki","Vikki","Vikky","Vilhelmina","Vilma","Vin","Vina","Vinita","Vinni","Vinnie","Vinny","Viola","Violante","Viole","Violet","Violetta","Violette","Virgie","Virgina","Virginia","Virginie","Vita","Vitia","Vitoria","Vittoria","Viv","Viva","Vivi","Vivia","Vivian","Viviana","Vivianna","Vivianne","Vivie","Vivien","Viviene","Vivienne","Viviyan","Vivyan","Vivyanne","Vonni","Vonnie","Vonny","Vyky","Wallie","Wallis","Walliw","Wally","Waly","Wanda","Wandie","Wandis","Waneta","Wanids","Wenda","Wendeline","Wendi","Wendie","Wendy","Wendye","Wenona","Wenonah","Whitney","Wileen","Wilhelmina","Wilhelmine","Wilie","Willa","Willabella","Willamina","Willetta","Willette","Willi","Willie","Willow","Willy","Willyt","Wilma","Wilmette","Wilona","Wilone","Wilow","Windy","Wini","Winifred","Winna","Winnah","Winne","Winni","Winnie","Winnifred","Winny","Winona","Winonah","Wren","Wrennie","Wylma","Wynn","Wynne","Wynnie","Wynny","Xaviera","Xena","Xenia","Xylia","Xylina","Yalonda","Yasmeen","Yasmin","Yelena","Yetta","Yettie","Yetty","Yevette","Ynes","Ynez","Yoko","Yolanda","Yolande","Yolane","Yolanthe","Yoshi","Yoshiko","Yovonnda","Ysabel","Yvette","Yvonne","Zabrina","Zahara","Zandra","Zaneta","Zara","Zarah","Zaria","Zarla","Zea","Zelda","Zelma","Zena","Zenia","Zia","Zilvia","Zita","Zitella","Zoe","Zola","Zonda","Zondra","Zonnya","Zora","Zorah","Zorana","Zorina","Zorine","Zsazsa","Zulema","Zuzana"],y=["Ackbar","Adi Gallia","Anakin Skywalker","Arvel Crynyd","Ayla Secura","Bail Prestor Organa","Barriss Offee","Ben Quadinaros","Beru Whitesun lars","Bib Fortuna","Biggs Darklighter","Boba Fett","Bossk","C-3PO","Chewbacca","Cliegg Lars","Cordé","Darth Maul","Darth Vader","Dexter Jettster","Dooku","Dormé","Dud Bolt","Eeth Koth","Finis Valorum","Gasgano","Greedo","Gregar Typho","Grievous","Han Solo","IG-88","Jabba Desilijic Tiure","Jango Fett","Jar Jar Binks","Jek Tono Porkins","Jocasta Nu","Ki-Adi-Mundi","Kit Fisto","Lama Su","Lando Calrissian","Leia Organa","Lobot","Luke Skywalker","Luminara Unduli","Mace Windu","Mas Amedda","Mon Mothma","Nien Nunb","Nute Gunray","Obi-Wan Kenobi","Owen Lars","Padmé Amidala","Palpatine","Plo Koon","Poggle the Lesser","Quarsh Panaka","Qui-Gon Jinn","R2-D2","R4-P17","R5-D4","Ratts Tyerel","Raymus Antilles","Ric Olié","Roos Tarpals","Rugor Nass","Saesee Tiin","San Hill","Sebulba","Shaak Ti","Shmi Skywalker","Sly Moore","Tarfful","Taun We","Tion Medon","Wat Tambor","Watto","Wedge Antilles","Wicket Systri Warrick","Wilhuff Tarkin","Yarael Poof","Yoda","Zam Wesell"];class h{static generate(a={}){let e=a.min||1,i=a.max||999;if(a.length){const n=Math.pow(10,a.length);return e=n/10,i=n-1,[`${Math.floor(Math.random()*(i-e))+e}`]}return[`${Math.floor(Math.random()*(i-e))+e}`]}}export{h as NumberDictionary,l as adjectives,r as animals,t as colors,o as countries,s as languages,d as names,y as starWars,n as uniqueNamesGenerator}; -//# sourceMappingURL=index.modern.js.map diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.umd.js b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.umd.js deleted file mode 100644 index eeb90c449e..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/index.umd.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(a,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((a||self).uniqueNamesGenerator={})}(this,function(a){class e{constructor(a){this.dictionaries=void 0,this.length=void 0,this.separator=void 0,this.style=void 0,this.seed=void 0;const{length:e,separator:i,dictionaries:n,style:l,seed:r}=a;this.dictionaries=n,this.separator=i,this.length=e,this.style=l,this.seed=r}generate(){if(!this.dictionaries)throw new Error('Cannot find any dictionary. Please provide at least one, or leave the "dictionary" field empty in the config object');if(this.length<=0)throw new Error("Invalid length provided");if(this.length>this.dictionaries.length)throw new Error(`The length cannot be bigger than the number of dictionaries.\nLength provided: ${this.length}. Number of dictionaries provided: ${this.dictionaries.length}`);return this.dictionaries.slice(0,this.length).reduce((a,e)=>{let i=e[Math.floor((this.seed?(n=this.seed,(a=>{a=1831565813+(a|=0)|0;let e=Math.imul(a^a>>>15,1|a);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296})(n)):Math.random())*e.length)]||"";var n;if("lowerCase"===this.style)i=i.toLowerCase();else if("capital"===this.style){const[a,...e]=i.split("");i=a.toUpperCase()+e.join("")}else"upperCase"===this.style&&(i=i.toUpperCase());return a?`${a}${this.separator}${i}`:`${i}`},"")}}const i={separator:"_",dictionaries:[]};a.NumberDictionary=class{static generate(a={}){let e=a.min||1,i=a.max||999;if(a.length){const n=Math.pow(10,a.length);return e=n/10,i=n-1,[`${Math.floor(Math.random()*(i-e))+e}`]}return[`${Math.floor(Math.random()*(i-e))+e}`]}},a.adjectives=["able","above","absent","absolute","abstract","abundant","academic","acceptable","accepted","accessible","accurate","accused","active","actual","acute","added","additional","adequate","adjacent","administrative","adorable","advanced","adverse","advisory","aesthetic","afraid","aggregate","aggressive","agreeable","agreed","agricultural","alert","alive","alleged","allied","alone","alright","alternative","amateur","amazing","ambitious","amused","ancient","angry","annoyed","annual","anonymous","anxious","appalling","apparent","applicable","appropriate","arbitrary","architectural","armed","arrogant","artificial","artistic","ashamed","asleep","assistant","associated","atomic","attractive","automatic","autonomous","available","average","awake","aware","awful","awkward","back","bad","balanced","bare","basic","beautiful","beneficial","better","bewildered","big","binding","biological","bitter","bizarre","blank","blind","blonde","bloody","blushing","boiling","bold","bored","boring","bottom","brainy","brave","breakable","breezy","brief","bright","brilliant","broad","broken","bumpy","burning","busy","calm","capable","capitalist","careful","casual","causal","cautious","central","certain","changing","characteristic","charming","cheap","cheerful","chemical","chief","chilly","chosen","christian","chronic","chubby","circular","civic","civil","civilian","classic","classical","clean","clear","clever","clinical","close","closed","cloudy","clumsy","coastal","cognitive","coherent","cold","collective","colonial","colorful","colossal","coloured","colourful","combative","combined","comfortable","coming","commercial","common","communist","compact","comparable","comparative","compatible","competent","competitive","complete","complex","complicated","comprehensive","compulsory","conceptual","concerned","concrete","condemned","confident","confidential","confused","conscious","conservation","conservative","considerable","consistent","constant","constitutional","contemporary","content","continental","continued","continuing","continuous","controlled","controversial","convenient","conventional","convinced","convincing","cooing","cool","cooperative","corporate","correct","corresponding","costly","courageous","crazy","creative","creepy","criminal","critical","crooked","crowded","crucial","crude","cruel","cuddly","cultural","curious","curly","current","curved","cute","daily","damaged","damp","dangerous","dark","dead","deaf","deafening","dear","decent","decisive","deep","defeated","defensive","defiant","definite","deliberate","delicate","delicious","delighted","delightful","democratic","dependent","depressed","desirable","desperate","detailed","determined","developed","developing","devoted","different","difficult","digital","diplomatic","direct","dirty","disabled","disappointed","disastrous","disciplinary","disgusted","distant","distinct","distinctive","distinguished","disturbed","disturbing","diverse","divine","dizzy","domestic","dominant","double","doubtful","drab","dramatic","dreadful","driving","drunk","dry","dual","due","dull","dusty","dutch","dying","dynamic","eager","early","eastern","easy","economic","educational","eerie","effective","efficient","elaborate","elated","elderly","eldest","electoral","electric","electrical","electronic","elegant","eligible","embarrassed","embarrassing","emotional","empirical","empty","enchanting","encouraging","endless","energetic","enormous","enthusiastic","entire","entitled","envious","environmental","equal","equivalent","essential","established","estimated","ethical","ethnic","eventual","everyday","evident","evil","evolutionary","exact","excellent","exceptional","excess","excessive","excited","exciting","exclusive","existing","exotic","expected","expensive","experienced","experimental","explicit","extended","extensive","external","extra","extraordinary","extreme","exuberant","faint","fair","faithful","familiar","famous","fancy","fantastic","far","fascinating","fashionable","fast","fat","fatal","favourable","favourite","federal","fellow","female","feminist","few","fierce","filthy","final","financial","fine","firm","fiscal","fit","fixed","flaky","flat","flexible","fluffy","fluttering","flying","following","fond","foolish","foreign","formal","formidable","forthcoming","fortunate","forward","fragile","frail","frantic","free","frequent","fresh","friendly","frightened","front","frozen","full","fun","functional","fundamental","funny","furious","future","fuzzy","gastric","gay","general","generous","genetic","gentle","genuine","geographical","giant","gigantic","given","glad","glamorous","gleaming","global","glorious","golden","good","gorgeous","gothic","governing","graceful","gradual","grand","grateful","greasy","great","grieving","grim","gross","grotesque","growing","grubby","grumpy","guilty","handicapped","handsome","happy","hard","harsh","head","healthy","heavy","helpful","helpless","hidden","high","hilarious","hissing","historic","historical","hollow","holy","homeless","homely","hon","honest","horizontal","horrible","hostile","hot","huge","human","hungry","hurt","hushed","husky","icy","ideal","identical","ideological","ill","illegal","imaginative","immediate","immense","imperial","implicit","important","impossible","impressed","impressive","improved","inadequate","inappropriate","inc","inclined","increased","increasing","incredible","independent","indirect","individual","industrial","inevitable","influential","informal","inherent","initial","injured","inland","inner","innocent","innovative","inquisitive","instant","institutional","insufficient","intact","integral","integrated","intellectual","intelligent","intense","intensive","interested","interesting","interim","interior","intermediate","internal","international","intimate","invisible","involved","irrelevant","isolated","itchy","jealous","jittery","joint","jolly","joyous","judicial","juicy","junior","just","keen","key","kind","known","labour","large","late","latin","lazy","leading","left","legal","legislative","legitimate","lengthy","lesser","level","lexical","liable","liberal","light","like","likely","limited","linear","linguistic","liquid","literary","little","live","lively","living","local","logical","lonely","long","loose","lost","loud","lovely","low","loyal","ltd","lucky","mad","magic","magnetic","magnificent","main","major","male","mammoth","managerial","managing","manual","many","marginal","marine","marked","married","marvellous","marxist","mass","massive","mathematical","mature","maximum","mean","meaningful","mechanical","medical","medieval","melodic","melted","mental","mere","metropolitan","mid","middle","mighty","mild","military","miniature","minimal","minimum","ministerial","minor","miserable","misleading","missing","misty","mixed","moaning","mobile","moderate","modern","modest","molecular","monetary","monthly","moral","motionless","muddy","multiple","mushy","musical","mute","mutual","mysterious","naked","narrow","nasty","national","native","natural","naughty","naval","near","nearby","neat","necessary","negative","neighbouring","nervous","net","neutral","new","nice","noble","noisy","normal","northern","nosy","notable","novel","nuclear","numerous","nursing","nutritious","nutty","obedient","objective","obliged","obnoxious","obvious","occasional","occupational","odd","official","ok","okay","old","olympic","only","open","operational","opposite","optimistic","oral","ordinary","organic","organisational","original","orthodox","other","outdoor","outer","outrageous","outside","outstanding","overall","overseas","overwhelming","painful","pale","panicky","parallel","parental","parliamentary","partial","particular","passing","passive","past","patient","payable","peaceful","peculiar","perfect","permanent","persistent","personal","petite","philosophical","physical","plain","planned","plastic","pleasant","pleased","poised","polite","political","poor","popular","positive","possible","potential","powerful","practical","precious","precise","preferred","pregnant","preliminary","premier","prepared","present","presidential","pretty","previous","prickly","primary","prime","primitive","principal","printed","prior","private","probable","productive","professional","profitable","profound","progressive","prominent","promising","proper","proposed","prospective","protective","protestant","proud","provincial","psychiatric","psychological","public","puny","pure","purring","puzzled","quaint","qualified","quarrelsome","querulous","quick","quickest","quiet","quintessential","quixotic","racial","radical","rainy","random","rapid","rare","raspy","rational","ratty","raw","ready","real","realistic","rear","reasonable","recent","reduced","redundant","regional","registered","regular","regulatory","related","relative","relaxed","relevant","reliable","relieved","religious","reluctant","remaining","remarkable","remote","renewed","representative","repulsive","required","resident","residential","resonant","respectable","respective","responsible","resulting","retail","retired","revolutionary","rich","ridiculous","right","rigid","ripe","rising","rival","roasted","robust","rolling","romantic","rotten","rough","round","royal","rubber","rude","ruling","running","rural","sacred","sad","safe","salty","satisfactory","satisfied","scared","scary","scattered","scientific","scornful","scrawny","screeching","secondary","secret","secure","select","selected","selective","selfish","semantic","senior","sensible","sensitive","separate","serious","severe","sexual","shaggy","shaky","shallow","shared","sharp","sheer","shiny","shivering","shocked","short","shrill","shy","sick","significant","silent","silky","silly","similar","simple","single","skilled","skinny","sleepy","slight","slim","slimy","slippery","slow","small","smart","smiling","smoggy","smooth","social","socialist","soft","solar","sole","solid","sophisticated","sore","sorry","sound","sour","southern","soviet","spare","sparkling","spatial","special","specific","specified","spectacular","spicy","spiritual","splendid","spontaneous","sporting","spotless","spotty","square","squealing","stable","stale","standard","static","statistical","statutory","steady","steep","sticky","stiff","still","stingy","stormy","straight","straightforward","strange","strategic","strict","striking","striped","strong","structural","stuck","stupid","subjective","subsequent","substantial","subtle","successful","successive","sudden","sufficient","suitable","sunny","super","superb","superior","supporting","supposed","supreme","sure","surprised","surprising","surrounding","surviving","suspicious","sweet","swift","symbolic","sympathetic","systematic","tall","tame","tart","tasteless","tasty","technical","technological","teenage","temporary","tender","tense","terrible","territorial","testy","then","theoretical","thick","thin","thirsty","thorough","thoughtful","thoughtless","thundering","tight","tiny","tired","top","tory","total","tough","toxic","traditional","tragic","tremendous","tricky","tropical","troubled","typical","ugliest","ugly","ultimate","unable","unacceptable","unaware","uncertain","unchanged","uncomfortable","unconscious","underground","underlying","unemployed","uneven","unexpected","unfair","unfortunate","unhappy","uniform","uninterested","unique","united","universal","unknown","unlikely","unnecessary","unpleasant","unsightly","unusual","unwilling","upper","upset","uptight","urban","urgent","used","useful","useless","usual","vague","valid","valuable","variable","varied","various","varying","vast","verbal","vertical","very","vicarious","vicious","victorious","violent","visible","visiting","visual","vital","vitreous","vivacious","vivid","vocal","vocational","voiceless","voluminous","voluntary","vulnerable","wandering","warm","wasteful","watery","weak","wealthy","weary","wee","weekly","weird","welcome","well","western","wet","whispering","whole","wicked","wide","widespread","wild","wilful","willing","willowy","wily","wise","wispy","wittering","witty","wonderful","wooden","working","worldwide","worried","worrying","worthwhile","worthy","written","wrong","xenacious","xenial","xenogeneic","xenophobic","xeric","xerothermic","yabbering","yammering","yappiest","yappy","yawning","yearling","yearning","yeasty","yelling","yelping","yielding","yodelling","young","youngest","youthful","ytterbic","yucky","yummy","zany","zealous","zeroth","zestful","zesty","zippy","zonal","zoophagous","zygomorphic","zygotic"],a.animals=["aardvark","aardwolf","albatross","alligator","alpaca","amphibian","anaconda","angelfish","anglerfish","ant","anteater","antelope","antlion","ape","aphid","armadillo","asp","baboon","badger","bandicoot","barnacle","barracuda","basilisk","bass","bat","bear","beaver","bedbug","bee","beetle","bird","bison","blackbird","boa","boar","bobcat","bobolink","bonobo","booby","bovid","bug","butterfly","buzzard","camel","canid","canidae","capybara","cardinal","caribou","carp","cat","caterpillar","catfish","catshark","cattle","centipede","cephalopod","chameleon","cheetah","chickadee","chicken","chimpanzee","chinchilla","chipmunk","cicada","clam","clownfish","cobra","cockroach","cod","condor","constrictor","coral","cougar","cow","coyote","crab","crane","crawdad","crayfish","cricket","crocodile","crow","cuckoo","damselfly","deer","dingo","dinosaur","dog","dolphin","donkey","dormouse","dove","dragon","dragonfly","duck","eagle","earthworm","earwig","echidna","eel","egret","elephant","elk","emu","ermine","falcon","felidae","ferret","finch","firefly","fish","flamingo","flea","fly","flyingfish","fowl","fox","frog","galliform","gamefowl","gayal","gazelle","gecko","gerbil","gibbon","giraffe","goat","goldfish","goose","gopher","gorilla","grasshopper","grouse","guan","guanaco","guineafowl","gull","guppy","haddock","halibut","hamster","hare","harrier","hawk","hedgehog","heron","herring","hippopotamus","hookworm","hornet","horse","hoverfly","hummingbird","hyena","iguana","impala","jackal","jaguar","jay","jellyfish","junglefowl","kangaroo","kingfisher","kite","kiwi","koala","koi","krill","ladybug","lamprey","landfowl","lark","leech","lemming","lemur","leopard","leopon","limpet","lion","lizard","llama","lobster","locust","loon","louse","lungfish","lynx","macaw","mackerel","magpie","mammal","manatee","mandrill","marlin","marmoset","marmot","marsupial","marten","mastodon","meadowlark","meerkat","mink","minnow","mite","mockingbird","mole","mollusk","mongoose","monkey","moose","mosquito","moth","mouse","mule","muskox","narwhal","newt","nightingale","ocelot","octopus","opossum","orangutan","orca","ostrich","otter","owl","ox","panda","panther","parakeet","parrot","parrotfish","partridge","peacock","peafowl","pelican","penguin","perch","pheasant","pig","pigeon","pike","pinniped","piranha","planarian","platypus","pony","porcupine","porpoise","possum","prawn","primate","ptarmigan","puffin","puma","python","quail","quelea","quokka","rabbit","raccoon","rat","rattlesnake","raven","reindeer","reptile","rhinoceros","roadrunner","rodent","rook","rooster","roundworm","sailfish","salamander","salmon","sawfish","scallop","scorpion","seahorse","shark","sheep","shrew","shrimp","silkworm","silverfish","skink","skunk","sloth","slug","smelt","snail","snake","snipe","sole","sparrow","spider","spoonbill","squid","squirrel","starfish","stingray","stoat","stork","sturgeon","swallow","swan","swift","swordfish","swordtail","tahr","takin","tapir","tarantula","tarsier","termite","tern","thrush","tick","tiger","tiglon","toad","tortoise","toucan","trout","tuna","turkey","turtle","tyrannosaurus","unicorn","urial","vicuna","viper","vole","vulture","wallaby","walrus","warbler","wasp","weasel","whale","whippet","whitefish","wildcat","wildebeest","wildfowl","wolf","wolverine","wombat","woodpecker","worm","wren","xerinae","yak","zebra"],a.colors=["amaranth","amber","amethyst","apricot","aqua","aquamarine","azure","beige","black","blue","blush","bronze","brown","chocolate","coffee","copper","coral","crimson","cyan","emerald","fuchsia","gold","gray","green","harlequin","indigo","ivory","jade","lavender","lime","magenta","maroon","moccasin","olive","orange","peach","pink","plum","purple","red","rose","salmon","sapphire","scarlet","silver","tan","teal","tomato","turquoise","violet","white","yellow"],a.countries=["Afghanistan","Åland Islands","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica","Antigua & Barbuda","Argentina","Armenia","Aruba","Ascension Island","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia & Herzegovina","Botswana","Brazil","British Indian Ocean Territory","British Virgin Islands","Brunei","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Canary Islands","Cape Verde","Caribbean Netherlands","Cayman Islands","Central African Republic","Ceuta & Melilla","Chad","Chile","China","Christmas Island","Cocos Islands","Colombia","Comoros","Congo","Cook Islands","Costa Rica","Côte d'Ivoire","Croatia","Cuba","Curaçao","Cyprus","Czechia","Denmark","Diego Garcia","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Eurozone","Falkland Islands","Faroe Islands","Fiji","Finland","France","French Guiana","French Polynesia","French Southern Territories","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guinea","Guinea-Bissau","Guyana","Haiti","Honduras","Hong Kong SAR China","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Kosovo","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macau SAR China","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue","Norfolk Island","North Korea","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestinian Territories","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn Islands","Poland","Portugal","Puerto Rico","Qatar","Réunion","Romania","Russia","Rwanda","Samoa","San Marino","São Tomé & Príncipe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Sint Maarten","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Georgia & South Sandwich Islands","South Korea","South Sudan","Spain","Sri Lanka","St. Barthélemy","St. Helena","St. Kitts & Nevis","St. Lucia","St. Martin","St. Pierre & Miquelon","St. Vincent & Grenadines","Sudan","Suriname","Svalbard & Jan Mayen","Swaziland","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tokelau","Tonga","Trinidad & Tobago","Tristan da Cunha","Tunisia","Turkey","Turkmenistan","Turks & Caicos Islands","Tuvalu","U.S. Outlying Islands","U.S. Virgin Islands","Uganda","Ukraine","United Arab Emirates","United Kingdom","United Nations","United States","Uruguay","Uzbekistan","Vanuatu","Vatican City","Venezuela","Vietnam","Wallis & Futuna","Western Sahara","Yemen","Zambia","Zimbabwe"],a.languages=["Akan","Amharic","Arabic","Assamese","Awadhi","Azerbaijani","Balochi","Belarusian","Bengali","Bhojpuri","Burmese","Cebuano","Chewa","Chhattisgarhi","Chittagonian","Czech","Deccan","Dhundhari","Dutch","English","French","Fula","Gan","German","Greek","Gujarati","Hakka","Haryanvi","Hausa","Hiligaynon","Hindi","Hmong","Hungarian","Igbo","Ilocano","Italian","Japanese","Javanese","Jin","Kannada","Kazakh","Khmer","Kinyarwanda","Kirundi","Konkani","Korean","Kurdish","Madurese","Magahi","Maithili","Malagasy","Malay","Malayalam","Mandarin","Marathi","Marwari","Min","Mossi","Nepali","Odia","Oromo","Pashto","Persian","Polish","Portuguese","Punjabi","Quechua","Romanian","Russian","Saraiki","Shona","Sindhi","Sinhala","Somali","Spanish","Sundanese","Swedish","Sylheti","Tagalog","Tamil","Telugu","Thai","Turkish","Turkmen","Ukrainian","Urdu","Uyghur","Uzbek","Vietnamese","Wu","Xhosa","Xiang","Yoruba","Yue","Zhuang","Zulu"],a.names=["Aaren","Aarika","Abagael","Abagail","Abbe","Abbey","Abbi","Abbie","Abby","Abbye","Abigael","Abigail","Abigale","Abra","Ada","Adah","Adaline","Adan","Adara","Adda","Addi","Addia","Addie","Addy","Adel","Adela","Adelaida","Adelaide","Adele","Adelheid","Adelice","Adelina","Adelind","Adeline","Adella","Adelle","Adena","Adey","Adi","Adiana","Adina","Adora","Adore","Adoree","Adorne","Adrea","Adria","Adriaens","Adrian","Adriana","Adriane","Adrianna","Adrianne","Adriena","Adrienne","Aeriel","Aeriela","Aeriell","Afton","Ag","Agace","Agata","Agatha","Agathe","Aggi","Aggie","Aggy","Agna","Agnella","Agnes","Agnese","Agnesse","Agneta","Agnola","Agretha","Aida","Aidan","Aigneis","Aila","Aile","Ailee","Aileen","Ailene","Ailey","Aili","Ailina","Ailis","Ailsun","Ailyn","Aime","Aimee","Aimil","Aindrea","Ainslee","Ainsley","Ainslie","Ajay","Alaine","Alameda","Alana","Alanah","Alane","Alanna","Alayne","Alberta","Albertina","Albertine","Albina","Alecia","Aleda","Aleece","Aleen","Alejandra","Alejandrina","Alena","Alene","Alessandra","Aleta","Alethea","Alex","Alexa","Alexandra","Alexandrina","Alexi","Alexia","Alexina","Alexine","Alexis","Alfi","Alfie","Alfreda","Alfy","Ali","Alia","Alica","Alice","Alicea","Alicia","Alida","Alidia","Alie","Alika","Alikee","Alina","Aline","Alis","Alisa","Alisha","Alison","Alissa","Alisun","Alix","Aliza","Alla","Alleen","Allegra","Allene","Alli","Allianora","Allie","Allina","Allis","Allison","Allissa","Allix","Allsun","Allx","Ally","Allyce","Allyn","Allys","Allyson","Alma","Almeda","Almeria","Almeta","Almira","Almire","Aloise","Aloisia","Aloysia","Alta","Althea","Alvera","Alverta","Alvina","Alvinia","Alvira","Alyce","Alyda","Alys","Alysa","Alyse","Alysia","Alyson","Alyss","Alyssa","Amabel","Amabelle","Amalea","Amalee","Amaleta","Amalia","Amalie","Amalita","Amalle","Amanda","Amandi","Amandie","Amandy","Amara","Amargo","Amata","Amber","Amberly","Ambur","Ame","Amelia","Amelie","Amelina","Ameline","Amelita","Ami","Amie","Amii","Amil","Amitie","Amity","Ammamaria","Amy","Amye","Ana","Anabal","Anabel","Anabella","Anabelle","Analiese","Analise","Anallese","Anallise","Anastasia","Anastasie","Anastassia","Anatola","Andee","Andeee","Anderea","Andi","Andie","Andra","Andrea","Andreana","Andree","Andrei","Andria","Andriana","Andriette","Andromache","Andy","Anestassia","Anet","Anett","Anetta","Anette","Ange","Angel","Angela","Angele","Angelia","Angelica","Angelika","Angelina","Angeline","Angelique","Angelita","Angelle","Angie","Angil","Angy","Ania","Anica","Anissa","Anita","Anitra","Anjanette","Anjela","Ann","Ann-marie","Anna","Anna-diana","Anna-diane","Anna-maria","Annabal","Annabel","Annabela","Annabell","Annabella","Annabelle","Annadiana","Annadiane","Annalee","Annaliese","Annalise","Annamaria","Annamarie","Anne","Anne-corinne","Anne-marie","Annecorinne","Anneliese","Annelise","Annemarie","Annetta","Annette","Anni","Annice","Annie","Annis","Annissa","Annmaria","Annmarie","Annnora","Annora","Anny","Anselma","Ansley","Anstice","Anthe","Anthea","Anthia","Anthiathia","Antoinette","Antonella","Antonetta","Antonia","Antonie","Antonietta","Antonina","Anya","Appolonia","April","Aprilette","Ara","Arabel","Arabela","Arabele","Arabella","Arabelle","Arda","Ardath","Ardeen","Ardelia","Ardelis","Ardella","Ardelle","Arden","Ardene","Ardenia","Ardine","Ardis","Ardisj","Ardith","Ardra","Ardyce","Ardys","Ardyth","Aretha","Ariadne","Ariana","Aridatha","Ariel","Ariela","Ariella","Arielle","Arlana","Arlee","Arleen","Arlen","Arlena","Arlene","Arleta","Arlette","Arleyne","Arlie","Arliene","Arlina","Arlinda","Arline","Arluene","Arly","Arlyn","Arlyne","Aryn","Ashely","Ashia","Ashien","Ashil","Ashla","Ashlan","Ashlee","Ashleigh","Ashlen","Ashley","Ashli","Ashlie","Ashly","Asia","Astra","Astrid","Astrix","Atalanta","Athena","Athene","Atlanta","Atlante","Auberta","Aubine","Aubree","Aubrette","Aubrey","Aubrie","Aubry","Audi","Audie","Audra","Audre","Audrey","Audrie","Audry","Audrye","Audy","Augusta","Auguste","Augustina","Augustine","Aundrea","Aura","Aurea","Aurel","Aurelea","Aurelia","Aurelie","Auria","Aurie","Aurilia","Aurlie","Auroora","Aurora","Aurore","Austin","Austina","Austine","Ava","Aveline","Averil","Averyl","Avie","Avis","Aviva","Avivah","Avril","Avrit","Ayn","Bab","Babara","Babb","Babbette","Babbie","Babette","Babita","Babs","Bambi","Bambie","Bamby","Barb","Barbabra","Barbara","Barbara-anne","Barbaraanne","Barbe","Barbee","Barbette","Barbey","Barbi","Barbie","Barbra","Barby","Bari","Barrie","Barry","Basia","Bathsheba","Batsheva","Bea","Beatrice","Beatrisa","Beatrix","Beatriz","Bebe","Becca","Becka","Becki","Beckie","Becky","Bee","Beilul","Beitris","Bekki","Bel","Belia","Belicia","Belinda","Belita","Bell","Bella","Bellanca","Belle","Bellina","Belva","Belvia","Bendite","Benedetta","Benedicta","Benedikta","Benetta","Benita","Benni","Bennie","Benny","Benoite","Berenice","Beret","Berget","Berna","Bernadene","Bernadette","Bernadina","Bernadine","Bernardina","Bernardine","Bernelle","Bernete","Bernetta","Bernette","Berni","Bernice","Bernie","Bernita","Berny","Berri","Berrie","Berry","Bert","Berta","Berte","Bertha","Berthe","Berti","Bertie","Bertina","Bertine","Berty","Beryl","Beryle","Bess","Bessie","Bessy","Beth","Bethanne","Bethany","Bethena","Bethina","Betsey","Betsy","Betta","Bette","Bette-ann","Betteann","Betteanne","Betti","Bettina","Bettine","Betty","Bettye","Beulah","Bev","Beverie","Beverlee","Beverley","Beverlie","Beverly","Bevvy","Bianca","Bianka","Bibbie","Bibby","Bibbye","Bibi","Biddie","Biddy","Bidget","Bili","Bill","Billi","Billie","Billy","Billye","Binni","Binnie","Binny","Bird","Birdie","Birgit","Birgitta","Blair","Blaire","Blake","Blakelee","Blakeley","Blanca","Blanch","Blancha","Blanche","Blinni","Blinnie","Blinny","Bliss","Blisse","Blithe","Blondell","Blondelle","Blondie","Blondy","Blythe","Bobbe","Bobbee","Bobbette","Bobbi","Bobbie","Bobby","Bobbye","Bobette","Bobina","Bobine","Bobinette","Bonita","Bonnee","Bonni","Bonnibelle","Bonnie","Bonny","Brana","Brandais","Brande","Brandea","Brandi","Brandice","Brandie","Brandise","Brandy","Breanne","Brear","Bree","Breena","Bren","Brena","Brenda","Brenn","Brenna","Brett","Bria","Briana","Brianna","Brianne","Bride","Bridget","Bridgette","Bridie","Brier","Brietta","Brigid","Brigida","Brigit","Brigitta","Brigitte","Brina","Briney","Brinn","Brinna","Briny","Brit","Brita","Britney","Britni","Britt","Britta","Brittan","Brittaney","Brittani","Brittany","Britte","Britteny","Brittne","Brittney","Brittni","Brook","Brooke","Brooks","Brunhilda","Brunhilde","Bryana","Bryn","Bryna","Brynn","Brynna","Brynne","Buffy","Bunni","Bunnie","Bunny","Cacilia","Cacilie","Cahra","Cairistiona","Caitlin","Caitrin","Cal","Calida","Calla","Calley","Calli","Callida","Callie","Cally","Calypso","Cam","Camala","Camel","Camella","Camellia","Cami","Camila","Camile","Camilla","Camille","Cammi","Cammie","Cammy","Candace","Candi","Candice","Candida","Candide","Candie","Candis","Candra","Candy","Caprice","Cara","Caralie","Caren","Carena","Caresa","Caressa","Caresse","Carey","Cari","Caria","Carie","Caril","Carilyn","Carin","Carina","Carine","Cariotta","Carissa","Carita","Caritta","Carla","Carlee","Carleen","Carlen","Carlene","Carley","Carlie","Carlin","Carlina","Carline","Carlita","Carlota","Carlotta","Carly","Carlye","Carlyn","Carlynn","Carlynne","Carma","Carmel","Carmela","Carmelia","Carmelina","Carmelita","Carmella","Carmelle","Carmen","Carmencita","Carmina","Carmine","Carmita","Carmon","Caro","Carol","Carol-jean","Carola","Carolan","Carolann","Carole","Carolee","Carolin","Carolina","Caroline","Caroljean","Carolyn","Carolyne","Carolynn","Caron","Carree","Carri","Carrie","Carrissa","Carroll","Carry","Cary","Caryl","Caryn","Casandra","Casey","Casi","Casie","Cass","Cassandra","Cassandre","Cassandry","Cassaundra","Cassey","Cassi","Cassie","Cassondra","Cassy","Catarina","Cate","Caterina","Catha","Catharina","Catharine","Cathe","Cathee","Catherin","Catherina","Catherine","Cathi","Cathie","Cathleen","Cathlene","Cathrin","Cathrine","Cathryn","Cathy","Cathyleen","Cati","Catie","Catina","Catlaina","Catlee","Catlin","Catrina","Catriona","Caty","Caye","Cayla","Cecelia","Cecil","Cecile","Ceciley","Cecilia","Cecilla","Cecily","Ceil","Cele","Celene","Celesta","Celeste","Celestia","Celestina","Celestine","Celestyn","Celestyna","Celia","Celie","Celina","Celinda","Celine","Celinka","Celisse","Celka","Celle","Cesya","Chad","Chanda","Chandal","Chandra","Channa","Chantal","Chantalle","Charil","Charin","Charis","Charissa","Charisse","Charita","Charity","Charla","Charlean","Charleen","Charlena","Charlene","Charline","Charlot","Charlotta","Charlotte","Charmain","Charmaine","Charmane","Charmian","Charmine","Charmion","Charo","Charyl","Chastity","Chelsae","Chelsea","Chelsey","Chelsie","Chelsy","Cher","Chere","Cherey","Cheri","Cherianne","Cherice","Cherida","Cherie","Cherilyn","Cherilynn","Cherin","Cherise","Cherish","Cherlyn","Cherri","Cherrita","Cherry","Chery","Cherye","Cheryl","Cheslie","Chiarra","Chickie","Chicky","Chiquia","Chiquita","Chlo","Chloe","Chloette","Chloris","Chris","Chrissie","Chrissy","Christa","Christabel","Christabella","Christal","Christalle","Christan","Christean","Christel","Christen","Christi","Christian","Christiana","Christiane","Christie","Christin","Christina","Christine","Christy","Christye","Christyna","Chrysa","Chrysler","Chrystal","Chryste","Chrystel","Cicely","Cicily","Ciel","Cilka","Cinda","Cindee","Cindelyn","Cinderella","Cindi","Cindie","Cindra","Cindy","Cinnamon","Cissiee","Cissy","Clair","Claire","Clara","Clarabelle","Clare","Claresta","Clareta","Claretta","Clarette","Clarey","Clari","Claribel","Clarice","Clarie","Clarinda","Clarine","Clarissa","Clarisse","Clarita","Clary","Claude","Claudelle","Claudetta","Claudette","Claudia","Claudie","Claudina","Claudine","Clea","Clem","Clemence","Clementia","Clementina","Clementine","Clemmie","Clemmy","Cleo","Cleopatra","Clerissa","Clio","Clo","Cloe","Cloris","Clotilda","Clovis","Codee","Codi","Codie","Cody","Coleen","Colene","Coletta","Colette","Colleen","Collen","Collete","Collette","Collie","Colline","Colly","Con","Concettina","Conchita","Concordia","Conni","Connie","Conny","Consolata","Constance","Constancia","Constancy","Constanta","Constantia","Constantina","Constantine","Consuela","Consuelo","Cookie","Cora","Corabel","Corabella","Corabelle","Coral","Coralie","Coraline","Coralyn","Cordelia","Cordelie","Cordey","Cordi","Cordie","Cordula","Cordy","Coreen","Corella","Corenda","Corene","Coretta","Corette","Corey","Cori","Corie","Corilla","Corina","Corine","Corinna","Corinne","Coriss","Corissa","Corliss","Corly","Cornela","Cornelia","Cornelle","Cornie","Corny","Correna","Correy","Corri","Corrianne","Corrie","Corrina","Corrine","Corrinne","Corry","Cortney","Cory","Cosetta","Cosette","Costanza","Courtenay","Courtnay","Courtney","Crin","Cris","Crissie","Crissy","Crista","Cristabel","Cristal","Cristen","Cristi","Cristie","Cristin","Cristina","Cristine","Cristionna","Cristy","Crysta","Crystal","Crystie","Cthrine","Cyb","Cybil","Cybill","Cymbre","Cynde","Cyndi","Cyndia","Cyndie","Cyndy","Cynthea","Cynthia","Cynthie","Cynthy","Dacey","Dacia","Dacie","Dacy","Dael","Daffi","Daffie","Daffy","Dagmar","Dahlia","Daile","Daisey","Daisi","Daisie","Daisy","Dale","Dalenna","Dalia","Dalila","Dallas","Daloris","Damara","Damaris","Damita","Dana","Danell","Danella","Danette","Dani","Dania","Danica","Danice","Daniela","Daniele","Daniella","Danielle","Danika","Danila","Danit","Danita","Danna","Danni","Dannie","Danny","Dannye","Danya","Danyelle","Danyette","Daphene","Daphna","Daphne","Dara","Darb","Darbie","Darby","Darcee","Darcey","Darci","Darcie","Darcy","Darda","Dareen","Darell","Darelle","Dari","Daria","Darice","Darla","Darleen","Darlene","Darline","Darlleen","Daron","Darrelle","Darryl","Darsey","Darsie","Darya","Daryl","Daryn","Dasha","Dasi","Dasie","Dasya","Datha","Daune","Daveen","Daveta","Davida","Davina","Davine","Davita","Dawn","Dawna","Dayle","Dayna","Ddene","De","Deana","Deane","Deanna","Deanne","Deb","Debbi","Debbie","Debby","Debee","Debera","Debi","Debor","Debora","Deborah","Debra","Dede","Dedie","Dedra","Dee","Deeann","Deeanne","Deedee","Deena","Deerdre","Deeyn","Dehlia","Deidre","Deina","Deirdre","Del","Dela","Delcina","Delcine","Delia","Delila","Delilah","Delinda","Dell","Della","Delly","Delora","Delores","Deloria","Deloris","Delphine","Delphinia","Demeter","Demetra","Demetria","Demetris","Dena","Deni","Denice","Denise","Denna","Denni","Dennie","Denny","Deny","Denys","Denyse","Deonne","Desdemona","Desirae","Desiree","Desiri","Deva","Devan","Devi","Devin","Devina","Devinne","Devon","Devondra","Devonna","Devonne","Devora","Di","Diahann","Dian","Diana","Diandra","Diane","Diane-marie","Dianemarie","Diann","Dianna","Dianne","Diannne","Didi","Dido","Diena","Dierdre","Dina","Dinah","Dinnie","Dinny","Dion","Dione","Dionis","Dionne","Dita","Dix","Dixie","Dniren","Dode","Dodi","Dodie","Dody","Doe","Doll","Dolley","Dolli","Dollie","Dolly","Dolores","Dolorita","Doloritas","Domeniga","Dominga","Domini","Dominica","Dominique","Dona","Donella","Donelle","Donetta","Donia","Donica","Donielle","Donna","Donnamarie","Donni","Donnie","Donny","Dora","Doralia","Doralin","Doralyn","Doralynn","Doralynne","Dore","Doreen","Dorelia","Dorella","Dorelle","Dorena","Dorene","Doretta","Dorette","Dorey","Dori","Doria","Dorian","Dorice","Dorie","Dorine","Doris","Dorisa","Dorise","Dorita","Doro","Dorolice","Dorolisa","Dorotea","Doroteya","Dorothea","Dorothee","Dorothy","Dorree","Dorri","Dorrie","Dorris","Dorry","Dorthea","Dorthy","Dory","Dosi","Dot","Doti","Dotti","Dottie","Dotty","Dre","Dreddy","Dredi","Drona","Dru","Druci","Drucie","Drucill","Drucy","Drusi","Drusie","Drusilla","Drusy","Dulce","Dulcea","Dulci","Dulcia","Dulciana","Dulcie","Dulcine","Dulcinea","Dulcy","Dulsea","Dusty","Dyan","Dyana","Dyane","Dyann","Dyanna","Dyanne","Dyna","Dynah","Eachelle","Eada","Eadie","Eadith","Ealasaid","Eartha","Easter","Eba","Ebba","Ebonee","Ebony","Eda","Eddi","Eddie","Eddy","Ede","Edee","Edeline","Eden","Edi","Edie","Edin","Edita","Edith","Editha","Edithe","Ediva","Edna","Edwina","Edy","Edyth","Edythe","Effie","Eileen","Eilis","Eimile","Eirena","Ekaterina","Elaina","Elaine","Elana","Elane","Elayne","Elberta","Elbertina","Elbertine","Eleanor","Eleanora","Eleanore","Electra","Eleen","Elena","Elene","Eleni","Elenore","Eleonora","Eleonore","Elfie","Elfreda","Elfrida","Elfrieda","Elga","Elianora","Elianore","Elicia","Elie","Elinor","Elinore","Elisa","Elisabet","Elisabeth","Elisabetta","Elise","Elisha","Elissa","Elita","Eliza","Elizabet","Elizabeth","Elka","Elke","Ella","Elladine","Elle","Ellen","Ellene","Ellette","Elli","Ellie","Ellissa","Elly","Ellyn","Ellynn","Elmira","Elna","Elnora","Elnore","Eloisa","Eloise","Elonore","Elora","Elsa","Elsbeth","Else","Elset","Elsey","Elsi","Elsie","Elsinore","Elspeth","Elsy","Elva","Elvera","Elvina","Elvira","Elwira","Elyn","Elyse","Elysee","Elysha","Elysia","Elyssa","Em","Ema","Emalee","Emalia","Emelda","Emelia","Emelina","Emeline","Emelita","Emelyne","Emera","Emilee","Emili","Emilia","Emilie","Emiline","Emily","Emlyn","Emlynn","Emlynne","Emma","Emmalee","Emmaline","Emmalyn","Emmalynn","Emmalynne","Emmeline","Emmey","Emmi","Emmie","Emmy","Emmye","Emogene","Emyle","Emylee","Engracia","Enid","Enrica","Enrichetta","Enrika","Enriqueta","Eolanda","Eolande","Eran","Erda","Erena","Erica","Ericha","Ericka","Erika","Erin","Erina","Erinn","Erinna","Erma","Ermengarde","Ermentrude","Ermina","Erminia","Erminie","Erna","Ernaline","Ernesta","Ernestine","Ertha","Eryn","Esma","Esmaria","Esme","Esmeralda","Essa","Essie","Essy","Esta","Estel","Estele","Estell","Estella","Estelle","Ester","Esther","Estrella","Estrellita","Ethel","Ethelda","Ethelin","Ethelind","Etheline","Ethelyn","Ethyl","Etta","Etti","Ettie","Etty","Eudora","Eugenia","Eugenie","Eugine","Eula","Eulalie","Eunice","Euphemia","Eustacia","Eva","Evaleen","Evangelia","Evangelin","Evangelina","Evangeline","Evania","Evanne","Eve","Eveleen","Evelina","Eveline","Evelyn","Evey","Evie","Evita","Evonne","Evvie","Evvy","Evy","Eyde","Eydie","Ezmeralda","Fae","Faina","Faith","Fallon","Fan","Fanchette","Fanchon","Fancie","Fancy","Fanechka","Fania","Fanni","Fannie","Fanny","Fanya","Fara","Farah","Farand","Farica","Farra","Farrah","Farrand","Faun","Faunie","Faustina","Faustine","Fawn","Fawne","Fawnia","Fay","Faydra","Faye","Fayette","Fayina","Fayre","Fayth","Faythe","Federica","Fedora","Felecia","Felicdad","Felice","Felicia","Felicity","Felicle","Felipa","Felisha","Felita","Feliza","Fenelia","Feodora","Ferdinanda","Ferdinande","Fern","Fernanda","Fernande","Fernandina","Ferne","Fey","Fiann","Fianna","Fidela","Fidelia","Fidelity","Fifi","Fifine","Filia","Filide","Filippa","Fina","Fiona","Fionna","Fionnula","Fiorenze","Fleur","Fleurette","Flo","Flor","Flora","Florance","Flore","Florella","Florence","Florencia","Florentia","Florenza","Florette","Flori","Floria","Florida","Florie","Florina","Florinda","Floris","Florri","Florrie","Florry","Flory","Flossi","Flossie","Flossy","Flss","Fran","Francene","Frances","Francesca","Francine","Francisca","Franciska","Francoise","Francyne","Frank","Frankie","Franky","Franni","Frannie","Franny","Frayda","Fred","Freda","Freddi","Freddie","Freddy","Fredelia","Frederica","Fredericka","Frederique","Fredi","Fredia","Fredra","Fredrika","Freida","Frieda","Friederike","Fulvia","Gabbey","Gabbi","Gabbie","Gabey","Gabi","Gabie","Gabriel","Gabriela","Gabriell","Gabriella","Gabrielle","Gabriellia","Gabrila","Gaby","Gae","Gael","Gail","Gale","Galina","Garland","Garnet","Garnette","Gates","Gavra","Gavrielle","Gay","Gaye","Gayel","Gayla","Gayle","Gayleen","Gaylene","Gaynor","Gelya","Gena","Gene","Geneva","Genevieve","Genevra","Genia","Genna","Genni","Gennie","Gennifer","Genny","Genovera","Genvieve","George","Georgeanna","Georgeanne","Georgena","Georgeta","Georgetta","Georgette","Georgia","Georgiana","Georgianna","Georgianne","Georgie","Georgina","Georgine","Geralda","Geraldine","Gerda","Gerhardine","Geri","Gerianna","Gerianne","Gerladina","Germain","Germaine","Germana","Gerri","Gerrie","Gerrilee","Gerry","Gert","Gerta","Gerti","Gertie","Gertrud","Gertruda","Gertrude","Gertrudis","Gerty","Giacinta","Giana","Gianina","Gianna","Gigi","Gilberta","Gilberte","Gilbertina","Gilbertine","Gilda","Gilemette","Gill","Gillan","Gilli","Gillian","Gillie","Gilligan","Gilly","Gina","Ginelle","Ginevra","Ginger","Ginni","Ginnie","Ginnifer","Ginny","Giorgia","Giovanna","Gipsy","Giralda","Gisela","Gisele","Gisella","Giselle","Giuditta","Giulia","Giulietta","Giustina","Gizela","Glad","Gladi","Gladys","Gleda","Glen","Glenda","Glenine","Glenn","Glenna","Glennie","Glennis","Glori","Gloria","Gloriana","Gloriane","Glory","Glyn","Glynda","Glynis","Glynnis","Gnni","Godiva","Golda","Goldarina","Goldi","Goldia","Goldie","Goldina","Goldy","Grace","Gracia","Gracie","Grata","Gratia","Gratiana","Gray","Grayce","Grazia","Greer","Greta","Gretal","Gretchen","Grete","Gretel","Grethel","Gretna","Gretta","Grier","Griselda","Grissel","Guendolen","Guenevere","Guenna","Guglielma","Gui","Guillema","Guillemette","Guinevere","Guinna","Gunilla","Gus","Gusella","Gussi","Gussie","Gussy","Gusta","Gusti","Gustie","Gusty","Gwen","Gwendolen","Gwendolin","Gwendolyn","Gweneth","Gwenette","Gwenneth","Gwenni","Gwennie","Gwenny","Gwenora","Gwenore","Gwyn","Gwyneth","Gwynne","Gypsy","Hadria","Hailee","Haily","Haleigh","Halette","Haley","Hali","Halie","Halimeda","Halley","Halli","Hallie","Hally","Hana","Hanna","Hannah","Hanni","Hannie","Hannis","Hanny","Happy","Harlene","Harley","Harli","Harlie","Harmonia","Harmonie","Harmony","Harri","Harrie","Harriet","Harriett","Harrietta","Harriette","Harriot","Harriott","Hatti","Hattie","Hatty","Hayley","Hazel","Heath","Heather","Heda","Hedda","Heddi","Heddie","Hedi","Hedvig","Hedvige","Hedwig","Hedwiga","Hedy","Heida","Heidi","Heidie","Helaina","Helaine","Helen","Helen-elizabeth","Helena","Helene","Helenka","Helga","Helge","Helli","Heloise","Helsa","Helyn","Hendrika","Henka","Henrie","Henrieta","Henrietta","Henriette","Henryetta","Hephzibah","Hermia","Hermina","Hermine","Herminia","Hermione","Herta","Hertha","Hester","Hesther","Hestia","Hetti","Hettie","Hetty","Hilary","Hilda","Hildagard","Hildagarde","Hilde","Hildegaard","Hildegarde","Hildy","Hillary","Hilliary","Hinda","Holli","Hollie","Holly","Holly-anne","Hollyanne","Honey","Honor","Honoria","Hope","Horatia","Hortense","Hortensia","Hulda","Hyacinth","Hyacintha","Hyacinthe","Hyacinthia","Hyacinthie","Hynda","Ianthe","Ibbie","Ibby","Ida","Idalia","Idalina","Idaline","Idell","Idelle","Idette","Ileana","Ileane","Ilene","Ilise","Ilka","Illa","Ilsa","Ilse","Ilysa","Ilyse","Ilyssa","Imelda","Imogen","Imogene","Imojean","Ina","Indira","Ines","Inesita","Inessa","Inez","Inga","Ingaberg","Ingaborg","Inge","Ingeberg","Ingeborg","Inger","Ingrid","Ingunna","Inna","Iolande","Iolanthe","Iona","Iormina","Ira","Irena","Irene","Irina","Iris","Irita","Irma","Isa","Isabel","Isabelita","Isabella","Isabelle","Isadora","Isahella","Iseabal","Isidora","Isis","Isobel","Issi","Issie","Issy","Ivett","Ivette","Ivie","Ivonne","Ivory","Ivy","Izabel","Jacenta","Jacinda","Jacinta","Jacintha","Jacinthe","Jackelyn","Jacki","Jackie","Jacklin","Jacklyn","Jackquelin","Jackqueline","Jacky","Jaclin","Jaclyn","Jacquelin","Jacqueline","Jacquelyn","Jacquelynn","Jacquenetta","Jacquenette","Jacquetta","Jacquette","Jacqui","Jacquie","Jacynth","Jada","Jade","Jaime","Jaimie","Jaine","Jami","Jamie","Jamima","Jammie","Jan","Jana","Janaya","Janaye","Jandy","Jane","Janean","Janeczka","Janeen","Janel","Janela","Janella","Janelle","Janene","Janenna","Janessa","Janet","Janeta","Janetta","Janette","Janeva","Janey","Jania","Janice","Janie","Janifer","Janina","Janine","Janis","Janith","Janka","Janna","Jannel","Jannelle","Janot","Jany","Jaquelin","Jaquelyn","Jaquenetta","Jaquenette","Jaquith","Jasmin","Jasmina","Jasmine","Jayme","Jaymee","Jayne","Jaynell","Jazmin","Jean","Jeana","Jeane","Jeanelle","Jeanette","Jeanie","Jeanine","Jeanna","Jeanne","Jeannette","Jeannie","Jeannine","Jehanna","Jelene","Jemie","Jemima","Jemimah","Jemmie","Jemmy","Jen","Jena","Jenda","Jenelle","Jeni","Jenica","Jeniece","Jenifer","Jeniffer","Jenilee","Jenine","Jenn","Jenna","Jennee","Jennette","Jenni","Jennica","Jennie","Jennifer","Jennilee","Jennine","Jenny","Jeralee","Jere","Jeri","Jermaine","Jerrie","Jerrilee","Jerrilyn","Jerrine","Jerry","Jerrylee","Jess","Jessa","Jessalin","Jessalyn","Jessamine","Jessamyn","Jesse","Jesselyn","Jessi","Jessica","Jessie","Jessika","Jessy","Jewel","Jewell","Jewelle","Jill","Jillana","Jillane","Jillayne","Jilleen","Jillene","Jilli","Jillian","Jillie","Jilly","Jinny","Jo","Jo-ann","Jo-anne","Joan","Joana","Joane","Joanie","Joann","Joanna","Joanne","Joannes","Jobey","Jobi","Jobie","Jobina","Joby","Jobye","Jobyna","Jocelin","Joceline","Jocelyn","Jocelyne","Jodee","Jodi","Jodie","Jody","Joeann","Joela","Joelie","Joell","Joella","Joelle","Joellen","Joelly","Joellyn","Joelynn","Joete","Joey","Johanna","Johannah","Johna","Johnath","Johnette","Johnna","Joice","Jojo","Jolee","Joleen","Jolene","Joletta","Joli","Jolie","Joline","Joly","Jolyn","Jolynn","Jonell","Joni","Jonie","Jonis","Jordain","Jordan","Jordana","Jordanna","Jorey","Jori","Jorie","Jorrie","Jorry","Joscelin","Josee","Josefa","Josefina","Josepha","Josephina","Josephine","Josey","Josi","Josie","Josselyn","Josy","Jourdan","Joy","Joya","Joyan","Joyann","Joyce","Joycelin","Joye","Jsandye","Juana","Juanita","Judi","Judie","Judith","Juditha","Judy","Judye","Juieta","Julee","Juli","Julia","Juliana","Juliane","Juliann","Julianna","Julianne","Julie","Julienne","Juliet","Julieta","Julietta","Juliette","Julina","Juline","Julissa","Julita","June","Junette","Junia","Junie","Junina","Justina","Justine","Justinn","Jyoti","Kacey","Kacie","Kacy","Kaela","Kai","Kaia","Kaila","Kaile","Kailey","Kaitlin","Kaitlyn","Kaitlynn","Kaja","Kakalina","Kala","Kaleena","Kali","Kalie","Kalila","Kalina","Kalinda","Kalindi","Kalli","Kally","Kameko","Kamila","Kamilah","Kamillah","Kandace","Kandy","Kania","Kanya","Kara","Kara-lynn","Karalee","Karalynn","Kare","Karee","Karel","Karen","Karena","Kari","Karia","Karie","Karil","Karilynn","Karin","Karina","Karine","Kariotta","Karisa","Karissa","Karita","Karla","Karlee","Karleen","Karlen","Karlene","Karlie","Karlotta","Karlotte","Karly","Karlyn","Karmen","Karna","Karol","Karola","Karole","Karolina","Karoline","Karoly","Karon","Karrah","Karrie","Karry","Kary","Karyl","Karylin","Karyn","Kasey","Kass","Kassandra","Kassey","Kassi","Kassia","Kassie","Kat","Kata","Katalin","Kate","Katee","Katerina","Katerine","Katey","Kath","Katha","Katharina","Katharine","Katharyn","Kathe","Katherina","Katherine","Katheryn","Kathi","Kathie","Kathleen","Kathlin","Kathrine","Kathryn","Kathryne","Kathy","Kathye","Kati","Katie","Katina","Katine","Katinka","Katleen","Katlin","Katrina","Katrine","Katrinka","Katti","Kattie","Katuscha","Katusha","Katy","Katya","Kay","Kaycee","Kaye","Kayla","Kayle","Kaylee","Kayley","Kaylil","Kaylyn","Keeley","Keelia","Keely","Kelcey","Kelci","Kelcie","Kelcy","Kelila","Kellen","Kelley","Kelli","Kellia","Kellie","Kellina","Kellsie","Kelly","Kellyann","Kelsey","Kelsi","Kelsy","Kendra","Kendre","Kenna","Keri","Keriann","Kerianne","Kerri","Kerrie","Kerrill","Kerrin","Kerry","Kerstin","Kesley","Keslie","Kessia","Kessiah","Ketti","Kettie","Ketty","Kevina","Kevyn","Ki","Kiah","Kial","Kiele","Kiersten","Kikelia","Kiley","Kim","Kimberlee","Kimberley","Kimberli","Kimberly","Kimberlyn","Kimbra","Kimmi","Kimmie","Kimmy","Kinna","Kip","Kipp","Kippie","Kippy","Kira","Kirbee","Kirbie","Kirby","Kiri","Kirsten","Kirsteni","Kirsti","Kirstin","Kirstyn","Kissee","Kissiah","Kissie","Kit","Kitti","Kittie","Kitty","Kizzee","Kizzie","Klara","Klarika","Klarrisa","Konstance","Konstanze","Koo","Kora","Koral","Koralle","Kordula","Kore","Korella","Koren","Koressa","Kori","Korie","Korney","Korrie","Korry","Kris","Krissie","Krissy","Krista","Kristal","Kristan","Kriste","Kristel","Kristen","Kristi","Kristien","Kristin","Kristina","Kristine","Kristy","Kristyn","Krysta","Krystal","Krystalle","Krystle","Krystyna","Kyla","Kyle","Kylen","Kylie","Kylila","Kylynn","Kym","Kynthia","Kyrstin","Lacee","Lacey","Lacie","Lacy","Ladonna","Laetitia","Laina","Lainey","Lana","Lanae","Lane","Lanette","Laney","Lani","Lanie","Lanita","Lanna","Lanni","Lanny","Lara","Laraine","Lari","Larina","Larine","Larisa","Larissa","Lark","Laryssa","Latashia","Latia","Latisha","Latrena","Latrina","Laura","Lauraine","Laural","Lauralee","Laure","Lauree","Laureen","Laurel","Laurella","Lauren","Laurena","Laurene","Lauretta","Laurette","Lauri","Laurianne","Laurice","Laurie","Lauryn","Lavena","Laverna","Laverne","Lavina","Lavinia","Lavinie","Layla","Layne","Layney","Lea","Leah","Leandra","Leann","Leanna","Leanor","Leanora","Lebbie","Leda","Lee","Leeann","Leeanne","Leela","Leelah","Leena","Leesa","Leese","Legra","Leia","Leigh","Leigha","Leila","Leilah","Leisha","Lela","Lelah","Leland","Lelia","Lena","Lenee","Lenette","Lenka","Lenna","Lenora","Lenore","Leodora","Leoine","Leola","Leoline","Leona","Leonanie","Leone","Leonelle","Leonie","Leonora","Leonore","Leontine","Leontyne","Leora","Leshia","Lesley","Lesli","Leslie","Lesly","Lesya","Leta","Lethia","Leticia","Letisha","Letitia","Letizia","Letta","Letti","Lettie","Letty","Lexi","Lexie","Lexine","Lexis","Lexy","Leyla","Lezlie","Lia","Lian","Liana","Liane","Lianna","Lianne","Lib","Libbey","Libbi","Libbie","Libby","Licha","Lida","Lidia","Liesa","Lil","Lila","Lilah","Lilas","Lilia","Lilian","Liliane","Lilias","Lilith","Lilla","Lilli","Lillian","Lillis","Lilllie","Lilly","Lily","Lilyan","Lin","Lina","Lind","Linda","Lindi","Lindie","Lindsay","Lindsey","Lindsy","Lindy","Linea","Linell","Linet","Linette","Linn","Linnea","Linnell","Linnet","Linnie","Linzy","Lira","Lisa","Lisabeth","Lisbeth","Lise","Lisetta","Lisette","Lisha","Lishe","Lissa","Lissi","Lissie","Lissy","Lita","Liuka","Liv","Liva","Livia","Livvie","Livvy","Livvyy","Livy","Liz","Liza","Lizabeth","Lizbeth","Lizette","Lizzie","Lizzy","Loella","Lois","Loise","Lola","Loleta","Lolita","Lolly","Lona","Lonee","Loni","Lonna","Lonni","Lonnie","Lora","Lorain","Loraine","Loralee","Loralie","Loralyn","Loree","Loreen","Lorelei","Lorelle","Loren","Lorena","Lorene","Lorenza","Loretta","Lorette","Lori","Loria","Lorianna","Lorianne","Lorie","Lorilee","Lorilyn","Lorinda","Lorine","Lorita","Lorna","Lorne","Lorraine","Lorrayne","Lorri","Lorrie","Lorrin","Lorry","Lory","Lotta","Lotte","Lotti","Lottie","Lotty","Lou","Louella","Louisa","Louise","Louisette","Loutitia","Lu","Luce","Luci","Lucia","Luciana","Lucie","Lucienne","Lucila","Lucilia","Lucille","Lucina","Lucinda","Lucine","Lucita","Lucky","Lucretia","Lucy","Ludovika","Luella","Luelle","Luisa","Luise","Lula","Lulita","Lulu","Lura","Lurette","Lurleen","Lurlene","Lurline","Lusa","Luz","Lyda","Lydia","Lydie","Lyn","Lynda","Lynde","Lyndel","Lyndell","Lyndsay","Lyndsey","Lyndsie","Lyndy","Lynea","Lynelle","Lynett","Lynette","Lynn","Lynna","Lynne","Lynnea","Lynnell","Lynnelle","Lynnet","Lynnett","Lynnette","Lynsey","Lyssa","Mab","Mabel","Mabelle","Mable","Mada","Madalena","Madalyn","Maddalena","Maddi","Maddie","Maddy","Madel","Madelaine","Madeleine","Madelena","Madelene","Madelin","Madelina","Madeline","Madella","Madelle","Madelon","Madelyn","Madge","Madlen","Madlin","Madonna","Mady","Mae","Maegan","Mag","Magda","Magdaia","Magdalen","Magdalena","Magdalene","Maggee","Maggi","Maggie","Maggy","Mahala","Mahalia","Maia","Maible","Maiga","Maighdiln","Mair","Maire","Maisey","Maisie","Maitilde","Mala","Malanie","Malena","Malia","Malina","Malinda","Malinde","Malissa","Malissia","Mallissa","Mallorie","Mallory","Malorie","Malory","Malva","Malvina","Malynda","Mame","Mamie","Manda","Mandi","Mandie","Mandy","Manon","Manya","Mara","Marabel","Marcela","Marcelia","Marcella","Marcelle","Marcellina","Marcelline","Marchelle","Marci","Marcia","Marcie","Marcile","Marcille","Marcy","Mareah","Maren","Marena","Maressa","Marga","Margalit","Margalo","Margaret","Margareta","Margarete","Margaretha","Margarethe","Margaretta","Margarette","Margarita","Margaux","Marge","Margeaux","Margery","Marget","Margette","Margi","Margie","Margit","Margo","Margot","Margret","Marguerite","Margy","Mari","Maria","Mariam","Marian","Mariana","Mariann","Marianna","Marianne","Maribel","Maribelle","Maribeth","Marice","Maridel","Marie","Marie-ann","Marie-jeanne","Marieann","Mariejeanne","Mariel","Mariele","Marielle","Mariellen","Marietta","Mariette","Marigold","Marijo","Marika","Marilee","Marilin","Marillin","Marilyn","Marin","Marina","Marinna","Marion","Mariquilla","Maris","Marisa","Mariska","Marissa","Marita","Maritsa","Mariya","Marj","Marja","Marje","Marji","Marjie","Marjorie","Marjory","Marjy","Marketa","Marla","Marlane","Marleah","Marlee","Marleen","Marlena","Marlene","Marley","Marlie","Marline","Marlo","Marlyn","Marna","Marne","Marney","Marni","Marnia","Marnie","Marquita","Marrilee","Marris","Marrissa","Marsha","Marsiella","Marta","Martelle","Martguerita","Martha","Marthe","Marthena","Marti","Martica","Martie","Martina","Martita","Marty","Martynne","Mary","Marya","Maryann","Maryanna","Maryanne","Marybelle","Marybeth","Maryellen","Maryjane","Maryjo","Maryl","Marylee","Marylin","Marylinda","Marylou","Marylynne","Maryrose","Marys","Marysa","Masha","Matelda","Mathilda","Mathilde","Matilda","Matilde","Matti","Mattie","Matty","Maud","Maude","Maudie","Maura","Maure","Maureen","Maureene","Maurene","Maurine","Maurise","Maurita","Maurizia","Mavis","Mavra","Max","Maxi","Maxie","Maxine","Maxy","May","Maybelle","Maye","Mead","Meade","Meagan","Meaghan","Meara","Mechelle","Meg","Megan","Megen","Meggi","Meggie","Meggy","Meghan","Meghann","Mehetabel","Mei","Mel","Mela","Melamie","Melania","Melanie","Melantha","Melany","Melba","Melesa","Melessa","Melicent","Melina","Melinda","Melinde","Melisa","Melisande","Melisandra","Melisenda","Melisent","Melissa","Melisse","Melita","Melitta","Mella","Melli","Mellicent","Mellie","Mellisa","Mellisent","Melloney","Melly","Melodee","Melodie","Melody","Melonie","Melony","Melosa","Melva","Mercedes","Merci","Mercie","Mercy","Meredith","Meredithe","Meridel","Meridith","Meriel","Merilee","Merilyn","Meris","Merissa","Merl","Merla","Merle","Merlina","Merline","Merna","Merola","Merralee","Merridie","Merrie","Merrielle","Merrile","Merrilee","Merrili","Merrill","Merrily","Merry","Mersey","Meryl","Meta","Mia","Micaela","Michaela","Michaelina","Michaeline","Michaella","Michal","Michel","Michele","Michelina","Micheline","Michell","Michelle","Micki","Mickie","Micky","Midge","Mignon","Mignonne","Miguela","Miguelita","Mikaela","Mil","Mildred","Mildrid","Milena","Milicent","Milissent","Milka","Milli","Millicent","Millie","Millisent","Milly","Milzie","Mimi","Min","Mina","Minda","Mindy","Minerva","Minetta","Minette","Minna","Minnaminnie","Minne","Minni","Minnie","Minnnie","Minny","Minta","Miquela","Mira","Mirabel","Mirabella","Mirabelle","Miran","Miranda","Mireielle","Mireille","Mirella","Mirelle","Miriam","Mirilla","Mirna","Misha","Missie","Missy","Misti","Misty","Mitzi","Modesta","Modestia","Modestine","Modesty","Moina","Moira","Moll","Mollee","Molli","Mollie","Molly","Mommy","Mona","Monah","Monica","Monika","Monique","Mora","Moreen","Morena","Morgan","Morgana","Morganica","Morganne","Morgen","Moria","Morissa","Morna","Moselle","Moyna","Moyra","Mozelle","Muffin","Mufi","Mufinella","Muire","Mureil","Murial","Muriel","Murielle","Myra","Myrah","Myranda","Myriam","Myrilla","Myrle","Myrlene","Myrna","Myrta","Myrtia","Myrtice","Myrtie","Myrtle","Nada","Nadean","Nadeen","Nadia","Nadine","Nadiya","Nady","Nadya","Nalani","Nan","Nana","Nananne","Nance","Nancee","Nancey","Nanci","Nancie","Nancy","Nanete","Nanette","Nani","Nanice","Nanine","Nannette","Nanni","Nannie","Nanny","Nanon","Naoma","Naomi","Nara","Nari","Nariko","Nat","Nata","Natala","Natalee","Natalie","Natalina","Nataline","Natalya","Natasha","Natassia","Nathalia","Nathalie","Natividad","Natka","Natty","Neala","Neda","Nedda","Nedi","Neely","Neila","Neile","Neilla","Neille","Nelia","Nelie","Nell","Nelle","Nelli","Nellie","Nelly","Nerissa","Nerita","Nert","Nerta","Nerte","Nerti","Nertie","Nerty","Nessa","Nessi","Nessie","Nessy","Nesta","Netta","Netti","Nettie","Nettle","Netty","Nevsa","Neysa","Nichol","Nichole","Nicholle","Nicki","Nickie","Nicky","Nicol","Nicola","Nicole","Nicolea","Nicolette","Nicoli","Nicolina","Nicoline","Nicolle","Nikaniki","Nike","Niki","Nikki","Nikkie","Nikoletta","Nikolia","Nina","Ninetta","Ninette","Ninnetta","Ninnette","Ninon","Nissa","Nisse","Nissie","Nissy","Nita","Nixie","Noami","Noel","Noelani","Noell","Noella","Noelle","Noellyn","Noelyn","Noemi","Nola","Nolana","Nolie","Nollie","Nomi","Nona","Nonah","Noni","Nonie","Nonna","Nonnah","Nora","Norah","Norean","Noreen","Norene","Norina","Norine","Norma","Norri","Norrie","Norry","Novelia","Nydia","Nyssa","Octavia","Odele","Odelia","Odelinda","Odella","Odelle","Odessa","Odetta","Odette","Odilia","Odille","Ofelia","Ofella","Ofilia","Ola","Olenka","Olga","Olia","Olimpia","Olive","Olivette","Olivia","Olivie","Oliy","Ollie","Olly","Olva","Olwen","Olympe","Olympia","Olympie","Ondrea","Oneida","Onida","Oona","Opal","Opalina","Opaline","Ophelia","Ophelie","Ora","Oralee","Oralia","Oralie","Oralla","Oralle","Orel","Orelee","Orelia","Orelie","Orella","Orelle","Oriana","Orly","Orsa","Orsola","Ortensia","Otha","Othelia","Othella","Othilia","Othilie","Ottilie","Page","Paige","Paloma","Pam","Pamela","Pamelina","Pamella","Pammi","Pammie","Pammy","Pandora","Pansie","Pansy","Paola","Paolina","Papagena","Pat","Patience","Patrica","Patrice","Patricia","Patrizia","Patsy","Patti","Pattie","Patty","Paula","Paule","Pauletta","Paulette","Pauli","Paulie","Paulina","Pauline","Paulita","Pauly","Pavia","Pavla","Pearl","Pearla","Pearle","Pearline","Peg","Pegeen","Peggi","Peggie","Peggy","Pen","Penelopa","Penelope","Penni","Pennie","Penny","Pepi","Pepita","Peri","Peria","Perl","Perla","Perle","Perri","Perrine","Perry","Persis","Pet","Peta","Petra","Petrina","Petronella","Petronia","Petronilla","Petronille","Petunia","Phaedra","Phaidra","Phebe","Phedra","Phelia","Phil","Philipa","Philippa","Philippe","Philippine","Philis","Phillida","Phillie","Phillis","Philly","Philomena","Phoebe","Phylis","Phyllida","Phyllis","Phyllys","Phylys","Pia","Pier","Pierette","Pierrette","Pietra","Piper","Pippa","Pippy","Polly","Pollyanna","Pooh","Poppy","Portia","Pris","Prisca","Priscella","Priscilla","Prissie","Pru","Prudence","Prudi","Prudy","Prue","Queenie","Quentin","Querida","Quinn","Quinta","Quintana","Quintilla","Quintina","Rachael","Rachel","Rachele","Rachelle","Rae","Raeann","Raf","Rafa","Rafaela","Rafaelia","Rafaelita","Rahal","Rahel","Raina","Raine","Rakel","Ralina","Ramona","Ramonda","Rana","Randa","Randee","Randene","Randi","Randie","Randy","Ranee","Rani","Rania","Ranice","Ranique","Ranna","Raphaela","Raquel","Raquela","Rasia","Rasla","Raven","Ray","Raychel","Raye","Rayna","Raynell","Rayshell","Rea","Reba","Rebbecca","Rebe","Rebeca","Rebecca","Rebecka","Rebeka","Rebekah","Rebekkah","Ree","Reeba","Reena","Reeta","Reeva","Regan","Reggi","Reggie","Regina","Regine","Reiko","Reina","Reine","Remy","Rena","Renae","Renata","Renate","Rene","Renee","Renell","Renelle","Renie","Rennie","Reta","Retha","Revkah","Rey","Reyna","Rhea","Rheba","Rheta","Rhetta","Rhiamon","Rhianna","Rhianon","Rhoda","Rhodia","Rhodie","Rhody","Rhona","Rhonda","Riane","Riannon","Rianon","Rica","Ricca","Rici","Ricki","Rickie","Ricky","Riki","Rikki","Rina","Risa","Rita","Riva","Rivalee","Rivi","Rivkah","Rivy","Roana","Roanna","Roanne","Robbi","Robbie","Robbin","Robby","Robbyn","Robena","Robenia","Roberta","Robin","Robina","Robinet","Robinett","Robinetta","Robinette","Robinia","Roby","Robyn","Roch","Rochell","Rochella","Rochelle","Rochette","Roda","Rodi","Rodie","Rodina","Rois","Romola","Romona","Romonda","Romy","Rona","Ronalda","Ronda","Ronica","Ronna","Ronni","Ronnica","Ronnie","Ronny","Roobbie","Rora","Rori","Rorie","Rory","Ros","Rosa","Rosabel","Rosabella","Rosabelle","Rosaleen","Rosalia","Rosalie","Rosalind","Rosalinda","Rosalinde","Rosaline","Rosalyn","Rosalynd","Rosamond","Rosamund","Rosana","Rosanna","Rosanne","Rose","Roseann","Roseanna","Roseanne","Roselia","Roselin","Roseline","Rosella","Roselle","Rosemaria","Rosemarie","Rosemary","Rosemonde","Rosene","Rosetta","Rosette","Roshelle","Rosie","Rosina","Rosita","Roslyn","Rosmunda","Rosy","Row","Rowe","Rowena","Roxana","Roxane","Roxanna","Roxanne","Roxi","Roxie","Roxine","Roxy","Roz","Rozalie","Rozalin","Rozamond","Rozanna","Rozanne","Roze","Rozele","Rozella","Rozelle","Rozina","Rubetta","Rubi","Rubia","Rubie","Rubina","Ruby","Ruperta","Ruth","Ruthann","Ruthanne","Ruthe","Ruthi","Ruthie","Ruthy","Ryann","Rycca","Saba","Sabina","Sabine","Sabra","Sabrina","Sacha","Sada","Sadella","Sadie","Sadye","Saidee","Sal","Salaidh","Sallee","Salli","Sallie","Sally","Sallyann","Sallyanne","Saloma","Salome","Salomi","Sam","Samantha","Samara","Samaria","Sammy","Sande","Sandi","Sandie","Sandra","Sandy","Sandye","Sapphira","Sapphire","Sara","Sara-ann","Saraann","Sarah","Sarajane","Saree","Sarena","Sarene","Sarette","Sari","Sarina","Sarine","Sarita","Sascha","Sasha","Sashenka","Saudra","Saundra","Savina","Sayre","Scarlet","Scarlett","Sean","Seana","Seka","Sela","Selena","Selene","Selestina","Selia","Selie","Selina","Selinda","Seline","Sella","Selle","Selma","Sena","Sephira","Serena","Serene","Shae","Shaina","Shaine","Shalna","Shalne","Shana","Shanda","Shandee","Shandeigh","Shandie","Shandra","Shandy","Shane","Shani","Shanie","Shanna","Shannah","Shannen","Shannon","Shanon","Shanta","Shantee","Shara","Sharai","Shari","Sharia","Sharity","Sharl","Sharla","Sharleen","Sharlene","Sharline","Sharon","Sharona","Sharron","Sharyl","Shaun","Shauna","Shawn","Shawna","Shawnee","Shay","Shayla","Shaylah","Shaylyn","Shaylynn","Shayna","Shayne","Shea","Sheba","Sheela","Sheelagh","Sheelah","Sheena","Sheeree","Sheila","Sheila-kathryn","Sheilah","Shel","Shela","Shelagh","Shelba","Shelbi","Shelby","Shelia","Shell","Shelley","Shelli","Shellie","Shelly","Shena","Sher","Sheree","Sheri","Sherie","Sherill","Sherilyn","Sherline","Sherri","Sherrie","Sherry","Sherye","Sheryl","Shina","Shir","Shirl","Shirlee","Shirleen","Shirlene","Shirley","Shirline","Shoshana","Shoshanna","Siana","Sianna","Sib","Sibbie","Sibby","Sibeal","Sibel","Sibella","Sibelle","Sibilla","Sibley","Sibyl","Sibylla","Sibylle","Sidoney","Sidonia","Sidonnie","Sigrid","Sile","Sileas","Silva","Silvana","Silvia","Silvie","Simona","Simone","Simonette","Simonne","Sindee","Siobhan","Sioux","Siouxie","Sisely","Sisile","Sissie","Sissy","Siusan","Sofia","Sofie","Sondra","Sonia","Sonja","Sonni","Sonnie","Sonnnie","Sonny","Sonya","Sophey","Sophi","Sophia","Sophie","Sophronia","Sorcha","Sosanna","Stace","Stacee","Stacey","Staci","Stacia","Stacie","Stacy","Stafani","Star","Starla","Starlene","Starlin","Starr","Stefa","Stefania","Stefanie","Steffane","Steffi","Steffie","Stella","Stepha","Stephana","Stephani","Stephanie","Stephannie","Stephenie","Stephi","Stephie","Stephine","Stesha","Stevana","Stevena","Stoddard","Storm","Stormi","Stormie","Stormy","Sue","Suellen","Sukey","Suki","Sula","Sunny","Sunshine","Susan","Susana","Susanetta","Susann","Susanna","Susannah","Susanne","Susette","Susi","Susie","Susy","Suzann","Suzanna","Suzanne","Suzette","Suzi","Suzie","Suzy","Sybil","Sybila","Sybilla","Sybille","Sybyl","Sydel","Sydelle","Sydney","Sylvia","Tabatha","Tabbatha","Tabbi","Tabbie","Tabbitha","Tabby","Tabina","Tabitha","Taffy","Talia","Tallia","Tallie","Tallou","Tallulah","Tally","Talya","Talyah","Tamar","Tamara","Tamarah","Tamarra","Tamera","Tami","Tamiko","Tamma","Tammara","Tammi","Tammie","Tammy","Tamqrah","Tamra","Tana","Tandi","Tandie","Tandy","Tanhya","Tani","Tania","Tanitansy","Tansy","Tanya","Tara","Tarah","Tarra","Tarrah","Taryn","Tasha","Tasia","Tate","Tatiana","Tatiania","Tatum","Tawnya","Tawsha","Ted","Tedda","Teddi","Teddie","Teddy","Tedi","Tedra","Teena","Teirtza","Teodora","Tera","Teresa","Terese","Teresina","Teresita","Teressa","Teri","Teriann","Terra","Terri","Terrie","Terrijo","Terry","Terrye","Tersina","Terza","Tess","Tessa","Tessi","Tessie","Tessy","Thalia","Thea","Theadora","Theda","Thekla","Thelma","Theo","Theodora","Theodosia","Theresa","Therese","Theresina","Theresita","Theressa","Therine","Thia","Thomasa","Thomasin","Thomasina","Thomasine","Tiena","Tierney","Tiertza","Tiff","Tiffani","Tiffanie","Tiffany","Tiffi","Tiffie","Tiffy","Tilda","Tildi","Tildie","Tildy","Tillie","Tilly","Tim","Timi","Timmi","Timmie","Timmy","Timothea","Tina","Tine","Tiphani","Tiphanie","Tiphany","Tish","Tisha","Tobe","Tobey","Tobi","Toby","Tobye","Toinette","Toma","Tomasina","Tomasine","Tomi","Tommi","Tommie","Tommy","Toni","Tonia","Tonie","Tony","Tonya","Tonye","Tootsie","Torey","Tori","Torie","Torrie","Tory","Tova","Tove","Tracee","Tracey","Traci","Tracie","Tracy","Trenna","Tresa","Trescha","Tressa","Tricia","Trina","Trish","Trisha","Trista","Trix","Trixi","Trixie","Trixy","Truda","Trude","Trudey","Trudi","Trudie","Trudy","Trula","Tuesday","Twila","Twyla","Tybi","Tybie","Tyne","Ula","Ulla","Ulrica","Ulrika","Ulrikaumeko","Ulrike","Umeko","Una","Ursa","Ursala","Ursola","Ursula","Ursulina","Ursuline","Uta","Val","Valaree","Valaria","Vale","Valeda","Valencia","Valene","Valenka","Valentia","Valentina","Valentine","Valera","Valeria","Valerie","Valery","Valerye","Valida","Valina","Valli","Vallie","Vally","Valma","Valry","Van","Vanda","Vanessa","Vania","Vanna","Vanni","Vannie","Vanny","Vanya","Veda","Velma","Velvet","Venita","Venus","Vera","Veradis","Vere","Verena","Verene","Veriee","Verile","Verina","Verine","Verla","Verna","Vernice","Veronica","Veronika","Veronike","Veronique","Vevay","Vi","Vicki","Vickie","Vicky","Victoria","Vida","Viki","Vikki","Vikky","Vilhelmina","Vilma","Vin","Vina","Vinita","Vinni","Vinnie","Vinny","Viola","Violante","Viole","Violet","Violetta","Violette","Virgie","Virgina","Virginia","Virginie","Vita","Vitia","Vitoria","Vittoria","Viv","Viva","Vivi","Vivia","Vivian","Viviana","Vivianna","Vivianne","Vivie","Vivien","Viviene","Vivienne","Viviyan","Vivyan","Vivyanne","Vonni","Vonnie","Vonny","Vyky","Wallie","Wallis","Walliw","Wally","Waly","Wanda","Wandie","Wandis","Waneta","Wanids","Wenda","Wendeline","Wendi","Wendie","Wendy","Wendye","Wenona","Wenonah","Whitney","Wileen","Wilhelmina","Wilhelmine","Wilie","Willa","Willabella","Willamina","Willetta","Willette","Willi","Willie","Willow","Willy","Willyt","Wilma","Wilmette","Wilona","Wilone","Wilow","Windy","Wini","Winifred","Winna","Winnah","Winne","Winni","Winnie","Winnifred","Winny","Winona","Winonah","Wren","Wrennie","Wylma","Wynn","Wynne","Wynnie","Wynny","Xaviera","Xena","Xenia","Xylia","Xylina","Yalonda","Yasmeen","Yasmin","Yelena","Yetta","Yettie","Yetty","Yevette","Ynes","Ynez","Yoko","Yolanda","Yolande","Yolane","Yolanthe","Yoshi","Yoshiko","Yovonnda","Ysabel","Yvette","Yvonne","Zabrina","Zahara","Zandra","Zaneta","Zara","Zarah","Zaria","Zarla","Zea","Zelda","Zelma","Zena","Zenia","Zia","Zilvia","Zita","Zitella","Zoe","Zola","Zonda","Zondra","Zonnya","Zora","Zorah","Zorana","Zorina","Zorine","Zsazsa","Zulema","Zuzana"],a.starWars=["Ackbar","Adi Gallia","Anakin Skywalker","Arvel Crynyd","Ayla Secura","Bail Prestor Organa","Barriss Offee","Ben Quadinaros","Beru Whitesun lars","Bib Fortuna","Biggs Darklighter","Boba Fett","Bossk","C-3PO","Chewbacca","Cliegg Lars","Cordé","Darth Maul","Darth Vader","Dexter Jettster","Dooku","Dormé","Dud Bolt","Eeth Koth","Finis Valorum","Gasgano","Greedo","Gregar Typho","Grievous","Han Solo","IG-88","Jabba Desilijic Tiure","Jango Fett","Jar Jar Binks","Jek Tono Porkins","Jocasta Nu","Ki-Adi-Mundi","Kit Fisto","Lama Su","Lando Calrissian","Leia Organa","Lobot","Luke Skywalker","Luminara Unduli","Mace Windu","Mas Amedda","Mon Mothma","Nien Nunb","Nute Gunray","Obi-Wan Kenobi","Owen Lars","Padmé Amidala","Palpatine","Plo Koon","Poggle the Lesser","Quarsh Panaka","Qui-Gon Jinn","R2-D2","R4-P17","R5-D4","Ratts Tyerel","Raymus Antilles","Ric Olié","Roos Tarpals","Rugor Nass","Saesee Tiin","San Hill","Sebulba","Shaak Ti","Shmi Skywalker","Sly Moore","Tarfful","Taun We","Tion Medon","Wat Tambor","Watto","Wedge Antilles","Wicket Systri Warrick","Wilhuff Tarkin","Yarael Poof","Yoda","Zam Wesell"],a.uniqueNamesGenerator=a=>{const n=[...a&&a.dictionaries||i.dictionaries],l={...i,...a,length:a&&a.length||n.length,dictionaries:n};if(!a||!a.dictionaries||!a.dictionaries.length)throw new Error('A "dictionaries" array must be provided. This is a breaking change introduced starting from Unique Name Generator v4. Read more about the breaking change here: https://github.com/andreasonny83/unique-names-generator#migration-guide');return new e(l).generate()}}); -//# sourceMappingURL=index.umd.js.map diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/seed.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/seed.d.ts deleted file mode 100644 index a4423da905..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/seed.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const getFromSeed: (seed: number) => number; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/unique-names-generator.constructor.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/unique-names-generator.constructor.d.ts deleted file mode 100644 index a93b786381..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/unique-names-generator.constructor.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -declare type Style = 'lowerCase' | 'upperCase' | 'capital'; -export interface Config { - dictionaries: string[][]; - separator?: string; - length?: number; - style?: Style; - seed?: number; -} -export declare class UniqueNamesGenerator { - private dictionaries; - private length; - private separator; - private style; - private seed; - constructor(config: Config); - generate(): string; -} -export {}; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/unique-names-generator.d.ts b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/unique-names-generator.d.ts deleted file mode 100644 index b406bfb375..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/dist/unique-names-generator.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Config } from './unique-names-generator.constructor'; -export declare const uniqueNamesGenerator: (customConfig: Config) => string; diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/package.json b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/package.json deleted file mode 100644 index 7011c0ae5c..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/node_modules/unique-names-generator/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "unique-names-generator", - "version": "4.6.0", - "description": "Generate unique and memorable names", - "engines": { - "node": ">=8" - }, - "scripts": { - "lint": "eslint --ext .ts ./src", - "test": "npm run format && npm run lint && jest --coverage", - "test:watch": "jest --coverage --watchAll", - "format": "prettier --write src/**/*.ts", - "prebuild": "rimraf dist && npm run format", - "build": "microbundle", - "prepublishOnly": "npm run build", - "prerelease": "npm run build", - "release": "np" - }, - "sideEffects": false, - "main": "dist/index.js", - "umd:main": "dist/index.umd.js", - "module": "dist/index.m.js", - "source": "src/index.ts", - "types": "dist/index.d.ts", - "tags": [ - "name-generator", - "unique-names", - "typescript" - ], - "files": [ - "dist" - ], - "author": "AndreaSonny ", - "license": "MIT", - "private": false, - "repository": { - "type": "git", - "url": "git@github.com:andreasonny83/unique-names-generator.git" - }, - "devDependencies": { - "@babel/core": "^7.13.15", - "@babel/preset-env": "^7.13.15", - "@babel/preset-typescript": "^7.13.0", - "@types/jest": "^26.0.22", - "@typescript-eslint/eslint-plugin": "^4.21.0", - "@typescript-eslint/parser": "^4.21.0", - "all-contributors-cli": "^6.20.0", - "babel-jest": "^26.6.3", - "eslint": "^7.23.0", - "eslint-config-prettier": "^8.1.0", - "eslint-plugin-prettier": "^3.3.1", - "jest": "^26.6.3", - "microbundle": "^0.13.0", - "np": "^7.4.0", - "prettier": "^2.2.1", - "prettier-eslint": "^12.0.0", - "rimraf": "^3.0.2", - "typescript": "^4.2.4" - } -} diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/package-lock.json b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/package-lock.json deleted file mode 100644 index 0cc1b77c43..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/package-lock.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "hello_world", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "hello_world", - "version": "1.0.0", - "dependencies": { - "unique-names-generator": "^4.6.0" - } - }, - "node_modules/unique-names-generator": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/unique-names-generator/-/unique-names-generator-4.6.0.tgz", - "integrity": "sha512-m0fke1emBeT96UYn2psPQYwljooDWRTKt9oUZ5vlt88ZFMBGxqwPyLHXwCfkbgdm8jzioCp7oIpo6KdM+fnUlQ==", - "engines": { - "node": ">=8" - } - } - }, - "dependencies": { - "unique-names-generator": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/unique-names-generator/-/unique-names-generator-4.6.0.tgz", - "integrity": "sha512-m0fke1emBeT96UYn2psPQYwljooDWRTKt9oUZ5vlt88ZFMBGxqwPyLHXwCfkbgdm8jzioCp7oIpo6KdM+fnUlQ==" - } - } -} diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/package.json b/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/package.json deleted file mode 100644 index 1dc652ae81..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/NodeJsFunctionConstruct/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hello_world", - "version": "1.0.0", - "main": "app.js", - "dependencies": { - "unique-names-generator": "^4.6.0" - } -} diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/layers/LayerVersion/layer_version_dependency.js b/tests/iac_integration/cdk/testdata/src/nodejs/layers/LayerVersion/layer_version_dependency.js deleted file mode 100644 index dcb5e89bc4..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/layers/LayerVersion/layer_version_dependency.js +++ /dev/null @@ -1,9 +0,0 @@ -const unique_names_generator = require('unique-names-generator'); - -const characterName = unique_names_generator.uniqueNamesGenerator({ - dictionaries: [unique_names_generator.animals] -}); - -exports.get_dependency = () => { - return 7 -}; \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/nodejs/layers/LayerVersion/package.json b/tests/iac_integration/cdk/testdata/src/nodejs/layers/LayerVersion/package.json deleted file mode 100644 index c4afa6360b..0000000000 --- a/tests/iac_integration/cdk/testdata/src/nodejs/layers/LayerVersion/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "dependencies", - "version": "1.0.0", - "main": "layer_version_dependency.js", - "dependencies": { - "unique-names-generator": "^4.6.0" - } -} diff --git a/tests/iac_integration/cdk/testdata/src/python/BuiltFunctionConstruct/app.py b/tests/iac_integration/cdk/testdata/src/python/BuiltFunctionConstruct/app.py deleted file mode 100644 index f9d25fe615..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/BuiltFunctionConstruct/app.py +++ /dev/null @@ -1,18 +0,0 @@ -import layer_version_dependency -import python_layer_version_dependency -import json - - -def lambda_handler(event, context): - depend1 = layer_version_dependency.get_dependency() - depend2 = python_layer_version_dependency.get_dependency() - - response = { - "statusCode": 200, - "body": json.dumps( - { - "message": f"Hello World from python pre built function {depend1+depend2}", - } - ), - } - return response diff --git a/tests/iac_integration/cdk/testdata/src/python/BundledFunctionConstruct/app.py b/tests/iac_integration/cdk/testdata/src/python/BundledFunctionConstruct/app.py deleted file mode 100644 index d377bfffea..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/BundledFunctionConstruct/app.py +++ /dev/null @@ -1,19 +0,0 @@ -import layer_version_dependency -import python_layer_version_dependency -from geonamescache import GeonamesCache -import json - - -def lambda_handler(event, context): - depend1 = layer_version_dependency.get_dependency() - depend2 = python_layer_version_dependency.get_dependency() - - response = { - "statusCode": 200, - "body": json.dumps( - { - "message": f"Hello World from bundled function construct with python runtime {depend1+depend2}", - } - ), - } - return response diff --git a/tests/iac_integration/cdk/testdata/src/python/BundledFunctionConstruct/requirements.txt b/tests/iac_integration/cdk/testdata/src/python/BundledFunctionConstruct/requirements.txt deleted file mode 100644 index 63ce47ab44..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/BundledFunctionConstruct/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -geonamescache \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/python/FunctionConstruct/app.py b/tests/iac_integration/cdk/testdata/src/python/FunctionConstruct/app.py deleted file mode 100644 index dc1f0d02c0..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/FunctionConstruct/app.py +++ /dev/null @@ -1,19 +0,0 @@ -import layer_version_dependency -import python_layer_version_dependency -from geonamescache import GeonamesCache -import json - - -def lambda_handler(event, context): - depend1 = layer_version_dependency.get_dependency() - depend2 = python_layer_version_dependency.get_dependency() - - response = { - "statusCode": 200, - "body": json.dumps( - { - "message": f"Hello World from function construct with python runtime {depend1+depend2}", - } - ), - } - return response diff --git a/tests/iac_integration/cdk/testdata/src/python/FunctionConstruct/requirements.txt b/tests/iac_integration/cdk/testdata/src/python/FunctionConstruct/requirements.txt deleted file mode 100644 index 63ce47ab44..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/FunctionConstruct/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -geonamescache \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/python/NestedPythonFunctionConstruct/app.py b/tests/iac_integration/cdk/testdata/src/python/NestedPythonFunctionConstruct/app.py deleted file mode 100644 index ffa1cde4a9..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/NestedPythonFunctionConstruct/app.py +++ /dev/null @@ -1,19 +0,0 @@ -import layer_version_dependency -import python_layer_version_dependency -from geonamescache import GeonamesCache -import json - - -def lambda_handler(event, context): - depend1 = layer_version_dependency.get_dependency() - depend2 = python_layer_version_dependency.get_dependency() - - response = { - "statusCode": 200, - "body": json.dumps( - { - "message": f"Hello World from Nested Python Function Construct {depend1+depend2}", - } - ), - } - return response diff --git a/tests/iac_integration/cdk/testdata/src/python/NestedPythonFunctionConstruct/requirements.txt b/tests/iac_integration/cdk/testdata/src/python/NestedPythonFunctionConstruct/requirements.txt deleted file mode 100644 index 63ce47ab44..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/NestedPythonFunctionConstruct/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -geonamescache \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/python/PythonFunctionConstruct/app.py b/tests/iac_integration/cdk/testdata/src/python/PythonFunctionConstruct/app.py deleted file mode 100644 index cb4d8f11e7..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/PythonFunctionConstruct/app.py +++ /dev/null @@ -1,19 +0,0 @@ -import layer_version_dependency -import python_layer_version_dependency -from geonamescache import GeonamesCache -import json - - -def lambda_handler(event, context): - depend1 = layer_version_dependency.get_dependency() - depend2 = python_layer_version_dependency.get_dependency() - - response = { - "statusCode": 200, - "body": json.dumps( - { - "message": f"Hello World from python function construct {depend1+depend2}", - } - ), - } - return response diff --git a/tests/iac_integration/cdk/testdata/src/python/PythonFunctionConstruct/requirements.txt b/tests/iac_integration/cdk/testdata/src/python/PythonFunctionConstruct/requirements.txt deleted file mode 100644 index 63ce47ab44..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/PythonFunctionConstruct/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -geonamescache \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/python/layers/BundledLayerVersion/layer_version_dependency.py b/tests/iac_integration/cdk/testdata/src/python/layers/BundledLayerVersion/layer_version_dependency.py deleted file mode 100644 index e0d6427f81..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/layers/BundledLayerVersion/layer_version_dependency.py +++ /dev/null @@ -1,5 +0,0 @@ -from geonamescache import GeonamesCache - - -def get_dependency(): - return 5 diff --git a/tests/iac_integration/cdk/testdata/src/python/layers/BundledLayerVersion/requirements.txt b/tests/iac_integration/cdk/testdata/src/python/layers/BundledLayerVersion/requirements.txt deleted file mode 100644 index 63ce47ab44..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/layers/BundledLayerVersion/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -geonamescache \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/python/layers/LayerVersion/layer_version_dependency.py b/tests/iac_integration/cdk/testdata/src/python/layers/LayerVersion/layer_version_dependency.py deleted file mode 100644 index e0d6427f81..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/layers/LayerVersion/layer_version_dependency.py +++ /dev/null @@ -1,5 +0,0 @@ -from geonamescache import GeonamesCache - - -def get_dependency(): - return 5 diff --git a/tests/iac_integration/cdk/testdata/src/python/layers/LayerVersion/requirements.txt b/tests/iac_integration/cdk/testdata/src/python/layers/LayerVersion/requirements.txt deleted file mode 100644 index 63ce47ab44..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/layers/LayerVersion/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -geonamescache \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/python/layers/PythonLayerVersion/python_layer_version_dependency.py b/tests/iac_integration/cdk/testdata/src/python/layers/PythonLayerVersion/python_layer_version_dependency.py deleted file mode 100644 index 78a427ccd1..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/layers/PythonLayerVersion/python_layer_version_dependency.py +++ /dev/null @@ -1,7 +0,0 @@ -from art import * - -ART = art("random") - - -def get_dependency(): - return 2 diff --git a/tests/iac_integration/cdk/testdata/src/python/layers/PythonLayerVersion/requirements.txt b/tests/iac_integration/cdk/testdata/src/python/layers/PythonLayerVersion/requirements.txt deleted file mode 100644 index e36ff697c4..0000000000 --- a/tests/iac_integration/cdk/testdata/src/python/layers/PythonLayerVersion/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -art \ No newline at end of file diff --git a/tests/iac_integration/cdk/testdata/src/rest-api-definition.yaml b/tests/iac_integration/cdk/testdata/src/rest-api-definition.yaml deleted file mode 100644 index 517eaaaea9..0000000000 --- a/tests/iac_integration/cdk/testdata/src/rest-api-definition.yaml +++ /dev/null @@ -1,12 +0,0 @@ -openapi: '3.0.2' -info: - title: API Gateway IP Filtering Example API - -paths: - "/restapis/spec/pythonFunction": - get: - x-amazon-apigateway-integration: - httpMethod: POST - type: AWS_PROXY - uri: arn:${AWS::Partition}:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:pythonFunc:$LATEST/invocations - credentials: arn:${AWS::Partition}:iam::${AWS::AccountId}:role/SpecRestApiRole \ No newline at end of file