@aws-amplify/graphql-api-construct 1.7.1-gen2-release.1 → 1.8.0-gen2-release.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. package/.jsii +72 -34
  2. package/API.md +6 -1
  3. package/CHANGELOG.md +6 -0
  4. package/lib/amplify-dynamodb-table-wrapper.js +1 -1
  5. package/lib/amplify-graphql-api.js +1 -1
  6. package/lib/amplify-graphql-definition.js +1 -1
  7. package/lib/internal/data-source-config.js +3 -2
  8. package/lib/model-datasource-strategy-types.d.ts +9 -1
  9. package/lib/model-datasource-strategy-types.js +1 -1
  10. package/lib/sql-model-datasource-strategy.d.ts +7 -1
  11. package/lib/sql-model-datasource-strategy.js +15 -4
  12. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +4 -0
  13. package/node_modules/@aws-amplify/graphql-auth-transformer/LICENSE +201 -0
  14. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +12 -11
  15. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +4 -0
  16. package/node_modules/@aws-amplify/graphql-default-value-transformer/LICENSE +201 -0
  17. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +7 -6
  18. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +4 -0
  19. package/node_modules/@aws-amplify/graphql-function-transformer/LICENSE +201 -0
  20. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +6 -5
  21. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +4 -0
  22. package/node_modules/@aws-amplify/graphql-http-transformer/LICENSE +201 -0
  23. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +6 -5
  24. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +4 -0
  25. package/node_modules/@aws-amplify/graphql-index-transformer/LICENSE +201 -0
  26. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +7 -6
  27. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +4 -0
  28. package/node_modules/@aws-amplify/graphql-maps-to-transformer/LICENSE +201 -0
  29. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  30. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +10 -9
  31. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +6 -0
  32. package/node_modules/@aws-amplify/graphql-model-transformer/LICENSE +201 -0
  33. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  34. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  35. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  36. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts.map +1 -1
  37. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +7 -0
  38. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
  39. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
  40. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js +5 -0
  41. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js.map +1 -1
  42. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +6 -5
  43. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +4 -0
  44. package/node_modules/@aws-amplify/graphql-predictions-transformer/LICENSE +201 -0
  45. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  46. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +6 -5
  47. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +4 -0
  48. package/node_modules/@aws-amplify/graphql-relational-transformer/LICENSE +201 -0
  49. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +8 -7
  50. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +4 -0
  51. package/node_modules/@aws-amplify/graphql-searchable-transformer/LICENSE +201 -0
  52. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  53. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +7 -6
  54. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +4 -0
  55. package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +201 -0
  56. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +7 -6
  57. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +4 -0
  58. package/node_modules/@aws-amplify/graphql-transformer/LICENSE +201 -0
  59. package/node_modules/@aws-amplify/graphql-transformer/package.json +16 -15
  60. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +4 -0
  61. package/node_modules/@aws-amplify/graphql-transformer-core/LICENSE +201 -0
  62. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +4 -3
  63. package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +10 -1
  64. package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +6 -0
  65. package/node_modules/@aws-amplify/graphql-transformer-interfaces/LICENSE +201 -0
  66. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.d.ts +5 -1
  67. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.d.ts.map +1 -1
  68. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.js +5 -1
  69. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.js.map +1 -1
  70. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +3 -2
  71. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/model-datasource/types.ts +20 -1
  72. package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +17 -17
  74. package/src/internal/data-source-config.ts +5 -1
  75. package/src/model-datasource-strategy-types.ts +11 -1
  76. package/src/sql-model-datasource-strategy.ts +15 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/graphql-api-construct",
3
- "version": "1.7.1-gen2-release.1",
3
+ "version": "1.8.0-gen2-release.0",
4
4
  "description": "AppSync GraphQL Api Construct using Amplify GraphQL Transformer.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -76,21 +76,21 @@
