From bad511408ff133cff0050ba2d83d2479f0402a9e Mon Sep 17 00:00:00 2001 From: Meng Xin Zhu <843303+zxkane@users.noreply.github.com> Date: Sun, 20 Nov 2022 16:54:04 +0800 Subject: [PATCH] fix: explicitly pin neptune engine version to 1.2.0.1 (#962) * fix: explicitly pin neptune version to 1.2.0.1 * chore: self mutation Signed-off-by: github-actions Signed-off-by: github-actions Co-authored-by: github-actions --- .projen/deps.json | 12 +++++----- .projen/tasks.json | 10 ++++---- .projenrc.js | 2 +- package.json | 12 +++++----- src/lib/dashboard-stack.ts | 7 +++--- src/lib/stack.ts | 5 +++- test/stack.test.ts | 7 +++++- test/training-stack.test.ts | 2 -- yarn.lock | 48 ++++++++++++++++++------------------- 9 files changed, 55 insertions(+), 50 deletions(-) diff --git a/.projen/deps.json b/.projen/deps.json index 3c0dcc44..7847f42f 100644 --- a/.projen/deps.json +++ b/.projen/deps.json @@ -107,32 +107,32 @@ }, { "name": "@aws-cdk/aws-apigatewayv2-alpha", - "version": "2.0.0-alpha.11", + "version": "^2.51.1-alpha.0", "type": "runtime" }, { "name": "@aws-cdk/aws-apigatewayv2-integrations-alpha", - "version": "2.0.0-alpha.11", + "version": "^2.51.1-alpha.0", "type": "runtime" }, { "name": "@aws-cdk/aws-appsync-alpha", - "version": "2.0.0-alpha.11", + "version": "^2.51.1-alpha.0", "type": "runtime" }, { "name": "@aws-cdk/aws-glue-alpha", - "version": "2.0.0-alpha.11", + "version": "^2.51.1-alpha.0", "type": "runtime" }, { "name": "@aws-cdk/aws-lambda-python-alpha", - "version": "2.0.0-alpha.11", + "version": "^2.51.1-alpha.0", "type": "runtime" }, { "name": "@aws-cdk/aws-neptune-alpha", - "version": "2.0.0-alpha.11", + "version": "^2.51.1-alpha.0", "type": "runtime" }, { diff --git a/.projen/tasks.json b/.projen/tasks.json index 81e16239..f2292029 100644 --- a/.projen/tasks.json +++ b/.projen/tasks.json @@ -216,19 +216,19 @@ "exec": "yarn upgrade npm-check-updates" }, { - "exec": "npm-check-updates --dep dev --upgrade --target=minor --reject='typescript,@aws-cdk/aws-apigatewayv2-alpha,@aws-cdk/aws-apigatewayv2-integrations-alpha,@aws-cdk/aws-appsync-alpha,@aws-cdk/aws-glue-alpha,@aws-cdk/aws-lambda-python-alpha,@aws-cdk/aws-neptune-alpha'" + "exec": "npm-check-updates --dep dev --upgrade --target=minor --reject='typescript'" }, { - "exec": "npm-check-updates --dep optional --upgrade --target=minor --reject='typescript,@aws-cdk/aws-apigatewayv2-alpha,@aws-cdk/aws-apigatewayv2-integrations-alpha,@aws-cdk/aws-appsync-alpha,@aws-cdk/aws-glue-alpha,@aws-cdk/aws-lambda-python-alpha,@aws-cdk/aws-neptune-alpha'" + "exec": "npm-check-updates --dep optional --upgrade --target=minor --reject='typescript'" }, { - "exec": "npm-check-updates --dep peer --upgrade --target=minor --reject='typescript,@aws-cdk/aws-apigatewayv2-alpha,@aws-cdk/aws-apigatewayv2-integrations-alpha,@aws-cdk/aws-appsync-alpha,@aws-cdk/aws-glue-alpha,@aws-cdk/aws-lambda-python-alpha,@aws-cdk/aws-neptune-alpha'" + "exec": "npm-check-updates --dep peer --upgrade --target=minor --reject='typescript'" }, { - "exec": "npm-check-updates --dep prod --upgrade --target=minor --reject='typescript,@aws-cdk/aws-apigatewayv2-alpha,@aws-cdk/aws-apigatewayv2-integrations-alpha,@aws-cdk/aws-appsync-alpha,@aws-cdk/aws-glue-alpha,@aws-cdk/aws-lambda-python-alpha,@aws-cdk/aws-neptune-alpha'" + "exec": "npm-check-updates --dep prod --upgrade --target=minor --reject='typescript'" }, { - "exec": "npm-check-updates --dep bundle --upgrade --target=minor --reject='typescript,@aws-cdk/aws-apigatewayv2-alpha,@aws-cdk/aws-apigatewayv2-integrations-alpha,@aws-cdk/aws-appsync-alpha,@aws-cdk/aws-glue-alpha,@aws-cdk/aws-lambda-python-alpha,@aws-cdk/aws-neptune-alpha'" + "exec": "npm-check-updates --dep bundle --upgrade --target=minor --reject='typescript'" }, { "exec": "yarn install --check-files" diff --git a/.projenrc.js b/.projenrc.js index fd47dcfc..b2adf797 100644 --- a/.projenrc.js +++ b/.projenrc.js @@ -16,7 +16,7 @@ const cdkAlphaDeps = [ '@aws-cdk/aws-glue-alpha', '@aws-cdk/aws-lambda-python-alpha', '@aws-cdk/aws-neptune-alpha', -].map(dep => `${dep}@2.0.0-alpha.11`); +].map(dep => `${dep}@^2.51.1-alpha.0`); const awsSDKDeps = [ '@aws-sdk/client-glue', '@aws-sdk/client-secrets-manager', diff --git a/package.json b/package.json index c4c47c99..4c00929b 100644 --- a/package.json +++ b/package.json @@ -53,12 +53,12 @@ "typescript": "~4.6.0" }, "dependencies": { - "@aws-cdk/aws-apigatewayv2-alpha": "2.0.0-alpha.11", - "@aws-cdk/aws-apigatewayv2-integrations-alpha": "2.0.0-alpha.11", - "@aws-cdk/aws-appsync-alpha": "2.0.0-alpha.11", - "@aws-cdk/aws-glue-alpha": "2.0.0-alpha.11", - "@aws-cdk/aws-lambda-python-alpha": "2.0.0-alpha.11", - "@aws-cdk/aws-neptune-alpha": "2.0.0-alpha.11", + "@aws-cdk/aws-apigatewayv2-alpha": "^2.51.1-alpha.0", + "@aws-cdk/aws-apigatewayv2-integrations-alpha": "^2.51.1-alpha.0", + "@aws-cdk/aws-appsync-alpha": "^2.51.1-alpha.0", + "@aws-cdk/aws-glue-alpha": "^2.51.1-alpha.0", + "@aws-cdk/aws-lambda-python-alpha": "^2.51.1-alpha.0", + "@aws-cdk/aws-neptune-alpha": "^2.51.1-alpha.0", "@aws-sdk/client-cloudformation": "^3.30.0", "@aws-sdk/client-glue": "^3.30.0", "@aws-sdk/client-lambda": "^3.30.0", diff --git a/src/lib/dashboard-stack.ts b/src/lib/dashboard-stack.ts index ca82caa7..4fca5006 100644 --- a/src/lib/dashboard-stack.ts +++ b/src/lib/dashboard-stack.ts @@ -7,7 +7,7 @@ import { HttpMethod, HttpStage, } from '@aws-cdk/aws-apigatewayv2-alpha'; -import { LambdaProxyIntegration } from '@aws-cdk/aws-apigatewayv2-integrations-alpha'; +import { HttpLambdaIntegration } from '@aws-cdk/aws-apigatewayv2-integrations-alpha'; import { GraphqlApi, Schema, @@ -538,7 +538,7 @@ export class TransactionDashboardStack extends NestedStack { 'GeneratorStartIntegration', { apiId: httpApi.httpApiId, - integrationType: HttpIntegrationType.LAMBDA_PROXY, + integrationType: HttpIntegrationType.AWS_PROXY, integrationSubtype: 'StepFunctions-StartExecution', connectionType: HttpConnectionType.INTERNET, credentialsArn: apiRole.roleArn, @@ -595,8 +595,7 @@ export class TransactionDashboardStack extends NestedStack { }, ], }); - const tokenFnIntegration = new LambdaProxyIntegration({ - handler: tokenFn, + const tokenFnIntegration = new HttpLambdaIntegration('TokenInteg', tokenFn, { payloadFormatVersion: PayloadFormatVersion.VERSION_2_0, }); httpApi.addRoutes({ diff --git a/src/lib/stack.ts b/src/lib/stack.ts index c5056251..4bbc686e 100644 --- a/src/lib/stack.ts +++ b/src/lib/stack.ts @@ -1,4 +1,4 @@ -import { ClusterParameterGroup, ParameterGroup, DatabaseCluster, InstanceType, IDatabaseCluster } from '@aws-cdk/aws-neptune-alpha'; +import { ClusterParameterGroup, ParameterGroup, DatabaseCluster, InstanceType, IDatabaseCluster, EngineVersion, ParameterGroupFamily } from '@aws-cdk/aws-neptune-alpha'; import { RemovalPolicy, Stack, StackProps, Duration, CfnParameter, CfnOutput, CfnResource } from 'aws-cdk-lib'; import { GatewayVpcEndpointAwsService, Vpc, FlowLogDestination, SubnetType, IVpc, SecurityGroup } from 'aws-cdk-lib/aws-ec2'; import { Role, ServicePrincipal } from 'aws-cdk-lib/aws-iam'; @@ -177,6 +177,7 @@ export class FraudDetectionStack extends Stack { neptune_enable_audit_log: '1', neptune_streams: '1', }, + family: ParameterGroupFamily.NEPTUNE_1_2, }); const dbParams = new ParameterGroup(this, 'DBParamGroup', { @@ -184,6 +185,7 @@ export class FraudDetectionStack extends Stack { parameters: { neptune_query_timeout: '600000', }, + family: ParameterGroupFamily.NEPTUNE_1_2, }); const neptuneRole = new Role(this, 'NeptuneBulkLoadRole', { @@ -224,6 +226,7 @@ export class FraudDetectionStack extends Stack { removalPolicy: RemovalPolicy.DESTROY, backupRetention: Duration.days(7), securityGroups: [graphDBSG], + engineVersion: new EngineVersion('1.2.0.1'), }); graphDBCluster.node.findAll().filter(c => (c as CfnDBInstance).cfnOptions) .forEach(c => (c as CfnDBInstance).autoMinorVersionUpgrade = true); diff --git a/test/stack.test.ts b/test/stack.test.ts index 0ad7bb12..6c6cc855 100644 --- a/test/stack.test.ts +++ b/test/stack.test.ts @@ -88,12 +88,16 @@ describe('fraud detection stack test suite', () => { test('Neptune cluster and dbs created', () => { Template.fromStack(stack).hasResourceProperties('AWS::Neptune::DBClusterParameterGroup', { - Family: 'neptune1', + Family: 'neptune1.2', Parameters: { neptune_enable_audit_log: '1', }, }); + Template.fromStack(stack).hasResourceProperties('AWS::Neptune::DBParameterGroup', { + Family: 'neptune1.2', + }); + Template.fromStack(stack).hasResource('AWS::Neptune::DBCluster', { Properties: { AssociatedRoles: [ @@ -116,6 +120,7 @@ describe('fraud detection stack test suite', () => { Port: 8182, BackupRetentionPeriod: 7, StorageEncrypted: true, + EngineVersion: '1.2.0.1', VpcSecurityGroupIds: [ { 'Fn::GetAtt': [ diff --git a/test/training-stack.test.ts b/test/training-stack.test.ts index 095ac6db..0a42e74a 100644 --- a/test/training-stack.test.ts +++ b/test/training-stack.test.ts @@ -628,7 +628,6 @@ describe('training stack test suite', () => { Statement: [ { Action: [ - 'glue:BatchDeletePartition', 'glue:BatchGetPartition', 'glue:GetPartition', 'glue:GetPartitions', @@ -692,7 +691,6 @@ describe('training stack test suite', () => { }, { Action: [ - 'glue:BatchDeletePartition', 'glue:BatchGetPartition', 'glue:GetPartition', 'glue:GetPartitions', diff --git a/yarn.lock b/yarn.lock index 976a08f8..eb130059 100644 --- a/yarn.lock +++ b/yarn.lock @@ -25,40 +25,40 @@ resolved "https://registry.yarnpkg.com/@aws-cdk/asset-node-proxy-agent-v5/-/asset-node-proxy-agent-v5-2.0.18.tgz#8ff6f6b0b1a00fb224e523b4f61bb15722509eb4" integrity sha512-hg5b372GnghSykekQI9snoWlDZ9ZF6yYc5iHmKjuAJsTqL6g+c3MP3Jm99uMV5xALLX5KyOhMVN+XUA3b6BN2w== -"@aws-cdk/aws-apigatewayv2-alpha@2.0.0-alpha.11": - version "2.0.0-alpha.11" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-alpha/-/aws-apigatewayv2-alpha-2.0.0-alpha.11.tgz#6dffab0956a1e1e39f0c7668ed8a0f848f86e67e" - integrity sha512-Fyq+/A9/qpU+4XK2mneOp7LrLhldzgHRF74xEMxlGQsDg+jxqTBI+XK0rve6CYcvcL+lq8bGr224LkomNmig6g== +"@aws-cdk/aws-apigatewayv2-alpha@^2.51.1-alpha.0": + version "2.51.1-alpha.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-alpha/-/aws-apigatewayv2-alpha-2.51.1-alpha.0.tgz#ad4311683794ec79fc10cfe8691467bfd212e1b9" + integrity sha512-cgAUGSBa8qLnEdRCjAQMtkVlqK7ML+gep9bTlaxQcb3gExvlPNpFUZNxOGoEb1Bpjyhtn2peN37+GU1bEJ6fbQ== -"@aws-cdk/aws-apigatewayv2-integrations-alpha@2.0.0-alpha.11": - version "2.0.0-alpha.11" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-integrations-alpha/-/aws-apigatewayv2-integrations-alpha-2.0.0-alpha.11.tgz#0c2811eed4d7f22557ac15e6b4cfa92019ed8dca" - integrity sha512-ge7+jg+qTje6NMjeBa/48Q7kwQEJwY0KiWUhAzl0bI5X+vy62uD27zn9N2iCtkwATpl19DrhaqoyirKxpcwKmQ== +"@aws-cdk/aws-apigatewayv2-integrations-alpha@^2.51.1-alpha.0": + version "2.51.1-alpha.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-integrations-alpha/-/aws-apigatewayv2-integrations-alpha-2.51.1-alpha.0.tgz#1f0651163294882ae61b3577c59a4cf8a403f95d" + integrity sha512-x2pmhU/1+bWAm17ORxQ8DyPcwi7Kqhj4RQJ/Zy51fxGUZRJSSdcjLpwa2g8P3nQyKwfrEYU0VsLOV5RNlFKywQ== -"@aws-cdk/aws-appsync-alpha@2.0.0-alpha.11": - version "2.0.0-alpha.11" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-appsync-alpha/-/aws-appsync-alpha-2.0.0-alpha.11.tgz#d82edfeaf919c5893e03af2ed53278f9c8dafc9f" - integrity sha512-pZVn13X46Pod83sTUC0uZMX8w+O7rKrdPiYO0DijSV1sJwjVhIsMrhee8JoKydQD3rXPyjSulm8xvhejwIYWdQ== +"@aws-cdk/aws-appsync-alpha@^2.51.1-alpha.0": + version "2.51.1-alpha.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-appsync-alpha/-/aws-appsync-alpha-2.51.1-alpha.0.tgz#97ef1b288015607316beed9da9cf42dfdf84cb57" + integrity sha512-DZYJwiuGWUgMo1rUTRGryw9hUaxFTSFkKV6zTOf7xmQkzk9pRWSjjXsh+o7IbKEyDJao1izU6Ob8ndSqUsH5GA== "@aws-cdk/aws-batch-alpha@^2.8.0-alpha.0": version "2.8.0-alpha.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-batch-alpha/-/aws-batch-alpha-2.8.0-alpha.0.tgz#b00ab374b92906bc5fc4b82ad7d82ba360c35399" integrity sha512-cZa/2BJ5R7QxEoyC5DlhixxLsvV6QppjgS8dluMzNASwofgvyq4elt3ukBaOv/3riKBg/irYVFZuvaSSsxVTOg== -"@aws-cdk/aws-glue-alpha@2.0.0-alpha.11": - version "2.0.0-alpha.11" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-glue-alpha/-/aws-glue-alpha-2.0.0-alpha.11.tgz#d811185c14bc863c5938b2ec18596fc1db99bb7f" - integrity sha512-+Jwkl182uaYwcGisWi5WKCIHTgsVef26bg/keJLsyNC/2KFKgiLdfjxHW0tRP3j/FeJTzKBWKv0RGEG+bxskIg== +"@aws-cdk/aws-glue-alpha@^2.51.1-alpha.0": + version "2.51.1-alpha.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-glue-alpha/-/aws-glue-alpha-2.51.1-alpha.0.tgz#55176d6709f985f61c187833436da5babe1589f1" + integrity sha512-4V+lGSEK4/C7ipiRS1sRnxEMgvoHMs8OSifrMscUtxHO/ezqYgapOt9ntwTCbs5QXyiH7sQN2cKWI0AjJchlqA== -"@aws-cdk/aws-lambda-python-alpha@2.0.0-alpha.11": - version "2.0.0-alpha.11" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-python-alpha/-/aws-lambda-python-alpha-2.0.0-alpha.11.tgz#2b4c812baec052b3ff5242c65b7f0c6ac8b9123b" - integrity sha512-dyKaqsLFQJLq6ATh6YWZG8dHahRd8ujnFR1fjBb5NAIu7/AM+wlcavaYQZVTUk5KAkkpVoeUNYU/z2nnlVGcVg== +"@aws-cdk/aws-lambda-python-alpha@^2.51.1-alpha.0": + version "2.51.1-alpha.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-python-alpha/-/aws-lambda-python-alpha-2.51.1-alpha.0.tgz#f8cb424cf4768780dc8a044eb72c49c0d2936882" + integrity sha512-81gJdO5R7SOtv2v3Fy8dzAOJyUdd2lO4kXc2xhwq0bU5nM5CvYy7WED2xRLaDsvLfDTIWQFf6Imsl4o6OS25tA== -"@aws-cdk/aws-neptune-alpha@2.0.0-alpha.11": - version "2.0.0-alpha.11" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-neptune-alpha/-/aws-neptune-alpha-2.0.0-alpha.11.tgz#cfede8b1b281ccc85154b2be3039afe0997e3285" - integrity sha512-8SnsFUBH2WUZgAZTNrAj6jjObKHKJnXMl9WT5FWXUWHTaXNhyMNn0XK07au/l+tGl3vMsPhE4n61x2AMuZ5yIA== +"@aws-cdk/aws-neptune-alpha@^2.51.1-alpha.0": + version "2.51.1-alpha.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-neptune-alpha/-/aws-neptune-alpha-2.51.1-alpha.0.tgz#aa5f3d0376213017586eebbb49e89898463a4b25" + integrity sha512-9TDKEEW6kd4ueqMhfaiWQlgD0fZXH8cWszSZpMAcVWWCi/vn/2+JWI6DaaDaYtLmlHhUz5a+NQ4KVI0ivv/h4A== "@aws-cdk/cloud-assembly-schema@2.51.1", "@aws-cdk/cloud-assembly-schema@^2": version "2.51.1"