@aws-amplify/graphql-api-construct 1.4.0-construct-publish-test.0 → 1.4.0-nov-14-cut.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (407) hide show
  1. package/.jsii +642 -192
  2. package/API.md +51 -13
  3. package/CHANGELOG.md +7 -1
  4. package/README.md +414 -88
  5. package/lib/amplify-dynamodb-table-wrapper.js +1 -1
  6. package/lib/amplify-graphql-api.d.ts +7 -0
  7. package/lib/amplify-graphql-api.js +69 -6
  8. package/lib/amplify-graphql-definition.d.ts +21 -10
  9. package/lib/amplify-graphql-definition.js +33 -21
  10. package/lib/index.d.ts +1 -1
  11. package/lib/index.js +1 -1
  12. package/lib/internal/data-source-config.d.ts +6 -2
  13. package/lib/internal/data-source-config.js +19 -7
  14. package/lib/internal/default-parameters.js +2 -1
  15. package/lib/internal/model-type-name.d.ts +2 -2
  16. package/lib/internal/model-type-name.js +25 -15
  17. package/lib/sql-model-datasource-strategy.d.ts +25 -0
  18. package/lib/sql-model-datasource-strategy.js +57 -0
  19. package/lib/types.d.ts +160 -40
  20. package/lib/types.js +1 -1
  21. package/node_modules/@aws-amplify/graphql-auth-transformer/API.md +5 -1
  22. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +14 -2
  23. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts +3 -1
  24. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
  25. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +64 -50
  26. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
  27. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.d.ts.map +1 -1
  28. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js +3 -0
  29. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js.map +1 -1
  30. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.d.ts.map +1 -1
  31. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.js.map +1 -1
  32. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts +3 -2
  33. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts.map +1 -1
  34. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js +4 -1
  35. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js.map +1 -1
  36. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts +20 -0
  37. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts.map +1 -0
  38. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js +24 -0
  39. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js.map +1 -0
  40. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/field.d.ts +1 -1
  41. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.d.ts.map +1 -0
  42. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/field.js +1 -1
  43. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.js.map +1 -0
  44. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/helpers.d.ts +1 -1
  45. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.d.ts.map +1 -0
  46. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/helpers.js +1 -1
  47. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.js.map +1 -0
  48. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.d.ts.map +1 -0
  49. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.js.map +1 -0
  50. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.create.d.ts +1 -1
  51. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.d.ts.map +1 -0
  52. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.create.js +1 -1
  53. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.js.map +1 -0
  54. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.delete.d.ts +1 -1
  55. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.d.ts.map +1 -0
  56. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.delete.js +1 -1
  57. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.js.map +1 -0
  58. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.update.d.ts +1 -1
  59. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.d.ts.map +1 -0
  60. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.update.js +1 -1
  61. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.js.map +1 -0
  62. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts +6 -0
  63. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts.map +1 -0
  64. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/query.js +28 -3
  65. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.js.map +1 -0
  66. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/search.d.ts +1 -1
  67. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.d.ts.map +1 -0
  68. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/search.js +1 -1
  69. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.js.map +1 -0
  70. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts +3 -0
  71. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts.map +1 -0
  72. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/subscriptions.js +1 -1
  73. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.js.map +1 -0
  74. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts +20 -0
  75. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts.map +1 -0
  76. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js +24 -0
  77. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js.map +1 -0
  78. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts +13 -0
  79. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts.map +1 -0
  80. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js +157 -0
  81. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js.map +1 -0
  82. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts +5 -0
  83. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts.map +1 -0
  84. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js +21 -0
  85. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js.map +1 -0
  86. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts +8 -0
  87. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts.map +1 -0
  88. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js +56 -0
  89. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js.map +1 -0
  90. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts +8 -0
  91. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts.map +1 -0
  92. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js +41 -0
  93. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js.map +1 -0
  94. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers/subscriptions.d.ts → vtl-generator/rds/resolvers/subscription.d.ts} +2 -2
  95. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.d.ts.map +1 -0
  96. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js +18 -0
  97. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js.map +1 -0
  98. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts +19 -0
  99. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts.map +1 -0
  100. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js +3 -0
  101. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js.map +1 -0
  102. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +10 -10
  103. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +4 -2
  104. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.d.ts.map +1 -1
  105. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +13 -1
  106. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
  107. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +7 -7
  108. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +1 -1
  109. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +6 -6
  110. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +1 -1
  111. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +6 -6
  112. package/node_modules/@aws-amplify/graphql-index-transformer/API.md +2 -2
  113. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +4 -1
  114. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts +1 -1
  115. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts.map +1 -1
  116. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js +7 -7
  117. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js.map +1 -1
  118. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  119. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js +4 -1
  120. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  121. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts +17 -16
  122. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts.map +1 -1
  123. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js +132 -117
  124. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js.map +1 -1
  125. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +7 -7
  126. package/node_modules/@aws-amplify/graphql-maps-to-transformer/API.md +15 -0
  127. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +10 -2
  128. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  129. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts +1 -0
  130. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts.map +1 -1
  131. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js +13 -1
  132. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js.map +1 -1
  133. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts +2 -1
  134. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts.map +1 -1
  135. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js +16 -33
  136. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js.map +1 -1
  137. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts +10 -0
  138. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts.map +1 -0
  139. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js +102 -0
  140. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js.map +1 -0
  141. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts +13 -0
  142. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts.map +1 -0
  143. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js +81 -0
  144. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js.map +1 -0
  145. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts +1 -0
  146. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts.map +1 -1
  147. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js +3 -1
  148. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js.map +1 -1
  149. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +12 -12
  150. package/node_modules/@aws-amplify/graphql-model-transformer/API.md +15 -15
  151. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +16 -1
  152. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts.map +1 -1
  153. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js +28 -13
  154. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js.map +1 -1
  155. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.d.ts.map +1 -1
  156. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js +9 -2
  157. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js.map +1 -1
  158. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  159. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  160. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  161. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts +6 -5
  162. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
  163. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js +5 -5
  164. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
  165. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts +6 -5
  166. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  167. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js +11 -11
  168. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  169. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts +6 -5
  170. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
  171. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts +4 -3
  172. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts.map +1 -1
  173. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js +74 -55
  174. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js.map +1 -1
  175. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts +2 -1
  176. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts.map +1 -1
  177. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js +8 -2
  178. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js.map +1 -1
  179. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts +11 -4
  180. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts.map +1 -1
  181. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +141 -45
  182. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
  183. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts +0 -2
  184. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts.map +1 -1
  185. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +7 -5
  186. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -1
  187. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts +1 -0
  188. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts.map +1 -1
  189. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js +2 -1
  190. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js.map +1 -1
  191. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts.map +1 -1
  192. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js +53 -30
  193. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js.map +1 -1
  194. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js +5 -5
  195. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js.map +1 -1
  196. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts +1 -0
  197. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
  198. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js +29 -2
  199. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js.map +1 -1
  200. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +9 -9
  201. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +1 -1
  202. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  203. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +6 -6
  204. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +5 -1
  205. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.d.ts.map +1 -1
  206. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js +41 -9
  207. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js.map +1 -1
  208. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.d.ts.map +1 -1
  209. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js +35 -8
  210. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js.map +1 -1
  211. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.d.ts.map +1 -1
  212. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js +30 -8
  213. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js.map +1 -1
  214. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.d.ts.map +1 -1
  215. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js +3 -2
  216. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js.map +1 -1
  217. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts +13 -0
  218. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts.map +1 -0
  219. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js +171 -0
  220. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js.map +1 -0
  221. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts +4 -0
  222. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts.map +1 -0
  223. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js +18 -0
  224. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js.map +1 -0
  225. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts +8 -0
  226. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts.map +1 -0
  227. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js +7 -0
  228. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js.map +1 -0
  229. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts +14 -0
  230. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts.map +1 -0
  231. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js +115 -0
  232. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js.map +1 -0
  233. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts +5 -5
  234. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts.map +1 -1
  235. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js +23 -169
  236. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js.map +1 -1
  237. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.d.ts.map +1 -1
  238. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js +14 -8
  239. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js.map +1 -1
  240. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts +4 -0
  241. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts.map +1 -1
  242. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +5 -0
  243. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
  244. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +85 -1
  245. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
  246. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +9 -9
  247. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +4 -2
  248. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.d.ts.map +1 -1
  249. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js +3 -0
  250. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js.map +1 -1
  251. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  252. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +7 -7
  253. package/node_modules/@aws-amplify/graphql-sql-transformer/API.md +26 -0
  254. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +10 -0
  255. package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +201 -0
  256. package/node_modules/@aws-amplify/graphql-sql-transformer/README.md +13 -0
  257. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts +12 -0
  258. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts.map +1 -0
  259. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js +132 -0
  260. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js.map +1 -0
  261. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts +2 -0
  262. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts.map +1 -0
  263. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js +6 -0
  264. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js.map +1 -0
  265. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +71 -0
  266. package/node_modules/@aws-amplify/graphql-transformer/API.md +4 -0
  267. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +10 -1
  268. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +4 -1
  269. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
  270. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +7 -2
  271. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
  272. package/node_modules/@aws-amplify/graphql-transformer/package.json +15 -14
  273. package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +12 -2
  274. package/node_modules/@aws-amplify/graphql-transformer-core/API.md +32 -4
  275. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +14 -1
  276. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +2 -2
  277. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
  278. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +9 -1
  279. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
  280. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.d.ts.map +1 -1
  281. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js +2 -1
  282. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js.map +1 -1
  283. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/sync-utils.d.ts.map +1 -1
  284. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/sync-utils.js.map +1 -1
  285. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts +4 -3
  286. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
  287. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +3 -3
  288. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
  289. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts +1 -0
  290. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts.map +1 -1
  291. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/datasource.d.ts +4 -5
  292. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/datasource.d.ts.map +1 -1
  293. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/datasource.js.map +1 -1
  294. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +5 -3
  295. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
  296. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js +3 -1
  297. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js.map +1 -1
  298. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.d.ts.map +1 -1
  299. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.js +1 -0
  300. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.js.map +1 -1
  301. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts +5 -4
  302. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts.map +1 -1
  303. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js +3 -2
  304. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js.map +1 -1
  305. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts +1 -1
  306. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts.map +1 -1
  307. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js +2 -1
  308. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js.map +1 -1
  309. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts +2 -0
  310. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts.map +1 -0
  311. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js +5 -0
  312. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js.map +1 -0
  313. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts +3 -2
  314. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts.map +1 -1
  315. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js +14 -3
  316. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js.map +1 -1
  317. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts +3 -0
  318. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts.map +1 -0
  319. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js +19 -0
  320. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js.map +1 -0
  321. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts +12 -0
  322. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts.map +1 -0
  323. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js +82 -0
  324. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js.map +1 -0
  325. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts +3 -2
  326. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts.map +1 -1
  327. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js +7 -1
  328. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js.map +1 -1
  329. package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts +1 -1
  330. package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts.map +1 -1
  331. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +4 -4
  332. package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +46 -14
  333. package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +6 -1
  334. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts +15 -8
  335. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts.map +1 -1
  336. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.js.map +1 -1
  337. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts +1 -1
  338. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts.map +1 -1
  339. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.js.map +1 -1
  340. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts +1 -1
  341. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts.map +1 -1
  342. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js +2 -1
  343. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js.map +1 -1
  344. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transform-parameters.d.ts +1 -0
  345. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transform-parameters.d.ts.map +1 -1
  346. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts +3 -1
  347. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts.map +1 -1
  348. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts +9 -5
  349. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts.map +1 -1
  350. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js +5 -1
  351. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js.map +1 -1
  352. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +2 -2
  353. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/graphql-api-provider.ts +38 -11
  354. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/index.ts +3 -0
  355. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/index.ts +2 -0
  356. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transform-parameters.ts +1 -0
  357. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts +9 -1
  358. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts +28 -7
  359. package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
  360. package/node_modules/graphql-transformer-common/API.md +22 -0
  361. package/node_modules/graphql-transformer-common/CHANGELOG.md +8 -1
  362. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts +1 -0
  363. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts.map +1 -1
  364. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js +1 -0
  365. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js.map +1 -1
  366. package/node_modules/graphql-transformer-common/lib/definition.d.ts +9 -2
  367. package/node_modules/graphql-transformer-common/lib/definition.d.ts.map +1 -1
  368. package/node_modules/graphql-transformer-common/lib/definition.js +52 -1
  369. package/node_modules/graphql-transformer-common/lib/definition.js.map +1 -1
  370. package/node_modules/graphql-transformer-common/lib/util.d.ts.map +1 -1
  371. package/node_modules/graphql-transformer-common/lib/util.js +3 -1
  372. package/node_modules/graphql-transformer-common/lib/util.js.map +1 -1
  373. package/node_modules/graphql-transformer-common/package.json +5 -5
  374. package/package.json +31 -29
  375. package/src/amplify-graphql-api.ts +82 -5
  376. package/src/amplify-graphql-definition.ts +34 -21
  377. package/src/index.ts +14 -5
  378. package/src/internal/data-source-config.ts +27 -9
  379. package/src/internal/default-parameters.ts +1 -0
  380. package/src/internal/model-type-name.ts +28 -19
  381. package/src/sql-model-datasource-strategy.ts +62 -0
  382. package/src/types.ts +190 -45
  383. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.d.ts.map +0 -1
  384. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.js.map +0 -1
  385. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.d.ts.map +0 -1
  386. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.js.map +0 -1
  387. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.d.ts.map +0 -1
  388. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.js.map +0 -1
  389. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.d.ts.map +0 -1
  390. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.js.map +0 -1
  391. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.d.ts.map +0 -1
  392. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.js.map +0 -1
  393. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.d.ts.map +0 -1
  394. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.js.map +0 -1
  395. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts +0 -6
  396. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts.map +0 -1
  397. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.js.map +0 -1
  398. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.d.ts.map +0 -1
  399. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.js.map +0 -1
  400. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.d.ts.map +0 -1
  401. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.js.map +0 -1
  402. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts +0 -2
  403. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts.map +0 -1
  404. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js +0 -25
  405. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js.map +0 -1
  406. /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/index.d.ts +0 -0
  407. /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/index.js +0 -0
