diff --git a/README.md b/README.md index dfe0999..c981291 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ [![CircleCI](https://circleci.com/gh/moia-dev/bastion-host-forward/tree/master.svg?style=svg)](https://circleci.com/gh/moia-dev/bastion-host-forward/tree/master) -[![NPM](https://flat.badgen.net/npm/v/@moia-dev/bastion-host-rds-forward)](https://www.npmjs.com/package/@moia-dev/bastion-host-rds-forward) +[![NPM](https://flat.badgen.net/npm/v/@moia-dev/bastion-host-forward)](https://www.npmjs.com/package/@moia-dev/bastion-host-forward) # Bastion Host Forward This CDK Library provides custom constructs `BastionHostRDSForward` and diff --git a/lib/rds.ts b/lib/rds.ts index a2b762e..c3a3ba4 100644 --- a/lib/rds.ts +++ b/lib/rds.ts @@ -70,6 +70,6 @@ export class BastionHostRDSForward extends BastionHostForward { * @returns the resource ARN for the the rds-db:connect action */ private genDbUserArnFromRdsArn(dbIdentifier: string, dbUser: string): string { - return 'arn:aws:rds-db:${Token[AWS::Region.4]}:${Token[AWS::AccountId.0]}:dbuser:' + dbIdentifier + '/' + dbUser; + return `arn:aws:rds-db:${cdk.Stack.of(this).region}:${cdk.Stack.of(this).account}:dbuser:${dbIdentifier}/${dbUser}`; } } diff --git a/lib/redis.ts b/lib/redis.ts index 61b4eef..8c80644 100644 --- a/lib/redis.ts +++ b/lib/redis.ts @@ -12,28 +12,20 @@ */ import * as cdk from '@aws-cdk/core'; -import * as elasticache from '@aws-cdk/aws-elasticache'; -import { BastionHostForwardBaseProps } from './bastion-host-forward-base-props'; +import { BastionHostForwardProps } from './bastion-host-forward-props'; import { BastionHostForward } from './bastion-host-forward'; -export interface BastionHostRedisForwardProps extends BastionHostForwardBaseProps { - /* - * The RDS instance where the bastion host should be able to connect to - */ - readonly elasticacheCluster: elasticache.CfnCacheCluster; -} - /* * Creates a Bastion Host to forward to a Redis Cluster */ export class BastionHostRedisForward extends BastionHostForward { - constructor(scope: cdk.Construct, id: string, props: BastionHostRedisForwardProps) { + constructor(scope: cdk.Construct, id: string, props: BastionHostForwardProps) { super(scope, id, { vpc: props.vpc, name: props.name, securityGroup: props.securityGroup, - address: props.elasticacheCluster.attrRedisEndpointAddress, - port: props.elasticacheCluster.attrRedisEndpointPort + address: props.address, + port: props.port }); } } diff --git a/package-lock.json b/package-lock.json index 07d9bdf..bc8865a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,259 +5,284 @@ "requires": true, "dependencies": { "@aws-cdk/assert": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/assert/-/assert-1.56.0.tgz", - "integrity": "sha512-bhFwl4xD+svvdJvSlJgKcv/IsTMUXOeLIPVzXcFRGWegBzwVCmhQmtpEhptUfyIGJEe1SSlgWdja6PvS+w2EuQ==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/assert/-/assert-1.68.0.tgz", + "integrity": "sha512-KHL0Z+7jzGzpZnjlCXmGONS0nBecU4eMWOQaUaMXtzQ5iwEEMq/GCwdy59m0TM919UQi3RgPvGV+YPY/Laptxg==", "dev": true, "requires": { - "@aws-cdk/cloud-assembly-schema": "1.56.0", - "@aws-cdk/cloudformation-diff": "1.56.0", - "@aws-cdk/core": "1.56.0", - "@aws-cdk/cx-api": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/cloud-assembly-schema": "1.68.0", + "@aws-cdk/cloudformation-diff": "1.68.0", + "@aws-cdk/core": "1.68.0", + "@aws-cdk/cx-api": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/assets": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.56.0.tgz", - "integrity": "sha512-hCV/kVI0Q1gjUDUZpAzcrx5cjO8GMvh+gE6P8aqRF8Ac1hmEIq2K8Ae38WI9cwRa1+AMXwz+Ug/zB9p2JrDN2w==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.68.0.tgz", + "integrity": "sha512-BRr8ish+odp0aecusfY8MyDM8WucPTsI/fJgYopC1iKNjqhgSIH8HoOjXbMlTaLU3QiUB22ntJLO6yO/c0yKmg==", "requires": { - "@aws-cdk/core": "1.56.0", - "@aws-cdk/cx-api": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/core": "1.68.0", + "@aws-cdk/cx-api": "1.68.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-applicationautoscaling": { + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.68.0.tgz", + "integrity": "sha512-j4F96oYvyy0JmPm/8A0wTGk6FLwxj0gXRNq+d6o4k1UwI3Jf63u1VArdU5wzO/9jBX7pEqK3QkkWFY3/ZM3MIA==", + "requires": { + "@aws-cdk/aws-autoscaling-common": "1.68.0", + "@aws-cdk/aws-cloudwatch": "1.68.0", + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-autoscaling-common": { + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.68.0.tgz", + "integrity": "sha512-G6LckWmV8x9s5i1AgN5UPzToZdvK+sAgDC3yZTcLEySly0lWUU55kEcLXRafaBhm9sjXm6Vtj4W/THlzPPTXOw==", + "requires": { + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-cloudwatch": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.56.0.tgz", - "integrity": "sha512-FQ+4eqXMZoylRa0yOVjYIgZZ2o+z03eevQvH4DgEkNym3ywckX1zek7RF4FqYmBrhVW5SSL/+bMxXrD9IX6q5g==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.68.0.tgz", + "integrity": "sha512-OPoj+or+1n2BTRcxRl4jLlf1XrAZ38Mo/v1RLAiXb6/GKiNhDzdVAFIFlTzrznGVU7F9MEa9t6bxzRVzG2biqw==", "requires": { - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/core": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-codeguruprofiler": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.56.0.tgz", - "integrity": "sha512-kUMZy1WhkVHvA4wKwzdqOG+F27vO7zZeBiDIa6DUigI2PD1RBVtzBLJ7YLw91WzfuE7XDoxKaryMwnmHy8bm5Q==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.68.0.tgz", + "integrity": "sha512-z42dDLCJtbYI8YQTxvUTX2SF9M3iImAIBZMlMoBfynFjeAizSC9HbAClkk0feK19uvLJEtm3sQ5JgJC/Zwtt8w==", "requires": { - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/core": "1.56.0" + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-ec2": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.56.0.tgz", - "integrity": "sha512-lJ0hOg56qONHBJnxUQBBEVwhL6eeTxgxL6HpZCt9HuCyPeqypz4g5+4ebQrJ2e0iHIWwBrXYRzT4/ZTQO1446w==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.56.0", - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/aws-kms": "1.56.0", - "@aws-cdk/aws-logs": "1.56.0", - "@aws-cdk/aws-s3": "1.56.0", - "@aws-cdk/aws-ssm": "1.56.0", - "@aws-cdk/cloud-assembly-schema": "1.56.0", - "@aws-cdk/core": "1.56.0", - "@aws-cdk/cx-api": "1.56.0", - "@aws-cdk/region-info": "1.56.0", - "constructs": "^3.0.2" + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.68.0.tgz", + "integrity": "sha512-Q2AuzFOou+0MYXM/7JibWLuuEZIwIqkTgKHInqBJtYBtVOM2+i8Rk9R3ZkZZ2y6P/5ABubUWvGtwyKyyn0POmQ==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.68.0", + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/aws-kms": "1.68.0", + "@aws-cdk/aws-logs": "1.68.0", + "@aws-cdk/aws-s3": "1.68.0", + "@aws-cdk/aws-s3-assets": "1.68.0", + "@aws-cdk/aws-ssm": "1.68.0", + "@aws-cdk/cloud-assembly-schema": "1.68.0", + "@aws-cdk/core": "1.68.0", + "@aws-cdk/cx-api": "1.68.0", + "@aws-cdk/region-info": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-efs": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-efs/-/aws-efs-1.56.0.tgz", - "integrity": "sha512-rSVF96QLGvPTCI8D2P+bexPKrXWFjTupbf3sCXh6n7vIF13y6qHnzicOBcudCCNZ/QznuU6ah1zx4j/KnTz97A==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-efs/-/aws-efs-1.68.0.tgz", + "integrity": "sha512-iD4HZmmoWoekP8S2R/k5UDOypn3y0scniRO1gqP6aC37KymGe0w8HcuZkwdir+Oe8KTt+/2rC5U+cRUGJqWQ3A==", "requires": { - "@aws-cdk/aws-ec2": "1.56.0", - "@aws-cdk/aws-kms": "1.56.0", - "@aws-cdk/cloud-assembly-schema": "1.56.0", - "@aws-cdk/core": "1.56.0", - "@aws-cdk/cx-api": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/aws-ec2": "1.68.0", + "@aws-cdk/aws-kms": "1.68.0", + "@aws-cdk/cloud-assembly-schema": "1.68.0", + "@aws-cdk/core": "1.68.0", + "@aws-cdk/cx-api": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-elasticache": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-elasticache/-/aws-elasticache-1.56.0.tgz", - "integrity": "sha512-HUxWFMsBF22Ok+yZVqAa/qm8nOK9XXvUCzoK2XXyq2hrZCVAGJZMFJiRXHNNAuX/9OAKecCCr7cPxYirTD980w==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-elasticache/-/aws-elasticache-1.68.0.tgz", + "integrity": "sha512-JWP7Rwtz1RmeIcTjtvxHHFSfVuD8roA7om0uwhRCQhYHjulqoEbIDo1hjz9G076i//ekLXoyQjEyiIOjK5aKUg==", "requires": { - "@aws-cdk/core": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-events": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.56.0.tgz", - "integrity": "sha512-jks9istBkiikzk3D+3tv2MgCSOKU7pQVNdRMPW1lE3hwUeUPSOa3pSrxiPsQburPznQq7m21A4Qp2sWVFDcK9g==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.68.0.tgz", + "integrity": "sha512-JZzgpquvoRFCAA9x2DeyjDIn6l/H8gjUMusvMC1r7zKn9R+zWhdtnkQl5AgGr9Z/pSsu0MuWBHp64HiQCuCCUA==", "requires": { - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/core": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-iam": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.56.0.tgz", - "integrity": "sha512-oNSJSnNY25IKIn37D71qeDTIN2SMXZ11fruIC40wQE1pTncj/sgyLlE8XfNZ7H20ozDZiSMYZE7OS5x4BEQUJg==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.68.0.tgz", + "integrity": "sha512-bL/Isq1V15IsdmfUGUzlxI5s6J3c9CoIXa0a6j+Igh1zNrjCdt+3ZwqHRtLW3W83R2DOdt+HjlDFqfQhuPaU6w==", "requires": { - "@aws-cdk/core": "1.56.0", - "@aws-cdk/region-info": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/core": "1.68.0", + "@aws-cdk/region-info": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-kms": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.56.0.tgz", - "integrity": "sha512-ay2OWsvbBvTI0jCwfQP0yQsiEFbAyyXBEhLmlMVpD9A/K9y/9iQKxSXpxWrXQu8U/Yt+llIZyBlgo+dwjU9W8g==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.68.0.tgz", + "integrity": "sha512-+ENuqDI/cwP6YIbQjiWwuWJn3ffT+PdFcoCAG78twhJiYRDiAQ3gMReXy04HO4v17cm9mU0KHWPFXb9EPMh7uQ==", "requires": { - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/core": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-lambda": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-lambda/-/aws-lambda-1.56.0.tgz", - "integrity": "sha512-ZPsmbPdUOusaeuUqYFKhLdpGzQM7DIuWrznUNBYFt2GQuyO78N4U09Wv6rPuKWI1PNumnAH2DZkhvXSII5ukdw==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.56.0", - "@aws-cdk/aws-codeguruprofiler": "1.56.0", - "@aws-cdk/aws-ec2": "1.56.0", - "@aws-cdk/aws-efs": "1.56.0", - "@aws-cdk/aws-events": "1.56.0", - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/aws-logs": "1.56.0", - "@aws-cdk/aws-s3": "1.56.0", - "@aws-cdk/aws-s3-assets": "1.56.0", - "@aws-cdk/aws-sqs": "1.56.0", - "@aws-cdk/core": "1.56.0", - "@aws-cdk/cx-api": "1.56.0", - "constructs": "^3.0.2" + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-lambda/-/aws-lambda-1.68.0.tgz", + "integrity": "sha512-QMNM8figNWOCXPEFtANf/hlqnm/TcuFsxSdYke6jRniGZ0TJnjed0ltHUlSSI/Gn3rOIqVYGwQyZhTpILh1ezA==", + "requires": { + "@aws-cdk/aws-applicationautoscaling": "1.68.0", + "@aws-cdk/aws-cloudwatch": "1.68.0", + "@aws-cdk/aws-codeguruprofiler": "1.68.0", + "@aws-cdk/aws-ec2": "1.68.0", + "@aws-cdk/aws-efs": "1.68.0", + "@aws-cdk/aws-events": "1.68.0", + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/aws-logs": "1.68.0", + "@aws-cdk/aws-s3": "1.68.0", + "@aws-cdk/aws-s3-assets": "1.68.0", + "@aws-cdk/aws-sqs": "1.68.0", + "@aws-cdk/core": "1.68.0", + "@aws-cdk/cx-api": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-logs": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.56.0.tgz", - "integrity": "sha512-7X+XTt+3sqLWOuBlAweDZGkg3lt8yuC/IZl40GdzB2/Hy9jjPtUmMzWoZQh5kLZpZiT5D/yhMMpGS7/rBe57/g==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.68.0.tgz", + "integrity": "sha512-JQnn2TmNJsK54GGSjulzwhqSdgGVo808YuhYfLU32MtBHlbNEYiqt3f6nialtDRkr5jQwSJswgYwQA1Dghu4Cg==", "requires": { - "@aws-cdk/aws-cloudwatch": "1.56.0", - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/core": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/aws-cloudwatch": "1.68.0", + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/aws-s3-assets": "1.68.0", + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-rds": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-rds/-/aws-rds-1.56.0.tgz", - "integrity": "sha512-N5kAi7aKtwFSp36HKiD5872LTDTJbNuzo/jiuyoi6/WyUrSw7YCCRtjxAHNrKiXSokJRUmYmsmvUnckIz6t0mw==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.56.0", - "@aws-cdk/aws-ec2": "1.56.0", - "@aws-cdk/aws-events": "1.56.0", - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/aws-kms": "1.56.0", - "@aws-cdk/aws-lambda": "1.56.0", - "@aws-cdk/aws-logs": "1.56.0", - "@aws-cdk/aws-s3": "1.56.0", - "@aws-cdk/aws-secretsmanager": "1.56.0", - "@aws-cdk/core": "1.56.0", - "constructs": "^3.0.2" + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-rds/-/aws-rds-1.68.0.tgz", + "integrity": "sha512-EJUd5CXqngrGZ2lq1ubx+X5XQTs6sBi0KAMXP2m5wjAEBuYEmUaoxFl9LQQcFZLvJqSuJnS2wSlY/gfxd75PTg==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.68.0", + "@aws-cdk/aws-ec2": "1.68.0", + "@aws-cdk/aws-events": "1.68.0", + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/aws-kms": "1.68.0", + "@aws-cdk/aws-logs": "1.68.0", + "@aws-cdk/aws-s3": "1.68.0", + "@aws-cdk/aws-secretsmanager": "1.68.0", + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-s3": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.56.0.tgz", - "integrity": "sha512-GY6DuddT4rfG0/DAYfF/XhUPPwB3rTe9NYyqzMltzkvcUm/TVMAi1Js52Bg8QP65oNUVkDwTeySiJoINazSjIA==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.68.0.tgz", + "integrity": "sha512-961d1hy4MRaGInqep7q04ZG2H59NIERFAEVnkeaOvaekRDTmYjeXdf3zxHFr2PbdQDoLe6Csj5ioyJHQiMREKQ==", "requires": { - "@aws-cdk/aws-events": "1.56.0", - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/aws-kms": "1.56.0", - "@aws-cdk/core": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/aws-events": "1.68.0", + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/aws-kms": "1.68.0", + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-s3-assets": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.56.0.tgz", - "integrity": "sha512-UzPEry76HxUAjscFtPhnPU1Aza45nz4mIm3xQ+46ryHNaxfMCBy3cCIovBufg7Rgl98e6ak7bghh3g+d+8rK+g==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.68.0.tgz", + "integrity": "sha512-SaYFNDDmKFlIesMm7FNLC8+ace9XGeU2KuR3kUFsPYhVS/b9DfyxcLRTknKEA8kJ52RVXXOjOVGeitxKIgT/cg==", "requires": { - "@aws-cdk/assets": "1.56.0", - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/aws-kms": "1.56.0", - "@aws-cdk/aws-s3": "1.56.0", - "@aws-cdk/core": "1.56.0", - "@aws-cdk/cx-api": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/assets": "1.68.0", + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/aws-kms": "1.68.0", + "@aws-cdk/aws-s3": "1.68.0", + "@aws-cdk/core": "1.68.0", + "@aws-cdk/cx-api": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-sam": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sam/-/aws-sam-1.56.0.tgz", - "integrity": "sha512-V0rBOVveXyHZH+lfB21HXHkjB0VxDRYFCAYkqkSbU4dIW2dAd72MFiCO5WODM+bNmd+LnoxfWJLrw6YH2AvaWg==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sam/-/aws-sam-1.68.0.tgz", + "integrity": "sha512-H7uvSC122ubXQBzJYMn/mlO1XYpTTfTODvych5iF+Zj/iJB/blSRtnI0NnZ44n72H4f68vPFGY91MST3ple9FQ==", "requires": { - "@aws-cdk/core": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-secretsmanager": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.56.0.tgz", - "integrity": "sha512-euETBvMx+hU0iC49q7vEE3eZgj5QAWR0ykxVm82O+ZVm1U1w7byE7quSRK5FtMqTS8iWd2VceA3cf+7hIwY/GA==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.68.0.tgz", + "integrity": "sha512-4fFy4+JOBPsBbF3Zd0XK6nITBoqCu+ButJFD3YJmVX38Scs2ZNMPjwUm+Fg1oMu4zy4CmBpd2jMLEw/RCxI4mw==", "requires": { - "@aws-cdk/aws-ec2": "1.56.0", - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/aws-kms": "1.56.0", - "@aws-cdk/aws-lambda": "1.56.0", - "@aws-cdk/aws-sam": "1.56.0", - "@aws-cdk/core": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/aws-ec2": "1.68.0", + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/aws-kms": "1.68.0", + "@aws-cdk/aws-lambda": "1.68.0", + "@aws-cdk/aws-sam": "1.68.0", + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-sqs": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sqs/-/aws-sqs-1.56.0.tgz", - "integrity": "sha512-vhhXZBZvWlt8kwOyVsGqyZvJmiDpTzekoZVGavh80UOmXQvK2WWZZeKFY8RNGasIRdGUm8wjNNwqGm8ctsl8/w==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sqs/-/aws-sqs-1.68.0.tgz", + "integrity": "sha512-V8jkYvVUVMw1uvHISnwyofZBhT+wBD8W3jTZBwl/y1VLegmA4wrpIU/T9NQief9TUOl5FL+sKunMcPUAs25a+A==", "requires": { - "@aws-cdk/aws-cloudwatch": "1.56.0", - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/aws-kms": "1.56.0", - "@aws-cdk/core": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/aws-cloudwatch": "1.68.0", + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/aws-kms": "1.68.0", + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/aws-ssm": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.56.0.tgz", - "integrity": "sha512-lG45TVNvIkhdFq4Nmr9a3M/23BWhhGt4ciCpDh6LxWehIxERKYBw2KE1Jl0NSiXYfNzqNh8hitm0zQIAIOTP/g==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.68.0.tgz", + "integrity": "sha512-C+DQAuXkr8okDITW1g8DUw8QzDBHR9bvLeIVmm/PqHfINWGrzf2MSm2pnYujc9UYo5usi/OQSKTU7m6/5tpuXw==", "requires": { - "@aws-cdk/aws-iam": "1.56.0", - "@aws-cdk/aws-kms": "1.56.0", - "@aws-cdk/cloud-assembly-schema": "1.56.0", - "@aws-cdk/core": "1.56.0", - "constructs": "^3.0.2" + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/aws-kms": "1.68.0", + "@aws-cdk/cloud-assembly-schema": "1.68.0", + "@aws-cdk/core": "1.68.0", + "constructs": "^3.0.4" } }, "@aws-cdk/cfnspec": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-1.56.0.tgz", - "integrity": "sha512-6bzVJX+RzcOoAAiPI1oE7lW1mLtm486QhkpEnyQefq136KqEINjYDCjH82KZJ5EbyJW7vYaxSqlH7u/Twp20bQ==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-1.68.0.tgz", + "integrity": "sha512-lxOt3IZX4zj0o6WuaJZKO0mycaz++mx8Quse0hNzxzk0eSoEku7WOAY2/ndR8cHZDF02X0zVjt/wDZMODu3kVg==", "dev": true, "requires": { - "md5": "^2.2.1" + "md5": "^2.3.0" } }, "@aws-cdk/cloud-assembly-schema": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.56.0.tgz", - "integrity": "sha512-QLuUOoEzrTyiBbPue1QzMmMLjh6FjuD6dIPJ1O81jPpBuIYiAN7MXzXQ9+4gqM0UrnMpSzB8DW2joENDPtJgFg==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.68.0.tgz", + "integrity": "sha512-rjyzk/7dDHl7Ngw9vgDA4g9Q9+44uTcopiggy6sO8W57KkfsBLFyAwOfYnhd0IYVKkYm7wJylSe89eSQseG9lA==", "requires": { - "jsonschema": "^1.2.5", - "semver": "^7.2.2" + "jsonschema": "^1.2.10", + "semver": "^7.3.2" }, "dependencies": { "jsonschema": { - "version": "1.2.6", + "version": "1.2.10", "bundled": true }, "semver": { @@ -267,17 +292,17 @@ } }, "@aws-cdk/cloudformation-diff": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.56.0.tgz", - "integrity": "sha512-JVLL3e6uhHknu9WW8TtYMmX/OGxU9Cee3Sfzh1K10rND6VYsrteSuCpkiVJOnSuNgNXAABw7/5oNRBNgKotgNw==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.68.0.tgz", + "integrity": "sha512-kusXeCiUvPZ/4Gjp1yPmi31P4aKioIonC1Pvg6JF8G78eOBO4jCwYtk0YSOSX7ADLCd8z/c4/ZIUoutziS1gsw==", "dev": true, "requires": { - "@aws-cdk/cfnspec": "1.56.0", + "@aws-cdk/cfnspec": "1.68.0", "colors": "^1.4.0", "diff": "^4.0.2", "fast-deep-equal": "^3.1.3", "string-width": "^4.2.0", - "table": "^5.4.6" + "table": "^6.0.3" }, "dependencies": { "fast-deep-equal": { @@ -289,13 +314,14 @@ } }, "@aws-cdk/core": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.56.0.tgz", - "integrity": "sha512-MeImBUTbU8ipZAC6gYQHfJRXH+63XD1VBv9g1AO5GpERKHOZ58qiBroQOkVWD5/u+iasXJ7JSC9JKUBC/+2PlQ==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.56.0", - "@aws-cdk/cx-api": "1.56.0", - "constructs": "^3.0.2", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.68.0.tgz", + "integrity": "sha512-aDK4lI1yWbygYF0taaBLbv3FH/uxgFn++dyInqGIyEuufL9IwYKK27NVXHq2D/ok3bzEvs8kAJsKGVnaq2ZSeg==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.68.0", + "@aws-cdk/cx-api": "1.68.0", + "@aws-cdk/region-info": "1.68.0", + "constructs": "^3.0.4", "fs-extra": "^9.0.1", "minimatch": "^3.0.4" }, @@ -331,7 +357,7 @@ } }, "graceful-fs": { - "version": "4.2.3", + "version": "4.2.4", "bundled": true }, "jsonfile": { @@ -356,12 +382,12 @@ } }, "@aws-cdk/cx-api": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.56.0.tgz", - "integrity": "sha512-IuBmbz025AnuYAKv+ZOvnRV7Wwa/wdCiqiJ3BlVEqPsdvE4ZUMJTqLTY25ho5VT07o8Z/iQg7M6dRs9ccVC9Dw==", + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.68.0.tgz", + "integrity": "sha512-qKJR70vUaAJqAQl4rebyCIzJjdiSL3FoPVj6trQwzO1yS5lqPFQDgyyLy2o86qY8QmYkozEugfySaBvQ19qb8A==", "requires": { - "@aws-cdk/cloud-assembly-schema": "1.56.0", - "semver": "^7.2.2" + "@aws-cdk/cloud-assembly-schema": "1.68.0", + "semver": "^7.3.2" }, "dependencies": { "semver": { @@ -371,9 +397,9 @@ } }, "@aws-cdk/region-info": { - "version": "1.56.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.56.0.tgz", - "integrity": "sha512-EIX4RQeUGkyIc2leWqtL1Lpjl/jg2p30ngDXyFfW7j1myS+9rtDFpry6wf/vL8e4v/lluuGIJKHTWbNBaUl/hA==" + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.68.0.tgz", + "integrity": "sha512-8FwgKmpMT34R0jLNc4AN4v/UMdcPyvjXXh+X08OF0yrmGQoOn15XadzXpN5u+lBsgXoEIrSxfPKz7Qp/bfQsyA==" }, "@babel/code-frame": { "version": "7.8.3", @@ -1391,7 +1417,7 @@ }, "array-filter": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", + "resolved": "https://moiadev.jfrog.io/moiadev/api/npm/npm/array-filter/-/array-filter-1.0.0.tgz", "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", "dev": true }, @@ -1944,9 +1970,9 @@ "dev": true }, "constructs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.4.tgz", - "integrity": "sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw==" + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.0.22.tgz", + "integrity": "sha512-PuQVuCM7I2Y6rYsMsip+rTvwpgo8FXMQX4JNzbIL4dvG96Kqmhmb5qt6zI730LB1OlKGAe/r92xqgExUkGQo4w==" }, "convert-source-map": { "version": "1.7.0", @@ -2650,7 +2676,7 @@ }, "foreach": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "resolved": "https://moiadev.jfrog.io/moiadev/api/npm/npm/foreach/-/foreach-2.0.5.tgz", "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", "dev": true }, @@ -3103,7 +3129,7 @@ }, "is-negative-zero": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "resolved": "https://moiadev.jfrog.io/moiadev/api/npm/npm/is-negative-zero/-/is-negative-zero-2.0.0.tgz", "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", "dev": true }, @@ -4986,12 +5012,6 @@ "universalify": "^1.0.0" } }, - "jsonschema": { - "version": "1.2.6", - "resolved": "https://moiadev.jfrog.io/moiadev/api/npm/npm/jsonschema/-/jsonschema-1.2.6.tgz", - "integrity": "sha1-UrCo6dwGu65ylSSdA+S5+u6KDAs=", - "dev": true - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -6194,20 +6214,44 @@ "dev": true }, "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "dependencies": { - "is-fullwidth-code-point": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "astral-regex": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true } } @@ -6353,7 +6397,7 @@ "dependencies": { "detect-newline": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "resolved": "https://moiadev.jfrog.io/moiadev/api/npm/npm/detect-newline/-/detect-newline-2.1.0.tgz", "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", "dev": true } @@ -6426,12 +6470,6 @@ "integrity": "sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=", "dev": true }, - "spdx-license-list": { - "version": "6.2.0", - "resolved": "https://moiadev.jfrog.io/moiadev/api/npm/npm/spdx-license-list/-/spdx-license-list-6.2.0.tgz", - "integrity": "sha1-+B9uc8sBU1AS2AFNs3VWcRDGUr4=", - "dev": true - }, "split-string": { "version": "3.1.0", "resolved": "https://moiadev.jfrog.io/moiadev/api/npm/npm/split-string/-/split-string-3.1.0.tgz", @@ -6527,7 +6565,7 @@ }, "jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "resolved": "https://moiadev.jfrog.io/moiadev/api/npm/npm/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { @@ -6701,54 +6739,34 @@ "dev": true }, "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.3.tgz", + "integrity": "sha512-8321ZMcf1B9HvVX/btKv8mMZahCjn2aYrDlpqHaBFCfnox64edeH9kEid0vTLTRR8gWR2A20aDgeuTTea4sVtw==", "dev": true, "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "ajv": "^6.12.4", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true } } }, diff --git a/package.json b/package.json index fb84c0a..fda3f69 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "url": "https://github.com/moia-dev/bastion-host-forward" }, "license": "Apache-2.0", - "version": "0.3.7", + "version": "0.4.0", "main": "lib/index.js", "types": "lib/index.d.ts", "scripts": { @@ -23,7 +23,7 @@ "targets": {} }, "devDependencies": { - "@aws-cdk/assert": "^1.56.0", + "@aws-cdk/assert": "1.68.0", "@types/jest": "^26.0.14", "@types/node": "14.11.2", "jest": "^25.5.4", @@ -34,19 +34,19 @@ "tslint": "^6.1.3" }, "peerDependencies": { - "@aws-cdk/core": "^1.56.0", - "@aws-cdk/aws-ec2": "^1.56.0", - "@aws-cdk/aws-iam": "^1.56.0", - "@aws-cdk/aws-rds": "^1.56.0", - "@aws-cdk/aws-elasticache": "^1.56.0", + "@aws-cdk/core": "1.68.0", + "@aws-cdk/aws-ec2": "1.68.0", + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/aws-rds": "1.68.0", + "@aws-cdk/aws-elasticache": "1.68.0", "constructs": "^3.0.3" }, "dependencies": { - "@aws-cdk/aws-ec2": "^1.56.0", - "@aws-cdk/aws-elasticache": "^1.56.0", - "@aws-cdk/aws-iam": "^1.56.0", - "@aws-cdk/aws-rds": "^1.56.0", - "@aws-cdk/core": "^1.56.0" + "@aws-cdk/aws-ec2": "1.68.0", + "@aws-cdk/aws-elasticache": "1.68.0", + "@aws-cdk/aws-iam": "1.68.0", + "@aws-cdk/aws-rds": "1.68.0", + "@aws-cdk/core": "1.68.0" }, "jest": { "moduleFileExtensions": [ diff --git a/test/rds.test.ts b/test/rds.test.ts index 41fa404..91d459f 100644 --- a/test/rds.test.ts +++ b/test/rds.test.ts @@ -23,7 +23,6 @@ test('Bastion Host created for normal username/password access', () => { const stack = new cdk.Stack(app, 'TestStack'); const testVpc = new ec2.Vpc(stack, 'TestVpc'); const testRds = new rds.DatabaseInstance(stack, 'TestRDS', { - masterUsername: 'testuser', engine: rds.DatabaseInstanceEngine.POSTGRES, instanceType: ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MICRO), vpc: testVpc @@ -83,7 +82,6 @@ test('Bastion Host created with extended Role for IAM RDS Connection', () => { const stack = new cdk.Stack(app, 'TestStack'); const testVpc = new ec2.Vpc(stack, 'TestVpc'); const testRds = new rds.DatabaseInstance(stack, 'TestRDS', { - masterUsername: 'testuser', engine: rds.DatabaseInstanceEngine.POSTGRES, instanceType: ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MICRO), vpc: testVpc @@ -215,7 +213,6 @@ test('Bastion Host with own securityGroup', () => { }); const testRds = new rds.DatabaseInstance(stack, 'TestRDS', { - masterUsername: 'testuser', engine: rds.DatabaseInstanceEngine.POSTGRES, instanceType: ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MICRO), vpc: testVpc diff --git a/test/redis.test.ts b/test/redis.test.ts index bd9bb85..0077609 100644 --- a/test/redis.test.ts +++ b/test/redis.test.ts @@ -15,63 +15,24 @@ import { expect as expectCDK, haveResource } from '@aws-cdk/assert'; import { strict as assert } from 'assert'; import * as cdk from '@aws-cdk/core'; import * as ec2 from '@aws-cdk/aws-ec2'; -import * as elasticache from '@aws-cdk/aws-elasticache'; import { BastionHostRedisForward } from '../lib/redis'; test('Bastion Host created for normal access', () => { const app = new cdk.App(); const stack = new cdk.Stack(app, 'TestStack'); const testVpc = new ec2.Vpc(stack, 'TestVpc'); - const subnet = new elasticache.CfnSubnetGroup(stack, 'TestRedisSubnetGroup', { - description: 'example subnet group', - subnetIds: ['subnet-0dbf99f89456e8589', 'subnet-0b0dea47e88081c9d'], - cacheSubnetGroupName: 'example-redis-subgroup2', - }); - const cluster = new elasticache.CfnCacheCluster(stack, 'TestRedis', { - cacheNodeType: 'cache.t3.micro', - engine: 'redis', - cacheSubnetGroupName: subnet.cacheSubnetGroupName, - numCacheNodes: 1, - }); // WHEN new BastionHostRedisForward(stack, 'MyTestConstruct', { vpc: testVpc, name: 'MyRedisBastion', - elasticacheCluster: cluster, + address: '127.0.0.1', + port: '6379', }); // THEN expectCDK(stack).to(haveResource('AWS::EC2::Instance', { UserData: { - 'Fn::Base64': { - 'Fn::Join': [ - '', - [ - 'Content-Type: multipart/mixed; boundary=\"//\"\nMIME-Version: 1.0\n--//\nContent-Type: text/cloud-config; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename=\"cloud-config.txt\"\n#cloud-config\ncloud_final_modules:\n- [scripts-user, always]\n--//\nContent-Type: text/x-shellscript; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename=\"userdata.txt\"\n#!/bin/bash\nmount -o remount,rw,nosuid,nodev,noexec,relatime,hidepid=2 /proc\nyum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm\nyum install -y haproxy\necho \"listen database\n bind 0.0.0.0:', - { - 'Fn::GetAtt': [ - 'TestRedis', - 'RedisEndpoint.Port' - ] - }, - '\n timeout connect 10s\n timeout client 1m\n timeout server 1m\n mode tcp\n server service ', - { - 'Fn::GetAtt': [ - 'TestRedis', - 'RedisEndpoint.Address' - ] - }, - ':', - { - 'Fn::GetAtt': [ - 'TestRedis', - 'RedisEndpoint.Port' - ] - }, - '\n\" > /etc/haproxy/haproxy.cfg\nservice haproxy restart\n--//' - ] - ] - }, + 'Fn::Base64': 'Content-Type: multipart/mixed; boundary=\"//\"\nMIME-Version: 1.0\n--//\nContent-Type: text/cloud-config; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename=\"cloud-config.txt\"\n#cloud-config\ncloud_final_modules:\n- [scripts-user, always]\n--//\nContent-Type: text/x-shellscript; charset=\"us-ascii\"\nMIME-Version: 1.0\nContent-Transfer-Encoding: 7bit\nContent-Disposition: attachment; filename=\"userdata.txt\"\n#!/bin/bash\nmount -o remount,rw,nosuid,nodev,noexec,relatime,hidepid=2 /proc\nyum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm\nyum install -y haproxy\necho \"listen database\n bind 0.0.0.0:6379\n timeout connect 10s\n timeout client 1m\n timeout server 1m\n mode tcp\n server service 127.0.0.1:6379\n\" > /etc/haproxy/haproxy.cfg\nservice haproxy restart\n--//' }, Tags: [ { @@ -93,24 +54,13 @@ test('Bastion Host with own securityGroup', () => { securityGroupName: 'MyTestSecurityGroupName', }); - const subnet = new elasticache.CfnSubnetGroup(stack, 'TestRedisSubnetGroup', { - description: 'example subnet group', - subnetIds: ['subnet-abc', 'subnet-def'], - cacheSubnetGroupName: 'example-redis-subgroup2', - }); - const cluster = new elasticache.CfnCacheCluster(stack, 'TestRedis', { - cacheNodeType: 'cache.t3.micro', - engine: 'redis', - cacheSubnetGroupName: subnet.cacheSubnetGroupName, - vpcSecurityGroupIds: [securityGroup.securityGroupId || ''], - numCacheNodes: 1, - }); // WHEN const bastionHost = new BastionHostRedisForward(stack, 'MyTestConstruct', { vpc: testVpc, name: 'MyRedisBastion', - elasticacheCluster: cluster, securityGroup, + address: '127.0.0.1', + port: '6379', }); const bastionHostSecurityGroup = bastionHost.securityGroup as ec2.SecurityGroup; diff --git a/tsconfig.json b/tsconfig.json index 07afb1f..44dbf47 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,6 +10,7 @@ "es2018" ], "module": "CommonJS", + "newLine": "lf", "noEmitOnError": true, "noFallthroughCasesInSwitch": true, "noImplicitAny": true,