@aws-amplify/graphql-model-transformer 1.5.0-rds.0 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- package/API.md +15 -15
- package/CHANGELOG.md +4 -5
- package/lib/graphql-types/mutation.d.ts.map +1 -1
- package/lib/graphql-types/mutation.js +2 -9
- package/lib/graphql-types/mutation.js.map +1 -1
- package/lib/rds-lambda.zip +0 -0
- package/lib/rds-notification-lambda.zip +0 -0
- package/lib/rds-patching-lambda.zip +0 -0
- package/lib/resolvers/generators/dynamodb-vtl-generator.d.ts +5 -6
- package/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
- package/lib/resolvers/generators/dynamodb-vtl-generator.js +5 -5
- package/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
- package/lib/resolvers/generators/rds-vtl-generator.d.ts +5 -6
- package/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
- package/lib/resolvers/generators/rds-vtl-generator.js +10 -10
- package/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
- package/lib/resolvers/generators/vtl-generator.d.ts +5 -6
- package/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
- package/lib/resolvers/rds/mutation.d.ts +3 -4
- package/lib/resolvers/rds/mutation.d.ts.map +1 -1
- package/lib/resolvers/rds/mutation.js +3 -7
- package/lib/resolvers/rds/mutation.js.map +1 -1
- package/lib/resolvers/rds/query.d.ts +1 -2
- package/lib/resolvers/rds/query.d.ts.map +1 -1
- package/lib/resolvers/rds/query.js +1 -3
- package/lib/resolvers/rds/query.js.map +1 -1
- package/lib/resolvers/rds/resolver.d.ts +7 -11
- package/lib/resolvers/rds/resolver.d.ts.map +1 -1
- package/lib/resolvers/rds/resolver.js +39 -50
- package/lib/resolvers/rds/resolver.js.map +1 -1
- package/lib/resources/dynamo-model-resource-generator.d.ts +2 -2
- package/lib/resources/dynamo-model-resource-generator.d.ts.map +1 -1
- package/lib/resources/dynamo-model-resource-generator.js +48 -43
- package/lib/resources/dynamo-model-resource-generator.js.map +1 -1
- package/lib/resources/model-resource-generator.js +8 -8
- package/lib/resources/model-resource-generator.js.map +1 -1
- package/lib/resources/rds-model-resource-generator.js +13 -13
- package/package.json +6 -5
- package/publish-notification-lambda/node_modules/.package-lock.json +11 -11
- package/publish-notification-lambda/node_modules/@types/node/README.md +1 -1
- package/publish-notification-lambda/node_modules/@types/node/package.json +2 -2
- package/publish-notification-lambda/node_modules/archiver/CHANGELOG.md +18 -0
- package/publish-notification-lambda/node_modules/archiver/package.json +7 -7
- package/publish-notification-lambda/node_modules/tslib/package.json +2 -2
- package/publish-notification-lambda/package-lock.json +11 -11
- package/rds-lambda/handler.ts +1 -2
- package/rds-lambda/node_modules/.package-lock.json +407 -362
- package/rds-lambda/node_modules/@babel/code-frame/package.json +3 -2
- package/rds-lambda/node_modules/@babel/core/package.json +9 -9
- package/rds-lambda/node_modules/@babel/helpers/package.json +5 -5
- package/rds-lambda/node_modules/@babel/highlight/package.json +1 -1
- package/rds-lambda/node_modules/@babel/parser/package.json +3 -3
- package/rds-lambda/node_modules/@babel/traverse/package.json +4 -4
- package/rds-lambda/node_modules/@babel/types/lib/index.js.flow +10 -10
- package/rds-lambda/node_modules/@babel/types/package.json +2 -2
- package/rds-lambda/node_modules/@jest/console/package.json +7 -7
- package/rds-lambda/node_modules/@jest/core/package.json +25 -25
- package/rds-lambda/node_modules/@jest/environment/package.json +6 -6
- package/rds-lambda/node_modules/@jest/expect/package.json +5 -5
- package/rds-lambda/node_modules/@jest/expect-utils/package.json +5 -5
- package/rds-lambda/node_modules/@jest/fake-timers/package.json +8 -8
- package/rds-lambda/node_modules/@jest/globals/package.json +7 -7
- package/rds-lambda/node_modules/@jest/reporters/node_modules/istanbul-lib-instrument/CHANGELOG.md +642 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/istanbul-lib-instrument/LICENSE +24 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/istanbul-lib-instrument/README.md +22 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/istanbul-lib-instrument/package.json +50 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/lru-cache/LICENSE +15 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/lru-cache/README.md +166 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/lru-cache/package.json +34 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/semver/LICENSE +15 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/semver/README.md +637 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/semver/package.json +87 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/semver/range.bnf +16 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/yallist/LICENSE +15 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/yallist/README.md +204 -0
- package/rds-lambda/node_modules/@jest/reporters/node_modules/yallist/package.json +29 -0
- package/rds-lambda/node_modules/@jest/reporters/package.json +14 -14
- package/rds-lambda/node_modules/@jest/schemas/package.json +3 -3
- package/rds-lambda/node_modules/@jest/source-map/package.json +3 -3
- package/rds-lambda/node_modules/@jest/test-result/package.json +7 -7
- package/rds-lambda/node_modules/@jest/test-sequencer/package.json +6 -6
- package/rds-lambda/node_modules/@jest/transform/package.json +8 -8
- package/rds-lambda/node_modules/@jest/types/package.json +4 -4
- package/rds-lambda/node_modules/@types/jest/README.md +1 -1
- package/rds-lambda/node_modules/@types/jest/package.json +2 -2
- package/rds-lambda/node_modules/@types/node/README.md +1 -1
- package/rds-lambda/node_modules/@types/node/package.json +2 -2
- package/rds-lambda/node_modules/archiver/CHANGELOG.md +18 -0
- package/rds-lambda/node_modules/archiver/package.json +7 -7
- package/rds-lambda/node_modules/babel-jest/README.md +1 -1
- package/rds-lambda/node_modules/babel-jest/package.json +6 -6
- package/rds-lambda/node_modules/babel-plugin-jest-hoist/README.md +1 -1
- package/rds-lambda/node_modules/babel-plugin-jest-hoist/package.json +3 -3
- package/rds-lambda/node_modules/babel-preset-jest/README.md +1 -1
- package/rds-lambda/node_modules/babel-preset-jest/package.json +4 -4
- package/rds-lambda/node_modules/caniuse-lite/package.json +1 -1
- package/rds-lambda/node_modules/diff-sequences/package.json +3 -3
- package/rds-lambda/node_modules/electron-to-chromium/chromium-versions.json +1 -1
- package/rds-lambda/node_modules/electron-to-chromium/full-chromium-versions.json +1 -1
- package/rds-lambda/node_modules/electron-to-chromium/full-versions.json +1 -1
- package/rds-lambda/node_modules/electron-to-chromium/package.json +1 -1
- package/rds-lambda/node_modules/electron-to-chromium/versions.json +1 -1
- package/rds-lambda/node_modules/expect/package.json +9 -10
- package/rds-lambda/node_modules/jest/package.json +6 -6
- package/rds-lambda/node_modules/jest-changed-files/package.json +4 -3
- package/rds-lambda/node_modules/jest-circus/README.md +1 -1
- package/rds-lambda/node_modules/jest-circus/package.json +14 -14
- package/rds-lambda/node_modules/jest-cli/package.json +10 -10
- package/rds-lambda/node_modules/jest-config/package.json +15 -15
- package/rds-lambda/node_modules/jest-diff/package.json +7 -7
- package/rds-lambda/node_modules/jest-docblock/package.json +3 -3
- package/rds-lambda/node_modules/jest-each/README.md +1 -1
- package/rds-lambda/node_modules/jest-each/package.json +7 -7
- package/rds-lambda/node_modules/jest-environment-node/package.json +9 -9
- package/rds-lambda/node_modules/jest-get-type/package.json +3 -3
- package/rds-lambda/node_modules/jest-haste-map/package.json +7 -7
- package/rds-lambda/node_modules/jest-leak-detector/package.json +5 -5
- package/rds-lambda/node_modules/jest-matcher-utils/README.md +1 -1
- package/rds-lambda/node_modules/jest-matcher-utils/package.json +7 -7
- package/rds-lambda/node_modules/jest-message-util/package.json +5 -5
- package/rds-lambda/node_modules/jest-mock/package.json +5 -5
- package/rds-lambda/node_modules/jest-regex-util/package.json +3 -3
- package/rds-lambda/node_modules/jest-resolve/package.json +6 -6
- package/rds-lambda/node_modules/jest-resolve-dependencies/package.json +10 -10
- package/rds-lambda/node_modules/jest-runner/package.json +20 -20
- package/rds-lambda/node_modules/jest-runtime/package.json +19 -19
- package/rds-lambda/node_modules/jest-snapshot/package.json +14 -14
- package/rds-lambda/node_modules/jest-util/package.json +4 -4
- package/rds-lambda/node_modules/jest-validate/package.json +6 -6
- package/rds-lambda/node_modules/jest-watcher/package.json +7 -7
- package/rds-lambda/node_modules/jest-worker/README.md +1 -1
- package/rds-lambda/node_modules/jest-worker/package.json +5 -5
- package/rds-lambda/node_modules/pretty-format/package.json +5 -5
- package/rds-lambda/node_modules/tslib/package.json +2 -2
- package/rds-lambda/package-lock.json +410 -365
- package/rds-patching-lambda/node_modules/.package-lock.json +11 -11
- package/rds-patching-lambda/node_modules/@types/node/README.md +1 -1
- package/rds-patching-lambda/node_modules/@types/node/package.json +2 -2
- package/rds-patching-lambda/node_modules/archiver/CHANGELOG.md +18 -0
- package/rds-patching-lambda/node_modules/archiver/package.json +7 -7
- package/rds-patching-lambda/node_modules/tslib/package.json +2 -2
- package/rds-patching-lambda/package-lock.json +11 -11
- package/src/__tests__/__snapshots__/model-transformer.test.ts.snap +0 -688
- package/src/__tests__/model-directive-arguments.test.ts +23 -28
- package/src/__tests__/model-transformer.test.ts +137 -216
- package/src/graphql-types/mutation.ts +3 -11
- package/src/resolvers/generators/dynamodb-vtl-generator.ts +5 -7
- package/src/resolvers/generators/rds-vtl-generator.ts +10 -12
- package/src/resolvers/generators/vtl-generator.ts +5 -6
- package/src/resolvers/rds/mutation.ts +3 -18
- package/src/resolvers/rds/query.ts +1 -9
- package/src/resolvers/rds/resolver.ts +45 -62
- package/src/resources/dynamo-model-resource-generator.ts +50 -47
- package/src/resources/model-resource-generator.ts +8 -8
- package/src/resources/rds-model-resource-generator.ts +13 -13
- package/tsconfig.tsbuildinfo +1 -1
@@ -3,14 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.
|
6
|
+
exports.generateDefaultLambdaResponseMappingTemplate = exports.generateGetLambdaResponseTemplate = exports.generateLambdaRequestTemplate = exports.createRdsPatchingLambdaRole = exports.createRdsLambdaRole = exports.createRdsPatchingLambda = exports.createRdsLambda = exports.setRDSLayerMappings = void 0;
|
7
7
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
8
8
|
const graphql_mapping_template_1 = require("graphql-mapping-template");
|
9
9
|
const graphql_transformer_common_1 = require("graphql-transformer-common");
|
10
|
+
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
|
10
11
|
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
11
12
|
const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
|
12
13
|
const path_1 = __importDefault(require("path"));
|
13
|
-
const graphql_1 = require("graphql");
|
14
14
|
const OPERATION_KEY = '__operation';
|
15
15
|
const RDSLayerMappingID = 'RDSLayerResourceMapping';
|
16
16
|
const setRDSLayerMappings = (scope, mapping) => new aws_cdk_lib_1.CfnMapping(scope, RDSLayerMappingID, {
|
@@ -21,99 +21,99 @@ const getLatestLayers = (latestLayers) => {
|
|
21
21
|
if (latestLayers && Object.keys(latestLayers).length > 0) {
|
22
22
|
return latestLayers;
|
23
23
|
}
|
24
|
-
console.warn('Unable to load the latest RDS layer configuration, using local configuration.');
|
25
24
|
const defaultLayerMapping = getDefaultLayerMapping();
|
26
25
|
return defaultLayerMapping;
|
27
26
|
};
|
28
27
|
const getDefaultLayerMapping = () => ({
|
29
28
|
'ap-northeast-1': {
|
30
|
-
layerRegion: 'arn:aws:lambda:ap-northeast-1:582037449441:layer:AmplifyRDSLayer:
|
29
|
+
layerRegion: 'arn:aws:lambda:ap-northeast-1:582037449441:layer:AmplifyRDSLayer:5',
|
31
30
|
},
|
32
31
|
'us-east-1': {
|
33
|
-
layerRegion: 'arn:aws:lambda:us-east-1:582037449441:layer:AmplifyRDSLayer:
|
32
|
+
layerRegion: 'arn:aws:lambda:us-east-1:582037449441:layer:AmplifyRDSLayer:5',
|
34
33
|
},
|
35
34
|
'ap-southeast-1': {
|
36
|
-
layerRegion: 'arn:aws:lambda:ap-southeast-1:582037449441:layer:AmplifyRDSLayer:
|
35
|
+
layerRegion: 'arn:aws:lambda:ap-southeast-1:582037449441:layer:AmplifyRDSLayer:5',
|
37
36
|
},
|
38
37
|
'eu-west-1': {
|
39
|
-
layerRegion: 'arn:aws:lambda:eu-west-1:582037449441:layer:AmplifyRDSLayer:
|
38
|
+
layerRegion: 'arn:aws:lambda:eu-west-1:582037449441:layer:AmplifyRDSLayer:5',
|
40
39
|
},
|
41
40
|
'us-west-1': {
|
42
|
-
layerRegion: 'arn:aws:lambda:us-west-1:582037449441:layer:AmplifyRDSLayer:
|
41
|
+
layerRegion: 'arn:aws:lambda:us-west-1:582037449441:layer:AmplifyRDSLayer:5',
|
43
42
|
},
|
44
43
|
'ap-east-1': {
|
45
|
-
layerRegion: 'arn:aws:lambda:ap-east-1:582037449441:layer:AmplifyRDSLayer:
|
44
|
+
layerRegion: 'arn:aws:lambda:ap-east-1:582037449441:layer:AmplifyRDSLayer:5',
|
46
45
|
},
|
47
46
|
'ap-northeast-2': {
|
48
|
-
layerRegion: 'arn:aws:lambda:ap-northeast-2:582037449441:layer:AmplifyRDSLayer:
|
47
|
+
layerRegion: 'arn:aws:lambda:ap-northeast-2:582037449441:layer:AmplifyRDSLayer:5',
|
49
48
|
},
|
50
49
|
'ap-northeast-3': {
|
51
|
-
layerRegion: 'arn:aws:lambda:ap-northeast-3:582037449441:layer:AmplifyRDSLayer:
|
50
|
+
layerRegion: 'arn:aws:lambda:ap-northeast-3:582037449441:layer:AmplifyRDSLayer:5',
|
52
51
|
},
|
53
52
|
'ap-south-1': {
|
54
|
-
layerRegion: 'arn:aws:lambda:ap-south-1:582037449441:layer:AmplifyRDSLayer:
|
53
|
+
layerRegion: 'arn:aws:lambda:ap-south-1:582037449441:layer:AmplifyRDSLayer:5',
|
55
54
|
},
|
56
55
|
'ap-southeast-2': {
|
57
|
-
layerRegion: 'arn:aws:lambda:ap-southeast-2:582037449441:layer:AmplifyRDSLayer:
|
56
|
+
layerRegion: 'arn:aws:lambda:ap-southeast-2:582037449441:layer:AmplifyRDSLayer:5',
|
58
57
|
},
|
59
58
|
'ca-central-1': {
|
60
|
-
layerRegion: 'arn:aws:lambda:ca-central-1:582037449441:layer:AmplifyRDSLayer:
|
59
|
+
layerRegion: 'arn:aws:lambda:ca-central-1:582037449441:layer:AmplifyRDSLayer:5',
|
61
60
|
},
|
62
61
|
'eu-central-1': {
|
63
|
-
layerRegion: 'arn:aws:lambda:eu-central-1:582037449441:layer:AmplifyRDSLayer:
|
62
|
+
layerRegion: 'arn:aws:lambda:eu-central-1:582037449441:layer:AmplifyRDSLayer:5',
|
64
63
|
},
|
65
64
|
'eu-north-1': {
|
66
|
-
layerRegion: 'arn:aws:lambda:eu-north-1:582037449441:layer:AmplifyRDSLayer:
|
65
|
+
layerRegion: 'arn:aws:lambda:eu-north-1:582037449441:layer:AmplifyRDSLayer:5',
|
67
66
|
},
|
68
67
|
'eu-west-2': {
|
69
|
-
layerRegion: 'arn:aws:lambda:eu-west-2:582037449441:layer:AmplifyRDSLayer:
|
68
|
+
layerRegion: 'arn:aws:lambda:eu-west-2:582037449441:layer:AmplifyRDSLayer:5',
|
70
69
|
},
|
71
70
|
'eu-west-3': {
|
72
|
-
layerRegion: 'arn:aws:lambda:eu-west-3:582037449441:layer:AmplifyRDSLayer:
|
71
|
+
layerRegion: 'arn:aws:lambda:eu-west-3:582037449441:layer:AmplifyRDSLayer:5',
|
73
72
|
},
|
74
73
|
'sa-east-1': {
|
75
|
-
layerRegion: 'arn:aws:lambda:sa-east-1:582037449441:layer:AmplifyRDSLayer:
|
74
|
+
layerRegion: 'arn:aws:lambda:sa-east-1:582037449441:layer:AmplifyRDSLayer:5',
|
76
75
|
},
|
77
76
|
'us-east-2': {
|
78
|
-
layerRegion: 'arn:aws:lambda:us-east-2:582037449441:layer:AmplifyRDSLayer:
|
77
|
+
layerRegion: 'arn:aws:lambda:us-east-2:582037449441:layer:AmplifyRDSLayer:5',
|
79
78
|
},
|
80
79
|
'us-west-2': {
|
81
|
-
layerRegion: 'arn:aws:lambda:us-west-2:582037449441:layer:AmplifyRDSLayer:
|
80
|
+
layerRegion: 'arn:aws:lambda:us-west-2:582037449441:layer:AmplifyRDSLayer:5',
|
82
81
|
},
|
83
82
|
'cn-north-1': {
|
84
|
-
layerRegion: 'arn:aws:lambda:cn-north-1:582037449441:layer:AmplifyRDSLayer:
|
83
|
+
layerRegion: 'arn:aws:lambda:cn-north-1:582037449441:layer:AmplifyRDSLayer:5',
|
85
84
|
},
|
86
85
|
'cn-northwest-1': {
|
87
|
-
layerRegion: 'arn:aws:lambda:cn-northwest-1:582037449441:layer:AmplifyRDSLayer:
|
86
|
+
layerRegion: 'arn:aws:lambda:cn-northwest-1:582037449441:layer:AmplifyRDSLayer:5',
|
88
87
|
},
|
89
88
|
'us-gov-west-1': {
|
90
|
-
layerRegion: 'arn:aws:lambda:us-gov-west-1:582037449441:layer:AmplifyRDSLayer:
|
89
|
+
layerRegion: 'arn:aws:lambda:us-gov-west-1:582037449441:layer:AmplifyRDSLayer:5',
|
91
90
|
},
|
92
91
|
'us-gov-east-1': {
|
93
|
-
layerRegion: 'arn:aws:lambda:us-gov-east-1:582037449441:layer:AmplifyRDSLayer:
|
92
|
+
layerRegion: 'arn:aws:lambda:us-gov-east-1:582037449441:layer:AmplifyRDSLayer:5',
|
94
93
|
},
|
95
94
|
'me-south-1': {
|
96
|
-
layerRegion: 'arn:aws:lambda:me-south-1:582037449441:layer:AmplifyRDSLayer:
|
95
|
+
layerRegion: 'arn:aws:lambda:me-south-1:582037449441:layer:AmplifyRDSLayer:5',
|
97
96
|
},
|
98
97
|
});
|
99
|
-
const createRdsLambda = (
|
98
|
+
const createRdsLambda = (scope, apiGraphql, lambdaRole, environment, sqlLambdaVpcConfig) => {
|
100
99
|
const { RDSLambdaLogicalID } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
|
101
100
|
return apiGraphql.host.addLambdaFunction(RDSLambdaLogicalID, `functions/${RDSLambdaLogicalID}.zip`, 'handler.run', path_1.default.resolve(__dirname, '..', '..', '..', 'lib', 'rds-lambda.zip'), aws_lambda_1.Runtime.NODEJS_18_X, [
|
102
|
-
aws_lambda_1.LayerVersion.fromLayerVersionArn(
|
103
|
-
], lambdaRole, environment, aws_cdk_lib_1.Duration.seconds(30),
|
101
|
+
aws_lambda_1.LayerVersion.fromLayerVersionArn(scope, 'SQLLambdaLayerVersion', aws_cdk_lib_1.Fn.findInMap(RDSLayerMappingID, aws_cdk_lib_1.Fn.ref('AWS::Region'), 'layerRegion')),
|
102
|
+
], lambdaRole, environment, aws_cdk_lib_1.Duration.seconds(30), scope, sqlLambdaVpcConfig);
|
104
103
|
};
|
105
104
|
exports.createRdsLambda = createRdsLambda;
|
106
|
-
const createRdsPatchingLambda = (
|
105
|
+
const createRdsPatchingLambda = (scope, apiGraphql, lambdaRole, environment, sqlLambdaVpcConfig) => {
|
107
106
|
const { RDSPatchingLambdaLogicalID } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
|
108
|
-
return apiGraphql.host.addLambdaFunction(RDSPatchingLambdaLogicalID, `functions/${RDSPatchingLambdaLogicalID}.zip`, 'index.handler', path_1.default.resolve(__dirname, '..', '..', '..', 'lib', 'rds-patching-lambda.zip'), aws_lambda_1.Runtime.NODEJS_18_X, [], lambdaRole, environment, aws_cdk_lib_1.Duration.minutes(6),
|
107
|
+
return apiGraphql.host.addLambdaFunction(RDSPatchingLambdaLogicalID, `functions/${RDSPatchingLambdaLogicalID}.zip`, 'index.handler', path_1.default.resolve(__dirname, '..', '..', '..', 'lib', 'rds-patching-lambda.zip'), aws_lambda_1.Runtime.NODEJS_18_X, [], lambdaRole, environment, aws_cdk_lib_1.Duration.minutes(6), scope, sqlLambdaVpcConfig);
|
109
108
|
};
|
110
109
|
exports.createRdsPatchingLambda = createRdsPatchingLambda;
|
111
|
-
const createRdsLambdaRole = (roleName,
|
110
|
+
const createRdsLambdaRole = (roleName, scope, secretEntry) => {
|
112
111
|
const { RDSLambdaIAMRoleLogicalID, RDSLambdaLogAccessPolicy } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
|
113
|
-
const role = new aws_iam_1.Role(
|
112
|
+
const role = new aws_iam_1.Role(scope, RDSLambdaIAMRoleLogicalID, {
|
114
113
|
assumedBy: new aws_iam_1.ServicePrincipal('lambda.amazonaws.com'),
|
115
114
|
roleName,
|
116
115
|
});
|
116
|
+
(0, graphql_transformer_core_1.setResourceName)(role, { name: RDSLambdaIAMRoleLogicalID, setOnDefaultChild: true });
|
117
117
|
const policyStatements = [
|
118
118
|
new aws_iam_1.PolicyStatement({
|
119
119
|
actions: ['logs:CreateLogGroup', 'logs:CreateLogStream', 'logs:PutLogEvents'],
|
@@ -134,7 +134,7 @@ const createRdsLambdaRole = (roleName, stack, secretEntry) => {
|
|
134
134
|
],
|
135
135
|
}));
|
136
136
|
}
|
137
|
-
role.attachInlinePolicy(new aws_iam_1.Policy(
|
137
|
+
role.attachInlinePolicy(new aws_iam_1.Policy(scope, RDSLambdaLogAccessPolicy, {
|
138
138
|
statements: policyStatements,
|
139
139
|
policyName: `${roleName}Policy`,
|
140
140
|
}));
|
@@ -146,12 +146,13 @@ const createRdsLambdaRole = (roleName, stack, secretEntry) => {
|
|
146
146
|
return role;
|
147
147
|
};
|
148
148
|
exports.createRdsLambdaRole = createRdsLambdaRole;
|
149
|
-
const createRdsPatchingLambdaRole = (roleName,
|
149
|
+
const createRdsPatchingLambdaRole = (roleName, scope, functionArn) => {
|
150
150
|
const { RDSPatchingLambdaIAMRoleLogicalID, RDSPatchingLambdaLogAccessPolicy } = graphql_transformer_common_1.ResourceConstants.RESOURCES;
|
151
|
-
const role = new aws_iam_1.Role(
|
151
|
+
const role = new aws_iam_1.Role(scope, RDSPatchingLambdaIAMRoleLogicalID, {
|
152
152
|
assumedBy: new aws_iam_1.ServicePrincipal('lambda.amazonaws.com'),
|
153
153
|
roleName,
|
154
154
|
});
|
155
|
+
(0, graphql_transformer_core_1.setResourceName)(role, { name: RDSPatchingLambdaIAMRoleLogicalID, setOnDefaultChild: true });
|
155
156
|
const policyStatements = [
|
156
157
|
new aws_iam_1.PolicyStatement({
|
157
158
|
actions: ['logs:CreateLogGroup', 'logs:CreateLogStream', 'logs:PutLogEvents'],
|
@@ -169,7 +170,7 @@ const createRdsPatchingLambdaRole = (roleName, stack, functionArn) => {
|
|
169
170
|
resources: ['*'],
|
170
171
|
}),
|
171
172
|
];
|
172
|
-
role.attachInlinePolicy(new aws_iam_1.Policy(
|
173
|
+
role.attachInlinePolicy(new aws_iam_1.Policy(scope, RDSPatchingLambdaLogAccessPolicy, {
|
173
174
|
statements: policyStatements,
|
174
175
|
policyName: `${roleName}Policy`,
|
175
176
|
}));
|
@@ -181,7 +182,7 @@ const createRdsPatchingLambdaRole = (roleName, stack, functionArn) => {
|
|
181
182
|
return role;
|
182
183
|
};
|
183
184
|
exports.createRdsPatchingLambdaRole = createRdsPatchingLambdaRole;
|
184
|
-
const generateLambdaRequestTemplate = (tableName, operation, operationName
|
185
|
+
const generateLambdaRequestTemplate = (tableName, operation, operationName) => (0, graphql_mapping_template_1.printBlock)('Invoke RDS Lambda data source')((0, graphql_mapping_template_1.compoundExpression)([
|
185
186
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput'), (0, graphql_mapping_template_1.obj)({})),
|
186
187
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args'), (0, graphql_mapping_template_1.obj)({})),
|
187
188
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.table'), (0, graphql_mapping_template_1.str)(tableName)),
|
@@ -189,7 +190,6 @@ const generateLambdaRequestTemplate = (tableName, operation, operationName, ctx)
|
|
189
190
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.operationName'), (0, graphql_mapping_template_1.str)(operationName)),
|
190
191
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata'), (0, graphql_mapping_template_1.obj)({})),
|
191
192
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.keys'), (0, graphql_mapping_template_1.list)([])),
|
192
|
-
(0, exports.constructNonScalarFieldsStatement)(tableName, ctx),
|
193
193
|
(0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.keys.addAll'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)('ctx.stash.keys'), (0, graphql_mapping_template_1.list)([])))),
|
194
194
|
(0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.input'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)('ctx.stash.defaultValues'), (0, graphql_mapping_template_1.obj)({}))),
|
195
195
|
(0, graphql_mapping_template_1.qref)((0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('lambdaInput.args.input.putAll'), (0, graphql_mapping_template_1.methodCall)((0, graphql_mapping_template_1.ref)('util.defaultIfNull'), (0, graphql_mapping_template_1.ref)('context.arguments'), (0, graphql_mapping_template_1.obj)({})))),
|
@@ -224,15 +224,4 @@ const generateDefaultLambdaResponseMappingTemplate = (isSyncEnabled, mutation =
|
|
224
224
|
return (0, graphql_mapping_template_1.printBlock)('ResponseTemplate')((0, graphql_mapping_template_1.compoundExpression)(statements));
|
225
225
|
};
|
226
226
|
exports.generateDefaultLambdaResponseMappingTemplate = generateDefaultLambdaResponseMappingTemplate;
|
227
|
-
const getNonScalarFields = (object, ctx) => {
|
228
|
-
var _a;
|
229
|
-
if (!object) {
|
230
|
-
return [];
|
231
|
-
}
|
232
|
-
const enums = ctx.output.getTypeDefinitionsOfKind(graphql_1.Kind.ENUM_TYPE_DEFINITION);
|
233
|
-
return ((_a = object.fields) === null || _a === void 0 ? void 0 : _a.filter((f) => (0, graphql_transformer_common_1.isArrayOrObject)(f.type, enums)).map((f) => f.name.value)) || [];
|
234
|
-
};
|
235
|
-
exports.getNonScalarFields = getNonScalarFields;
|
236
|
-
const constructNonScalarFieldsStatement = (tableName, ctx) => (0, graphql_mapping_template_1.set)((0, graphql_mapping_template_1.ref)('lambdaInput.args.metadata.nonScalarFields'), (0, graphql_mapping_template_1.list)((0, exports.getNonScalarFields)(ctx.output.getObject(tableName), ctx).map(graphql_mapping_template_1.str)));
|
237
|
-
exports.constructNonScalarFieldsStatement = constructNonScalarFieldsStatement;
|
238
227
|
//# sourceMappingURL=resolver.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/resolvers/rds/resolver.ts"],"names":[],"mappings":";;;;;;AAAA,
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/resolvers/rds/resolver.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import * as cdk from 'aws-cdk-lib';
|
2
1
|
import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
|
3
2
|
import { ObjectTypeDefinitionNode } from 'graphql';
|
4
3
|
import * as iam from 'aws-cdk-lib/aws-iam';
|
4
|
+
import { Construct } from 'constructs';
|
5
5
|
import { ModelVTLGenerator } from '../resolvers';
|
6
6
|
import { ModelResourceGenerator } from './model-resource-generator';
|
7
7
|
export declare class DynamoModelResourceGenerator extends ModelResourceGenerator {
|
@@ -10,6 +10,6 @@ export declare class DynamoModelResourceGenerator extends ModelResourceGenerator
|
|
10
10
|
getVTLGenerator(): ModelVTLGenerator;
|
11
11
|
private createModelTable;
|
12
12
|
private createModelTableDataSource;
|
13
|
-
createIAMRole: (context: TransformerContextProvider, def: ObjectTypeDefinitionNode,
|
13
|
+
createIAMRole: (context: TransformerContextProvider, def: ObjectTypeDefinitionNode, scope: Construct, tableName: string) => iam.Role;
|
14
14
|
}
|
15
15
|
//# sourceMappingURL=dynamo-model-resource-generator.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dynamo-model-resource-generator.d.ts","sourceRoot":"","sources":["../../src/resources/dynamo-model-resource-generator.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"dynamo-model-resource-generator.d.ts","sourceRoot":"","sources":["../../src/resources/dynamo-model-resource-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAEzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAInD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAA6B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAMpE,qBAAa,4BAA6B,SAAQ,sBAAsB;IACtE,SAAS,CAAC,QAAQ,CAAC,aAAa,kCAAkC;IAElE,iBAAiB,CAAC,GAAG,EAAE,0BAA0B,GAAG,IAAI;IAkDxD,eAAe,IAAI,iBAAiB;IAIpC,OAAO,CAAC,gBAAgB;IA8GxB,OAAO,CAAC,0BAA0B;IA6ClC,aAAa,YAAa,0BAA0B,OAAO,wBAAwB,SAAS,SAAS,aAAa,MAAM,KAAG,IAAI,IAAI,CA2DjI;CACH"}
|
@@ -35,14 +35,15 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
35
35
|
constructor() {
|
36
36
|
super(...arguments);
|
37
37
|
this.generatorType = 'DynamoModelResourceGenerator';
|
38
|
-
this.createIAMRole = (context, def,
|
38
|
+
this.createIAMRole = (context, def, scope, tableName) => {
|
39
39
|
const roleName = context.resourceHelper.generateIAMRoleName(graphql_transformer_common_1.ModelResourceIDs.ModelTableIAMRoleID(def.name.value));
|
40
|
-
const role = new iam.Role(
|
40
|
+
const role = new iam.Role(scope, graphql_transformer_common_1.ModelResourceIDs.ModelTableIAMRoleID(def.name.value), {
|
41
41
|
roleName,
|
42
42
|
assumedBy: new iam.ServicePrincipal('appsync.amazonaws.com'),
|
43
43
|
});
|
44
|
+
(0, graphql_transformer_core_1.setResourceName)(role, { name: graphql_transformer_common_1.ModelResourceIDs.ModelTableIAMRoleID(def.name.value), setOnDefaultChild: true });
|
44
45
|
const amplifyDataStoreTableName = context.resourceHelper.generateTableName(graphql_transformer_common_1.SyncResourceIDs.syncTableName);
|
45
|
-
role.attachInlinePolicy(new iam.Policy(
|
46
|
+
role.attachInlinePolicy(new iam.Policy(scope, 'DynamoDBAccess', {
|
46
47
|
statements: [
|
47
48
|
new iam.PolicyStatement({
|
48
49
|
effect: iam.Effect.ALLOW,
|
@@ -79,7 +80,7 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
79
80
|
}));
|
80
81
|
const syncConfig = graphql_transformer_core_1.SyncUtils.getSyncConfig(context, def.name.value);
|
81
82
|
if (syncConfig && graphql_transformer_core_1.SyncUtils.isLambdaSyncConfig(syncConfig)) {
|
82
|
-
role.attachInlinePolicy(graphql_transformer_core_1.SyncUtils.createSyncLambdaIAMPolicy(context,
|
83
|
+
role.attachInlinePolicy(graphql_transformer_core_1.SyncUtils.createSyncLambdaIAMPolicy(context, scope, syncConfig.LambdaConflictHandler.name, syncConfig.LambdaConflictHandler.region));
|
83
84
|
}
|
84
85
|
return role;
|
85
86
|
};
|
@@ -89,28 +90,29 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
89
90
|
return;
|
90
91
|
}
|
91
92
|
if (this.isProvisioned()) {
|
92
|
-
|
93
|
+
const rootStack = cdk.Stack.of(ctx.stackManager.scope);
|
94
|
+
new cdk.CfnParameter(rootStack, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBModelTableReadIOPS, {
|
93
95
|
description: 'The number of read IOPS the table should support.',
|
94
96
|
type: 'Number',
|
95
97
|
default: 5,
|
96
98
|
});
|
97
|
-
|
99
|
+
new cdk.CfnParameter(rootStack, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBModelTableWriteIOPS, {
|
98
100
|
description: 'The number of write IOPS the table should support.',
|
99
101
|
type: 'Number',
|
100
102
|
default: 5,
|
101
103
|
});
|
102
|
-
|
104
|
+
new cdk.CfnParameter(rootStack, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBBillingMode, {
|
103
105
|
description: 'Configure @model types to create DynamoDB tables with PAY_PER_REQUEST or PROVISIONED billing modes.',
|
104
106
|
default: 'PAY_PER_REQUEST',
|
105
107
|
allowedValues: ['PAY_PER_REQUEST', 'PROVISIONED'],
|
106
108
|
});
|
107
|
-
|
109
|
+
new cdk.CfnParameter(rootStack, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBEnablePointInTimeRecovery, {
|
108
110
|
description: 'Whether to enable Point in Time Recovery on the table.',
|
109
111
|
type: 'String',
|
110
112
|
default: 'false',
|
111
113
|
allowedValues: ['true', 'false'],
|
112
114
|
});
|
113
|
-
|
115
|
+
new cdk.CfnParameter(rootStack, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBEnableServerSideEncryption, {
|
114
116
|
description: 'Enable server side encryption powered by KMS.',
|
115
117
|
type: 'String',
|
116
118
|
default: 'true',
|
@@ -120,65 +122,65 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
120
122
|
this.models.forEach((model) => {
|
121
123
|
const tableBaseName = ctx.resourceHelper.getModelNameMapping(model.name.value);
|
122
124
|
const tableLogicalName = graphql_transformer_common_1.ModelResourceIDs.ModelTableResourceID(tableBaseName);
|
123
|
-
const
|
124
|
-
this.createModelTable(
|
125
|
+
const scope = ctx.stackManager.getScopeFor(tableLogicalName, tableBaseName);
|
126
|
+
this.createModelTable(scope, model, ctx);
|
125
127
|
});
|
126
128
|
this.generateResolvers(ctx);
|
127
129
|
}
|
128
130
|
getVTLGenerator() {
|
129
131
|
return new resolvers_1.DynamoDBModelVTLGenerator();
|
130
132
|
}
|
131
|
-
createModelTable(
|
132
|
-
const
|
133
|
-
const
|
134
|
-
const
|
135
|
-
const readIops = new cdk.CfnParameter(
|
133
|
+
createModelTable(scope, def, context) {
|
134
|
+
const modelName = def.name.value;
|
135
|
+
const tableLogicalName = graphql_transformer_common_1.ModelResourceIDs.ModelTableResourceID(modelName);
|
136
|
+
const tableName = context.resourceHelper.generateTableName(modelName);
|
137
|
+
const readIops = new cdk.CfnParameter(scope, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBModelTableReadIOPS, {
|
136
138
|
description: 'The number of read IOPS the table should support.',
|
137
139
|
type: 'Number',
|
138
140
|
default: 5,
|
139
141
|
});
|
140
|
-
const writeIops = new cdk.CfnParameter(
|
142
|
+
const writeIops = new cdk.CfnParameter(scope, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBModelTableWriteIOPS, {
|
141
143
|
description: 'The number of write IOPS the table should support.',
|
142
144
|
type: 'Number',
|
143
145
|
default: 5,
|
144
146
|
});
|
145
|
-
const billingMode = new cdk.CfnParameter(
|
147
|
+
const billingMode = new cdk.CfnParameter(scope, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBBillingMode, {
|
146
148
|
description: 'Configure @model types to create DynamoDB tables with PAY_PER_REQUEST or PROVISIONED billing modes.',
|
147
149
|
type: 'String',
|
148
150
|
default: 'PAY_PER_REQUEST',
|
149
151
|
allowedValues: ['PAY_PER_REQUEST', 'PROVISIONED'],
|
150
152
|
});
|
151
|
-
const pointInTimeRecovery = new cdk.CfnParameter(
|
153
|
+
const pointInTimeRecovery = new cdk.CfnParameter(scope, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBEnablePointInTimeRecovery, {
|
152
154
|
description: 'Whether to enable Point in Time Recovery on the table.',
|
153
155
|
type: 'String',
|
154
156
|
default: 'false',
|
155
157
|
allowedValues: ['true', 'false'],
|
156
158
|
});
|
157
|
-
const enableSSE = new cdk.CfnParameter(
|
159
|
+
const enableSSE = new cdk.CfnParameter(scope, graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBEnableServerSideEncryption, {
|
158
160
|
description: 'Enable server side encryption powered by KMS.',
|
159
161
|
type: 'String',
|
160
162
|
default: 'true',
|
161
163
|
allowedValues: ['true', 'false'],
|
162
164
|
});
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
new cdk.CfnCondition(
|
169
|
-
expression: cdk.Fn.conditionNot(cdk.Fn.conditionEquals(
|
165
|
+
scope.setParameter(readIops.node.id, cdk.Fn.ref(graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBModelTableReadIOPS));
|
166
|
+
scope.setParameter(writeIops.node.id, cdk.Fn.ref(graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBModelTableWriteIOPS));
|
167
|
+
scope.setParameter(billingMode.node.id, cdk.Fn.ref(graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBBillingMode));
|
168
|
+
scope.setParameter(pointInTimeRecovery.node.id, cdk.Fn.ref(graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBEnablePointInTimeRecovery));
|
169
|
+
scope.setParameter(enableSSE.node.id, cdk.Fn.ref(graphql_transformer_common_1.ResourceConstants.PARAMETERS.DynamoDBEnableServerSideEncryption));
|
170
|
+
new cdk.CfnCondition(scope, graphql_transformer_common_1.ResourceConstants.CONDITIONS.HasEnvironmentParameter, {
|
171
|
+
expression: cdk.Fn.conditionNot(cdk.Fn.conditionEquals(context.synthParameters.amplifyEnvironmentName, graphql_transformer_common_1.ResourceConstants.NONE)),
|
170
172
|
});
|
171
|
-
const useSSE = new cdk.CfnCondition(
|
173
|
+
const useSSE = new cdk.CfnCondition(scope, graphql_transformer_common_1.ResourceConstants.CONDITIONS.ShouldUseServerSideEncryption, {
|
172
174
|
expression: cdk.Fn.conditionEquals(enableSSE, 'true'),
|
173
175
|
});
|
174
|
-
const usePayPerRequestBilling = new cdk.CfnCondition(
|
176
|
+
const usePayPerRequestBilling = new cdk.CfnCondition(scope, graphql_transformer_common_1.ResourceConstants.CONDITIONS.ShouldUsePayPerRequestBilling, {
|
175
177
|
expression: cdk.Fn.conditionEquals(billingMode, 'PAY_PER_REQUEST'),
|
176
178
|
});
|
177
|
-
const usePointInTimeRecovery = new cdk.CfnCondition(
|
179
|
+
const usePointInTimeRecovery = new cdk.CfnCondition(scope, graphql_transformer_common_1.ResourceConstants.CONDITIONS.ShouldUsePointInTimeRecovery, {
|
178
180
|
expression: cdk.Fn.conditionEquals(pointInTimeRecovery, 'true'),
|
179
181
|
});
|
180
182
|
const removalPolicy = this.options.EnableDeletionProtection ? cdk.RemovalPolicy.RETAIN : cdk.RemovalPolicy.DESTROY;
|
181
|
-
const table = new aws_dynamodb_1.Table(
|
183
|
+
const table = new aws_dynamodb_1.Table(scope, tableLogicalName, {
|
182
184
|
tableName,
|
183
185
|
partitionKey: {
|
184
186
|
name: 'id',
|
@@ -190,6 +192,7 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
190
192
|
...(context.isProjectUsingDataStore() ? { timeToLiveAttribute: '_ttl' } : undefined),
|
191
193
|
});
|
192
194
|
const cfnTable = table.node.defaultChild;
|
195
|
+
(0, graphql_transformer_core_1.setResourceName)(table, { name: modelName, setOnDefaultChild: true });
|
193
196
|
cfnTable.provisionedThroughput = cdk.Fn.conditionIf(usePayPerRequestBilling.logicalId, cdk.Fn.ref('AWS::NoValue'), {
|
194
197
|
ReadCapacityUnits: readIops,
|
195
198
|
WriteCapacityUnits: writeIops,
|
@@ -200,24 +203,26 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
200
203
|
sseEnabled: cdk.Fn.conditionIf(useSSE.logicalId, true, false),
|
201
204
|
};
|
202
205
|
const streamArnOutputId = `GetAtt${graphql_transformer_common_1.ModelResourceIDs.ModelTableStreamArn(def.name.value)}`;
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
206
|
+
if (table.tableStreamArn) {
|
207
|
+
new cdk.CfnOutput(cdk.Stack.of(scope), streamArnOutputId, {
|
208
|
+
value: table.tableStreamArn,
|
209
|
+
description: 'Your DynamoDB table StreamArn.',
|
210
|
+
exportName: cdk.Fn.join(':', [context.api.apiId, 'GetAtt', tableLogicalName, 'StreamArn']),
|
211
|
+
});
|
212
|
+
}
|
208
213
|
const tableNameOutputId = `GetAtt${tableLogicalName}Name`;
|
209
|
-
new cdk.CfnOutput(
|
210
|
-
value:
|
214
|
+
new cdk.CfnOutput(cdk.Stack.of(scope), tableNameOutputId, {
|
215
|
+
value: table.tableName,
|
211
216
|
description: 'Your DynamoDB table name.',
|
212
217
|
exportName: cdk.Fn.join(':', [context.api.apiId, 'GetAtt', tableLogicalName, 'Name']),
|
213
218
|
});
|
214
|
-
const role = this.createIAMRole(context, def,
|
219
|
+
const role = this.createIAMRole(context, def, scope, tableName);
|
215
220
|
const tableDataSourceLogicalName = `${def.name.value}Table`;
|
216
|
-
this.createModelTableDataSource(def, context, table,
|
221
|
+
this.createModelTableDataSource(def, context, table, scope, role, tableDataSourceLogicalName);
|
217
222
|
}
|
218
|
-
createModelTableDataSource(def, context, table,
|
223
|
+
createModelTableDataSource(def, context, table, scope, role, dataSourceLogicalName) {
|
219
224
|
const datasourceRoleLogicalID = graphql_transformer_common_1.ModelResourceIDs.ModelTableDataSourceID(def.name.value);
|
220
|
-
const dataSource = context.api.host.addDynamoDbDataSource(datasourceRoleLogicalID, table, { name: dataSourceLogicalName, serviceRole: role },
|
225
|
+
const dataSource = context.api.host.addDynamoDbDataSource(datasourceRoleLogicalID, table, { name: dataSourceLogicalName, serviceRole: role }, scope);
|
221
226
|
const cfnDataSource = dataSource.node.defaultChild;
|
222
227
|
cfnDataSource.addDependency(role.node.defaultChild);
|
223
228
|
if (context.isProjectUsingDataStore()) {
|
@@ -230,7 +235,7 @@ class DynamoModelResourceGenerator extends model_resource_generator_1.ModelResou
|
|
230
235
|
datasourceDynamoDb.versioned = true;
|
231
236
|
}
|
232
237
|
const datasourceOutputId = `GetAtt${datasourceRoleLogicalID}Name`;
|
233
|
-
new cdk.CfnOutput(
|
238
|
+
new cdk.CfnOutput(cdk.Stack.of(scope), datasourceOutputId, {
|
234
239
|
value: dataSource.ds.attrName,
|
235
240
|
description: 'Your model DataSource name.',
|
236
241
|
exportName: cdk.Fn.join(':', [context.api.apiId, 'GetAtt', datasourceRoleLogicalID, 'Name']),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dynamo-model-resource-generator.js","sourceRoot":"","sources":["../../src/resources/dynamo-model-resource-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AAEnC,2EAAkG;AAElG,
|
1
|
+
{"version":3,"file":"dynamo-model-resource-generator.js","sourceRoot":"","sources":["../../src/resources/dynamo-model-resource-generator.ts"],"names":[],"mappings":"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"}
|