@@ -1,41 +1,44 @@
1
1
  import * as os from 'os';
2
2
  import { SchemaFile } from 'aws-cdk-lib/aws-appsync';
3
- import { IAmplifyGraphqlDefinition, ModelDataSourceDefinition } from './types';
4
- import { constructDataSourceDefinitionMap } from './internal';
3
+ import { IAmplifyGraphqlDefinition, ModelDataSourceStrategy } from './types';
4
+ import { constructDataSourceStrategyMap } from './internal';
5
5
 
6
- export const DEFAULT_MODEL_DATA_SOURCE_DEFINITION: ModelDataSourceDefinition = {
7
- name: 'DefaultDynamoDB',
8
- strategy: {
9
- dbType: 'DYNAMODB',
10
- provisionStrategy: 'DEFAULT',
11
- },
6
+ export const DEFAULT_MODEL_DATA_SOURCE_STRATEGY: ModelDataSourceStrategy = {
7
+ dbType: 'DYNAMODB',
8
+ provisionStrategy: 'DEFAULT',
12
9
  };
10
+
13
11
  /**
14
12
  * Class exposing utilities to produce IAmplifyGraphqlDefinition objects given various inputs.
15
13
  */
16
14
  export class AmplifyGraphqlDefinition {
17
15
  /**
18
- * Produce a schema definition from a string input
16
+ * Produce a schema definition from a string input.
17
+ *
18
+ * **NOTE** The 'dataSourceStrategy' configuration option is in preview and is not recommended to use with production systems.
19
+ *
19
20
  * @param schema the graphql input as a string
20
- * @param modelDataSourceDefinition the provision definition for `@model` datasource. The DynamoDB from CloudFormation will be used by default.
21
- * @experimental modelDataSourceDefinition
21
+ * @param dataSourceStrategy the provisioning definition for datasources that resolve `@model`s in this schema. The DynamoDB from
22
+ * CloudFormation will be used by default.
23
+ * @experimental dataSourceStrategy
22
24
  * @returns a fully formed amplify graphql definition
23
25
  */
24
26
  static fromString(
25
27
  schema: string,
26
- modelDataSourceDefinition: ModelDataSourceDefinition = DEFAULT_MODEL_DATA_SOURCE_DEFINITION,
28
+ dataSourceStrategy: ModelDataSourceStrategy = DEFAULT_MODEL_DATA_SOURCE_STRATEGY,
27
29
  ): IAmplifyGraphqlDefinition {
28
30
  return {
29
31
  schema,
30
32
  functionSlots: [],
31
- dataSourceDefinition: constructDataSourceDefinitionMap(schema, modelDataSourceDefinition),
33
+ referencedLambdaFunctions: {},
34
+ dataSourceStrategies: constructDataSourceStrategyMap(schema, dataSourceStrategy),
32
35
  };
33
36
  }
34
37
 
35
38
  /**
36
- * Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
39
+ * Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema, binding them to a DynamoDB data source.
37
40
  * @param filePaths one or more paths to the graphql files to process
38
- * @returns a fully formed amplify graphql definition
41
+ * @returns a fully formed amplify graphql definition, whose models will be resolved by DynamoDB tables created during deployment.
39
42
  */
40
43
  static fromFiles(...filePaths: string[]): IAmplifyGraphqlDefinition {
41
44
  if (!Array.isArray(filePaths)) {
@@ -45,20 +48,25 @@ export class AmplifyGraphqlDefinition {
45
48
  return {
46
49
  schema,
47
50
  functionSlots: [],
48
- dataSourceDefinition: constructDataSourceDefinitionMap(schema, DEFAULT_MODEL_DATA_SOURCE_DEFINITION),
51
+ referencedLambdaFunctions: {},
52
+ dataSourceStrategies: constructDataSourceStrategyMap(schema, DEFAULT_MODEL_DATA_SOURCE_STRATEGY),
49
53
  };
50
54
  }
51
55
 
52
56
  /**
53
57
  * Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
58
+ *
59
+ * **NOTE** This API is in preview and is not recommended to use with production systems.
60
+ *
54
61
  * @experimental
55
62
  * @param filePaths one or more paths to the graphql files to process
56
- * @param modelDataSourceDefinition the provision definition for `@model` datasource. The DynamoDB from CloudFormation will be used by default.
63
+ * @param dataSourceStrategy the provisioning definition for datasources that resolve `@model`s in this schema. The DynamoDB from
64
+ * CloudFormation will be used by default.
57
65
  * @returns a fully formed amplify graphql definition
58
66
  */
59
- static fromFilesAndDefinition(
67
+ static fromFilesAndStrategy(
60
68
  filePaths: string | string[],
61
- modelDataSourceDefinition: ModelDataSourceDefinition = DEFAULT_MODEL_DATA_SOURCE_DEFINITION,
69
+ dataSourceStrategy: ModelDataSourceStrategy = DEFAULT_MODEL_DATA_SOURCE_STRATEGY,
62
70
  ): IAmplifyGraphqlDefinition {
63
71
  if (!Array.isArray(filePaths)) {
64
72
  filePaths = [filePaths];
@@ -67,12 +75,16 @@ export class AmplifyGraphqlDefinition {
67
75
  return {
68
76
  schema,
69
77
  functionSlots: [],
70
- dataSourceDefinition: constructDataSourceDefinitionMap(schema, modelDataSourceDefinition),
78
+ referencedLambdaFunctions: {},
79
+ dataSourceStrategies: constructDataSourceStrategyMap(schema, dataSourceStrategy),
71
80
  };
72
81
  }
73
82
 
74
83
  /**
75
84
  * Combines multiple IAmplifyGraphqlDefinitions into a single definition.
85
+ *
86
+ * **NOTE** This API is in preview and is not recommended to use with production systems.
87
+ *
76
88
  * @experimental
77
89
  * @param definitions the definitions to combine
78
90
  */
@@ -86,7 +98,8 @@ export class AmplifyGraphqlDefinition {
86
98
  return {
87
99
  schema: definitions.map((def) => def.schema).join(os.EOL),
88
100
  functionSlots: [],
89
- dataSourceDefinition: definitions.reduce((acc, cur) => ({ ...acc, ...cur.dataSourceDefinition }), {}),
101
+ referencedLambdaFunctions: definitions.reduce((acc, cur) => ({ ...acc, ...cur.referencedLambdaFunctions }), {}),
102
+ dataSourceStrategies: definitions.reduce((acc, cur) => ({ ...acc, ...cur.dataSourceStrategies }), {}),
90
103
  };
91
104
  }
92
105
  }
package/src/index.ts CHANGED
@@ -1,3 +1,7 @@
1
+ /* ATTENTION
2
+ *
3
+ * If you modify this file your must also modify packages/amplify-data-construct/src/index.ts to have the same exports
4
+ */
1
5
  export type {
2
6
  IAMAuthorizationConfig,
3
7
  UserPoolAuthorizationConfig,
@@ -27,11 +31,16 @@ export type {
27
31
  IBackendOutputStorageStrategy,
28
32
  IBackendOutputEntry,
29
33
  AddFunctionProps,
30
- ModelDataSourceDefinition,
31
- ModelDataSourceDefinitionStrategy,
32
- DefaultDynamoDbModelDataSourceDefinitionStrategy,
33
- AmplifyDynamoDbModelDataSourceDefinitionStrategy,
34
- ModelDataSourceDefinitionDbType,
34
+ ModelDataSourceStrategy,
35
+ DefaultDynamoDbModelDataSourceStrategy,
36
+ AmplifyDynamoDbModelDataSourceStrategy,
37
+ SQLLambdaModelDataSourceStrategy,
38
+ ModelDataSourceStrategyDbType,
39
+ VpcConfig,
40
+ SubnetAvailabilityZone,
41
+ SQLLambdaLayerMapping,
42
+ SqlModelDataSourceDbConnectionConfig,
43
+ ProvisionedConcurrencyConfig,
35
44
  } from './types';
36
45
  export { AmplifyGraphqlApi } from './amplify-graphql-api';
37
46
  export { AmplifyGraphqlDefinition } from './amplify-graphql-definition';
@@ -1,13 +1,21 @@
1
- import { ModelDataSourceDefinition } from '../types';
2
- import { DataSourceType, DynamoDBProvisionStrategy } from '@aws-amplify/graphql-transformer-interfaces';
1
+ import {
2
+ DataSourceType,
3
+ DynamoDBProvisionStrategy,
4
+ SQLDBType,
5
+ SQLLambdaModelProvisionStrategy,
6
+ } from '@aws-amplify/graphql-transformer-interfaces';
7
+ import { ModelDataSourceStrategy } from '../types';
3
8
 
4
9
  type DataSourceConfig = {
5
10
  modelToDatasourceMap: Map<string, DataSourceType>;
6
11
  };
7
- const convertToDataSourceType = (modelDataSourceDefinition: ModelDataSourceDefinition): DataSourceType => {
8
- const { strategy } = modelDataSourceDefinition;
9
- if (strategy.dbType === 'DYNAMODB') {
10
- switch (strategy.provisionStrategy) {
12
+
13
+ // TODO: Do away with this after we normalize database types throughout the internals
14
+ const convertSQLDBType = (definitionDBType: 'MYSQL' | 'POSTGRES'): SQLDBType => (definitionDBType === 'MYSQL' ? 'MySQL' : 'Postgres');
15
+
16
+ const convertToDataSourceType = (dataSourceStrategy: ModelDataSourceStrategy): DataSourceType => {
17
+ if (dataSourceStrategy.dbType === 'DYNAMODB') {
18
+ switch (dataSourceStrategy.provisionStrategy) {
11
19
  case 'DEFAULT':
12
20
  return {
13
21
  dbType: 'DDB',
@@ -21,13 +29,23 @@ const convertToDataSourceType = (modelDataSourceDefinition: ModelDataSourceDefin
21
29
  provisionStrategy: DynamoDBProvisionStrategy.AMPLIFY_TABLE,
22
30
  };
23
31
  default:
24
- throw new Error(`Encountered unexpected provision strategy: ${(strategy as any).provisionStrategy}`);
32
+ throw new Error(`Encountered unexpected provision strategy: ${(dataSourceStrategy as any).provisionStrategy}`);
25
33
  }
34
+ } else if (dataSourceStrategy.dbType === 'MYSQL' || dataSourceStrategy.dbType === 'POSTGRES') {
35
+ return {
36
+ dbType: convertSQLDBType(dataSourceStrategy.dbType),
37
+ provisionDB: false,
38
+ provisionStrategy: SQLLambdaModelProvisionStrategy.DEFAULT,
39
+ };
26
40
  }
27
- throw new Error(`Encountered unexpected database type ${strategy.dbType}`);
41
+ throw new Error(`Encountered unexpected database type ${dataSourceStrategy.dbType}`);
28
42
  };
29
43
 
30
- export const parseDataSourceConfig = (dataSourceDefinitionMap: Record<string, ModelDataSourceDefinition>): DataSourceConfig => {
44
+ /**
45
+ * An internal helper to convert from a map of model-to-ModelDataSourceStrategies to the map of model-to-DataSourceTypes that internal
46
+ * transform processing requires. TODO: We can remove this once we refactor the internals to use ModelDataSourceStrategies natively.
47
+ */
48
+ export const parseDataSourceConfig = (dataSourceDefinitionMap: Record<string, ModelDataSourceStrategy>): DataSourceConfig => {
31
49
  const modelToDatasourceMap = new Map<string, DataSourceType>();
32
50
  for (const [key, value] of Object.entries(dataSourceDefinitionMap)) {
33
51
  const dataSourceType = convertToDataSourceType(value);
@@ -17,4 +17,5 @@ export const defaultTranslationBehavior: TranslationBehavior = {
17
17
  respectPrimaryKeyAttributesOnConnectionField: true,
18
18
  enableSearchNodeToNodeEncryption: false,
19
19
  enableTransformerCfnOutputs: false,
20
+ allowDestructiveGraphqlSchemaUpdates: false,
20
21
  };
@@ -1,30 +1,39 @@
1
- import { Kind, ObjectTypeDefinitionNode, parse } from 'graphql';
2
- import { ModelDataSourceDefinition } from '../types';
1
+ import { ModelDataSourceStrategy } from '../types';
2
+ import { Kind, ObjectTypeDefinitionNode, StringValueNode, parse } from 'graphql';
3
3
 
4
4
  const MODEL_DIRECTIVE_NAME = 'model';
5
+ const MANY_TO_MANY_DIRECTIVE_NAME = 'manyToMany';
5
6
  /**
6
7
  * Get the type names with model directives in the GraphQL schema in SDL
7
8
  * @param schema graphql schema in SDL
8
9
  * @returns type names which model diretives are attached
9
10
  */
10
11
  export function getModelTypeNames(schema: string): string[] {
11
- const parsedDocument = parse(schema);
12
- const nodesWithModelDirective = parsedDocument.definitions.filter(
13
- (def) =>
14
- def.kind === Kind.OBJECT_TYPE_DEFINITION &&
15
- def.directives &&
16
- def.directives.find((dir) => dir.name.value === MODEL_DIRECTIVE_NAME) != undefined,
17
- ) as ObjectTypeDefinitionNode[];
18
- return nodesWithModelDirective.map((node) => node.name.value);
12
+ const parsedSchema = parse(schema);
13
+ const nodesWithModelDirective = parsedSchema.definitions.filter(
14
+ (obj) => obj.kind === Kind.OBJECT_TYPE_DEFINITION && obj.directives?.some((dir) => dir.name.value === MODEL_DIRECTIVE_NAME),
15
+ );
16
+ const modelKeys = nodesWithModelDirective.map((type) => (type as ObjectTypeDefinitionNode).name.value);
17
+ nodesWithModelDirective.forEach((obj) => {
18
+ const { fields } = obj as ObjectTypeDefinitionNode;
19
+ fields?.forEach((field) => {
20
+ field.directives?.forEach((dir) => {
21
+ if (dir.name.value === MANY_TO_MANY_DIRECTIVE_NAME) {
22
+ const relationArg = dir.arguments?.find((arg) => arg.name.value === 'relationName');
23
+ if (relationArg) {
24
+ modelKeys.push((relationArg.value as StringValueNode).value);
25
+ }
26
+ }
27
+ });
28
+ });
29
+ });
30
+ return modelKeys.filter((key, idx) => modelKeys.indexOf(key) === idx);
19
31
  }
20
32
 
21
- export function constructDataSourceDefinitionMap(
33
+ export const constructDataSourceStrategyMap = (
22
34
  schema: string,
23
- dataSourceDefinition: ModelDataSourceDefinition,
24
- ): Record<string, ModelDataSourceDefinition> {
25
- const parsedSchema = parse(schema);
26
- return parsedSchema.definitions
27
- .filter((obj) => obj.kind === Kind.OBJECT_TYPE_DEFINITION && obj.directives?.some((dir) => dir.name.value === MODEL_DIRECTIVE_NAME))
28
- .map((type) => (type as ObjectTypeDefinitionNode).name.value)
29
- .reduce((acc, cur) => ({ ...acc, [cur]: dataSourceDefinition }), {});
30
- }
35
+ dataSourceStrategy: ModelDataSourceStrategy,
36
+ ): Record<string, ModelDataSourceStrategy> => {
37
+ const modelKeys = getModelTypeNames(schema);
38
+ return modelKeys.reduce((acc, cur) => ({ ...acc, [cur]: dataSourceStrategy }), {});
39
+ };
@@ -0,0 +1,62 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { SQLLambdaModelDataSourceStrategy, SqlModelDataSourceDbConnectionConfig } from './types';
4
+
5
+ /**
6
+ * Type predicate that returns true if the object is a SQLLambdaModelDataSourceStrategy.
7
+ * @param obj the object to inspect
8
+ * @returns true if the object is shaped like a SQLLambdaModelDataSourceStrategy
9
+ */
10
+ export const isSQLLambdaModelDataSourceStrategy = (obj: any): obj is SQLLambdaModelDataSourceStrategy => {
11
+ return (
12
+ (typeof obj === 'object' || typeof obj === 'function') &&
13
+ typeof obj.name === 'string' &&
14
+ typeof obj.dbType === 'string' &&
15
+ // TODO: Use canonical SQL DB type strings
16
+ ['MYSQL', 'POSTGRES'].includes(obj.dbType) &&
17
+ isSqlModelDataSourceDbConnectionConfig(obj.dbConnectionConfig)
18
+ );
19
+ };
20
+
21
+ /**
22
+ * Type predicate that returns true if the object is a SqlModelDataSourceDbConnectionConfig.
23
+ * @param obj the object to inspect
24
+ * @returns true if the object is shaped like a SqlModelDataSourceDbConnectionConfig
25
+ */
26
+ export const isSqlModelDataSourceDbConnectionConfig = (obj: any): obj is SqlModelDataSourceDbConnectionConfig => {
27
+ return (
28
+ (typeof obj === 'object' || typeof obj === 'function') &&
29
+ typeof obj.hostnameSsmPath === 'string' &&
30
+ typeof obj.portSsmPath === 'string' &&
31
+ typeof obj.usernameSsmPath === 'string' &&
32
+ typeof obj.passwordSsmPath === 'string' &&
33
+ typeof obj.databaseNameSsmPath === 'string'
34
+ );
35
+ };
36
+
37
+ /**
38
+ * Class exposing utilities to produce SQLLambdaModelDataSourceStrategy objects given various inputs.
39
+ */
40
+ export class SQLLambdaModelDataSourceStrategyFactory {
41
+ /**
42
+ * Creates a SQLLambdaModelDataSourceStrategy where the binding's `customSqlStatements` are populated from `sqlFiles`. The key
43
+ * of the `customSqlStatements` record is the file's base name (that is, the name of the file minus the directory and extension).
44
+ * @param sqlFiles the list of files to load SQL statements from.
45
+ * @param options the remaining SQLLambdaModelDataSourceStrategy options.
46
+ */
47
+ static fromCustomSqlFiles(
48
+ sqlFiles: string[],
49
+ options: Exclude<SQLLambdaModelDataSourceStrategy, 'customSqlStatements'>,
50
+ ): SQLLambdaModelDataSourceStrategy {
51
+ const customSqlStatements = sqlFiles.reduce((acc, filePath): Record<string, string> => {
52
+ const basename = path.parse(filePath).name;
53
+ acc[basename] = fs.readFileSync(filePath, 'utf8');
54
+ return acc;
55
+ }, {} as Record<string, string>);
56
+
57
+ return {
58
+ customSqlStatements,
59
+ ...options,
60
+ };
61
+ }
62
+ }
package/src/types.ts CHANGED
@@ -408,6 +408,20 @@ export interface TranslationBehavior {
408
408
  * @default false
409
409
  */
410
410
  readonly enableTransformerCfnOutputs: boolean;
411
+
412
+ /**
413
+ * The following schema updates require replacement of the underlying DynamoDB table:
414
+ *
415
+ * - Removing or renaming a model
416
+ * - Modifying the primary key of a model
417
+ * - Modifying a Local Secondary Index of a model (only applies to projects with secondaryKeyAsGSI turned off)
418
+ *
419
+ * ALL DATA WILL BE LOST when the table replacement happens. When enabled, destructive updates are allowed.
420
+ * This will only affect DynamoDB tables with provision strategy "AMPLIFY_TABLE".
421
+ * @default false
422
+ * @experimental
423
+ */
424
+ readonly allowDestructiveGraphqlSchemaUpdates: boolean;
411
425
  }
412
426
 
413
427
  /**
@@ -486,6 +500,20 @@ export interface PartialTranslationBehavior {
486
500
  * @default false
487
501
  */
488
502
  readonly enableTransformerCfnOutputs?: boolean;
503
+
504
+ /**
505
+ * The following schema updates require replacement of the underlying DynamoDB table:
506
+ *
507
+ * - Removing or renaming a model
508
+ * - Modifying the primary key of a model
509
+ * - Modifying a Local Secondary Index of a model (only applies to projects with secondaryKeyAsGSI turned off)
510
+ *
511
+ * ALL DATA WILL BE LOST when the table replacement happens. When enabled, destructive updates are allowed.
512
+ * This will only affect DynamoDB tables with provision strategy "AMPLIFY_TABLE".
513
+ * @default false
514
+ * @experimental
515
+ */
516
+ readonly allowDestructiveGraphqlSchemaUpdates?: boolean;
489
517
  }
490
518
 
491
519
  /**
@@ -505,10 +533,22 @@ export interface IAmplifyGraphqlDefinition {
505
533
  readonly functionSlots: FunctionSlot[];
506
534
 
507
535
  /**
508
- * Retrieve the datasource definition mapping. The default strategy is to use DynamoDB from CloudFormation.
509
- * @returns datasource definition mapping
536
+ * Retrieve the references to any lambda functions used in the definition.
537
+ * Useful for wiring through aws_lambda.Function constructs into the definition directly,
538
+ * and generated references to invoke them.
539
+ * @returns any lambda functions, keyed by their referenced 'name' in the generated schema.
540
+ */
541
+ readonly referencedLambdaFunctions?: Record<string, IFunction>;
542
+
543
+ /**
544
+ * Retrieve the datasource strategy mapping. The default strategy is to use DynamoDB from CloudFormation.
545
+ *
546
+ * **NOTE** Explicitly specifying the 'dataSourceStrategies' configuration option is in preview and is not recommended to use with
547
+ * production systems. For production, use the static factory methods `fromString` or `fromFiles`.
548
+ * @experimental
549
+ * @returns datasource strategy mapping
510
550
  */
511
- readonly dataSourceDefinition: Record<string, ModelDataSourceDefinition>;
551
+ readonly dataSourceStrategies: Record<string, ModelDataSourceStrategy>;
512
552
  }
513
553
 
514
554
  /**
@@ -539,48 +579,6 @@ export interface IBackendOutputStorageStrategy {
539
579
  addBackendOutputEntry(keyName: string, backendOutputEntry: IBackendOutputEntry): void;
540
580
  }
541
581
 
542
- /**
543
- * Defines a datasource for resolving GraphQL operations against `@model` types in a GraphQL schema.
544
- * @experimental
545
- */
546
- export interface ModelDataSourceDefinition {
547
- /**
548
- * The name of the ModelDataSource. This will be used to name the AppSynce DataSource itself, plus any associated resources like resolver
549
- * Lambdas, custom CDK resources. This name must be unique across all schema definitions in a GraphQL API.
550
- */
551
- readonly name: string;
552
- /**
553
- * The ModelDataSourceDefinitionStrategy.
554
- */
555
- readonly strategy: ModelDataSourceDefinitionStrategy;
556
- }
557
- /**
558
- * All known ModelDataSourceDefinitionStrategies. Concrete strategies vary widely in their requirements and implementations.
559
- * @experimental
560
- */
561
- export type ModelDataSourceDefinitionStrategy =
562
- | DefaultDynamoDbModelDataSourceDefinitionStrategy
563
- | AmplifyDynamoDbModelDataSourceDefinitionStrategy;
564
-
565
- export type ModelDataSourceDefinitionDbType = 'DYNAMODB';
566
-
567
- /**
568
- * Use default CloudFormation type 'AWS::DynamoDB::Table' to provision table.
569
- * @experimental
570
- */
571
- export interface DefaultDynamoDbModelDataSourceDefinitionStrategy {
572
- readonly dbType: 'DYNAMODB';
573
- readonly provisionStrategy: 'DEFAULT';
574
- }
575
- /**
576
- * Use custom resource type 'Custom::AmplifyDynamoDBTable' to provision table.
577
- * @experimental
578
- */
579
- export interface AmplifyDynamoDbModelDataSourceDefinitionStrategy {
580
- readonly dbType: 'DYNAMODB';
581
- readonly provisionStrategy: 'AMPLIFY_TABLE';
582
- }
583
-
584
582
  /**
585
583
  * Input props for the AmplifyGraphqlApi construct. Specifies what the input to transform into an Api, and configurations for
586
584
  * the transformation process.
@@ -804,3 +802,150 @@ export interface AddFunctionProps {
804
802
  */
805
803
  readonly code?: Code;
806
804
  }
805
+
806
+ /**
807
+ * All known ModelDataSourceStrategies. Concrete strategies vary widely in their requirements and implementations.
808
+ * @experimental
809
+ */
810
+ export type ModelDataSourceStrategy =
811
+ | DefaultDynamoDbModelDataSourceStrategy
812
+ | AmplifyDynamoDbModelDataSourceStrategy
813
+ | SQLLambdaModelDataSourceStrategy;
814
+
815
+ // TODO: Make this the source of truth for database type definitions used throughout the construct & transformer
816
+ export type ModelDataSourceStrategyDbType = 'DYNAMODB';
817
+
818
+ /**
819
+ * Use default CloudFormation type 'AWS::DynamoDB::Table' to provision table.
820
+ * @experimental
821
+ */
822
+ export interface DefaultDynamoDbModelDataSourceStrategy {
823
+ readonly dbType: 'DYNAMODB';
824
+ readonly provisionStrategy: 'DEFAULT';
825
+ }
826
+
827
+ /**
828
+ * Use custom resource type 'Custom::AmplifyDynamoDBTable' to provision table.
829
+ * @experimental
830
+ */
831
+ export interface AmplifyDynamoDbModelDataSourceStrategy {
832
+ readonly dbType: 'DYNAMODB';
833
+ readonly provisionStrategy: 'AMPLIFY_TABLE';
834
+ }
835
+
836
+ /**
837
+ * A strategy that creates a Lambda to connect to a pre-existing SQL table to resolve model data.
838
+ *
839
+ * @experimental
840
+ */
841
+ export interface SQLLambdaModelDataSourceStrategy {
842
+ /**
843
+ * The name of the strategy. This will be used to name the AppSync DataSource itself, plus any associated resources like resolver Lambdas.
844
+ * This name must be unique across all schema definitions in a GraphQL API.
845
+ */
846
+ readonly name: string;
847
+
848
+ /**
849
+ * The type of the SQL database used to process model operations for this definition.
850
+ */
851
+ readonly dbType: 'MYSQL' | 'POSTGRES';
852
+
853
+ /**
854
+ * The parameters the Lambda data source will use to connect to the database.
855
+ */
856
+ readonly dbConnectionConfig: SqlModelDataSourceDbConnectionConfig;
857
+
858
+ /**
859
+ * The configuration of the VPC into which to install the Lambda.
860
+ */
861
+ readonly vpcConfiguration?: VpcConfig;
862
+
863
+ /**
864
+ * Custom SQL statements. The key is the value of the `references` attribute of the `@sql` directive in the `schema`; the value is the SQL
865
+ * to be executed.
866
+ */
867
+ readonly customSqlStatements?: Record<string, string>;
868
+
869
+ /**
870
+ * An optional override for the default SQL Lambda Layer
871
+ */
872
+ readonly sqlLambdaLayerMapping?: SQLLambdaLayerMapping;
873
+
874
+ /**
875
+ * The configuration for the provisioned concurrency of the Lambda.
876
+ */
877
+ readonly sqlLambdaProvisionedConcurrencyConfig?: ProvisionedConcurrencyConfig;
878
+ }
879
+
880
+ /**
881
+ * Configuration of the VPC in which to install a Lambda to resolve queries against a SQL-based data source. The SQL Lambda will be deployed
882
+ * into the specified VPC, subnets, and security groups. The specified subnets and security groups must be in the same VPC. The VPC must
883
+ * have at least one subnet. The construct will also create VPC service endpoints in the specified subnets, as well as inbound security
884
+ * rules, to allow traffic on port 443 within each security group. This allows the Lambda to read database connection information from
885
+ * Secure Systems Manager.
886
+ * @experimental
887
+ */
888
+ export interface VpcConfig {
889
+ /** The VPC to install the Lambda data source in. */
890
+ readonly vpcId: string;
891
+
892
+ /** The security groups to install the Lambda data source in. */
893
+ readonly securityGroupIds: string[];
894
+
895
+ /** The subnets to install the Lambda data source in, one per availability zone. */
896
+ readonly subnetAvailabilityZoneConfig: SubnetAvailabilityZone[];
897
+ }
898
+
899
+ /**
900
+ * The configuration for the provisioned concurrency of the Lambda.
901
+ * @experimental
902
+ */
903
+ export interface ProvisionedConcurrencyConfig {
904
+ /** The amount of provisioned concurrency to allocate. **/
905
+ readonly provisionedConcurrentExecutions: number;
906
+ }
907
+
908
+ /**
909
+ * Subnet configuration for VPC endpoints used by a Lambda resolver for a SQL-based data source. Although it is possible to create multiple
910
+ * subnets in a single availability zone, VPC service endpoints may only be deployed to a single subnet in a given availability zone. This
911
+ * structure ensures that the Lambda function and VPC service endpoints are mutually consistent.
912
+ * @experimental
913
+ */
914
+ export interface SubnetAvailabilityZone {
915
+ /** The subnet ID to install the Lambda data source in. */
916
+ readonly subnetId: string;
917
+
918
+ /** The availability zone of the subnet. */
919
+ readonly availabilityZone: string;
920
+ }
921
+
922
+ /**
923
+ * Maps a given AWS region to the SQL Lambda layer version ARN for that region. `key` is the region; the `value` is the Lambda Layer version
924
+ * ARN
925
+ */
926
+ export type SQLLambdaLayerMapping = Record<string, string>;
927
+
928
+ /**
929
+ * The Secure Systems Manager parameter paths the Lambda data source will use to connect to the database.
930
+ *
931
+ * These parameters are retrieved from Secure Systems Manager in the same region as the Lambda.
932
+ * @experimental
933
+ */
934
+ export interface SqlModelDataSourceDbConnectionConfig {
935
+ /** The Secure Systems Manager parameter containing the hostname of the database. For RDS-based SQL data sources, this can be the hostname
936
+ * of a database proxy, cluster, or instance.
937
+ */
938
+ readonly hostnameSsmPath: string;
939
+
940
+ /** The Secure Systems Manager parameter containing the port number of the database proxy, cluster, or instance. */
941
+ readonly portSsmPath: string;
942
+
943
+ /** The Secure Systems Manager parameter containing the username to use when connecting to the database. */
944
+ readonly usernameSsmPath: string;
945
+
946
+ /** The Secure Systems Manager parameter containing the password to use when connecting to the database. */
947
+ readonly passwordSsmPath: string;
948
+
949
+ /** The Secure Systems Manager parameter containing the database name. */
950
+ readonly databaseNameSsmPath: string;
951
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/resolvers/field.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAwB9C,OAAO,EACL,cAAc,EAId,uBAAuB,EAIxB,MAAM,UAAU,CAAC;AA6FlB,eAAO,MAAM,8BAA8B,cAC9B,uBAAuB,SAC3B,MAAM,cAAc,CAAC,UACpB,cAAc,mBAAmB,CAAC,cAC/B,MAAM,KAChB,MAqCF,CAAC;AAKF,eAAO,MAAM,yBAAyB,cAAe,MAAM,aAAa,MAAM,wBAAwB,OAAO,KAAG,MAU/G,CAAC;AAKF,eAAO,MAAM,kBAAkB,cAAe,MAAM,wBAAwB,OAAO,KAAG,MAYrF,CAAC;AAKF,eAAO,MAAM,iCAAiC,mBAAoB,OAAO,KAAG,MAK3E,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/resolvers/field.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/resolvers/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAsBX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,cAAc,EAOf,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,oBAAoB,EAAE,UAA+E,CAAC;AAMnH,eAAO,MAAM,cAAc,QAAO,UAC0F,CAAC;AAK7H,eAAO,MAAM,mBAAmB,UAAW,UAAU,mBAAmB,UAAU,KAAG,UACsB,CAAC;AAK5G,eAAO,MAAM,QAAQ,UAAW,MAAM,OAAO,UAAU,qBAAqB,OAAO,KAAG,UAerF,CAAC;AAcF,eAAO,MAAM,aAAa,eAAgB,MAAM,KAAG,UAKlD,CAAC;AAKF,eAAO,MAAM,sBAAsB,QAAO,UAC6D,CAAC;AAOxG,eAAO,MAAM,4BAA4B,UAAW,MAAM,cAAc,CAAC,KAAG,MAAM,UAAU,CAyB3F,CAAC;AAKF,eAAO,MAAM,gBAAgB,UAAW,MAAM,cAAc,CAAC,KAAG,UAI7D,CAAC;AAKJ,eAAO,MAAM,gBAAgB,UAAW,MAAM,cAAc,CAAC,KAAG,UAI7D,CAAC;AAKJ,eAAO,MAAM,aAAa,UACjB,MAAM,cAAc,CAAC,qBACT,OAAO,qBACP,OAAO,cACf,MAAM,KAChB,UAgBF,CAAC;AAKF,eAAO,MAAM,2BAA2B,eAAgB,MAAM,yBAAyB,UAAU,KAAG,UAenG,CAAC;AAMF,eAAO,MAAM,6BAA6B,QAAO,MAYhD,CAAC;AAEF,eAAO,MAAM,YAAY,+CAAsE,CAAC;AAKhG,eAAO,MAAM,gCAAgC,UAAW,MAAM,WAAW,MAAM,KAAG,UAWjF,CAAC;AAKF,eAAO,MAAM,4BAA4B,eAAgB,MAAM,WAAW,MAAM,KAAG,UAmBlF,CAAC;AAKF,eAAO,MAAM,iCAAiC,eAAgB,MAAM,WAAW,MAAM,KAAG,UAAU,GAAG,SAQpG,CAAC;AAKF,eAAO,MAAM,8BAA8B,eAAgB,MAAM,WAAW,MAAM,KAAG,UAapF,CAAC;AAKF,eAAO,MAAM,0BAA0B,aAC3B,MAAM,eACH,MAAM,aACR,MAAM,gBACH,OAAO,qBACF,OAAO,qBACP,MAAM,2BACA,MAAM,KAC9B,UAiBF,CAAC;AAEF,eAAO,MAAM,sBAAsB,qBAAsB,MAAM,aAAa,MAAM,0BAAsB,UAKrG,CAAC;AAEJ,eAAO,MAAM,sBAAsB,eAAgB,MAAM,WAAW,MAAM,KAAG,MAgB5E,CAAC;AAKF,eAAO,MAAM,6BAA6B,WAAY,MAAM,KAAG,MA2B9D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/resolvers/helpers.ts"],"names":[],"mappings":"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"}