{"_id":"@casechek/aws-cdk-elasticsearch-index","_rev":"45-616f523c02829f68b18e8080e7d96bfe","name":"@casechek/aws-cdk-elasticsearch-index","dist-tags":{"latest":"2.0.0","alpha":"2.0.0-develop.6"},"versions":{"1.0.0-alpha.9":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.9","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.9","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"9f32fd62ba85abfe794df70ca655b68d9169a265","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.9.tgz","fileCount":5,"integrity":"sha512-edOn6tig0HYJvdt2nq8FesqZMdVemUuI8QcE5Qunc0a5u9deJLX3IdZpEWIawdnQ3Xf4IM7mRATspVCcP61G1A==","signatures":[{"sig":"MEUCIQDm5UJO81l4QnUyuv4k5zdGhpe59NGPGm8XtE8GsMe+kQIgI3yjMuoWx9qBms+2zqdHQqGwqiL+DbfhnDIu1rvSM74=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":983103,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUCz3CRA9TVsSAnZWagAA/RsQAIFAJv/EVgrcMGf02JbQ\n1P+BI5di6Rxfw//5KgbmkWHkCnJf1n9Nocyy0qbBK9wn0XWASGDH1jifO7vm\nOFXQClJrBZj0aOFIAR90OL/SLWCghgVEK3bXOlipdhJ0lZZOPcpAwZbkzi8t\nJgqrTHmV2qftQaiP0tVN2fAefPR3UNQj6EHk8yb9cQsVkExkAqCihi4OBTwJ\n+FrKqWPElTWnfCbbcHdZtrgl5qvyiYFLEUCA5Bx8cPSBjpqkFM2aZDXWrw26\nPDmRZY3Gh1+MKYasQ0Eu+Ae6TJimwrxobdH+/4PfKHkSYV509CNQssSjYrd6\ngAxA8UDH+RlIoz7wk/ENWYsZ0s3Px5C5JHtXbSGdQhb+N9xHM/l6mxyZC6Zi\nfBqyd0F4/j/DPJU+GNUhgQvTl3lOZCAm4g3x5wrt6XmtlwQl/YMzW7vLsu33\n2cJmVF77DXeg/GMPCml3m8o72U8Bs5M8qoczHVQHDOHWuvI1UVtGjfCAQIW9\nqe+TKKp5SrswmSpQyOr9BgAVAePjb/hpzGyKogNzr1JgAMXncLvN3ZU1sj4n\n2sW4b0RYR7xhazMkGKmz35ZzqvFD5ZGEma8AZu81emyuXJTw4ongaNfHGF6s\nH61/KybS0n6XE77YYfx9uNwn2WB83OjT6onoMqk4qhZoaniem8JtjY1kKnB0\nM0sv\r\n=oTNa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"gitHead":"19aaea2e1ef974d35f6982c5533831868f4a3599","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"6.13.7","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"12.16.1","dependencies":{"@aws-cdk/core":"^1.25.0","@aws-cdk/aws-ec2":"^1.25.0","@aws-cdk/aws-iam":"^1.25.0","@aws-cdk/aws-lambda":"^1.25.0","@aws-cdk/custom-resources":"^1.25.0","@aws-cdk/aws-elasticsearch":"^1.25.0","@aws-cdk/aws-cloudformation":"^1.25.0"},"_hasShrinkwrap":false,"devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"24.9.0","axios":"0.19.2","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"1.25.0","mock-fs":"4.10.4","ts-jest":"24.3.0","ts-node":"8.6.2","webpack":"4.41.6","cucumber":"5.1.0","fs-monkey":"0.4.0","ts-loader":"6.2.1","deep-equal":"2.0.1","jsonschema":"1.2.5","typescript":"3.8.2","@types/chai":"4.2.9","@types/jest":"25.1.3","@types/node":"10.17.5","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.6","@aws-cdk/assert":"1.25.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.0.4","@types/aws-lambda":"8.10.41","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.0","@semantic-release/github":"7.0.4","@semantic-release/changelog":"5.0.0","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.0"},"peerDependencies":{"@aws-cdk/core":"^1.25.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.9_1582312694728_0.4019769733612766","host":"s3://npm-registry-packages"}},"1.0.0-alpha.10":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.10","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.10","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"a2eda29ee85fb7769e059c1d57f016096714ce45","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.10.tgz","fileCount":7,"integrity":"sha512-AsOcPmaoajuswSsuqobn+1MRi9uvhwvLsUHiKd2vW4QQWESc7LB70muMV9OKGAzk59h4EDGPq9U1Ulb9ttoc3A==","signatures":[{"sig":"MEYCIQCx5dY7vOOmi+xtcfftWdTJlH7PJrJ23L4NPiGiYtY6DQIhAIskkTPF8nl8S5kLcjh7kFS8q6LOdI6AqmzijjXGO6FT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2876862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVX9bCRA9TVsSAnZWagAASKYP/0RzZZHtDQO0CPn3s7GJ\njJsNhk3aLsieNiy42CT3pRjTfb1ebAp9RE8XZLykte0s9Fl4Eh66dz6s4VGR\nbr8sHgUrA+6LYVhFl5bmBQ+LUXRHSMiC8bVt9w4kBN0/zZvzR9gPAphCJNwB\nK2FQ9XNj8A8yzAdhyIkEDNb7J1ziRm+O2n7/PMNdkcM2bQk09HvjEaTUvs+y\nyWYj2rBHCzv1rCvAKu8g8d3VF9nRsj8Qzdw1JwyGD6OkjJGG6KN2PWTCanrZ\nWp048gXNwWNu2UJUmEu+atJmAWjS8r9UVNhafuk1udBXi3DJXuvlBkhnBr3E\njmrt+FqZTEzb7MykY0YO7ZDDIgy7jHcEm/r8bxgrKGeAxqWd7gY6dXm0vngM\nw2IdxwEX/qzLCY7I3fYKa6omkeTULy1Lh8YO+zSzj3+3MtUk1PqcyAlyeowF\n6CEuhM1hJyEo1TFGKBkKMAd1CY0x/7rRX4B2mxhJ2D8Qh4FKM10PHElenZRv\n/PhUPoH9YR+4FLXiZ0jQmJFutbYk9czViglZeS/a/GjwAGrFa2WYe43J71ko\nQd7/3x4b5nH/pO8T0Ft/vPpGhVl8WwMspubp8A9vdAMQZr6DEjm5Evydamzd\njFIi0ZfRWut2T54BSR/6vQukcNd14o4ASu4eJUJBuPrJpc4zne6TJnGdc5m3\nO/ke\r\n=rNZm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"1334651dd647f737a2f7eb6c1766861bafdfbdff","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"6.13.7","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"12.16.1","dependencies":{"@aws-cdk/core":"^1.25.0","@aws-cdk/aws-ec2":"^1.25.0","@aws-cdk/aws-iam":"^1.25.0","@aws-cdk/aws-lambda":"^1.25.0","@aws-cdk/custom-resources":"^1.25.0","@aws-cdk/aws-elasticsearch":"^1.25.0","@aws-cdk/aws-cloudformation":"^1.25.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.19.2","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"1.25.0","ts-jest":"25.2.1","ts-node":"8.6.2","webpack":"4.41.6","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.2","@types/chai":"4.2.9","@types/jest":"25.1.3","@types/node":"10.17.16","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.6","@aws-cdk/assert":"1.25.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.0.4","@types/aws-lambda":"8.10.44","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.0","@semantic-release/github":"7.0.4","@semantic-release/changelog":"5.0.0","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.25.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.10_1582661467275_0.023075561066428607","host":"s3://npm-registry-packages"}},"1.0.0-alpha.11":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.11","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.11","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"f8f7809c3a6e717a3c237bc5bd138e48c02ccc5d","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.11.tgz","fileCount":7,"integrity":"sha512-Cii2YQjU6NePEXpET2UNikhufbZqQUhD8PbUrJh7PyA3gFA7Yh9wwtVykh27bDWScAdWRh9rQpCF66YwyvH09Q==","signatures":[{"sig":"MEQCIDpqEr0WyaTiIu6YCeHvgthNhQfVc8ltoFRVTTKquA1nAiB2neOet7UfIKicPsCdnsUTn+8Tv9yx9Ev9COOMSv1eIA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":985758,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZrU0CRA9TVsSAnZWagAAvIYP/2qCxv6UVe1t4eAdmvvS\nC9czd6g22ObZNjEec3PrLBWk80/UUrz2dhXYERSiWK6yzlcT4MkcqLWdQe/M\nokBOePb5bxiQWJUmkjdiLYmUzFMW1aNXwsCwPI3IZiprtbqiWkcKXFPSBYqm\nByISgNahBxWRO4N71LQvDN+AkdV9eLiEMZsPFNV+RZvgheXUI6KAaEhL464k\nfdsnD9RXwkJo9XOv3TD++6rD4dG/ecH/w82F57RV2+1tM4VbIDxVIAPXGdAy\nwQ9ppzLBcmPdG2t2uPFBFuNsJGW/JeTR1CD3kH+dYZ1pCdZyoXeIS5WLJDq5\niEmYk41lpOvFYKgNL9cOne6o5Pjqg1ISHQfjS5dxs1OcMPT/AHivrPUBKMdX\nmr0BpNaj5iAgErKWCm0DAYRL0Er5cJeUQE0zKEWJC2vWfQbzLiCeXM/02jfp\nfYwcsvYKjeb+TKRB0mTuRAXCScDZ0x1DIrCc0jACCFbwi6fHLEl+ynL83JSk\nt3uo0kwDyiIBOMAC3/Zs+wVCiYXmVKdf4/n8toF2WkD52Pxl9x/gxsLVYBEG\n7j2OJErjL3CYN0oApauyMulvwnjeAyezchPvVqtfx8H+RXCEPLSMkDwI5mHC\nZY3a0FVxBZfQkhsr3XWGApXKLPYvUYxP/NalJfr8M7wZhvpXywSXD5acrsqE\nQdIG\r\n=aEFG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"40298479db07fe86cc7d7d2862acefdb7919c597","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"6.13.7","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"12.16.1","dependencies":{"@aws-cdk/core":"^1.26.0","@aws-cdk/aws-ec2":"^1.26.0","@aws-cdk/aws-iam":"^1.26.0","@aws-cdk/aws-lambda":"^1.26.0","@aws-cdk/custom-resources":"^1.26.0","@aws-cdk/aws-elasticsearch":"^1.26.0","@aws-cdk/aws-cloudformation":"^1.26.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.19.2","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"1.26.0","ts-jest":"25.2.1","ts-node":"8.6.2","webpack":"4.42.0","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.2","@types/chai":"4.2.10","@types/jest":"25.1.4","@types/node":"10.17.16","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.7","@aws-cdk/assert":"1.26.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.0.4","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.0","@semantic-release/github":"7.0.4","@semantic-release/changelog":"5.0.0","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.26.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.11_1583789364361_0.14224425598120205","host":"s3://npm-registry-packages"}},"1.0.0-alpha.12":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.12","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.12","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"ab73c580df4d4ee1e07c14bbd6ddb2a1fab6f196","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.12.tgz","fileCount":7,"integrity":"sha512-E93FpPkqJ/qm+PfrpPa9ZaABdIbS+5E3ZDWG14yvsdpNAcx6dIGDmuDOr7/pvcnBE6HgQKWA+M2DaWhlhBpmew==","signatures":[{"sig":"MEUCICilD+uaWiH11cIv3u1hxJnW5hOcwESS/dAtyZSGH1DNAiEAyG3u3eToEvbEYMOfwzg+A/hQ+7V1f5shSxY7lOanxbM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":985736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaSCxCRA9TVsSAnZWagAAYa4P/3WIhMbBM7lQKbcTSluf\nYUY6qFQduAg0Tx50iR84IIdoLNZ+Bl0n5CoPU+NrkCcbNN4tn5vXm7i2DHWX\nQfcZ1251ki9QsP37Xhd/RFIRQZB8J57bP8BVgqCRcvvwXD4Q0TiFtJPuwIEJ\nrhWTpmv10d5kj5dpYFhAyO4wr+oFaWJ7nsip8/U2m2nsxeMidM5CkxPVwI/d\ndifOyFzQfay5Yg9z6JnvLSYeO+FnoFGFTho3SX8NapNybv8Zzvcfnzc0XQMZ\nk8HVuwwxKxYRbAo4V1CHaNuTR185MNreTEaAD2IIQwI5/TRFq9UtjtCyHLM6\n+QWetNcjIUcGQd1HRzHBRIugoFHXu8STjOauPjYeTZQ0b9Ey0dqCDT8LUMk9\nGLEFkRBdssy+RaS6h9s9V2AH8asPqk6EdV2hzEWNQyqJx+dxR+3Hdas2RBMw\n3PRnjFz96o0/7uC9bgqC3hPU/ezu2crtdSr8Hm0hrC2I+1qDUieNuURafvIk\nNPVbWGU6rUcvMeMLs+mNuVPrn9jVaj7boR83cM8/c0SQgyoJmvxhnMNzV/jq\ntJ5M60RQmSBYuRUy62DYWv7NOSQ0Q2hySz2nGw6ppBGGZSe76JK8j1iE/pR6\n2VTIFsdeDmNfNwEefhSoV4NS8/5Hb8Q6+wbUHyFY+43zyso361/LunIF1FeQ\nHbgz\r\n=u8Tl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"b35adf42503817aeec372a0974575bc627e33be3","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"6.13.7","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"12.16.1","dependencies":{"@aws-cdk/core":"^1.27.0","@aws-cdk/aws-ec2":"^1.27.0","@aws-cdk/aws-iam":"^1.27.0","@aws-cdk/aws-lambda":"^1.27.0","@aws-cdk/custom-resources":"^1.27.0","@aws-cdk/aws-elasticsearch":"^1.27.0","@aws-cdk/aws-cloudformation":"^1.27.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.19.2","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"1.27.0","ts-jest":"25.2.1","ts-node":"8.6.2","webpack":"4.42.0","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.10","@types/jest":"25.1.4","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.7","@aws-cdk/assert":"1.27.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.0.4","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.0","@semantic-release/github":"7.0.4","@semantic-release/changelog":"5.0.0","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.27.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.12_1583947953341_0.06899993425650774","host":"s3://npm-registry-packages"}},"1.0.0-alpha.13":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.13","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.13","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"208c13aff83bb21728fd44445bedde4d5ab4af17","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.13.tgz","fileCount":7,"integrity":"sha512-xSl1V3Unr5gSKV5zw1SCXwATvnJDcU/dDwBhWEPjAFF099eZEVi2u4U6HpEXYNaZsUuqFgth2t+oUmaFLCAHVQ==","signatures":[{"sig":"MEQCIHfv/t/XNlY/bZrUXOS9F9mvDq/hoc+d575siJaY7p1fAiBHxGMXXwhVguWngNH5dFbXC+Y0Krog2dGzHMCNERz0sQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":988587,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeejHMCRA9TVsSAnZWagAAPpsP/R+bgX2H05SQSA+9ov/l\npTpPCk5nhmOf9zDYP1OtkFPtvNpBmpohJbo+FdmNK/qnhA9fs8flaExpsdmS\nXpSWAqTuF4a9jrVYz6ZnmRtqRXtHON2itz66SGcPZO/NdREhM1T0WYoflih8\nus0S1mr8Vl/WPWx++6/RqN6WDJAzM2nWeruP2zFX+Hkxe5sKj4W92QN36/4c\nSgdpNFKBTWeSZoaqW0PxVpsgGJCJzSvJZmSFyIz8Y0u9q/h9VI5h45kt88jc\nx6WtkpCh+Lou1D/gnASE0SaVDqTUkhOM2wltQyOfxcHYGRjw1iYJBknzuNDZ\nuoRhoOMrjVNj2Ez79HktOtH1EnnfJdLbflCdJD6mbxxi48wYSPsYFtqDNioi\n49KeMnALrnY26Y3cXkBr/bLqskdAVA7hnYF4gWV4UaIwjxkKc/1gLqulgSrt\n6j3L+x//P+tx7OqnGzo7ucgFFViNcfmlf/9jcKOY0/yIxRy3M6VDFaiRVzPf\nqa916eqHG34lfL4+PM/JPNq4TtrtGogF2lD24Wcrc2bas6sc3Lu+dluAaarf\nCuiVj1gM27VQR82GMeVaUM5nE6LRICYyU9AaYpHCiLLew7TT2Co5rvz0wxdn\nFy92O19GSxL/omTy03zBNQYy93ZoypCO9Ga0MENCWlffSjWaR3PMwUagLUag\n+fXa\r\n=t3hF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"bef2b12da11c74d66bc776e5e4689e35137688b9","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"6.13.7","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"12.16.1","dependencies":{"@aws-cdk/core":"^1.30.0","@aws-cdk/aws-ec2":"^1.30.0","@aws-cdk/aws-iam":"^1.30.0","@aws-cdk/aws-lambda":"^1.30.0","@aws-cdk/custom-resources":"^1.30.0","@aws-cdk/aws-elasticsearch":"^1.30.0","@aws-cdk/aws-cloudformation":"^1.30.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.19.2","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"1.30.0","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"4.42.0","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.11","@types/jest":"25.1.4","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.8","@aws-cdk/assert":"1.30.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.0.4","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.0","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.30.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.13_1585066443992_0.02100003228592917","host":"s3://npm-registry-packages"}},"1.0.0-alpha.14":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.14","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.14","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"a1eebb2f776501e6503d5a956d51d76b97726e4a","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.14.tgz","fileCount":7,"integrity":"sha512-tA6DWJgJ3i8NOOsL58Z0POuUhb/e6Kt4PBZ2ZzK/qYyyAw6DCmhafjcozsJb1VrCsY2g9zfRHGCSAVuM0yrucQ==","signatures":[{"sig":"MEUCIAWPES3yP/KoB821yc59yaDnW5DaalPGNTEyU3Tz+lATAiEA4+7TkHXZDza+JvYUzChZrRfk2Ljlknqz5rgO+Fg+QWk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":989839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevDNkCRA9TVsSAnZWagAA3t4P/A1StgKMev19WRi4xy3Y\nKosqHfiJT7gaiQsfGDfSaJFXmssMskKrm4q+I/Ocehj8yqqobMJqcQ8DH3p+\nkfuNvXC1EGdi7Qib168hssSyaNACbqhOE1PHi5rIyVzqekxUysFXPODS2oTl\nbQIlmOD37Z7whOhGJI1a5r1q+YP5X9b3n/qozFg9LaQzUTO8Hr036RNe9Tlf\nX7j2n00m/9mN+rS6i4fiA5MO6qZGo22JDfxw6wk/i0N1TEzlCA/0H3o35kzu\nUzTWrop3RRO0C2OMTVro++3qOhuA54hlElhbH6YzJQqNMMNXibJWaAB1/YbK\nHP4kgVy3WixEQ/aEEY9FkAJOyqB/ZF6JX9onoAtFm5tF/hs4gO63Kcb0+OMb\nFNUwo+AGIlkqjWF5/mZmhoU4hKFbGfWU2JXnvu/P+ATs7WQVZRB/oT7MmI+x\n1G/+zpHqABm8hKNh+UWF4CZ6SGcigyjrx8k7hMTmxhORhzMKUmWyg51IqcmN\nXC1nLWpBGeVACC49fisBVbk2dHL1BsM32qRevp844pkuxO0KCiuh3XO1QgdA\nSrQv3/mxBMYxyTaEIh4VljBFWW0kbBkprgtIDv6gfF4jjH8JNYlDNBTrsfSZ\noEmi5mE60bfP3RFVTZQBiI15GWNAZ6kYn33fY0R6efxh4wUB8eQxEJXpnDHu\nCSoy\r\n=fLS/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"b558c8bf2ceeafdc8a8240b31206a406abcc368a","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"6.13.7","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@aws-cdk/core":"^1.31.0","@aws-cdk/aws-ec2":"^1.31.0","@aws-cdk/aws-iam":"^1.31.0","@aws-cdk/aws-lambda":"^1.31.0","@aws-cdk/custom-resources":"^1.31.0","@aws-cdk/aws-elasticsearch":"^1.31.0","@aws-cdk/aws-cloudformation":"^1.31.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.19.2","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"1.31.0","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"4.42.1","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.11","@types/jest":"25.1.4","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.8","@aws-cdk/assert":"1.31.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.0.4","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.0","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.31.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.14_1589392227562_0.35189881566933523","host":"s3://npm-registry-packages"}},"1.0.0-alpha.15":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.15","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.15","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"8298e87ae36ba3563e63749b653f7d3e0efc1138","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.15.tgz","fileCount":7,"integrity":"sha512-h1V9BXqysVcbxUEOu7ytruG4w6bMNlRO/plkLaNkyVzL/YhBP6O5QbX01uPnxtORm7AhWSFr4clBjtUNPSxV1w==","signatures":[{"sig":"MEYCIQDt/2NYpzaPKAmSCcp9hVWU6xplo0NVkVcF9DpzWWA+swIhALZ1TzpgL7kXdl9KM5RtsSeUQcZPMTzRH8Jj+C6hUlFN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":989752,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevGADCRA9TVsSAnZWagAAKvIP/1TdHAOsdXPUo86T+uQG\nluLfV7g1wN+IomW2p+TWPP0Y4XZO1KUWH63pp5dc2tWcSk1np7QMVm2RPVGc\nkOKvSEM8u4gTOESyhjohDFo/XWey94uTSeRu5uf5y63jITSv3a7lBGA0q3RP\npGSQoFu6erL3lYlpWcIJYWDP6Cj6cAraN3yoNqhvFKG2YbPP2+GAY6Y6pTqW\nHP2o8gPnYu3j0R9XERkl2XCjNAX03lH5dBP6l6h8zZncmL6gTt8eLNJrybDA\nuYN16bkpTy8c9Sx8gxt6po42ZuYl5FAcMgwMc6V1vyTlxyYMrU6AJmJFLng9\n1PrgHTgLOUl20slBEGFsU1MktAe9jf80VLIg/AunBD9VwebX7K+0GcXk5Nuj\nFtWZUOajQCUeE2KGadLIEQqhgsAL0JweQieJjc0U3vsLFIMV+YfVA95iDG/+\n7GOERGt9KR51jw6Ha6WONRrVxLPVaQOdYnYKGoBsPqIJHCW66lymT5F7/scY\nGBjVrrF0gD9OOeqonvfT5X5epdW4VfSYecK7s4cCjTcRkNzsKj9qCGAvjRcH\nACrFNMTAy6TaTlE5+esb2cAihU5/CwtFnZh3i/kOZReLBZuYjQ2VUzdyqMbn\nj5+05LFSZ5Di9HzfQeuXee/eQNWzIVOAf+4IoNREO5mBw78/3ve6dJPNNL6u\nzLyQ\r\n=AOqV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"3d3616d2b884c5302df1f687c0ab4b1227024d75","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"6.14.5","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@aws-cdk/core":"^1.37.0","@aws-cdk/aws-ec2":"^1.37.0","@aws-cdk/aws-iam":"^1.37.0","@aws-cdk/aws-lambda":"^1.37.0","@aws-cdk/custom-resources":"^1.37.0","@aws-cdk/aws-elasticsearch":"^1.37.0","@aws-cdk/aws-cloudformation":"^1.37.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.19.2","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"^1.37.0","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"4.42.1","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.11","@types/jest":"25.1.4","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.8","@aws-cdk/assert":"^1.37.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.0.7","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.1","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.37.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.15_1589403650979_0.9371383780107287","host":"s3://npm-registry-packages"}},"1.0.0-alpha.16":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.16","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.16","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"ff29e33be401096e37317185591a41e934c5a452","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.16.tgz","fileCount":7,"integrity":"sha512-CSdvWbIkrEPtCwb0yEnNDmiC+xImWkqAqs1oXN9l/ubJdlZcJhN+tTq93/hGiqUxT2iqFvvQjdr6/7HXIAh9vQ==","signatures":[{"sig":"MEYCIQC6FivWOFOODrQ+xG2UsTmS8+aG5/b3jFybq2TSkT/24gIhANZy+Z3y3jnrBfyqPERPhhTxqijbfyvHVgO5VYvcDvC2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":994452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewro+CRA9TVsSAnZWagAA6nkP/3QiRN35VavB0HaMv1Qt\nXVmCkPq5LebwLWT/EIHySwl2q4cv2StgpVx12Xf5RI7phHKQlMeWb6gsn8a9\ng2p4AEzeg+RviOheW3UqfvueCrxzoUYRSy0Rh8Jz7AoHIrZw1dk1ffHzPRdN\nbxTn7zGbAczQ5+aXKJwKIAka3CCDtirpxX6TVLOiH9gnId7lewSPKnLG3BTE\npV9FTRKjnay8uB4jGvOiABMreJRlN0+OSLPfzbEsznGwacfCsaayYA+ZTIO7\n3OILurACprthCW7e9rwQCdY6A0swX7H90pbL9SaQgT3k2y1i5JH5c/geSvTA\ngFPqPQb8NMbX1gEcVGRbm1SZk1uk3CWEc7j1u38NFyCi5AC9V5DdCEKf4usI\nvvG+VyJornKKUGEy8LFJHQqt86/JTPX/lfi+9dvwtKDxQ2uEcrbj14f8fbrU\nyNqTaC1HYwO/uHViu+h5+J122TFyqxyo4mR5J+qPxyl3IFJEDW6nJWlaha3o\nXP1mKeOpOsrz1a9TGi5nQj+DRXiL9ZGqFtWEoD006K7wqpyfZ6SaifP0TsfV\nQObQ7oTtot2S3Gtj2goiXSuMmPTH96mZAq3IE6j6z41VQ+VGghwQzERpchyd\nz3lMuIQnOeZ8XbKQizE/uKeCBA5SlkdFgT+e5oyGPDG8NriCrhUzkLW+5XI+\nNoUV\r\n=AcPS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags \"not @stack\"\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"e285d624dc39c18806b78ba9e53dfe5c9f3bf7b9","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"6.14.5","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@aws-cdk/core":"^1.37.0","@aws-cdk/aws-ec2":"^1.37.0","@aws-cdk/aws-iam":"^1.37.0","@aws-cdk/aws-lambda":"^1.37.0","@aws-cdk/custom-resources":"^1.37.0","@aws-cdk/aws-elasticsearch":"^1.37.0","@aws-cdk/aws-cloudformation":"^1.37.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.19.2","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"^1.37.0","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"4.42.1","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.11","@types/jest":"25.1.4","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.8","@aws-cdk/assert":"^1.37.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.0.7","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.1","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.37.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.16_1589819965727_0.7296823812495701","host":"s3://npm-registry-packages"}},"1.0.0-alpha.17":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.17","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.17","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"a258f30996643f36a87aea49cbd84cbcbf669d0c","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.17.tgz","fileCount":7,"integrity":"sha512-ag+UL90w+6DmW0Y+gvJmnAMi5Xl1fhUir693aAjljW/1metgoR9i1QzySEe2MgZkJi0epw6MOAi4oNAGhRLrFQ==","signatures":[{"sig":"MEUCIHjeXUMHm8kYS/P4atPMLMpapYZmOOtgyuJMvX8FcTv3AiEA34zvem9yBpyLOCQe/iuTHU9H71UUHhv48VyoyS9/oPc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":994923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexECRCRA9TVsSAnZWagAALFYP/A+UJ6TH6AFq0CSI12kF\nLPsSxm3GAAhKjbzTLtNBsSv42ta4jaFFfgfRvv4lKhffxlTdprwGGlZuuOVO\n5O1Yghif1H3KHVDs1HDBdFUVjeJYHFyDPDJFBxbLcasIZwu6GUuCtOD8gLm4\n3lFGmbcUfS/2/jXHRXOhGP3Yd+Hc0OI6aEUVN+B3ZpuID+7f6TSG2rhJhY+Q\noIIolJ9YPc2ZpF764pYJdW5AcNAmdL9d9JLS9OPpFduwLbbF/KnY7Sfg6Odn\nIfmr1zMtYWJpHV3mGJ+0fcztnRsCCDOzB7SoADyF5dYtbbB3ci3zcGi7NMAQ\nrdrGsMTlfGyMn4xLmod97PM4s1ciuV+ZEwO8TNlojMN7AtxXEEe9YJsiIqvr\nAh61kH9ohuUPL6S8b+qq139J22zNikgJkbHcfOqsCVkolrh3i9J+IHv2RW4E\nipvAsSgfgnQGMI237K9TOrTOosgMFArm/N3eJKEcpK3YCwsuEMfe9KKkeC1Y\n05NP3cHL+yGQ10bX+N0w7Vi1POQFfcwucOYHNNkCYBmhi8UhwFfuWhRWohwf\nImp9fkx2BbBkkRgUGZRO6x8uxuzyhiZF0adITOzObmC5pwCKxmznGi4bWOH/\ntZdlp8v9LViP5xjTfpDeYglENYBzv9Fvve/whrjUGZkj5c2l8oVj8Pfb7oPx\n165D\r\n=IJYD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"a1c3e9991e81d8acc3fd09b5cbc85270e5d83648","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"6.14.5","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@aws-cdk/core":"^1.37.0","@aws-cdk/aws-ec2":"^1.37.0","@aws-cdk/aws-iam":"^1.37.0","@aws-cdk/aws-lambda":"^1.37.0","@aws-cdk/custom-resources":"^1.37.0","@aws-cdk/aws-elasticsearch":"^1.37.0","@aws-cdk/aws-cloudformation":"^1.37.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.19.2","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"^1.37.0","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"4.42.1","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.11","@types/jest":"25.1.4","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.8","@aws-cdk/assert":"^1.37.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.0.7","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.1","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.37.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.17_1589919889013_0.08567624767814341","host":"s3://npm-registry-packages"}},"1.0.0-alpha.18":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.18","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.18","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"b3f2abed069ae6d4c5c0f28de6e669dfa3ecda40","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.18.tgz","fileCount":7,"integrity":"sha512-wDyE6VD5oGfq0s6a6n6FrGNG8sINIfcr7OZQADQLzmdFP9YJEdahN+8y2wARdHWd1gnGF3fl5f3CHO2L4clEsg==","signatures":[{"sig":"MEUCIDetD5HlBxQBXDbfzLBrmPwXhVznEQyABdkph74XGhj8AiEA0fO0UKH91oMB/B7rqic1qcsczpdvIo/yWY+y9ufbzQo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":998712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgotweCRA9TVsSAnZWagAAbacP+gOesaHDLL4HguIJs8tg\noU4l7/0/9TVF2UOFpn0WkgaDK398JWFHpIeMtW2vcEaoKXXJGkKx8yIfhPrz\ngdCUZZjVb5NXne0YnH9O2WGx9feNV9fdOnJ2Dx1rYPFYkeoV3WWqs6eJfJVu\nAEM/Up8gLQMeeqnHLG3JAvL14OUgpFMW2RKsqzMIxGJcp1erDmgLscU5PacP\noqtq+o2GNHC6KL/h6eTNV1xgI2KT40+JLN/oG5TMDE8VBxQESoseDd1KcZyG\nZ8OL4kCcA9H4ZPPpFo4Tq+rk5U/VNCeTvJSZ50/Urs9td67PP85yGeliQiaD\nhCOWsR8+3uJtWI4q23ZQiZAEd+1fqIH53QYTIPjsioTr4MQG1QTLrwfprLdZ\n/BmiuBhKd50sfU3NhcktATtq8/l2uEXqWfNyZ/mJdSzfFSw45Pl/4w0Ch7fU\nNGarhZI8NdMRAK/0pzejkiNItrQb2Jacufd1zd2zB5JwpP3YzsRFZghIWRHU\nwJy7Qxa+PfNAn9W9txGJKAf+3Ek4Ly1ZRJ45n3BuIpFNQAgemhwFLSwgeOTo\nztn/7+EXsz3psaHjUP7+I70ysauN/v7YaTAHzSrxsKu2VkTm+va+w6Xol5OS\nyzqtxcDYD+QX5jF2GuED7ynD9Y/qLB/87V6K5juNFeMcajgPLnO72vVCV28w\nf5IE\r\n=znbx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"b6510491f5b345b0fa1d197e565edc6027b370c1","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"7.13.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"14.16.1","dependencies":{"@aws-cdk/core":"^1.37.0","@aws-cdk/aws-ec2":"^1.37.0","@aws-cdk/aws-iam":"^1.37.0","@aws-cdk/aws-lambda":"^1.37.0","@aws-cdk/custom-resources":"^1.37.0","@aws-cdk/aws-elasticsearch":"^1.37.0","@aws-cdk/aws-cloudformation":"^1.37.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.19.2","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"^1.37.0","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"4.42.1","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.11","@types/jest":"25.2.3","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.28","@aws-cdk/assert":"^1.37.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.0.7","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.1","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.37.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.18_1621285918126_0.9592942622869756","host":"s3://npm-registry-packages"}},"1.0.0-alpha.19":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.19","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.19","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"0ebb583f0110c31b37f94410ef7ba5752487f5c8","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.19.tgz","fileCount":7,"integrity":"sha512-vCxvxLOJLu/P/r80N9EkXpN2cJ5ONu32JshA/ox0sZCS42N5g2pAjiM8T9aVdjC2zs8W/MSVVRiZGmXi8T7vJA==","signatures":[{"sig":"MEQCIFmzAQ2TSnTAO/pe0i+Upr1OWIXrFcfY7AjxTxSE27DiAiAC3poA3NpeaXZn9VU5PLVRm/oAjBmjkAJfoZKBhdS3hA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":998712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgousECRA9TVsSAnZWagAACT4P/R1bfq+nA1hcb8XEfjru\nhoZOkNRi+w4YDOR6ZyEYSE8V9JlYpvczoyHskfFJGVvZ2C5s6aIumA46eqfh\ndr9MHJspCt3/fdMEzoG58PKs0IlfqNCa72dA77w3Xy9nh4PSWTb6L8OBrBkG\nxL5so0lo1bHvUFpmaebdXCo2kB0aw9X2Xi7q0BfKKecvlJTlBETkzY5bjmso\nl6c3Jtc+0nESb43U0kMbXPDWVj8/nZbua1iEr9d0uts9+3EEnk/uWP4VD5hs\nckloWqNmwnjHL316AFcBKJeV+BaGDwMVpFKY+UVDFpgoEHQtClkNOFR15niW\ndxWcp+yoPbps1pKFfob0F9cHnZme82CHdtLh/QiAI2fqEnHCttGV0o5qb/Qq\ngRf8tXfWgpgquJyH244fgszPaSUG63jcVzvezu/zEG9m2f17eBS/QAu7frQv\nCfbWDd5/bS/6AH7B7YbH92eXcXKazxiFBh6vGhXtquJW1vgaLRMitD9PERfq\nOZePPnWleZ29WY0AS14jYHZdLQovK7a9EtSoKQzN3Cb2RN/pgmy4WVf7iCWh\n1cGQzovHsZBcPg4sRNj9XIJymTSxoAK41t6x6bQGWriw9MNwtPpJyM8gKm41\nNw1Pvhrh0husHDoxJHrpqG5lRXDo6wbINLX3PE5Cd2fhixLNpY4M4lEE72l9\ntjLN\r\n=JCsC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"4b2ce92f3b77ccd74cdfefa477c6fa85fdf6bab1","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"7.13.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"14.16.1","dependencies":{"@aws-cdk/core":"^1.37.0","@aws-cdk/aws-ec2":"^1.37.0","@aws-cdk/aws-iam":"^1.37.0","@aws-cdk/aws-lambda":"^1.37.0","@aws-cdk/custom-resources":"^1.37.0","@aws-cdk/aws-elasticsearch":"^1.37.0","@aws-cdk/aws-cloudformation":"^1.37.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.21.1","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"^1.37.0","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"4.42.1","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.11","@types/jest":"25.2.3","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.28","@aws-cdk/assert":"^1.37.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.2.3","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.1","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.37.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.19_1621289732445_0.9394221130529625","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"50d5733da7b0aaa3debb73cef2b2a569833bf522","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0.tgz","fileCount":7,"integrity":"sha512-8WwQcEh3krGdBciknBySB/3L7NzQg0JeSLQ+n0AIAsRHhKRyYlIsKV0CiQow9IR/ALXJYGom86Hs94tNILQ4+Q==","signatures":[{"sig":"MEUCIBTzl6dWyCC7szimLGH2U65f68ssVBOzL8EpdGylthvmAiEA56KQdAPAYkXK5lK+2JbIsQg25zKVkRN+66nT+MO21/g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":998703,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgovGzCRA9TVsSAnZWagAAv2sP/iCu2W6M9kVwV1679vWc\npwrTUiM3FJlkJByxgTc27FXAFVOF7OuCru4lufeZyaVk0IcqAVwT2h3824I4\nD1lCwu4bOK3Hu99KMTVXRVmZs4QV12uwN9N2iX92f6HmdI7E8RuWbd4VUPXA\nOan2M67TeNgt0oRPXjxxWwDqJOOUDgwfwmRsJNEbiGYAvCP/gYOuA/glsjO+\nFNCYn2pa0T2wgfqVnFUPjsc4nFgbmordf8vIXkj+137rJXeflm3oINOUWbR2\n48Z3N8V3moljacLFeD6tIJWpAGyeY5fpKmJsUHPFLXTmTxVXypb3PLYH7AHB\no5/hXTVrp+BGCgUbXloOXjZHeH00OGjlqOZ1hHTlGrP84UWqCzVIhUVMqxc6\nLwZCuCGrx/vqnlXZuvnziHtpJ74SXpN3+lUoQSFF5dVrei5BFlBAEQAWWKYj\nYAh11nw9tcBdujusuh2uOZsKvUyN29T9CrZXQqzxdN4IZoa3BGLrwX8+y/Wx\nS7/ZuPV2KqdLPLmXl1MHmjAoJ3T7zK9jPH5SG7D4qfZ7U1fP/oNC8aYxi0BX\nGJOakpBKbMo8IItczfG2GuJgzwcvw0R9/GB1Dc8jMwdI5FOjYSEGTb+m0TOS\nEHrpVIZ/GC5E4CZ527YC41mGe1fpWYC430x6CEEMjW62mfibW7iThkuWE6Q6\nNJsj\r\n=Zw0z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"gitHead":"6adcb49411f46943af3514cbc280ec1975bcb009","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"7.13.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"14.16.1","dependencies":{"@aws-cdk/core":"^1.37.0","@aws-cdk/aws-ec2":"^1.37.0","@aws-cdk/aws-iam":"^1.37.0","@aws-cdk/aws-lambda":"^1.37.0","@aws-cdk/custom-resources":"^1.37.0","@aws-cdk/aws-elasticsearch":"^1.37.0","@aws-cdk/aws-cloudformation":"^1.37.0"},"_hasShrinkwrap":false,"devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.21.1","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"^1.37.0","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"4.42.1","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.11","@types/jest":"25.2.3","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.28","@aws-cdk/assert":"^1.37.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.2.3","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.1","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.37.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0_1621291442979_0.10477261293814588","host":"s3://npm-registry-packages"}},"1.0.0-alpha.20":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.20","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.20","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"fee38950ebd05ede19a82abedd8e15da1ce652b1","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.20.tgz","fileCount":7,"integrity":"sha512-aSd1MtqClG5i/7hucBFHuAxlBQKVrk6k3+zBqc/hr/F9rH3loGVteZrzYwLTBC8hHt0XpSBqq28yOoUA5XLCTw==","signatures":[{"sig":"MEUCIHq0NOHDBW9gebKIydorulyAI6cUmRjUEzVjEU3crGflAiEAqPdsQCXKIHuTtnU2s1nLOu3lhpN3HLHsSpowmEF7SZ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":998712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgovdoCRA9TVsSAnZWagAA18IP/31rLDv4hHs4IGIe3d0p\nSzqNkFz+1baSEWU/EHWYOIiCFKt8XBw1gDdgKhqlGEk9I/qNrRPFQwWKljhR\nOFgW3gPdT4xonfI6Az3oQh4Wq/Mry1+bvZLEMgNmc54oEcLzDmZFCklQMDnx\noy9ep4lZVLtZgfrbALddFkgAlA/6o5RZIxdTfefdMwZHVYnF47oZfumC37uj\n4W48cSTKucu557i0c5CRpHM+EMhns3Q2RwSHIszpupDnKBq8gQEqAiy+/3FM\nNTIrlf0iRScvjs+oKEYGj/tdzBecfSR4yohzQ9oX42xnZRxBdHhJnUIPDHqh\ndP6fVS+7Pm1HCFda8O+3TWGC6OIQypkDJekwvRWWo0G57NUsb5ZvLcdoyaUX\nKpDw72SzggL7NXhL6lxDfg1n/qj7nY1om4y4y4l67W2F1sD2y+uO1u0j9mfq\nZm4OH9+U2V3ipdu0AugzOCfidhmcAijC1NEHPTigB9UXsRbDKNPCVzNVWgqO\nqO39e25W0N9HfQERd84g7zGDjCDTL3oybVS37yAl4frJCenjgSdGb2b448VC\nh39faP4L2MH4PZhgNumt2KC+gWc7mY/3tz/Bo9XkcyYvXCYopoaiTGllYRej\nx2RFykf6Zjs/8FWrh/TFNJxdqUJPqXwIFGY8lRtW8sg6Y7e2JTK2SxFhAHmI\nAABT\r\n=JdiR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"a7fa53cfb5c6cbb374045d1e5c6e8e7315392b57","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"7.13.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"14.16.1","dependencies":{"@aws-cdk/core":"^1.37.0","@aws-cdk/aws-ec2":"^1.37.0","@aws-cdk/aws-iam":"^1.37.0","@aws-cdk/aws-lambda":"^1.37.0","@aws-cdk/custom-resources":"^1.37.0","@aws-cdk/aws-elasticsearch":"^1.37.0","@aws-cdk/aws-cloudformation":"^1.37.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.21.1","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"^1.37.0","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"4.42.1","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.11","@types/jest":"25.2.3","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.28","@aws-cdk/assert":"^1.37.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.2.3","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.1","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.37.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.20_1621292904369_0.6911889266213458","host":"s3://npm-registry-packages"}},"1.0.0-alpha.21":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.21","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.21","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"8aac6b412a4944eebd22770f62aa925a4319280b","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.21.tgz","fileCount":7,"integrity":"sha512-F5uyKGFe2PvdbxWRMPnmKWXHBjWi3MlSvybqiTraQwyHBKOSQ2/aT9VEE2u7/egJb+TNX6BqCoOtNCD5dqOFUw==","signatures":[{"sig":"MEUCIQDI2Zc6aaRrmecRIE4bTL+fEfkWkOxYh8Y64WvC5/jlZAIgWaRUJnebqQhcdREKtPIX2NAmQDt6AhiOFhcIfscl/K0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":998713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgovj9CRA9TVsSAnZWagAARSoP/iVmDT6tHYO8Io+DMh9L\n6XY6ps/rIQ7mzFbuN09tRYK9geCyZS6jdidvHBx2urTPO9TSx2urmi5dHFXI\nqZxRIhAESLMzg+goZ/lUNqYmFsONR5foOOPJOlbmjBIeUgRaUut4C5KgFBo8\noOykzyU3HFmXk4ju28N9+YRpX9T5UO59J03dg0ZeO26UmTvJ1KExzPHkyPSY\n5a0N+ZZO73pDZ6fatUkpdFnfoYO/nT0Xoby8xqrf3/U6zyEE8RxPlB26wDev\nVMCjiRAuF9AYZp8152jGii9844bzR88I/1K20uv3EwlXbOveKYTtpz19nMgE\niMj47m5kGOTQ8Bj1SJvMCVFTH9+5+S5P9juBJPw1DwIEhBvkeRiQpQpH3FgV\ndzd24a2H6vS/UfxFxVDpvZeOVNRmuAko/pWw7b2cJK90tNG9RJTBAWTbOT/0\ntlvR5hFWXvvW/XfzwOCkTjS2IN1FWigf2sztaqiyQOjI4DeYNDETFADRwQdd\nRX3ZVIWmDZqbRc7CVkI9EIAzWWqQF8PNkHQ3OG4lPSp0f13szdulFJfemjWW\nyarhGJuw7QhygJuMJ7nzD9MUpZ37vO2akFpAfvD8UV4FXmN9xn2CD6LXJfBM\n6QouyIiAuWMTZrGWbXplwH6sRCMvyinWRmFm+HsfPf5C9Yg/r0/UsKogVKHH\nojHQ\r\n=V4oH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"7285178a6c45531d0ae424f92a12bc92340db44c","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"7.13.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"14.16.1","dependencies":{"@aws-cdk/core":"^1.37.0","@aws-cdk/aws-ec2":"^1.37.0","@aws-cdk/aws-iam":"^1.37.0","@aws-cdk/aws-lambda":"^1.37.0","@aws-cdk/custom-resources":"^1.37.0","@aws-cdk/aws-elasticsearch":"^1.37.0","@aws-cdk/aws-cloudformation":"^1.37.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.21.1","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"^1.37.0","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"4.42.1","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.11","@types/jest":"25.2.3","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.28","@aws-cdk/assert":"^1.37.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.2.3","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.1","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.37.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.21_1621293309148_0.706821015173746","host":"s3://npm-registry-packages"}},"1.0.0-alpha.22":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.22","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.22","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"b9164167046caccd8eec37dde16f32e255c913f4","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.22.tgz","fileCount":7,"integrity":"sha512-h1WCPvVSCwmFFUDrEf+lVVrcextuAvLAlEPE6Rsat7nWTH6YWs01qWbLUOW/XmV+zVh9+KMrQUnXmul0TmbDUg==","signatures":[{"sig":"MEQCICPTKwZy4CkqJgOVfs5cDFQrgctX3UyJW68yWS33PHK3AiBQlJZwILpIF/NtIr0RFce5554qxRGw8d8R4DUoI6A2gg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":998713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsQ31CRA9TVsSAnZWagAA5dwP/2M6vovXnj0VQYYft7Kc\nX9y3qd4DxSs9MzLOJNOZLX3t/LaXn8Ta9MICrA2R4itwAwgaOuzITnJT1t+X\nb7+9gRCEmkJdu7bMaUuIlG1CFNScoe80FdpUwKS2BDaRlfUkK5hd7sz5xfa6\nHNFI+yAdT4rE71UDb4TrptTKS5tuZw6srjfWb9T59dSry6StS7XooIHLNvL9\nrxdVSkU/glSdkTS1BddJTwhbyVFa8SFFr7PHnyUS2a8GUusW4TuIN724g8vo\nPGXfSsZPZqMWF8qb/Ew1pqbWW3+dvjGEKgGYNg4kfgNVjvTN3zGA3WJTss86\ns0V2ZL5hiTk+KZIYCCQPoUQjdEPlu5qqGna0MFhh82mVJlUwbWPgxPq2Uvk6\nsLqbMGnbwZP16h5/CSwSZ/BbLI3rvtkrih8UahgnUx8Rbi+oMijFLerwhWxa\nE4eD+Sg6xaEyyNpekV7ovYuVDlSRugXC50db2wYpN5jkgKOXJkH3k2uHQKEA\nKNYZ1hwl6d8gAfH/ALWY8X2SHlA/3jU/m/Iz4PEP26UlSvG0QTPnY1LIJxF+\noc+7pkjOk9zlR7pqNOofwB0LDRGJdDunFFozQ5t3SNxou4MPUtZHkzNKc2zb\nReZMfrbSkHX95xq3+SF8XoH4vZcz34h8/6pD/9PE/lmAcaiqT6aGbaSRmNsx\nm7R+\r\n=sDXN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"6204c6115a68687a9747bf1374522754198cbd1c","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"7.15.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"14.17.0","dependencies":{"@aws-cdk/core":"^1.37.0","@aws-cdk/aws-ec2":"^1.37.0","@aws-cdk/aws-iam":"^1.37.0","@aws-cdk/aws-lambda":"^1.37.0","@aws-cdk/custom-resources":"^1.37.0","@aws-cdk/aws-elasticsearch":"^1.37.0","@aws-cdk/aws-cloudformation":"^1.37.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.21.1","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"^1.37.0","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"4.42.1","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.11","@types/jest":"25.2.3","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.28","@aws-cdk/assert":"^1.37.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.2.3","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.1","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.37.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.22_1622216180704_0.22240592750373622","host":"s3://npm-registry-packages"}},"1.0.0-alpha.23":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.23","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.23","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"1abda87eb9ef7cc9dcb71bdd92051278eb38d215","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.23.tgz","fileCount":8,"integrity":"sha512-U1LWefFB8k3CEHBEKd8XyOnvvuAtpWjxLcPSuJalyq1gKbuciwZk1dl9DPKnH9R8JgbWkVxjzDRDg3NApCseSg==","signatures":[{"sig":"MEYCIQCcLXu1p/Z7I6BPVQZc1BU9pvodXbw4Qn8ycfmsIjgZ2gIhALucbSBX/KCvbXOMyZhlgmzGlPIGpRigYzRQMuXzSL6y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1972674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgt7/7CRA9TVsSAnZWagAAvcMP+QDBu+VV+lmr9iGxKwHK\nUZ80uPBAEWURYZQQ561exYbYT6Rsjp7BXCoCzFF56r9otJTa7A4K8mucDNHL\nfcaCb4fgC628bPmwkmwhTYxyb8sg11d1lKOUsy+q1ZqgCoz2GM7bDaYR/I8X\nh+yXvr7O+MvhX07OxSwbrQqFYLfFbsv1qw2c29U0sc/78c9LU4GdDS6U7N0t\nVmfY2rOaf3XNO5MfVE8j0gMqAuaiL2/gvDbhyaTuWK7JHgbVm/rljJA+b0wT\nsl5Li74Ldead21fqfZxZdOkdeKfPuGVk7LwBW9qejXmwvTIrP5QOxt2YISDx\ngoF8yHRZj2jZiJ3RfcSfHpgvgtNXKCIIBWmcCZg6NBJEZBN8aiLzNHrrvnY5\npI470lxsBBikHwSrS1PrsCpACK33NYWaNWBM1bovITEjT6dyUz7sQ6JJlNRp\nyRYH6v9hG5O2jfQjxKnevgdPEm2Bdisnoqs5QI16j2uA+3+47FylIJvR0mf9\nThU4VOVJB9APV9K/TaZYNFfo+rLSIk2t8Fe5a2nUK3rRgoEfE+OxXqD0wX0M\nOIHRAfdqDe2usQUitonFshKq+F/ZuglAUgzM7TMcWGLgAbwcsBDEWaW0HyKH\nDB7eq6JAA5DhL9IaTOZ0ucji+LN6lyrJAPGZ+auSw4g9YYJFR3d1Ple7AudY\n3SSc\r\n=Mkqm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"fef9ee5979cf3c0d3503d450e7d0d7272b48dacd","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"themizzi","email":"themizzi@me.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"7.15.1","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"14.17.0","dependencies":{"@aws-cdk/core":"^1.37.0","@aws-cdk/aws-ec2":"^1.37.0","@aws-cdk/aws-iam":"^1.37.0","@aws-cdk/aws-lambda":"^1.37.0","@aws-cdk/custom-resources":"^1.37.0","@aws-cdk/aws-elasticsearch":"^1.37.0","@aws-cdk/aws-cloudformation":"^1.37.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.2.0","jest":"25.1.0","axios":"0.21.1","husky":"4.2.3","git-cz":"4.3.1","aws-cdk":"^1.37.0","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"4.42.1","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.2.11","@types/jest":"25.2.3","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.28","@aws-cdk/assert":"^1.37.0","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.2.3","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.1","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"peerDependencies":{"@aws-cdk/core":"^1.37.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.23_1622654971701_0.2205338096418339","host":"s3://npm-registry-packages"}},"1.0.0-alpha.24":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"1.0.0-alpha.24","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@1.0.0-alpha.24","maintainers":[{"name":"incompass","email":"software@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"e4d3edc542db07586db54f5dab7ceb9031e62b1b","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-1.0.0-alpha.24.tgz","fileCount":8,"integrity":"sha512-UjWdTvBoh3AO7TEvOJh8GBxB367OQ6l3WfgtYXz005GFeuNV8Cdc0GVfaUy1QXW4v1vKsdq9U+0hRrQgcF2Rsg==","signatures":[{"sig":"MEYCIQCZP6Zh1qrUGLNP9bkd9WnyZA+hMId14nh7vc5DvYQ6MgIhAIMgV4BAo42p7CwUzzjjsNIvpsH3LRpenkUSyB4FP4ky","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1947013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJihpe6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRfA//aVS8bLpJCSHX8XVRZRjDuNUqT2eoYNlmsaI8nNXe7OccJmwA\r\nrmw9PEXf3cLn2MerOV1fCH/nLOM4+J7M3TVvsgKoyxOrQwdygrXSgFi8L2Dj\r\nSxdvegoHGavOxAZX7DSSb441N9lO+GbigYg7f8r8NilyspF7jpaA8INfHF32\r\n3vVFneWp8USl6KInKeAXk3G5Gz5v3dyfCxrYkMxnEChR9pwyyaTzT76ZTjdb\r\nH898XnYnP8gmUjCLx6Mw2gvHEX69x5q3yaCUhzLAdUWlcaYoOUI2rbQlti2d\r\n2qqvlIS3cStmpcWTd2v0UFqiZMenFjsfciPtr+7lwKPaqwaFMmFKk9+8gVF8\r\n2/6E2w2zWO7pee2BR8O+UetyuN4OlMEtM+pNJnnUjHevz9OfrpZTmo0B3333\r\nWK8PdV0cWRGqjY4ZZnstTVB222R7xolUdwab54SSRZIfTsLs8/F455FBil62\r\nwJZewEMfcFOmt0a9pK/Z2CLa7J5W3YQOPlxZzKJ4sRRpa9MjLr3IteurOH68\r\nYltDNb6M5zxqUxfRK4OyzhCbIPstcME7uGo6G/uZ3cXxJe7LtGbIwkBBOaky\r\nFzReNMRDB0fuVEPxLEBTQi5FQPpB2jN6wEXrdp1+faGkibwLbZrEWagvVggZ\r\n+KcYx/D0qbPSS0XMfZlmauNfJX1ZYb2m2lM=\r\n=zcx+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Tip for testing in an existing project](#tip-for-testing-in-an-existing-project)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Tip for testing in an existing project\n\nIt's helpful to be able to test a change you're working on in your own project's stack. To do that with a working branch of this repo, here are some tips:\n\n**Note:** This is assuming you have `aws-cdk-elasticsearch-index` and some `my_project` project directory in 2 folders in `~/dev/`.\n\n- In `my_project`'s `package.json`, set `\"@casechek/aws-cdk-elasticsearch-index\": \"../aws-cdk-elasticsearch-index\",` for the dependency version\n- Run `npm install` in `my_project` (maybe `npm ci` is needed for a clean install)\n- Run `npm install` in `aws-cdk-elasticsearch-index` then run `npm run build`\n- Then wipe the `node_modules` directory (run `rm -rf node_modules`) in `aws-cdk-elasticsearch-index`\n- Then link your project's node_modules with the one in custom construct's directory: \n  + run `ln -s ../my_project/node_modules` in `aws-cdk-elasticsearch-index`\n  \nWith this, you should be able to deploy your project's stack, and it will be using your modified custom construct.\n\nNote: Don't forget to remove the symlink if you're going through various npm installs, or you'll run into a stack memory issue. In order\nto do that, you can delete `./node_modules`.\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","gitHead":"311deae5e9ba9cb1588eeba1ef65c7a601270794","scripts":{"fix":"gts fix","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"gts check","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"incompass","email":"software@casechek.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"7.24.2","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"14.19.2","dependencies":{"constructs":"10.0.0","aws-cdk-lib":"2.24.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"1.1.2","chai":"4.3.4","jest":"25.1.0","axios":"0.21.1","husky":"4.2.3","git-cz":"4.3.1","ts-jest":"25.2.1","ts-node":"8.8.1","webpack":"5.60.0","cucumber":"5.1.0","ts-loader":"6.2.1","jsonschema":"1.2.5","typescript":"3.8.3","@types/chai":"4.3.1","@types/jest":"27.0.2","@types/node":"10.17.17","webpack-cli":"3.3.11","@types/axios":"0.14.0","concurrently":"5.1.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.10.0","@types/webpack":"4.41.28","@commitlint/cli":"8.3.5","@types/cucumber":"6.0.1","@types/memory-fs":"0.3.2","semantic-release":"17.2.3","@types/aws-lambda":"8.10.46","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"2.5.0","@semantic-release/git":"9.0.0","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.0.5","@semantic-release/changelog":"5.0.1","semantic-release-contributors":"1.0.0","@commitlint/config-conventional":"8.3.4","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_1.0.0-alpha.24_1652987833846_0.429317492907366","host":"s3://npm-registry-packages"}},"2.0.0-alpha.1":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"2.0.0-alpha.1","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@2.0.0-alpha.1","maintainers":[{"name":"incompass","email":"dev.team@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"0c4c9878158f601db6130b4e0c4af7912b7307d0","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-2.0.0-alpha.1.tgz","fileCount":8,"integrity":"sha512-/G/2GpX/7Ak0rMvMKVuvZUzS2ljb3WjH/zqnATzgt4/ou2CfQkgZj2OXWGUhmT0pA+BIssUVdn8iFgakOXek0A==","signatures":[{"sig":"MEUCIQDeBowKspykORkHjz6aJ3YsvcnlPaPdFO3kixCSF4lEcwIgWdTb1pdCaEHejb33xsASMEo2KfXqfhwl3DilroJUOzQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1949311},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"gitHead":"ab342248858102cb1e7fc77fb45a503eee3fb186","scripts":{"fix":"eslint --fix .","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"eslint .","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"incompass","email":"dev.team@casechek.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"6.14.15","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"14.18.1","dependencies":{"aws-sdk":"2.1378.0","constructs":"10.2.31","aws-cdk-lib":"2.80.0"},"_hasShrinkwrap":false,"devDependencies":{"gts":"3.1.1","chai":"4.3.7","jest":"25.5.4","axios":"1.3.4","husky":"8.0.3","eslint":"8.38.0","git-cz":"4.9.0","ts-jest":"25.3.1","ts-node":"10.9.1","webpack":"5.78.0","ts-loader":"9.4.2","jsonschema":"1.4.1","typescript":"4.9.5","@types/chai":"4.3.5","@types/jest":"29.5.1","@types/node":"20.2.3","webpack-cli":"5.1.1","@types/axios":"0.14.0","concurrently":"8.0.1","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.13.1","@types/webpack":"5.28.1","@commitlint/cli":"17.6.3","@types/memory-fs":"0.3.3","semantic-release":"17.4.7","@types/aws-lambda":"8.10.115","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"3.5.0","@cucumber/cucumber":"9.1.2","@semantic-release/git":"9.0.1","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"7.2.3","@semantic-release/changelog":"5.0.1","semantic-release-contributors":"3.1.1","@commitlint/config-conventional":"17.4.4","@typescript-eslint/eslint-plugin":"5.59.7","eslint-plugin-simple-import-sort":"10.0.0","@semantic-release/commit-analyzer":"8.0.1","@semantic-release/release-notes-generator":"9.0.3"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_2.0.0-alpha.1_1685113920812_0.886444950912826","host":"s3://npm-registry-packages"}},"2.0.0-alpha.2":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"2.0.0-alpha.2","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@2.0.0-alpha.2","maintainers":[{"name":"incompass","email":"dev.team@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"d98e92fb47951f8d8da2729bc1bf64b6a5a34064","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-2.0.0-alpha.2.tgz","fileCount":8,"integrity":"sha512-rEVQyaNFMvtLl8bo/MaeRaNEFOrUxlf0oIfocV1equDjjoGAJPxWjtx2VxrWYairpGVNJ+DZZIPVnD2s/fo8cQ==","signatures":[{"sig":"MEQCIECid0UjT+Tk0XH3QjGLeXZNPtmBmMX6lRIxGK4HlXF1AiAAvnzOkOTYglvyZvE4tc/oNvQtd47lmZL+5mS/RFdz9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1951646},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"gitHead":"40ce83d447d90bb219cc33a778a835190861565b","scripts":{"fix":"eslint --fix .","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"eslint .","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","semantic-release":"semantic-release"},"_npmUser":{"name":"incompass","email":"dev.team@casechek.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"10.2.3","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"18.19.0","dependencies":{"aws-sdk":"2.1444.0","constructs":"10.2.70","aws-cdk-lib":"2.100.0"},"_hasShrinkwrap":false,"devDependencies":{"gts":"5.0.0","chai":"4.3.7","jest":"25.5.4","axios":"1.6.0","husky":"8.0.3","eslint":"8.47.0","git-cz":"4.9.0","ts-jest":"25.3.1","ts-node":"10.9.1","webpack":"5.88.2","ts-loader":"9.4.4","jsonschema":"1.4.1","typescript":"4.9.5","@types/chai":"4.3.5","@types/jest":"29.5.2","@types/node":"20.5.1","webpack-cli":"5.1.4","@types/axios":"0.14.0","concurrently":"8.2.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.13.1","@types/webpack":"5.28.1","@commitlint/cli":"17.6.7","@types/memory-fs":"0.3.3","semantic-release":"23.0.2","@types/aws-lambda":"8.10.119","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"3.5.1","@cucumber/cucumber":"9.3.0","@semantic-release/git":"10.0.1","@elastic/elasticsearch":"7.6.1","@semantic-release/github":"9.2.6","@semantic-release/changelog":"6.0.3","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"5.61.0","eslint-plugin-simple-import-sort":"10.0.0","@semantic-release/release-notes-generator":"12.1.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_2.0.0-alpha.2_1708554828207_0.9166417529338959","host":"s3://npm-registry-packages"}},"2.0.0-alpha.1.123":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"2.0.0-alpha.1.123","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@2.0.0-alpha.1.123","maintainers":[{"name":"incompass","email":"dev.team@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"d71f26708724896c66971b055a3f1ee119f1794c","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-2.0.0-alpha.1.123.tgz","fileCount":8,"integrity":"sha512-Ro8a0M8WnNwkSycKsBHOEsDIYv7CD3K6htRgVsN9ugnNhRw3YeiWeaxG2pIJxYrYe+M3sJLD4mUirFtDNd43og==","signatures":[{"sig":"MEQCIBBJ7BClq1XBJS0EMpDyRdDo+taOfBXpJn5VsnsHLFMuAiBl3vbPX+NuUU0OiRAyb8BbWIa7jFXiwW4FN88c4JJ3Og==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1949817},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"gitHead":"94a5963800d10677a0e8aab8f4b5de9b1ef30233","release":{"plugins":[["@semantic-release/release-notes-generator",{"linkReferences":false}],["@semantic-release/github",{"failComment":false,"successComment":false}]],"branches":["main",{"name":"develop","prerelease":true}]},"scripts":{"fix":"eslint --fix .","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"eslint .","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","test:e2e":"scripts/run_feature_tests.sh","deploy:pr":"scripts/deploy_pr.sh","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","deploy:develop":"echo \"No deploy for develop\"","deploy:staging":"echo \"No deploy for staging\"","clean:deployment":"scripts/clean_deployment.sh","semantic-release":"semantic-release","deploy:production":"npm publish","install:dependencies":"echo \"No dependencies to install\""},"_npmUser":{"name":"incompass","email":"dev.team@casechek.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"9.6.7","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"18.16.0","dependencies":{"aws-sdk":"2.1444.0","constructs":"10.2.70","aws-cdk-lib":"2.100.0"},"_hasShrinkwrap":false,"devDependencies":{"gts":"5.0.0","chai":"4.3.7","jest":"25.5.4","axios":"1.6.0","husky":"8.0.3","eslint":"8.47.0","git-cz":"4.9.0","ts-jest":"25.3.1","ts-node":"10.9.1","webpack":"5.88.2","ts-loader":"9.4.4","jsonschema":"1.4.1","typescript":"4.9.5","@types/chai":"4.3.5","@types/jest":"29.5.2","@types/node":"20.5.1","webpack-cli":"5.1.4","@types/axios":"0.14.0","concurrently":"8.2.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.13.1","@types/webpack":"5.28.1","@commitlint/cli":"17.6.7","@types/memory-fs":"0.3.3","semantic-release":"22.0.12","@types/aws-lambda":"8.10.119","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"3.5.1","@cucumber/cucumber":"9.3.0","@elastic/elasticsearch":"7.6.1","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"5.61.0","eslint-plugin-simple-import-sort":"10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_2.0.0-alpha.1.123_1708573639695_0.5625763114861575","host":"s3://npm-registry-packages"}},"2.0.0-alpha.1.123.123":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"2.0.0-alpha.1.123.123","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@2.0.0-alpha.1.123.123","maintainers":[{"name":"incompass","email":"dev.team@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"50fba93d0347e52bcd30ec65fa71d8f267e6a6ae","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-2.0.0-alpha.1.123.123.tgz","fileCount":8,"integrity":"sha512-c4VT3yXGfETEikuxaxDdpsIDxFOK2n7EF6DQ/UaolZDuLXWIgZulDlNRStyDCJcRkz996Y2PPeOaVPktUE1BBg==","signatures":[{"sig":"MEQCIFi1bdCpficKme75SYHt6Tz5KW8H8zRdV8fidVYXRcemAiByZgBzVdgb8h9LIvKDV1c0A6oFB1ThYBQ4nO/vMKW6tQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1949821},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"gitHead":"94a5963800d10677a0e8aab8f4b5de9b1ef30233","release":{"plugins":[["@semantic-release/release-notes-generator",{"linkReferences":false}],["@semantic-release/github",{"failComment":false,"successComment":false}]],"branches":["main",{"name":"develop","prerelease":true}]},"scripts":{"fix":"eslint --fix .","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"eslint .","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","test:e2e":"scripts/run_feature_tests.sh","deploy:pr":"scripts/deploy_pr.sh","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","deploy:develop":"echo \"No deploy for develop\"","deploy:staging":"echo \"No deploy for staging\"","clean:deployment":"scripts/clean_deployment.sh","semantic-release":"semantic-release","deploy:production":"npm publish","install:dependencies":"echo \"No dependencies to install\""},"_npmUser":{"name":"incompass","email":"dev.team@casechek.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"9.6.7","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"18.16.0","dependencies":{"aws-sdk":"2.1444.0","constructs":"10.2.70","aws-cdk-lib":"2.100.0"},"_hasShrinkwrap":false,"devDependencies":{"gts":"5.0.0","chai":"4.3.7","jest":"25.5.4","axios":"1.6.0","husky":"8.0.3","eslint":"8.47.0","git-cz":"4.9.0","ts-jest":"25.3.1","ts-node":"10.9.1","webpack":"5.88.2","ts-loader":"9.4.4","jsonschema":"1.4.1","typescript":"4.9.5","@types/chai":"4.3.5","@types/jest":"29.5.2","@types/node":"20.5.1","webpack-cli":"5.1.4","@types/axios":"0.14.0","concurrently":"8.2.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.13.1","@types/webpack":"5.28.1","@commitlint/cli":"17.6.7","@types/memory-fs":"0.3.3","semantic-release":"22.0.12","@types/aws-lambda":"8.10.119","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"3.5.1","@cucumber/cucumber":"9.3.0","@elastic/elasticsearch":"7.6.1","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"5.61.0","eslint-plugin-simple-import-sort":"10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_2.0.0-alpha.1.123.123_1708573693546_0.8755137904556332","host":"s3://npm-registry-packages"}},"2.0.0-develop.1":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"2.0.0-develop.1","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@2.0.0-develop.1","maintainers":[{"name":"incompass","email":"dev.team@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"7202767818ce13e576c817a49a2d250a2e177573","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-2.0.0-develop.1.tgz","fileCount":8,"integrity":"sha512-zoSUp+jJKfshAZiaf/35C+BjvN4Vg9xAZ3XzzxMlzM5Ip8cy/0bBV7MLcw4T8zOuTXxnUv4S/Mbif5VSgR+szA==","signatures":[{"sig":"MEQCIC/GX2kVgWzEKfaCqk2noTS7rvDSFmg0v/sHosbBi9+NAiB7qdlqKSg3PKnD9MlDnlIPHa3aocXazxCRhV83kIRq8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1949819},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Tip for testing in an existing project](#tip-for-testing-in-an-existing-project)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Tip for testing in an existing project\n\nIt's helpful to be able to test a change you're working on in your own project's stack. To do that with a working branch of this repo, here are some tips:\n\n**Note:** This is assuming you have `aws-cdk-elasticsearch-index` and some `my_project` project directory in 2 folders in `~/dev/`.\n\n- In `my_project`'s `package.json`, set `\"@casechek/aws-cdk-elasticsearch-index\": \"../aws-cdk-elasticsearch-index\",` for the dependency version\n- Run `npm install` in `my_project` (maybe `npm ci` is needed for a clean install)\n- Run `npm install` in `aws-cdk-elasticsearch-index` then run `npm run build`\n- Then wipe the `node_modules` directory (run `rm -rf node_modules`) in `aws-cdk-elasticsearch-index`\n- Then link your project's node_modules with the one in custom construct's directory: \n  + run `ln -s ../my_project/node_modules` in `aws-cdk-elasticsearch-index`\n  \nWith this, you should be able to deploy your project's stack, and it will be using your modified custom construct.\n\nNote: Don't forget to remove the symlink if you're going through various npm installs, or you'll run into a stack memory issue. In order\nto do that, you can delete `./node_modules`.\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","engines":{"npm":"^9.5.1","node":"^18.16.0"},"gitHead":"c98625a6e6635fd2cad1654b6e277d76dc821b3e","release":{"plugins":[["@semantic-release/release-notes-generator",{"linkReferences":false}],["@semantic-release/github",{"failComment":false,"successComment":false}]],"branches":["main",{"name":"develop","prerelease":true}]},"scripts":{"fix":"eslint --fix .","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"eslint .","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","test:e2e":"scripts/run_feature_tests.sh","deploy:pr":"scripts/deploy_pr.sh","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","deploy:develop":"scripts/deploy_develop.sh","deploy:staging":"scripts/deploy_staging.sh","clean:deployment":"scripts/clean_deployment.sh","semantic-release":"semantic-release","deploy:production":"scripts/deploy_production.sh"},"_npmUser":{"name":"incompass","email":"dev.team@casechek.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"10.4.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"18.19.1","dependencies":{"aws-sdk":"2.1444.0","constructs":"10.2.70","aws-cdk-lib":"2.100.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"5.0.0","chai":"4.3.7","jest":"25.5.4","axios":"1.6.0","husky":"8.0.3","eslint":"8.47.0","git-cz":"4.9.0","ts-jest":"25.3.1","ts-node":"10.9.1","webpack":"5.88.2","ts-loader":"9.4.4","jsonschema":"1.4.1","typescript":"4.9.5","@types/chai":"4.3.5","@types/jest":"29.5.2","@types/node":"20.5.1","webpack-cli":"5.1.4","@types/axios":"0.14.0","concurrently":"8.2.0","@types/aws-sdk":"2.7.0","@types/mock-fs":"4.13.1","@types/webpack":"5.28.1","@commitlint/cli":"17.6.7","@types/memory-fs":"0.3.3","semantic-release":"23.0.2","@types/aws-lambda":"8.10.119","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"3.5.1","@cucumber/cucumber":"9.3.0","@elastic/elasticsearch":"7.6.1","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"5.61.0","eslint-plugin-simple-import-sort":"10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_2.0.0-develop.1_1708621880934_0.1684873975270691","host":"s3://npm-registry-packages"}},"2.0.0-develop.2":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"2.0.0-develop.2","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@2.0.0-develop.2","maintainers":[{"name":"incompass","email":"dev.team@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"7f6030e688a8e3d72eff176ea091560da3c7f647","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-2.0.0-develop.2.tgz","fileCount":16,"integrity":"sha512-bBSX0ACd9De6j99oJnZsq0lGphnPqpA74BjyOev8HK+eO24W45Qcyuki0VPYOa2XtPY4tmhfPuMReAB+J2rA+g==","signatures":[{"sig":"MEYCIQDzAKFo8VDF+gwaPY+VB5vasePf/ZZum/69GVF25m9rxgIhAItiIAHsZDuCATKG24wVCJnqI9YzMKSsC+nC0QGqhO6g","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3197761},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Tip for testing in an existing project](#tip-for-testing-in-an-existing-project)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Tip for testing in an existing project\n\nIt's helpful to be able to test a change you're working on in your own project's stack. To do that with a working branch of this repo, here are some tips:\n\n**Note:** This is assuming you have `aws-cdk-elasticsearch-index` and some `my_project` project directory in 2 folders in `~/dev/`.\n\n- In `my_project`'s `package.json`, set `\"@casechek/aws-cdk-elasticsearch-index\": \"../aws-cdk-elasticsearch-index\",` for the dependency version\n- Run `npm install` in `my_project` (maybe `npm ci` is needed for a clean install)\n- Run `npm install` in `aws-cdk-elasticsearch-index` then run `npm run build`\n- Then wipe the `node_modules` directory (run `rm -rf node_modules`) in `aws-cdk-elasticsearch-index`\n- Then link your project's node_modules with the one in custom construct's directory: \n  + run `ln -s ../my_project/node_modules` in `aws-cdk-elasticsearch-index`\n  \nWith this, you should be able to deploy your project's stack, and it will be using your modified custom construct.\n\nNote: Don't forget to remove the symlink if you're going through various npm installs, or you'll run into a stack memory issue. In order\nto do that, you can delete `./node_modules`.\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","engines":{"npm":"^9.5.1","node":"^18.16.0"},"gitHead":"bca1320f4b2a43607b54e7e41337481dae5c5414","release":{"plugins":[["@semantic-release/release-notes-generator",{"linkReferences":false}],["@semantic-release/github",{"failComment":false,"successComment":false}]],"branches":["main",{"name":"develop","prerelease":true}]},"scripts":{"fix":"eslint --fix .","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"eslint .","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","test:e2e":"scripts/run_feature_tests.sh","deploy:pr":"scripts/deploy_pr.sh","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","deploy:develop":"scripts/deploy_develop.sh","deploy:staging":"scripts/deploy_staging.sh","clean:deployment":"scripts/clean_deployment.sh","semantic-release":"semantic-release","deploy:production":"scripts/deploy_production.sh"},"_npmUser":{"name":"incompass","email":"dev.team@casechek.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"10.4.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"18.19.1","dependencies":{"constructs":"10.2.70","aws-cdk-lib":"2.100.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"5.0.0","chai":"4.3.7","jest":"25.5.4","axios":"1.6.0","husky":"8.0.3","eslint":"8.56.0","git-cz":"4.9.0","ts-jest":"25.3.1","ts-node":"10.9.1","webpack":"5.88.2","ts-loader":"9.4.4","jsonschema":"1.4.1","typescript":"4.9.5","@types/chai":"4.3.5","@types/jest":"29.5.2","@types/node":"20.5.1","webpack-cli":"5.1.4","@types/axios":"0.14.0","concurrently":"8.2.0","@types/mock-fs":"4.13.1","@types/webpack":"5.28.1","@commitlint/cli":"17.6.7","@types/memory-fs":"0.3.3","semantic-release":"23.0.2","@types/aws-lambda":"8.10.119","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"3.5.1","@aws-sdk/client-s3":"3.515.0","@cucumber/cucumber":"9.3.0","@aws-sdk/client-lambda":"3.518.0","@elastic/elasticsearch":"7.6.1","@aws-sdk/credential-providers":"3.515.0","@aws-sdk/client-cloudformation":"3.521.0","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"7.0.2","eslint-plugin-simple-import-sort":"10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_2.0.0-develop.2_1708720214524_0.4143043530797874","host":"s3://npm-registry-packages"}},"2.0.0-develop.3":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"2.0.0-develop.3","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@2.0.0-develop.3","maintainers":[{"name":"incompass","email":"dev.team@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"267a45a369c89034f8b55a10c72539a2bcd13517","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-2.0.0-develop.3.tgz","fileCount":16,"integrity":"sha512-DCypLKS5QI6l1HBb84dEdfLi3whERV71o1qJrwbM6gvszy+2N016Iccwvl4aJ0XhvvA/W2/fZyZ7sfczgNXXBA==","signatures":[{"sig":"MEUCIBTTvkp2nxC7OwszQyBP4lXQaR/UX3gO5xtnMmYfxGJVAiEA79YukkcmiLts1/WO2v4eRzTRQup8TvEswcbkwtB2Bj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3199344},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Tip for testing in an existing project](#tip-for-testing-in-an-existing-project)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Tip for testing in an existing project\n\nIt's helpful to be able to test a change you're working on in your own project's stack. To do that with a working branch of this repo, here are some tips:\n\n**Note:** This is assuming you have `aws-cdk-elasticsearch-index` and some `my_project` project directory in 2 folders in `~/dev/`.\n\n- In `my_project`'s `package.json`, set `\"@casechek/aws-cdk-elasticsearch-index\": \"../aws-cdk-elasticsearch-index\",` for the dependency version\n- Run `npm install` in `my_project` (maybe `npm ci` is needed for a clean install)\n- Run `npm install` in `aws-cdk-elasticsearch-index` then run `npm run build`\n- Then wipe the `node_modules` directory (run `rm -rf node_modules`) in `aws-cdk-elasticsearch-index`\n- Then link your project's node_modules with the one in custom construct's directory: \n  + run `ln -s ../my_project/node_modules` in `aws-cdk-elasticsearch-index`\n  \nWith this, you should be able to deploy your project's stack, and it will be using your modified custom construct.\n\nNote: Don't forget to remove the symlink if you're going through various npm installs, or you'll run into a stack memory issue. In order\nto do that, you can delete `./node_modules`.\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","engines":{"npm":"^9.5.1","node":"^18.16.0"},"gitHead":"e27d826e31e1a8529a49667c97aea59c21617f7d","release":{"plugins":[["@semantic-release/release-notes-generator",{"linkReferences":false}],["@semantic-release/github",{"failComment":false,"successComment":false}]],"branches":["main",{"name":"develop","prerelease":true}]},"scripts":{"fix":"eslint --fix .","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"eslint .","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","test:e2e":"scripts/run_feature_tests.sh","deploy:pr":"scripts/deploy_pr.sh","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","deploy:develop":"scripts/deploy_develop.sh","deploy:staging":"scripts/deploy_staging.sh","clean:deployment":"scripts/clean_deployment.sh","semantic-release":"semantic-release","deploy:production":"scripts/deploy_production.sh"},"_npmUser":{"name":"incompass","email":"dev.team@casechek.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"10.4.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"18.19.1","dependencies":{"constructs":"10.2.70","aws-cdk-lib":"2.100.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"5.0.0","chai":"4.3.7","jest":"25.5.4","axios":"1.6.0","husky":"8.0.3","eslint":"8.56.0","git-cz":"4.9.0","ts-jest":"25.3.1","ts-node":"10.9.1","webpack":"5.88.2","ts-loader":"9.4.4","jsonschema":"1.4.1","typescript":"4.9.5","@types/chai":"4.3.5","@types/jest":"29.5.2","@types/node":"20.5.1","webpack-cli":"5.1.4","@types/axios":"0.14.0","concurrently":"8.2.0","@types/mock-fs":"4.13.1","@types/webpack":"5.28.1","@commitlint/cli":"17.6.7","@types/memory-fs":"0.3.3","semantic-release":"23.0.2","@types/aws-lambda":"8.10.119","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"3.5.1","@aws-sdk/client-s3":"3.515.0","@cucumber/cucumber":"9.3.0","@aws-sdk/client-lambda":"3.518.0","@elastic/elasticsearch":"7.6.1","@aws-sdk/credential-providers":"3.515.0","@aws-sdk/client-cloudformation":"3.521.0","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"7.0.2","eslint-plugin-simple-import-sort":"10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_2.0.0-develop.3_1709235587392_0.7004527501626083","host":"s3://npm-registry-packages"}},"2.0.0-develop.4":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"2.0.0-develop.4","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@2.0.0-develop.4","maintainers":[{"name":"incompass","email":"dev.team@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"fd4d70c51e6e2269753fecaac3e48cacb79124e9","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-2.0.0-develop.4.tgz","fileCount":16,"integrity":"sha512-tsA7RuaUgLcp0a7ShdPcoNv9F3r9wUrdLNdcvf4+dPbqDRFCXUOiYxHY8HkHrNt22rhy7omJy2R1IF3qtMifHg==","signatures":[{"sig":"MEYCIQDxgAPESRYQqsVss9D/RuIdsj9vA2cqehufcFvj1MTrxQIhAIsw6TQPEy+ZaRLxgCQdPHovmY1j3HJsUmQQ+ah9jpuc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3199177},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Tip for testing in an existing project](#tip-for-testing-in-an-existing-project)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Tip for testing in an existing project\n\nIt's helpful to be able to test a change you're working on in your own project's stack. To do that with a working branch of this repo, here are some tips:\n\n**Note:** This is assuming you have `aws-cdk-elasticsearch-index` and some `my_project` project directory in 2 folders in `~/dev/`.\n\n- In `my_project`'s `package.json`, set `\"@casechek/aws-cdk-elasticsearch-index\": \"../aws-cdk-elasticsearch-index\",` for the dependency version\n- Run `npm install` in `my_project` (maybe `npm ci` is needed for a clean install)\n- Run `npm install` in `aws-cdk-elasticsearch-index` then run `npm run build`\n- Then wipe the `node_modules` directory (run `rm -rf node_modules`) in `aws-cdk-elasticsearch-index`\n- Then link your project's node_modules with the one in custom construct's directory: \n  + run `ln -s ../my_project/node_modules` in `aws-cdk-elasticsearch-index`\n  \nWith this, you should be able to deploy your project's stack, and it will be using your modified custom construct.\n\nNote: Don't forget to remove the symlink if you're going through various npm installs, or you'll run into a stack memory issue. In order\nto do that, you can delete `./node_modules`.\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","engines":{"npm":"^9.5.1","node":"^18.16.0"},"gitHead":"f2e1f145b8ad34ebe1d8d0a1f19212b4f6518fa7","release":{"plugins":[["@semantic-release/release-notes-generator",{"linkReferences":false}],["@semantic-release/github",{"failComment":false,"successComment":false}]],"branches":["main",{"name":"develop","prerelease":true}]},"scripts":{"fix":"eslint --fix .","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"eslint .","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","test:e2e":"scripts/run_feature_tests.sh","deploy:pr":"scripts/deploy_pr.sh","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","deploy:develop":"scripts/deploy_develop.sh","deploy:staging":"scripts/deploy_staging.sh","clean:deployment":"scripts/clean_deployment.sh","semantic-release":"semantic-release","deploy:production":"scripts/deploy_production.sh"},"_npmUser":{"name":"incompass","email":"dev.team@casechek.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"10.4.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"18.19.1","dependencies":{"constructs":"10.2.70","aws-cdk-lib":"2.100.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"5.0.0","chai":"4.3.7","jest":"25.5.4","axios":"1.6.0","husky":"8.0.3","eslint":"8.56.0","git-cz":"4.9.0","ts-jest":"25.3.1","ts-node":"10.9.1","webpack":"5.88.2","ts-loader":"9.4.4","jsonschema":"1.4.1","typescript":"4.9.5","@types/chai":"4.3.5","@types/jest":"29.5.2","@types/node":"20.5.1","webpack-cli":"5.1.4","@types/axios":"0.14.0","concurrently":"8.2.0","@types/mock-fs":"4.13.1","@types/webpack":"5.28.1","@commitlint/cli":"17.6.7","@types/memory-fs":"0.3.3","semantic-release":"23.0.2","@types/aws-lambda":"8.10.119","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"3.5.1","@aws-sdk/client-s3":"3.515.0","@cucumber/cucumber":"9.3.0","@aws-sdk/client-lambda":"3.518.0","@elastic/elasticsearch":"7.6.1","@aws-sdk/credential-providers":"3.515.0","@aws-sdk/client-cloudformation":"3.521.0","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"7.0.2","eslint-plugin-simple-import-sort":"10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_2.0.0-develop.4_1709314475686_0.5759666139689246","host":"s3://npm-registry-packages"}},"2.0.0-develop.5":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"2.0.0-develop.5","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@2.0.0-develop.5","maintainers":[{"name":"incompass","email":"dev.team@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"1ce9873c8dbca87ea7ddc3797bd240340fc06ddf","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-2.0.0-develop.5.tgz","fileCount":16,"integrity":"sha512-KsM9RgnkAua1SQqJ15yAvI0RD+1vl+o8GWXQKYzX/IqxhGeCZ2O0VVFD1LF7VIBw4MAK6y4t6iwOw+pdouLvFw==","signatures":[{"sig":"MEUCICoY4R/fP1VLjYbbqluQMEvLpAN5fI9grCwZEjtADgD/AiEAqZm2WnqrKAET/tP3i4ZDrig/2oA6F+h/RmHZo8dQwwk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3199177},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  * [Table of Contents](#table-of-contents)\n  * [Usage](#usage)\n    + [Installation](#installation)\n    + [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    + [Create an Index](#create-an-index)\n  * [Tip for testing in an existing project](#tip-for-testing-in-an-existing-project)\n  * [Contributing](#contributing)\n    + [Required Software](#required-software)\n    + [Obtaining the Source](#obtaining-the-source)\n    + [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    + [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n  * [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Tip for testing in an existing project\n\nIt's helpful to be able to test a change you're working on in your own project's stack. To do that with a working branch of this repo, here are some tips:\n\n**Note:** This is assuming you have `aws-cdk-elasticsearch-index` and some `my_project` project directory in 2 folders in `~/dev/`.\n\n- In `my_project`'s `package.json`, set `\"@casechek/aws-cdk-elasticsearch-index\": \"../aws-cdk-elasticsearch-index\",` for the dependency version\n- Run `npm install` in `my_project` (maybe `npm ci` is needed for a clean install)\n- Run `npm install` in `aws-cdk-elasticsearch-index` then run `npm run build`\n- Then wipe the `node_modules` directory (run `rm -rf node_modules`) in `aws-cdk-elasticsearch-index`\n- Then link your project's node_modules with the one in custom construct's directory: \n  + run `ln -s ../my_project/node_modules` in `aws-cdk-elasticsearch-index`\n  \nWith this, you should be able to deploy your project's stack, and it will be using your modified custom construct.\n\nNote: Don't forget to remove the symlink if you're going through various npm installs, or you'll run into a stack memory issue. In order\nto do that, you can delete `./node_modules`.\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","engines":{"npm":"^9.5.1","node":"^18.16.0"},"gitHead":"89b53dcca6afe69650e5eb8b983e51176fc55efb","release":{"plugins":[["@semantic-release/release-notes-generator",{"linkReferences":false}],["@semantic-release/github",{"failComment":false,"successComment":false}]],"branches":["main",{"name":"develop","prerelease":true}]},"scripts":{"fix":"eslint --fix .","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"eslint .","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","test:e2e":"scripts/run_feature_tests.sh","deploy:pr":"scripts/deploy_pr.sh","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","deploy:develop":"scripts/deploy_develop.sh","deploy:staging":"scripts/deploy_staging.sh","clean:deployment":"scripts/clean_deployment.sh","semantic-release":"semantic-release","deploy:production":"scripts/deploy_production.sh"},"_npmUser":{"name":"incompass","email":"dev.team@casechek.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"10.4.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"18.19.1","dependencies":{"constructs":"10.2.70","aws-cdk-lib":"2.100.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"5.0.0","chai":"4.3.7","jest":"25.5.4","axios":"1.6.0","husky":"8.0.3","eslint":"8.56.0","git-cz":"4.9.0","ts-jest":"25.3.1","ts-node":"10.9.2","webpack":"5.88.2","ts-loader":"9.4.4","jsonschema":"1.4.1","typescript":"4.9.5","@types/chai":"4.3.5","@types/jest":"29.5.2","@types/node":"20.5.1","webpack-cli":"5.1.4","@types/axios":"0.14.0","concurrently":"8.2.0","@types/mock-fs":"4.13.1","@types/webpack":"5.28.1","@commitlint/cli":"19.0.3","@types/memory-fs":"0.3.3","semantic-release":"23.0.2","@types/aws-lambda":"8.10.119","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"3.5.1","@aws-sdk/client-s3":"3.515.0","@cucumber/cucumber":"9.3.0","@aws-sdk/client-lambda":"3.518.0","@elastic/elasticsearch":"7.6.1","@aws-sdk/credential-providers":"3.515.0","@aws-sdk/client-cloudformation":"3.521.0","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"7.1.0","eslint-plugin-simple-import-sort":"10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_2.0.0-develop.5_1712069935367_0.6946265374078826","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"2.0.0","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@2.0.0","maintainers":[{"name":"incompass","email":"dev.team@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"3010d74dede5cfbcc7b01bebea1ee32fb707286a","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-2.0.0.tgz","fileCount":16,"integrity":"sha512-oWfN0WyCF/0GTNkGp6mL9BQ6QDqf2il6yIi5d2oeDkf+lOaZD8/1EePlaGY4pYeCTtyGr8keqAHOVRoqTXAd4g==","signatures":[{"sig":"MEUCIBBkeO6FgyqGtDToMwtZ9a7f1FYGE8wnbT7BDhj4aW2ZAiEAq2tJH9HsRC4I4rwt9rqOMtw303lE43O4KsursBOpIeY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3199270},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"engines":{"npm":"^9.5.1","node":"^18.16.0"},"gitHead":"0d87a6cd3c33a5172c3431266612fba9cbef8acb","release":{"plugins":[["@semantic-release/release-notes-generator",{"linkReferences":false}],["@semantic-release/github",{"failComment":false,"successComment":false}]],"branches":["main",{"name":"develop","prerelease":true}]},"scripts":{"fix":"eslint --fix .","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"eslint .","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","test:e2e":"scripts/run_feature_tests.sh","deploy:pr":"scripts/deploy_pr.sh","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","deploy:develop":"scripts/deploy_develop.sh","deploy:staging":"scripts/deploy_staging.sh","clean:deployment":"scripts/clean_deployment.sh","semantic-release":"semantic-release","deploy:production":"scripts/deploy_production.sh"},"_npmUser":{"name":"incompass","email":"dev.team@casechek.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"10.4.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"18.20.0","dependencies":{"constructs":"10.2.70","aws-cdk-lib":"2.100.0"},"_hasShrinkwrap":false,"devDependencies":{"gts":"5.0.0","chai":"4.3.7","jest":"25.5.4","axios":"1.6.0","husky":"8.0.3","eslint":"8.56.0","git-cz":"4.9.0","ts-jest":"25.3.1","ts-node":"10.9.2","webpack":"5.88.2","ts-loader":"9.4.4","jsonschema":"1.4.1","typescript":"4.9.5","@types/chai":"4.3.5","@types/jest":"29.5.2","@types/node":"20.5.1","webpack-cli":"5.1.4","@types/axios":"0.14.0","concurrently":"8.2.0","@types/mock-fs":"4.13.1","@types/webpack":"5.28.1","@commitlint/cli":"19.0.3","@types/memory-fs":"0.3.3","semantic-release":"23.0.2","@types/aws-lambda":"8.10.119","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"3.5.1","@aws-sdk/client-s3":"3.515.0","@cucumber/cucumber":"9.3.0","@aws-sdk/client-lambda":"3.518.0","@elastic/elasticsearch":"7.6.1","@aws-sdk/credential-providers":"3.515.0","@aws-sdk/client-cloudformation":"3.521.0","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"7.1.0","eslint-plugin-simple-import-sort":"10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_2.0.0_1712072804831_0.5379771124462598","host":"s3://npm-registry-packages"}},"2.0.0-develop.6":{"name":"@casechek/aws-cdk-elasticsearch-index","version":"2.0.0-develop.6","license":"MIT","_id":"@casechek/aws-cdk-elasticsearch-index@2.0.0-develop.6","maintainers":[{"name":"incompass","email":"dev.team@casechek.com"},{"name":"themizzi","email":"themizzi@me.com"}],"homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"dist":{"shasum":"d9ddca3406bf58d772389ed62db899da217d2edd","tarball":"https://registry.npmjs.org/@casechek/aws-cdk-elasticsearch-index/-/aws-cdk-elasticsearch-index-2.0.0-develop.6.tgz","fileCount":16,"integrity":"sha512-TlUdmkxOdC0kDq5lvJ8TFAPP/Tbs4guxQqDdMsDfL0PPpgvQ0XeaMu6D8KY+k1r6gtabKIbzFRQ1pWPRJLHk3A==","signatures":[{"sig":"MEUCIHdNaEzAyUW9kMW+hmNdacpheKB8GZOtOuWy4+0aaRZzAiEAkAchrAVLfXr2ywad8IdrCWkog3a+mnZeeFw+Tq67/qk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3199281},"main":"dist/lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E  HUSKY_GIT_PARAMS","post-merge":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install","pre-commit":"npm run check && npm test -- --coverage","post-checkout":"echo \"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\" | grep --quiet '^package-lock.json$' && npm install"}},"types":"dist/lib/index.d.ts","config":{"commitizen":{"path":"git-cz"}},"readme":"[![](https://img.shields.io/npm/v/@casechek/aws-cdk-elasticsearch-index)](https://www.npmjs.com/package/@casechek/aws-cdk-elasticsearch-index)\n[![codecov](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index/branch/master/graph/badge.svg)](https://codecov.io/gh/incompass/aws-cdk-elasticsearch-index)\n[![](https://github.com/incompass/aws-cdk-elasticsearch-index/workflows/Continuous%20Integration/badge.svg)](https://github.com/incompass/aws-cdk-elasticsearch-index/actions?query=workflow%3A%22Continuous+Integration%22)\n\nElasticsearch Index CDK Construct\n=================================\n\nThis construct allows you to deploy an elasticsearch index and all its settings and mappings within a stack.\n\n## Table of Contents\n\n- [Elasticsearch Index CDK Construct](#elasticsearch-index-cdk-construct)\n  - [Table of Contents](#table-of-contents)\n  - [Usage](#usage)\n    - [Installation](#installation)\n    - [Create an Elasticsearch Domain (Optional)](#create-an-elasticsearch-domain-optional)\n    - [Create an Index](#create-an-index)\n  - [Tip for testing in an existing project](#tip-for-testing-in-an-existing-project)\n  - [Contributing](#contributing)\n    - [Required Software](#required-software)\n    - [Obtaining the Source](#obtaining-the-source)\n    - [Docker](#docker)\n      - [Running the docker-compose Stack](#running-the-docker-compose-stack)\n    - [Testing](#testing)\n      - [Running jest tests](#running-jest-tests)\n      - [Running cucumber tests](#running-cucumber-tests)\n        - [Bash:](#bash)\n        - [Powershell:](#powershell)\n    - [Commit Messages](#commit-messages)\n  - [Useful commands](#useful-commands)\n\n## Usage\n\n### Installation\n\nInstall the package in your CDK application.\n\n```\nnpm install @casechek/aws-cdk-elasticsearch-index\n```\n\n### Create an Elasticsearch Domain (Optional)\n\nThis is currently in the experimental stage over at AWS; however, it is the easiest way to\nsetup a basic Elasticsearch cluster.\n\n```typescript\n// in your stack constructor\nimport {CfnDomain} from '@aws-cdk/aws-cdk-elasticsearch-index';\n\nconst elasticsearchDomain = new CfnDomain(\n  this,\n  'ElasticsearchDomain',\n  {\n    accessPolicies: {\n      Version: '2012-10-17',\n      Statement: [\n        {\n          Effect: 'Allow',\n          Principal: {\n            AWS: '*',\n          },\n          Action: 'es:*',\n          Resource: `arn:aws:es:${this.region}:${this.account}:domain/${this.stackName}/*`,\n        },\n      ],\n    },\n    ebsOptions: {\n      ebsEnabled: true,\n      volumeSize: 20,\n      volumeType: 'standard',\n    },\n    elasticsearchClusterConfig: {\n      instanceCount: 1,\n      instanceType: 't2.medium.elasticsearch',\n    },\n    domainName: this.stackName,\n    encryptionAtRestOptions: {\n      enabled: false,\n    },\n    nodeToNodeEncryptionOptions: {\n      enabled: true,\n    },\n    vpcOptions: {\n      securityGroupIds: [securityGroupIdFromSomewhere],\n      subnetIds: [privateSubnetIdFromSomewhere],\n    },\n    elasticsearchVersion: '7.1',\n  }\n);\n```\n\n### Create an Index\n\nThe construct \n```typescript\nimport {ElasticsearchIndex} from 'aws-cdk-elasticsearch-index'\nconst es = new ElasticsearchIndex(this, 'ElasticsearchIndex', {\n  mappingJSONPath: PATH_TO_A_JSON_FILE_CONTAINING_FULL_INDEX_CONFIGURATION,\n  elasticSearchIndex: NAME_OF_THE_INDEX_TO_CREATE,\n  elasticSearchEndpoint: FULL_URL_TO_THE_ELASTICSEARCH_ENDPOINT_INCLUDING_SCHEME,\n  vpc: VPC_OF_YOUR_ELASTIC_SEARCH_DOMAIN, // If you want to host the lambda functions responsible for resource creation in your vpc\n  policyArn: elasticsearchDomain.attrArn, // where elasticSearch domain is your elasticsearch CDK construct instance, only required if you are using AWS Elasticsearch\n});\n```\n\n## Tip for testing in an existing project\n\nIt's helpful to be able to test a change you're working on in your own project's stack. To do that with a working branch of this repo, here are some tips:\n\n**Note:** This is assuming you have `aws-cdk-elasticsearch-index` and some `my_project` project directory in 2 folders in `~/dev/`.\n\n- In `my_project`'s `package.json`, set `\"@casechek/aws-cdk-elasticsearch-index\": \"../aws-cdk-elasticsearch-index\",` for the dependency version\n- Run `npm install` in `my_project` (maybe `npm ci` is needed for a clean install)\n- Run `npm install` in `aws-cdk-elasticsearch-index` then run `npm run build`\n- Then wipe the `node_modules` directory (run `rm -rf node_modules`) in `aws-cdk-elasticsearch-index`\n- Then link your project's node_modules with the one in custom construct's directory: \n  + run `ln -s ../my_project/node_modules` in `aws-cdk-elasticsearch-index`\n  \nWith this, you should be able to deploy your project's stack, and it will be using your modified custom construct.\n\nNote: Don't forget to remove the symlink if you're going through various npm installs, or you'll run into a stack memory issue. In order\nto do that, you can delete `./node_modules`.\n\n## Contributing\n\n### Required Software\n\n* git\n* docker\n* docker-compose\n* nodejs\n* aws-cdk\n\n### Obtaining the Source\n\n```bash\ngit clone git@github.com:incompass/aws-cdk-elasticsearch-domain\n```\n\n### Docker\n\nTo help contributing to this project, a `docker-compose` configuration is provided that includes:\n\n* lambci/docker-lambda for the `on-event` lambda function\n* elasticsearch\n* kibana\n* mockserver\n\n#### Running the docker-compose Stack\n\n```bash\ndocker-compose up\n```\n\n### Testing\n\nThis package includes both jest and cucumber-js tests. Jest is used for unit testing the lambda functions\nand for testing the cdk stack using the AWS supplied helpers. Cucumber is used for e2e testing the lambda\nfunctions. All contributions must include relevant tests.\n\n#### Running jest tests\n\n```bash\nnpm run test\n```\n\n#### Running cucumber tests\n\nYou need to start the `docker-compose` stack before running the end to end tests. In one terminal, run:\n\n```bash\ndocker-compose up\n```\n\nIn another window, set the appropriate environment variables and run cucumber:\n\n##### Bash:\n\n```bash\nAWS_ENDPOINT=http://localhost \\\nAWS_REGION=us-east-1 \\\nS3_ENDPOINT=http://localhost:1080 \\\nON_EVENT_PORT=9001 \\\nON_EVENT_S3_BUCKET_NAME=test-bucket \\\nON_EVENT_S3_OBJECT_KEY=test-object-key \\\nON_EVENT_INDEX=test-index \\\nELASTICSEARCH_ENDPOINT=http://localhost:9200 \\\nELASTICSEARCH_INDEX=test-index \\\nnpm run cucumber -- --tags=@on-event\n```\n\n##### Powershell:\n\n```powershell\n$env:AWS_ENDPOINT='http://localhost';\n$env:AWS_REGION='us-east-1';\n$env:S3_ENDPOINT='http://localhost:1080';\n$env:ON_EVENT_PORT='9001';\n$env:ON_EVENT_S3_BUCkET_NAME='test-bucket';\n$env:ON_EVENT_S3_OBJECT_KEY='test-object-key';\n$env:ON_EVENT_INDEX='test-index';\n$env:ELASTICSEARCH_ENDPOINT='http://localhost:9200';\n$env:ELASTICSEARCH_INDEX='test-index';\nnpm run cucumber -- --tags=@on-event\n```\n\n### Commit Messages\n\nThis package uses the conventional commit message format. All PRs will be squashed and merged.\n\n## Useful commands\n\n * `npm run build`    compile typescript to js\n * `npm run watch`    watch for changes and compile\n * `npm run test`     perform the jest unit tests\n * `npm run cucumber` perform the cucumber e2e tests\n","engines":{"npm":"^9.5.1","node":"^18.16.0"},"gitHead":"de8dabd500eae2807db6d7dbb644bc2ae2134157","release":{"plugins":[["@semantic-release/release-notes-generator",{"linkReferences":false}],["@semantic-release/github",{"failComment":false,"successComment":false}]],"branches":["main",{"name":"develop","prerelease":true}]},"scripts":{"fix":"eslint --fix .","test":"jest","build":"concurrently \"webpack\" \"tsc --project tsconfig.lib.json\"","check":"eslint .","watch":"concurrently \"webpack --watch\" \"tsc --project tsconfig.lib.json -w\"","commit":"git-cz","webpack":"webpack","cucumber":"cucumber-js","test:e2e":"scripts/run_feature_tests.sh","deploy:pr":"scripts/deploy_pr.sh","build:prod":"concurrently \"webpack --mode production\" \"tsc --project tsconfig.lib.json\"","deploy:develop":"scripts/deploy_develop.sh","deploy:staging":"scripts/deploy_staging.sh","clean:deployment":"scripts/clean_deployment.sh","semantic-release":"semantic-release","deploy:production":"scripts/deploy_production.sh"},"_npmUser":{"name":"incompass","email":"dev.team@casechek.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"_npmVersion":"10.4.0","description":"Elasticsearch Index Custom Resource for AWS CDK","directories":{},"_nodeVersion":"18.20.0","dependencies":{"constructs":"10.2.70","aws-cdk-lib":"2.100.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"gts":"5.0.0","chai":"4.3.7","jest":"25.5.4","axios":"1.6.0","husky":"8.0.3","eslint":"8.56.0","git-cz":"4.9.0","ts-jest":"25.3.1","ts-node":"10.9.2","webpack":"5.88.2","ts-loader":"9.4.4","jsonschema":"1.4.1","typescript":"4.9.5","@types/chai":"4.3.5","@types/jest":"29.5.2","@types/node":"20.5.1","webpack-cli":"5.1.4","@types/axios":"0.14.0","concurrently":"8.2.0","@types/mock-fs":"4.13.1","@types/webpack":"5.28.1","@commitlint/cli":"19.0.3","@types/memory-fs":"0.3.3","semantic-release":"23.0.2","@types/aws-lambda":"8.10.119","@types/deep-equal":"1.0.1","@types/jsonschema":"1.1.1","aws-xray-sdk-core":"3.5.1","@aws-sdk/client-s3":"3.515.0","@cucumber/cucumber":"9.3.0","@aws-sdk/client-lambda":"3.518.0","@elastic/elasticsearch":"7.6.1","@aws-sdk/credential-providers":"3.515.0","@aws-sdk/client-cloudformation":"3.521.0","@commitlint/config-conventional":"17.7.0","@typescript-eslint/eslint-plugin":"7.1.0","eslint-plugin-simple-import-sort":"10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cdk-elasticsearch-index_2.0.0-develop.6_1712073240645_0.1122748335648096","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-02-21T19:01:38.597Z","modified":"2024-09-12T20:05:40.120Z","1.0.0-alpha.1":"2020-02-21T17:42:16.545Z","1.0.0-alpha.8":"2020-02-21T19:01:38.721Z","1.0.0-alpha.9":"2020-02-21T19:18:14.880Z","1.0.0-alpha.10":"2020-02-25T20:11:07.445Z","1.0.0-alpha.11":"2020-03-09T21:29:24.502Z","1.0.0-alpha.12":"2020-03-11T17:32:33.486Z","1.0.0-alpha.13":"2020-03-24T16:14:04.114Z","1.0.0-alpha.14":"2020-05-13T17:50:27.673Z","1.0.0-alpha.15":"2020-05-13T21:00:51.123Z","1.0.0-alpha.16":"2020-05-18T16:39:25.974Z","1.0.0-alpha.17":"2020-05-19T20:24:49.182Z","1.0.0-alpha.18":"2021-05-17T21:11:58.249Z","1.0.0-alpha.19":"2021-05-17T22:15:32.574Z","1.0.0":"2021-05-17T22:44:03.125Z","1.0.0-alpha.20":"2021-05-17T23:08:24.500Z","1.0.0-alpha.21":"2021-05-17T23:15:09.335Z","1.0.0-alpha.22":"2021-05-28T15:36:20.874Z","1.0.0-alpha.23":"2021-06-02T17:29:31.842Z","1.0.0-alpha.24":"2022-05-19T19:17:14.264Z","2.0.0-alpha.1":"2023-05-26T15:12:01.021Z","2.0.0-alpha.2":"2024-02-21T22:33:48.776Z","2.0.0-alpha.1.123":"2024-02-22T03:47:19.953Z","2.0.0-alpha.1.123.123":"2024-02-22T03:48:13.777Z","2.0.0-develop.1":"2024-02-22T17:11:21.089Z","2.0.0-develop.2":"2024-02-23T20:30:14.777Z","2.0.0-develop.3":"2024-02-29T19:39:47.545Z","2.0.0-develop.4":"2024-03-01T17:34:35.887Z","2.0.0-develop.5":"2024-04-02T14:58:55.573Z","2.0.0":"2024-04-02T15:46:45.132Z","2.0.0-develop.6":"2024-04-02T15:54:00.824Z"},"bugs":{"url":"https://github.com/incompass/aws-cdk-elasticsearch-index/issues"},"license":"MIT","homepage":"https://github.com/incompass/aws-cdk-elasticsearch-index#readme","repository":{"url":"git+https://github.com/incompass/aws-cdk-elasticsearch-index.git","type":"git"},"description":"Elasticsearch Index Custom Resource for AWS CDK","maintainers":[{"email":"dev.team@casechek.com","name":"incompass"}],"readme":"","readmeFilename":""}