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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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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"}