76
76
  "dependencies": {
77
77
  "@aws-amplify/backend-output-schemas": "^0.4.0",
78
78
  "@aws-amplify/backend-output-storage": "^0.2.2",
79
- "@aws-amplify/graphql-auth-transformer": "3.4.3-gen2-release.0",
80
- "@aws-amplify/graphql-default-value-transformer": "2.3.3-gen2-release.0",
79
+ "@aws-amplify/graphql-auth-transformer": "3.4.3-gen2-release.1",
80
+ "@aws-amplify/graphql-default-value-transformer": "2.3.3-gen2-release.1",
81
81
  "@aws-amplify/graphql-directives": "1.1.0-gen2-release.0",
82
- "@aws-amplify/graphql-function-transformer": "2.1.20-gen2-release.0",
83
- "@aws-amplify/graphql-http-transformer": "2.1.20-gen2-release.0",
84
- "@aws-amplify/graphql-index-transformer": "2.3.9-gen2-release.0",
85
- "@aws-amplify/graphql-maps-to-transformer": "3.4.10-gen2-release.0",
86
- "@aws-amplify/graphql-model-transformer": "2.7.1-gen2-release.0",
87
- "@aws-amplify/graphql-predictions-transformer": "2.1.20-gen2-release.0",
88
- "@aws-amplify/graphql-relational-transformer": "2.5.0-gen2-release.0",
89
- "@aws-amplify/graphql-searchable-transformer": "2.6.3-gen2-release.0",
90
- "@aws-amplify/graphql-sql-transformer": "0.2.9-gen2-release.0",
91
- "@aws-amplify/graphql-transformer": "1.4.1-gen2-release.0",
92
- "@aws-amplify/graphql-transformer-core": "2.5.2-gen2-release.0",
93
- "@aws-amplify/graphql-transformer-interfaces": "3.5.1-gen2-release.0",
82
+ "@aws-amplify/graphql-function-transformer": "2.1.20-gen2-release.1",
83
+ "@aws-amplify/graphql-http-transformer": "2.1.20-gen2-release.1",
84
+ "@aws-amplify/graphql-index-transformer": "2.3.9-gen2-release.1",
85
+ "@aws-amplify/graphql-maps-to-transformer": "3.4.10-gen2-release.1",
86
+ "@aws-amplify/graphql-model-transformer": "2.8.0-gen2-release.0",
87
+ "@aws-amplify/graphql-predictions-transformer": "2.1.20-gen2-release.1",
88
+ "@aws-amplify/graphql-relational-transformer": "2.5.0-gen2-release.1",
89
+ "@aws-amplify/graphql-searchable-transformer": "2.6.3-gen2-release.1",
90
+ "@aws-amplify/graphql-sql-transformer": "0.2.9-gen2-release.1",
91
+ "@aws-amplify/graphql-transformer": "1.4.1-gen2-release.1",
92
+ "@aws-amplify/graphql-transformer-core": "2.5.2-gen2-release.1",
93
+ "@aws-amplify/graphql-transformer-interfaces": "3.6.0-gen2-release.0",
94
94
  "@aws-amplify/platform-core": "^0.2.0",
95
95
  "@aws-amplify/plugin-types": "^0.4.1",
96
96
  "charenc": "^0.0.2",
@@ -114,7 +114,7 @@
114
114
  "zod": "^3.22.3"
115
115
  },
116
116
  "devDependencies": {
117
- "@aws-amplify/graphql-transformer-test-utils": "0.4.8-gen2-release.0",
117
+ "@aws-amplify/graphql-transformer-test-utils": "0.4.8-gen2-release.1",
118
118
  "@types/fs-extra": "^8.0.1",
119
119
  "@types/node": "^12.12.6",
120
120
  "aws-cdk-lib": "2.80.0",
@@ -179,5 +179,5 @@
179
179
  "/__tests__/"
180
180
  ]
181
181
  },
182
- "gitHead": "8b89593658e07b874fa9f164958042f7002175f2"
182
+ "gitHead": "990369ef2ef303d9abaea74f5c8c24e745af3461"
183
183
  }
@@ -10,6 +10,7 @@ import {
10
10
  DataSourceStrategiesProvider,
11
11
  isSqlModelDataSourceSsmDbConnectionConfig,
12
12
  isSqlModelDataSourceSecretsManagerDbConnectionConfig,
13
+ isSqlModelDataSourceSsmDbConnectionStringConfig,
13
14
  } from '@aws-amplify/graphql-transformer-interfaces';
14
15
  import { Token, Arn, ArnFormat } from 'aws-cdk-lib';
15
16
  import {
@@ -195,7 +196,10 @@ export const validateDataSourceStrategy = (strategy: ConstructModelDataSourceStr
195
196
  }
196
197
 
197
198
  const dbConnectionConfig = strategy.dbConnectionConfig;
198
- if (isSqlModelDataSourceSsmDbConnectionConfig(dbConnectionConfig)) {
199
+ if (
200
+ isSqlModelDataSourceSsmDbConnectionConfig(dbConnectionConfig) ||
201
+ isSqlModelDataSourceSsmDbConnectionStringConfig(dbConnectionConfig)
202
+ ) {
199
203
  const invalidSSMPaths = Object.values(dbConnectionConfig).filter((value) => typeof value === 'string' && !isValidSSMPath(value));
200
204
  if (invalidSSMPaths.length > 0) {
201
205
  throw new Error(
@@ -123,7 +123,17 @@ export interface SubnetAvailabilityZone {
123
123
  */
124
124
  export type SqlModelDataSourceDbConnectionConfig =
125
125
  | SqlModelDataSourceSecretsManagerDbConnectionConfig
126
- | SqlModelDataSourceSsmDbConnectionConfig;
126
+ | SqlModelDataSourceSsmDbConnectionConfig
127
+ | SqlModelDataSourceSsmDbConnectionStringConfig;
128
+
129
+ /**
130
+ * The configuration option to use a Secure Systems Manager parameter to store the connection string to the database.
131
+ * @experimental
132
+ */
133
+ export interface SqlModelDataSourceSsmDbConnectionStringConfig {
134
+ /** The SSM Path to the secure connection string used for connecting to the database. **/
135
+ readonly connectionUriSsmPath: string;
136
+ }
127
137
 
128
138
  /**
129
139
  * The credentials stored in Secrets Manager that the lambda data source will use to connect to the database.
@@ -6,6 +6,7 @@ import {
6
6
  SqlModelDataSourceDbConnectionConfig,
7
7
  SqlModelDataSourceSsmDbConnectionConfig,
8
8
  SqlModelDataSourceSecretsManagerDbConnectionConfig,
9
+ SqlModelDataSourceSsmDbConnectionStringConfig,
9
10
  } from './model-datasource-strategy-types';
10
11
 
11
12
  /**
@@ -29,7 +30,11 @@ export const isSQLLambdaModelDataSourceStrategy = (obj: any): obj is SQLLambdaMo
29
30
  * @returns true if the object is shaped like a SqlModelDataSourceDbConnectionConfig
30
31
  */
31
32
  export const isSqlModelDataSourceDbConnectionConfig = (obj: any): obj is SqlModelDataSourceDbConnectionConfig => {
32
- return isSqlModelDataSourceSsmDbConnectionConfig(obj) || isSqlModelDataSourceSecretsManagerDbConnectionConfig(obj);
33
+ return (
34
+ isSqlModelDataSourceSsmDbConnectionConfig(obj) ||
35
+ isSqlModelDataSourceSecretsManagerDbConnectionConfig(obj) ||
36
+ isSqlModelDataSourceSsmDbConnectionStringConfig(obj)
37
+ );
33
38
  };
34
39
 
35
40
  /**
@@ -65,6 +70,15 @@ export const isSqlModelDataSourceSecretsManagerDbConnectionConfig = (
65
70
  );
66
71
  };
67
72
 
73
+ /**
74
+ * Type predicate that returns true if the object is a SqlModelDataSourceSsmDbConnectionStringConfig.
75
+ * @param obj the object to inspect
76
+ * @returns true if the object is shaped like a SqlModelDataSourceSsmDbConnectionStringConfig
77
+ */
78
+ export const isSqlModelDataSourceSsmDbConnectionStringConfig = (obj: any): obj is SqlModelDataSourceSsmDbConnectionStringConfig => {
79
+ return (typeof obj === 'object' || typeof obj === 'function') && typeof obj.connectionUriSsmPath === 'string';
80
+ };
81
+
68
82
  /**
69
83
  * Class exposing utilities to produce SQLLambdaModelDataSourceStrategy objects given various inputs.
70
84
  */