@aws-amplify/graphql-api-construct 1.3.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 (537) hide show
  1. package/.jsii +1425 -248
  2. package/API.md +118 -1
  3. package/CHANGELOG.md +17 -0
  4. package/README.md +1055 -116
  5. package/lib/amplify-dynamodb-table-wrapper.d.ts +128 -0
  6. package/lib/amplify-dynamodb-table-wrapper.js +102 -0
  7. package/lib/amplify-graphql-api.d.ts +11 -0
  8. package/lib/amplify-graphql-api.js +76 -6
  9. package/lib/amplify-graphql-definition.d.ts +32 -4
  10. package/lib/amplify-graphql-definition.js +71 -7
  11. package/lib/index.d.ts +2 -1
  12. package/lib/index.js +5 -2
  13. package/lib/internal/construct-exports.js +8 -1
  14. package/lib/internal/data-source-config.d.ts +11 -0
  15. package/lib/internal/data-source-config.js +49 -0
  16. package/lib/internal/default-parameters.js +2 -1
  17. package/lib/internal/index.d.ts +1 -1
  18. package/lib/internal/index.js +2 -2
  19. package/lib/internal/model-type-name.d.ts +8 -0
  20. package/lib/internal/model-type-name.js +37 -0
  21. package/lib/sql-model-datasource-strategy.d.ts +25 -0
  22. package/lib/sql-model-datasource-strategy.js +57 -0
  23. package/lib/types.d.ts +167 -7
  24. package/lib/types.js +1 -1
  25. package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.js +7 -9
  26. package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.js +15 -18
  27. package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.js +10 -16
  28. package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.js +22 -20
  29. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.d.ts +12 -1
  30. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.js +37 -63
  31. package/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.js +16 -14
  32. package/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.js +7 -11
  33. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.d.ts +5 -0
  34. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.js +7 -9
  35. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.d.ts +5 -0
  36. package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.js +9 -11
  37. package/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.js +7 -9
  38. package/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.js +9 -12
  39. package/node_modules/@aws-amplify/backend-output-schemas/package.json +4 -23
  40. package/node_modules/@aws-amplify/backend-output-storage/lib/index.d.ts +1 -0
  41. package/node_modules/@aws-amplify/backend-output-storage/lib/index.js +17 -14
  42. package/node_modules/@aws-amplify/backend-output-storage/lib/stack_metadata_output_storage_strategy.js +28 -32
  43. package/node_modules/@aws-amplify/backend-output-storage/lib/store_attribution_metadata.d.ts +50 -0
  44. package/node_modules/@aws-amplify/backend-output-storage/lib/store_attribution_metadata.js +104 -0
  45. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.d.ts +5 -0
  46. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.js +9 -0
  47. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +9 -0
  48. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +13 -0
  49. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/index.d.ts +4 -0
  50. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/index.js +22 -0
  51. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.d.ts +53 -0
  52. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.js +74 -0
  53. package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/package.json +23 -0
  54. package/node_modules/@aws-amplify/backend-output-storage/package.json +6 -4
  55. package/node_modules/@aws-amplify/graphql-auth-transformer/API.md +5 -1
  56. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +16 -0
  57. package/node_modules/@aws-amplify/graphql-auth-transformer/LICENSE +201 -0
  58. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts +3 -1
  59. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
  60. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +64 -50
  61. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
  62. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.d.ts.map +1 -1
  63. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js +3 -0
  64. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js.map +1 -1
  65. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.d.ts.map +1 -1
  66. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.js.map +1 -1
  67. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts +3 -2
  68. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts.map +1 -1
  69. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js +4 -1
  70. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js.map +1 -1
  71. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts +20 -0
  72. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts.map +1 -0
  73. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js +24 -0
  74. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js.map +1 -0
  75. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/field.d.ts +1 -1
  76. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.d.ts.map +1 -0
  77. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/field.js +1 -1
  78. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.js.map +1 -0
  79. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/helpers.d.ts +1 -1
  80. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.d.ts.map +1 -0
  81. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/helpers.js +1 -1
  82. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.js.map +1 -0
  83. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.d.ts.map +1 -0
  84. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.js.map +1 -0
  85. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.create.d.ts +1 -1
  86. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.d.ts.map +1 -0
  87. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.create.js +1 -1
  88. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.js.map +1 -0
  89. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.delete.d.ts +1 -1
  90. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.d.ts.map +1 -0
  91. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.delete.js +1 -1
  92. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.js.map +1 -0
  93. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.update.d.ts +1 -1
  94. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.d.ts.map +1 -0
  95. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/mutation.update.js +1 -1
  96. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.js.map +1 -0
  97. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts +6 -0
  98. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts.map +1 -0
  99. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/query.js +28 -3
  100. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.js.map +1 -0
  101. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/search.d.ts +1 -1
  102. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.d.ts.map +1 -0
  103. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/search.js +1 -1
  104. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.js.map +1 -0
  105. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts +3 -0
  106. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts.map +1 -0
  107. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/subscriptions.js +1 -1
  108. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.js.map +1 -0
  109. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts +20 -0
  110. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts.map +1 -0
  111. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js +24 -0
  112. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js.map +1 -0
  113. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts +13 -0
  114. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts.map +1 -0
  115. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js +157 -0
  116. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js.map +1 -0
  117. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts +5 -0
  118. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts.map +1 -0
  119. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js +21 -0
  120. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js.map +1 -0
  121. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts +8 -0
  122. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts.map +1 -0
  123. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js +56 -0
  124. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js.map +1 -0
  125. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts +8 -0
  126. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts.map +1 -0
  127. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js +41 -0
  128. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js.map +1 -0
  129. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers/subscriptions.d.ts → vtl-generator/rds/resolvers/subscription.d.ts} +2 -2
  130. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.d.ts.map +1 -0
  131. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js +18 -0
  132. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js.map +1 -0
  133. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts +19 -0
  134. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts.map +1 -0
  135. package/node_modules/@aws-amplify/{graphql-transformer-core/lib/config/project-config.js → graphql-auth-transformer/lib/vtl-generator/vtl-generator.js} +1 -1
  136. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js.map +1 -0
  137. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +11 -10
  138. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +6 -0
  139. package/node_modules/@aws-amplify/graphql-default-value-transformer/LICENSE +201 -0
  140. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.d.ts.map +1 -1
  141. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +13 -1
  142. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
  143. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +8 -7
  144. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +4 -0
  145. package/node_modules/@aws-amplify/graphql-function-transformer/LICENSE +201 -0
  146. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +7 -6
  147. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +4 -0
  148. package/node_modules/@aws-amplify/graphql-http-transformer/LICENSE +201 -0
  149. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +7 -6
  150. package/node_modules/@aws-amplify/graphql-index-transformer/API.md +4 -1
  151. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +9 -0
  152. package/node_modules/@aws-amplify/graphql-index-transformer/LICENSE +201 -0
  153. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-index-transformer.js +4 -0
  154. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-index-transformer.js.map +1 -1
  155. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts +1 -1
  156. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts.map +1 -1
  157. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js +7 -7
  158. package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js.map +1 -1
  159. package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.d.ts +1 -1
  160. package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.d.ts.map +1 -1
  161. package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.js +2 -1
  162. package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.js.map +1 -1
  163. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  164. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js +4 -1
  165. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  166. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts +19 -18
  167. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts.map +1 -1
  168. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js +161 -120
  169. package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js.map +1 -1
  170. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +8 -7
  171. package/node_modules/@aws-amplify/graphql-maps-to-transformer/API.md +15 -0
  172. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +12 -0
  173. package/node_modules/@aws-amplify/graphql-maps-to-transformer/LICENSE +201 -0
  174. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  175. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts +1 -0
  176. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts.map +1 -1
  177. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js +13 -1
  178. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js.map +1 -1
  179. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts +2 -1
  180. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts.map +1 -1
  181. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js +16 -33
  182. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js.map +1 -1
  183. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts +10 -0
  184. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts.map +1 -0
  185. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js +102 -0
  186. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js.map +1 -0
  187. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts +13 -0
  188. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts.map +1 -0
  189. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js +81 -0
  190. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js.map +1 -0
  191. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts +1 -0
  192. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts.map +1 -1
  193. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js +3 -1
  194. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js.map +1 -1
  195. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +13 -12
  196. package/node_modules/@aws-amplify/graphql-model-transformer/API.md +15 -15
  197. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +21 -0
  198. package/node_modules/@aws-amplify/graphql-model-transformer/LICENSE +201 -0
  199. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts +2 -1
  200. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts.map +1 -1
  201. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js +72 -52
  202. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js.map +1 -1
  203. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.d.ts.map +1 -1
  204. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js +9 -2
  205. package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js.map +1 -1
  206. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  207. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  208. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  209. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts +6 -5
  210. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
  211. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js +5 -5
  212. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
  213. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts +6 -5
  214. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
  215. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js +11 -11
  216. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
  217. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts +6 -5
  218. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
  219. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts +4 -3
  220. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts.map +1 -1
  221. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js +74 -55
  222. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js.map +1 -1
  223. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts +2 -1
  224. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts.map +1 -1
  225. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js +8 -2
  226. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js.map +1 -1
  227. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts +11 -4
  228. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts.map +1 -1
  229. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +141 -45
  230. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
  231. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts +13 -0
  232. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts.map +1 -0
  233. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +171 -0
  234. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -0
  235. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts +41 -0
  236. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts.map +1 -0
  237. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js +243 -0
  238. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js.map +1 -0
  239. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts +12 -0
  240. 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 -0
  241. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js +686 -0
  242. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js.map +1 -0
  243. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.d.ts +5 -2
  244. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.d.ts.map +1 -1
  245. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.js +47 -60
  246. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.js.map +1 -1
  247. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js +5 -5
  248. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js.map +1 -1
  249. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts +1 -0
  250. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
  251. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js +29 -2
  252. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js.map +1 -1
  253. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +12 -9
  254. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +4 -0
  255. package/node_modules/@aws-amplify/graphql-predictions-transformer/LICENSE +201 -0
  256. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  257. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +7 -6
  258. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +10 -0
  259. package/node_modules/@aws-amplify/graphql-relational-transformer/LICENSE +201 -0
  260. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.d.ts.map +1 -1
  261. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js +41 -9
  262. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js.map +1 -1
  263. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.d.ts.map +1 -1
  264. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js +35 -8
  265. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js.map +1 -1
  266. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.d.ts.map +1 -1
  267. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js +30 -8
  268. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js.map +1 -1
  269. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.d.ts.map +1 -1
  270. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js +3 -2
  271. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js.map +1 -1
  272. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts +13 -0
  273. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts.map +1 -0
  274. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js +171 -0
  275. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js.map +1 -0
  276. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts +4 -0
  277. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts.map +1 -0
  278. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js +18 -0
  279. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js.map +1 -0
  280. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts +8 -0
  281. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts.map +1 -0
  282. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js +7 -0
  283. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js.map +1 -0
  284. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts +14 -0
  285. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts.map +1 -0
  286. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js +115 -0
  287. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js.map +1 -0
  288. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts +5 -5
  289. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts.map +1 -1
  290. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js +26 -179
  291. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js.map +1 -1
  292. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.d.ts.map +1 -1
  293. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js +14 -8
  294. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js.map +1 -1
  295. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts +4 -0
  296. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts.map +1 -1
  297. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +5 -0
  298. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
  299. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +85 -1
  300. package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
  301. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +10 -9
  302. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +6 -0
  303. package/node_modules/@aws-amplify/graphql-searchable-transformer/LICENSE +201 -0
  304. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.d.ts.map +1 -1
  305. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js +3 -0
  306. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js.map +1 -1
  307. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  308. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +8 -7
  309. package/node_modules/@aws-amplify/graphql-sql-transformer/API.md +26 -0
  310. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +10 -0
  311. package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +201 -0
  312. package/node_modules/@aws-amplify/graphql-sql-transformer/README.md +13 -0
  313. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts +12 -0
  314. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts.map +1 -0
  315. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js +132 -0
  316. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js.map +1 -0
  317. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts +2 -0
  318. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts.map +1 -0
  319. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js +6 -0
  320. package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js.map +1 -0
  321. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +71 -0
  322. package/node_modules/@aws-amplify/graphql-transformer/API.md +6 -2
  323. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +15 -0
  324. package/node_modules/@aws-amplify/graphql-transformer/LICENSE +201 -0
  325. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +6 -3
  326. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
  327. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +7 -2
  328. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
  329. package/node_modules/@aws-amplify/graphql-transformer/package.json +16 -14
  330. package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +15 -10
  331. package/node_modules/@aws-amplify/graphql-transformer-core/API.md +41 -15
  332. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +19 -0
  333. package/node_modules/@aws-amplify/graphql-transformer-core/LICENSE +201 -0
  334. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.d.ts +0 -1
  335. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.d.ts.map +1 -1
  336. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.js.map +1 -1
  337. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +4 -4
  338. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
  339. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +11 -1
  340. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
  341. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.d.ts.map +1 -1
  342. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js +2 -1
  343. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js.map +1 -1
  344. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.d.ts +1 -0
  345. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.d.ts.map +1 -1
  346. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.js +3 -1
  347. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.js.map +1 -1
  348. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/sync-utils.d.ts.map +1 -1
  349. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/sync-utils.js.map +1 -1
  350. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts +4 -3
  351. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
  352. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +3 -3
  353. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
  354. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts +3 -3
  355. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts.map +1 -1
  356. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.d.ts +2 -1
  357. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.d.ts.map +1 -1
  358. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.js +12 -1
  359. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.js.map +1 -1
  360. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/datasource.d.ts +4 -5
  361. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/datasource.d.ts.map +1 -1
  362. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/datasource.js.map +1 -1
  363. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +6 -5
  364. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
  365. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js +3 -1
  366. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js.map +1 -1
  367. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.d.ts.map +1 -1
  368. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.js +1 -0
  369. package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.js.map +1 -1
  370. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts +5 -4
  371. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts.map +1 -1
  372. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js +3 -2
  373. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js.map +1 -1
  374. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts +1 -1
  375. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts.map +1 -1
  376. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js +2 -1
  377. package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js.map +1 -1
  378. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts +2 -0
  379. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts.map +1 -0
  380. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js +5 -0
  381. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js.map +1 -0
  382. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts +4 -2
  383. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts.map +1 -1
  384. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js +16 -3
  385. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js.map +1 -1
  386. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts +3 -0
  387. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts.map +1 -0
  388. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js +19 -0
  389. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js.map +1 -0
  390. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.d.ts +3 -0
  391. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.d.ts.map +1 -0
  392. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.js +15 -0
  393. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.js.map +1 -0
  394. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts +12 -0
  395. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts.map +1 -0
  396. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js +82 -0
  397. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js.map +1 -0
  398. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts +3 -2
  399. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts.map +1 -1
  400. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js +7 -1
  401. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js.map +1 -1
  402. package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts +1 -1
  403. package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts.map +1 -1
  404. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +5 -4
  405. package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +69 -15
  406. package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +11 -0
  407. package/node_modules/@aws-amplify/graphql-transformer-interfaces/LICENSE +201 -0
  408. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts +15 -8
  409. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts.map +1 -1
  410. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.js.map +1 -1
  411. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts +1 -1
  412. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts.map +1 -1
  413. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.js.map +1 -1
  414. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts +1 -1
  415. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts.map +1 -1
  416. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js +3 -1
  417. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js.map +1 -1
  418. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transform-parameters.d.ts +1 -0
  419. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transform-parameters.d.ts.map +1 -1
  420. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts +5 -3
  421. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts.map +1 -1
  422. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts +15 -5
  423. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts.map +1 -1
  424. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js +10 -1
  425. package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js.map +1 -1
  426. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +3 -2
  427. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/graphql-api-provider.ts +38 -11
  428. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/index.ts +3 -0
  429. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/index.ts +6 -0
  430. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transform-parameters.ts +1 -0
  431. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts +11 -3
  432. package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts +41 -5
  433. package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
  434. package/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.d.ts +5 -0
  435. package/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.js +9 -0
  436. package/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +9 -0
  437. package/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +13 -0
  438. package/node_modules/@aws-amplify/platform-core/lib/index.d.ts +4 -0
  439. package/node_modules/@aws-amplify/platform-core/lib/index.js +22 -0
  440. package/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.d.ts +53 -0
  441. package/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.js +74 -0
  442. package/node_modules/@aws-amplify/platform-core/package.json +24 -0
  443. package/node_modules/@aws-amplify/plugin-types/lib/amplify_function.d.ts +4 -0
  444. package/node_modules/@aws-amplify/plugin-types/lib/amplify_function.js +3 -0
  445. package/node_modules/@aws-amplify/plugin-types/lib/amplify_output_writer.d.ts +9 -0
  446. package/node_modules/@aws-amplify/plugin-types/lib/amplify_output_writer.js +3 -0
  447. package/node_modules/@aws-amplify/plugin-types/lib/auth_resources.d.ts +42 -0
  448. package/node_modules/@aws-amplify/plugin-types/lib/auth_resources.js +3 -0
  449. package/node_modules/@aws-amplify/plugin-types/lib/backend_output.d.ts +6 -0
  450. package/node_modules/@aws-amplify/plugin-types/lib/backend_output.js +3 -0
  451. package/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.d.ts +13 -0
  452. package/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.js +3 -0
  453. package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_creator.d.ts +8 -0
  454. package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_creator.js +3 -0
  455. package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_resolver.d.ts +7 -0
  456. package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_resolver.js +3 -0
  457. package/node_modules/@aws-amplify/plugin-types/lib/construct_container.d.ts +26 -0
  458. package/node_modules/@aws-amplify/plugin-types/lib/construct_container.js +3 -0
  459. package/node_modules/@aws-amplify/plugin-types/lib/construct_factory.d.ts +21 -0
  460. package/node_modules/@aws-amplify/plugin-types/lib/construct_factory.js +3 -0
  461. package/node_modules/@aws-amplify/plugin-types/lib/function_resources.d.ts +5 -0
  462. package/node_modules/@aws-amplify/plugin-types/lib/function_resources.js +3 -0
  463. package/node_modules/@aws-amplify/plugin-types/lib/import_path_verifier.d.ts +14 -0
  464. package/node_modules/@aws-amplify/plugin-types/lib/import_path_verifier.js +3 -0
  465. package/node_modules/@aws-amplify/plugin-types/lib/index.d.ts +16 -0
  466. package/node_modules/@aws-amplify/plugin-types/lib/index.js +32 -0
  467. package/node_modules/@aws-amplify/plugin-types/lib/output_retrieval_strategy.d.ts +11 -0
  468. package/node_modules/@aws-amplify/plugin-types/lib/output_retrieval_strategy.js +3 -0
  469. package/node_modules/@aws-amplify/plugin-types/lib/output_storage_strategy.d.ts +8 -0
  470. package/node_modules/@aws-amplify/plugin-types/lib/output_storage_strategy.js +3 -0
  471. package/node_modules/@aws-amplify/plugin-types/lib/resource_provider.d.ts +7 -0
  472. package/node_modules/@aws-amplify/plugin-types/lib/resource_provider.js +3 -0
  473. package/node_modules/@aws-amplify/plugin-types/lib/unique_backend_identifier.d.ts +25 -0
  474. package/node_modules/@aws-amplify/plugin-types/lib/unique_backend_identifier.js +3 -0
  475. package/node_modules/@aws-amplify/plugin-types/package.json +20 -0
  476. package/node_modules/graphql-transformer-common/API.md +25 -0
  477. package/node_modules/graphql-transformer-common/CHANGELOG.md +13 -0
  478. package/node_modules/graphql-transformer-common/LICENSE +201 -0
  479. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts +4 -0
  480. package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts.map +1 -1
  481. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js +4 -0
  482. package/node_modules/graphql-transformer-common/lib/ResourceConstants.js.map +1 -1
  483. package/node_modules/graphql-transformer-common/lib/definition.d.ts +9 -2
  484. package/node_modules/graphql-transformer-common/lib/definition.d.ts.map +1 -1
  485. package/node_modules/graphql-transformer-common/lib/definition.js +52 -1
  486. package/node_modules/graphql-transformer-common/lib/definition.js.map +1 -1
  487. package/node_modules/graphql-transformer-common/lib/util.d.ts.map +1 -1
  488. package/node_modules/graphql-transformer-common/lib/util.js +3 -1
  489. package/node_modules/graphql-transformer-common/lib/util.js.map +1 -1
  490. package/node_modules/graphql-transformer-common/package.json +6 -5
  491. package/package.json +39 -37
  492. package/src/amplify-dynamodb-table-wrapper.ts +177 -0
  493. package/src/amplify-graphql-api.ts +91 -7
  494. package/src/amplify-graphql-definition.ts +78 -5
  495. package/src/index.ts +22 -0
  496. package/src/internal/construct-exports.ts +7 -0
  497. package/src/internal/data-source-config.ts +57 -0
  498. package/src/internal/default-parameters.ts +1 -0
  499. package/src/internal/index.ts +1 -1
  500. package/src/internal/model-type-name.ts +39 -0
  501. package/src/sql-model-datasource-strategy.ts +62 -0
  502. package/src/types.ts +199 -7
  503. package/babel.config.js +0 -13
  504. package/lib/internal/amplify-metadata.d.ts +0 -6
  505. package/lib/internal/amplify-metadata.js +0 -58
  506. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.internal.d.ts +0 -3
  507. package/node_modules/@aws-amplify/backend-output-schemas/lib/index.internal.js +0 -27
  508. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.d.ts.map +0 -1
  509. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.js.map +0 -1
  510. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.d.ts.map +0 -1
  511. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.js.map +0 -1
  512. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.d.ts.map +0 -1
  513. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.js.map +0 -1
  514. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.d.ts.map +0 -1
  515. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.js.map +0 -1
  516. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.d.ts.map +0 -1
  517. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.js.map +0 -1
  518. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.d.ts.map +0 -1
  519. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.js.map +0 -1
  520. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts +0 -6
  521. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts.map +0 -1
  522. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.js.map +0 -1
  523. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.d.ts.map +0 -1
  524. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.js.map +0 -1
  525. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.d.ts.map +0 -1
  526. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.js.map +0 -1
  527. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.d.ts +0 -6
  528. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.d.ts.map +0 -1
  529. package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.js.map +0 -1
  530. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts +0 -2
  531. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts.map +0 -1
  532. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js +0 -25
  533. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js.map +0 -1
  534. package/remove-module-type-from-package-json.ts +0 -19
  535. package/src/internal/amplify-metadata.ts +0 -58
  536. /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/index.d.ts +0 -0
  537. /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{resolvers → vtl-generator/ddb/resolvers}/index.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/graphql-api-construct",
3
- "version": "1.3.0",
3
+ "version": "1.4.0-nov-14-cut.0",
4
4
  "description": "AppSync GraphQL Api Construct using Amplify GraphQL Transformer.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,16 +11,12 @@
11
11
  "license": "Apache-2.0",
12
12
  "main": "lib/index.js",
13
13
  "scripts": {
14
- "jsii": "jsii",
15
- "build": "yarn config set script-shell bash && yarn transform-deps && yarn config delete script-shell && jsii",
14
+ "build": "jsii",
16
15
  "watch": "jsii -w",
17
16
  "package": "jsii-pacmak",
18
17
  "clean": "rimraf lib dist tsconfig.json tsconfig.tsbuildinfo node_modules",
19
18
  "test": "jest",
20
19
  "test-watch": "jest --watch",
21
- "transform-deps": "dir=node_modules/@aws-amplify/backend-output-schemas yarn transform-in-place && dir=node_modules/@aws-amplify/backend-output-storage yarn transform-in-place",
22
- "transform-in-place": "npx babel $dir --extensions .js --out-dir transpiled --copy-files && cp -r transpiled/* $dir && rimraf transpiled && yarn force-cjs-module $dir",
23
- "force-cjs-module": "ts-node --project extract-api.tsconfig.json ./remove-module-type-from-package-json.ts",
24
20
  "extract-api": "ts-node --project extract-api.tsconfig.json ../../scripts/extract-api.ts",
25
21
  "update-readme": "cp README_HEAD.md README.md && jsii && jsii-docgen --readme --output README.md",
26
22
  "prepublishOnly": "jsii && git add .jsii && git commit -m \"chore: update .jsii assembly\" --no-verify"
@@ -40,10 +36,6 @@
40
36
  "bundledDependencies": [
41
37
  "@aws-amplify/backend-output-schemas",
42
38
  "@aws-amplify/backend-output-storage",
43
- "@aws-amplify/graphql-transformer",
44
- "@aws-amplify/graphql-transformer-core",
45
- "@aws-amplify/graphql-transformer-interfaces",
46
- "zod",
47
39
  "@aws-amplify/graphql-auth-transformer",
48
40
  "@aws-amplify/graphql-default-value-transformer",
49
41
  "@aws-amplify/graphql-function-transformer",
@@ -54,48 +46,58 @@
54
46
  "@aws-amplify/graphql-predictions-transformer",
55
47
  "@aws-amplify/graphql-relational-transformer",
56
48
  "@aws-amplify/graphql-searchable-transformer",
57
- "fs-extra",
58
- "graphql",
59
- "graphql-transformer-common",
60
- "hjson",
61
- "lodash",
62
- "md5",
63
- "object-hash",
64
- "ts-dedent",
49
+ "@aws-amplify/graphql-sql-transformer",
50
+ "@aws-amplify/graphql-transformer",
51
+ "@aws-amplify/graphql-transformer-core",
52
+ "@aws-amplify/graphql-transformer-interfaces",
53
+ "@aws-amplify/platform-core",
54
+ "@aws-amplify/plugin-types",
65
55
  "charenc",
66
56
  "crypt",
57
+ "fs-extra",
67
58
  "graceful-fs",
59
+ "graphql",
68
60
  "graphql-mapping-template",
61
+ "graphql-transformer-common",
62
+ "hjson",
69
63
  "immer",
70
64
  "is-buffer",
71
65
  "jsonfile",
72
66
  "libphonenumber-js",
67
+ "lodash",
68
+ "md5",
69
+ "object-hash",
73
70
  "pluralize",
74
- "universalify"
71
+ "ts-dedent",
72
+ "universalify",
73
+ "zod"
75
74
  ],
76
75
  "dependencies": {
77
- "@aws-amplify/backend-output-schemas": "^0.2.0-alpha.6",
78
- "@aws-amplify/backend-output-storage": "^0.1.1-alpha.2",
79
- "@aws-amplify/graphql-auth-transformer": "3.1.10",
80
- "@aws-amplify/graphql-default-value-transformer": "2.1.8",
81
- "@aws-amplify/graphql-function-transformer": "2.1.7",
82
- "@aws-amplify/graphql-http-transformer": "2.1.7",
83
- "@aws-amplify/graphql-index-transformer": "2.1.8",
84
- "@aws-amplify/graphql-maps-to-transformer": "3.2.5",
85
- "@aws-amplify/graphql-model-transformer": "2.2.4",
86
- "@aws-amplify/graphql-predictions-transformer": "2.1.7",
87
- "@aws-amplify/graphql-relational-transformer": "2.1.8",
88
- "@aws-amplify/graphql-searchable-transformer": "2.2.4",
89
- "@aws-amplify/graphql-transformer": "1.2.6",
90
- "@aws-amplify/graphql-transformer-core": "2.2.4",
91
- "@aws-amplify/graphql-transformer-interfaces": "3.2.2",
76
+ "@aws-amplify/backend-output-schemas": "^0.2.1",
77
+ "@aws-amplify/backend-output-storage": "^0.2.0",
78
+ "@aws-amplify/graphql-auth-transformer": "3.2.0-nov-14-cut.0",
79
+ "@aws-amplify/graphql-default-value-transformer": "2.1.9-nov-14-cut.0",
80
+ "@aws-amplify/graphql-function-transformer": "2.1.8-nov-14-cut.0",
81
+ "@aws-amplify/graphql-http-transformer": "2.1.8-nov-14-cut.0",
82
+ "@aws-amplify/graphql-index-transformer": "2.2.0-nov-14-cut.0",
83
+ "@aws-amplify/graphql-maps-to-transformer": "3.3.0-nov-14-cut.0",
84
+ "@aws-amplify/graphql-model-transformer": "2.3.0-nov-14-cut.0",
85
+ "@aws-amplify/graphql-predictions-transformer": "2.1.8-nov-14-cut.0",
86
+ "@aws-amplify/graphql-relational-transformer": "2.2.0-nov-14-cut.0",
87
+ "@aws-amplify/graphql-searchable-transformer": "2.3.0-nov-14-cut.0",
88
+ "@aws-amplify/graphql-sql-transformer": "0.1.0-nov-14-cut.0",
89
+ "@aws-amplify/graphql-transformer": "1.3.0-nov-14-cut.0",
90
+ "@aws-amplify/graphql-transformer-core": "2.3.0-nov-14-cut.0",
91
+ "@aws-amplify/graphql-transformer-interfaces": "3.3.0-nov-14-cut.0",
92
+ "@aws-amplify/platform-core": "^0.1.3",
93
+ "@aws-amplify/plugin-types": "^0.3.0",
92
94
  "charenc": "^0.0.2",
93
95
  "crypt": "^0.0.2",
94
96
  "fs-extra": "^8.1.0",
95
97
  "graceful-fs": "^4.2.11",
96
98
  "graphql": "^15.5.0",
97
99
  "graphql-mapping-template": "4.20.12",
98
- "graphql-transformer-common": "4.25.1",
100
+ "graphql-transformer-common": "4.26.0-nov-14-cut.0",
99
101
  "hjson": "^3.2.2",
100
102
  "immer": "^9.0.12",
101
103
  "is-buffer": "^2.0.5",
@@ -156,11 +158,11 @@
156
158
  "collectCoverage": true,
157
159
  "coverageThreshold": {
158
160
  "global": {
159
- "branches": 78,
161
+ "branches": 80,
160
162
  "functions": 80,
161
163
  "lines": 80
162
164
  }
163
165
  }
164
166
  },
165
- "gitHead": "0c58cc8cff88e98ae2e7797b9ad0e900c3af8499"
167
+ "gitHead": "fc9a8439add9d01a28f308ebf3b07b73b8d23923"
166
168
  }
@@ -0,0 +1,177 @@
1
+ import { CfnResource } from 'aws-cdk-lib';
2
+ import { BillingMode, StreamViewType } from 'aws-cdk-lib/aws-dynamodb';
3
+
4
+ const AMPLIFY_DYNAMODB_TABLE_RESOURCE_TYPE = 'Custom::AmplifyDynamoDBTable';
5
+
6
+ /**
7
+ * Shape for TTL config.
8
+ */
9
+ export interface TimeToLiveSpecification {
10
+ /**
11
+ * Boolean determining if the ttl is enabled or not.
12
+ */
13
+ readonly enabled: boolean;
14
+
15
+ /**
16
+ * Attribute name to apply to the ttl spec.
17
+ */
18
+ readonly attributeName?: string;
19
+ }
20
+
21
+ /**
22
+ * Wrapper for provisioned throughput config in DDB.
23
+ */
24
+ export interface ProvisionedThroughput {
25
+ /**
26
+ * The read capacity units on the table or index.
27
+ */
28
+ readonly readCapacityUnits: number;
29
+
30
+ /**
31
+ * The write capacity units on the table or index.
32
+ */
33
+ readonly writeCapacityUnits: number;
34
+ }
35
+
36
+ /**
37
+ * Server Side Encryption Type Values
38
+ * - `KMS` - Server-side encryption that uses AWS KMS. The key is stored in your account and is managed by KMS (AWS KMS charges apply).
39
+ */
40
+ export enum SSEType {
41
+ KMS = 'KMS',
42
+ }
43
+
44
+ /**
45
+ * Represents the settings used to enable server-side encryption.
46
+ */
47
+ export interface SSESpecification {
48
+ /**
49
+ * Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key.
50
+ * If enabled (true), server-side encryption type is set to `KMS` and an AWS managed key is used ( AWS KMS charges apply).
51
+ * If disabled (false) or not specified, server-side encryption is set to AWS owned key.
52
+ */
53
+ readonly sseEnabled: boolean;
54
+
55
+ /**
56
+ * The AWS KMS key that should be used for the AWS KMS encryption.
57
+ * To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide
58
+ * this parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .
59
+ */
60
+ readonly kmsMasterKeyId?: string;
61
+
62
+ /**
63
+ * Server-side encryption type. The only supported value is:
64
+ * `KMS` Server-side encryption that uses AWS Key Management Service.
65
+ * The key is stored in your account and is managed by AWS KMS ( AWS KMS charges apply).
66
+ */
67
+ readonly sseType?: SSEType;
68
+ }
69
+
70
+ /**
71
+ * Represents the DynamoDB Streams configuration for a table in DynamoDB.
72
+ */
73
+ export interface StreamSpecification {
74
+ /**
75
+ * When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table.
76
+ * Valid values for `StreamViewType` are:
77
+ * - `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.
78
+ * - `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.
79
+ * - `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.
80
+ * - `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.
81
+ */
82
+ readonly streamViewType: StreamViewType;
83
+ }
84
+
85
+ /**
86
+ * Wrapper class around Custom::AmplifyDynamoDBTable custom resource, to simplify
87
+ * the override experience a bit. This is NOT a construct, just an easier way to access
88
+ * the generated construct.
89
+ * This is a wrapper intended to mimic the `aws_cdk_lib.aws_dynamodb.Table` functionality more-or-less.
90
+ * Notable differences is the addition of TKTK properties, to account for the fact that they're constructor props
91
+ * in the CDK construct, as well as the removal of all from*, grant*, and metric* methods implemented by Table.
92
+ */
93
+ export class AmplifyDynamoDbTableWrapper {
94
+ /**
95
+ * Return true and perform type narrowing if a given input appears to be capable of
96
+ * @param x the object to check.
97
+ * @returns whether or not the resource is an underlying amplify dynamodb table resource.
98
+ */
99
+ static isAmplifyDynamoDbTableResource(x: any): x is CfnResource {
100
+ return x instanceof CfnResource && x.cfnResourceType === AMPLIFY_DYNAMODB_TABLE_RESOURCE_TYPE;
101
+ }
102
+
103
+ /**
104
+ * Create the wrapper given an underlying CfnResource that is an instance of Custom::AmplifyDynamoDBTable.
105
+ * @param resource the Cfn resource.
106
+ */
107
+ constructor(private readonly resource: CfnResource) {
108
+ if (resource.cfnResourceType !== AMPLIFY_DYNAMODB_TABLE_RESOURCE_TYPE) {
109
+ throw new Error(`Only CfnResource with type ${AMPLIFY_DYNAMODB_TABLE_RESOURCE_TYPE} can be used in AmplifyDynamoDbTable`);
110
+ }
111
+ }
112
+
113
+ /**
114
+ * Specify how you are charged for read and write throughput and how you manage capacity.
115
+ */
116
+ set billingMode(billingMode: BillingMode) {
117
+ this.resource.addPropertyOverride('billingMode', billingMode);
118
+ }
119
+
120
+ /**
121
+ * The name of TTL attribute.
122
+ */
123
+ set timeToLiveAttribute(timeToLiveSpecification: TimeToLiveSpecification) {
124
+ this.resource.addPropertyOverride('timeToLiveSpecification', timeToLiveSpecification);
125
+ }
126
+
127
+ /**
128
+ * Whether point-in-time recovery is enabled.
129
+ */
130
+ set pointInTimeRecoveryEnabled(pointInTimeRecoveryEnabled: boolean) {
131
+ this.resource.addPropertyOverride('pointInTimeRecoverySpecification', { pointInTimeRecoveryEnabled });
132
+ }
133
+
134
+ /**
135
+ * Update the provisioned throughput for the base table.
136
+ */
137
+ set provisionedThroughput(provisionedThroughput: ProvisionedThroughput) {
138
+ this.resource.addPropertyOverride('provisionedThroughput', provisionedThroughput);
139
+ }
140
+
141
+ /**
142
+ * Set the provisionedThroughtput for a specified GSI by name.
143
+ * @param indexName the index to specify a provisionedThroughput config for
144
+ * @param provisionedThroughput the config to set
145
+ */
146
+ setGlobalSecondaryIndexProvisionedThroughput(indexName: string, provisionedThroughput: ProvisionedThroughput): void {
147
+ const gsis: Array<[string, { indexName: string }]> = Object.entries(
148
+ (this.resource as any).rawOverrides?.Properties?.globalSecondaryIndexes ?? {},
149
+ );
150
+ const foundGsis = gsis.filter(([_, gsiConfig]) => indexName === gsiConfig.indexName).map(([gsiIndex]) => gsiIndex);
151
+ if (foundGsis.length !== 1) {
152
+ throw new Error(`Index with name ${indexName} not found in table definition`);
153
+ }
154
+ this.resource.addPropertyOverride(`globalSecondaryIndexes.${foundGsis[0]}.provisionedThroughput`, provisionedThroughput);
155
+ }
156
+
157
+ /**
158
+ * Set the ddb stream specification on the table.
159
+ */
160
+ set streamSpecification(streamSpecification: StreamSpecification) {
161
+ this.resource.addPropertyOverride('streamSpecification', streamSpecification);
162
+ }
163
+
164
+ /**
165
+ * Set the ddb server-side encryption specification on the table.
166
+ */
167
+ set sseSpecification(sseSpecification: SSESpecification) {
168
+ this.resource.addPropertyOverride('sseSpecification', sseSpecification);
169
+ }
170
+
171
+ /**
172
+ * Set table deletion protection.
173
+ */
174
+ set deletionProtectionEnabled(deletionProtectionEnabled: boolean) {
175
+ this.resource.addPropertyOverride('deletionProtectionEnabled', deletionProtectionEnabled);
176
+ }
177
+ }
@@ -1,9 +1,10 @@
1
+ import * as path from 'path';
1
2
  import { Construct } from 'constructs';
2
- import { executeTransform } from '@aws-amplify/graphql-transformer';
3
+ import { ExecuteTransformConfig, executeTransform } from '@aws-amplify/graphql-transformer';
3
4
  import { NestedStack, Stack } from 'aws-cdk-lib';
4
5
  import { Asset } from 'aws-cdk-lib/aws-s3-assets';
5
6
  import { AssetProps } from '@aws-amplify/graphql-transformer-interfaces';
6
- import { StackMetadataBackendOutputStorageStrategy } from '@aws-amplify/backend-output-storage';
7
+ import { AttributionMetadataStorage, StackMetadataBackendOutputStorageStrategy } from '@aws-amplify/backend-output-storage';
7
8
  import { graphqlOutputKey } from '@aws-amplify/backend-output-schemas';
8
9
  import type { GraphqlOutput, AwsAppsyncAuthenticationType } from '@aws-amplify/backend-output-schemas';
9
10
  import {
@@ -28,6 +29,7 @@ import { IEventBus } from 'aws-cdk-lib/aws-events';
28
29
  import { IFunction } from 'aws-cdk-lib/aws-lambda';
29
30
  import { IServerlessCluster } from 'aws-cdk-lib/aws-rds';
30
31
  import { ISecret } from 'aws-cdk-lib/aws-secretsmanager';
32
+ import { MYSQL_DB_TYPE, POSTGRES_DB_TYPE, RDSConnectionSecrets } from '@aws-amplify/graphql-transformer-core';
31
33
  import { parseUserDefinedSlots, validateFunctionSlots, separateSlots } from './internal/user-defined-slots';
32
34
  import type {
33
35
  AmplifyGraphqlApiResources,
@@ -36,6 +38,7 @@ import type {
36
38
  IBackendOutputStorageStrategy,
37
39
  AddFunctionProps,
38
40
  ConflictResolution,
41
+ SQLLambdaModelDataSourceStrategy,
39
42
  } from './types';
40
43
  import {
41
44
  convertAuthorizationModesToTransformerAuthConfig,
@@ -45,9 +48,10 @@ import {
45
48
  getGeneratedResources,
46
49
  getGeneratedFunctionSlots,
47
50
  CodegenAssets,
48
- addAmplifyMetadataToStackDescription,
49
51
  getAdditionalAuthenticationTypes,
50
52
  } from './internal';
53
+ import { isSQLLambdaModelDataSourceStrategy } from './sql-model-datasource-strategy';
54
+ import { parseDataSourceConfig } from './internal/data-source-config';
51
55
  import { getStackForScope, walkAndProcessNodes } from './internal/construct-tree';
52
56
 
53
57
  /**
@@ -122,6 +126,11 @@ export class AmplifyGraphqlApi extends Construct {
122
126
  */
123
127
  private readonly conflictResolution: ConflictResolution | undefined;
124
128
 
129
+ /**
130
+ * Be very careful editing this value. This is the string that is used to identify graphql stacks in BI metrics
131
+ */
132
+ private readonly stackType = 'api-AppSync';
133
+
125
134
  /**
126
135
  * New AmplifyGraphqlApi construct, this will create an appsync api with authorization, a schema, and all necessary resolvers, functions,
127
136
  * and datasources.
@@ -147,7 +156,7 @@ export class AmplifyGraphqlApi extends Construct {
147
156
  outputStorageStrategy,
148
157
  } = props;
149
158
 
150
- addAmplifyMetadataToStackDescription(scope);
159
+ new AttributionMetadataStorage().storeAttributionMetadata(Stack.of(scope), this.stackType, path.join(__dirname, '..', 'package.json'));
151
160
 
152
161
  const { authConfig, authSynthParameters } = convertAuthorizationModesToTransformerAuthConfig(authorizationModes);
153
162
 
@@ -164,7 +173,7 @@ export class AmplifyGraphqlApi extends Construct {
164
173
 
165
174
  const assetManager = new AssetManager();
166
175
 
167
- executeTransform({
176
+ let executeTransformConfig: ExecuteTransformConfig = {
168
177
  scope: this,
169
178
  nestedStackProvider: {
170
179
  provide: (nestedStackScope: Construct, name: string) => new NestedStack(nestedStackScope, name),
@@ -183,7 +192,10 @@ export class AmplifyGraphqlApi extends Construct {
183
192
  transformersFactoryArgs: {
184
193
  customTransformers: transformerPlugins ?? [],
185
194
  ...(predictionsBucket ? { storageConfig: { bucketName: predictionsBucket.bucketName } } : {}),
186
- functionNameMap,
195
+ functionNameMap: {
196
+ ...definition.referencedLambdaFunctions,
197
+ ...functionNameMap,
198
+ },
187
199
  },
188
200
  authConfig,
189
201
  stackMapping: stackMappings ?? {},
@@ -192,7 +204,20 @@ export class AmplifyGraphqlApi extends Construct {
192
204
  ...defaultTranslationBehavior,
193
205
  ...(translationBehavior ?? {}),
194
206
  },
195
- });
207
+
208
+ // Adds a modelToDataSourceMap field/value
209
+ ...parseDataSourceConfig(definition.dataSourceStrategies),
210
+ };
211
+
212
+ // TODO: Update this to support multiple definitions; right now we assume only one SQL data source type
213
+ for (const strategy of Object.values(definition.dataSourceStrategies)) {
214
+ if (isSQLLambdaModelDataSourceStrategy(strategy)) {
215
+ executeTransformConfig = this.extendTransformConfig(executeTransformConfig, strategy);
216
+ break;
217
+ }
218
+ }
219
+
220
+ executeTransform(executeTransformConfig);
196
221
 
197
222
  this.codegenAssets = new CodegenAssets(this, 'AmplifyCodegenAssets', { modelSchema: definition.schema });
198
223
 
@@ -207,6 +232,65 @@ export class AmplifyGraphqlApi extends Construct {
207
232
  this.apiKey = this.resources.cfnResources.cfnApiKey?.attrApiKey;
208
233
  }
209
234
 
235
+ /**
236
+ * Extends executeTransformConfig with fields for provisioning a SQL Lambda
237
+ * @param executeTransformConfig the executeTransformConfig to extend
238
+ * @param dataSourceDefinition the SQLLambdaModelDataSourceStrategy containing the SQL connection values to add to the transform config
239
+ * @returns the extended configuration that includes SQL DB connection information
240
+ */
241
+ private extendTransformConfig(
242
+ executeTransformConfig: ExecuteTransformConfig,
243
+ strategy: SQLLambdaModelDataSourceStrategy,
244
+ ): ExecuteTransformConfig {
245
+ const extendedConfig = { ...executeTransformConfig };
246
+ if (strategy.customSqlStatements) {
247
+ extendedConfig.customQueries = new Map(Object.entries(strategy.customSqlStatements));
248
+ }
249
+
250
+ const dbSecrets: Map<string, RDSConnectionSecrets> = new Map();
251
+ let dbSecretDbTypeKey: string;
252
+ switch (strategy.dbType) {
253
+ case 'MYSQL':
254
+ dbSecretDbTypeKey = MYSQL_DB_TYPE;
255
+ break;
256
+ case 'POSTGRES':
257
+ dbSecretDbTypeKey = POSTGRES_DB_TYPE;
258
+ break;
259
+ default:
260
+ throw new Error(`Unsupported binding type ${strategy.dbType}`);
261
+ }
262
+ dbSecrets.set(dbSecretDbTypeKey, {
263
+ username: strategy.dbConnectionConfig.usernameSsmPath,
264
+ password: strategy.dbConnectionConfig.passwordSsmPath,
265
+ host: strategy.dbConnectionConfig.hostnameSsmPath,
266
+ // Cast through `any` to allow the SSM Path string to be used on a type expecting a number. This flow expects the incoming value to be
267
+ // a string containing the SSM path.
268
+ port: strategy.dbConnectionConfig.portSsmPath as any,
269
+ database: strategy.dbConnectionConfig.databaseNameSsmPath,
270
+ });
271
+ extendedConfig.datasourceSecretParameterLocations = dbSecrets;
272
+
273
+ if (strategy.vpcConfiguration) {
274
+ const subnetAvailabilityZoneConfig = strategy.vpcConfiguration.subnetAvailabilityZoneConfig.map(
275
+ (saz): { subnetId: string; availabilityZone: string } => ({
276
+ subnetId: saz.subnetId,
277
+ availabilityZone: saz.availabilityZone,
278
+ }),
279
+ );
280
+ extendedConfig.sqlLambdaVpcConfig = {
281
+ vpcId: strategy.vpcConfiguration.vpcId,
282
+ securityGroupIds: strategy.vpcConfiguration.securityGroupIds,
283
+ subnetAvailabilityZoneConfig,
284
+ };
285
+ }
286
+
287
+ if (strategy.sqlLambdaProvisionedConcurrencyConfig) {
288
+ extendedConfig.sqlLambdaProvisionedConcurrencyConfig = strategy.sqlLambdaProvisionedConcurrencyConfig;
289
+ }
290
+
291
+ return extendedConfig;
292
+ }
293
+
210
294
  /**
211
295
  * Stores graphql api output to be used for client config generation
212
296
  * @param outputStorageStrategy Strategy to store construct outputs. If no strategy is provided a default strategy will be used.
@@ -1,32 +1,105 @@
1
1
  import * as os from 'os';
2
2
  import { SchemaFile } from 'aws-cdk-lib/aws-appsync';
3
- import { IAmplifyGraphqlDefinition } from './types';
3
+ import { IAmplifyGraphqlDefinition, ModelDataSourceStrategy } from './types';
4
+ import { constructDataSourceStrategyMap } from './internal';
5
+
6
+ export const DEFAULT_MODEL_DATA_SOURCE_STRATEGY: ModelDataSourceStrategy = {
7
+ dbType: 'DYNAMODB',
8
+ provisionStrategy: 'DEFAULT',
9
+ };
4
10
 
5
11
  /**
6
12
  * Class exposing utilities to produce IAmplifyGraphqlDefinition objects given various inputs.
7
13
  */
8
14
  export class AmplifyGraphqlDefinition {
9
15
  /**
10
- * 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
+ *
11
20
  * @param schema the graphql input as a string
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
12
24
  * @returns a fully formed amplify graphql definition
13
25
  */
14
- static fromString(schema: string): IAmplifyGraphqlDefinition {
26
+ static fromString(
27
+ schema: string,
28
+ dataSourceStrategy: ModelDataSourceStrategy = DEFAULT_MODEL_DATA_SOURCE_STRATEGY,
29
+ ): IAmplifyGraphqlDefinition {
30
+ return {
31
+ schema,
32
+ functionSlots: [],
33
+ referencedLambdaFunctions: {},
34
+ dataSourceStrategies: constructDataSourceStrategyMap(schema, dataSourceStrategy),
35
+ };
36
+ }
37
+
38
+ /**
39
+ * Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema, binding them to a DynamoDB data source.
40
+ * @param filePaths one or more paths to the graphql files to process
41
+ * @returns a fully formed amplify graphql definition, whose models will be resolved by DynamoDB tables created during deployment.
42
+ */
43
+ static fromFiles(...filePaths: string[]): IAmplifyGraphqlDefinition {
44
+ if (!Array.isArray(filePaths)) {
45
+ filePaths = [filePaths];
46
+ }
47
+ const schema = filePaths.map((filePath) => new SchemaFile({ filePath }).definition).join(os.EOL);
15
48
  return {
16
49
  schema,
17
50
  functionSlots: [],
51
+ referencedLambdaFunctions: {},
52
+ dataSourceStrategies: constructDataSourceStrategyMap(schema, DEFAULT_MODEL_DATA_SOURCE_STRATEGY),
18
53
  };
19
54
  }
20
55
 
21
56
  /**
22
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
+ *
61
+ * @experimental
23
62
  * @param filePaths one or more paths to the graphql files to process
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.
24
65
  * @returns a fully formed amplify graphql definition
25
66
  */
26
- static fromFiles(...filePaths: string[]): IAmplifyGraphqlDefinition {
67
+ static fromFilesAndStrategy(
68
+ filePaths: string | string[],
69
+ dataSourceStrategy: ModelDataSourceStrategy = DEFAULT_MODEL_DATA_SOURCE_STRATEGY,
70
+ ): IAmplifyGraphqlDefinition {
71
+ if (!Array.isArray(filePaths)) {
72
+ filePaths = [filePaths];
73
+ }
74
+ const schema = filePaths.map((filePath) => new SchemaFile({ filePath }).definition).join(os.EOL);
75
+ return {
76
+ schema,
77
+ functionSlots: [],
78
+ referencedLambdaFunctions: {},
79
+ dataSourceStrategies: constructDataSourceStrategyMap(schema, dataSourceStrategy),
80
+ };
81
+ }
82
+
83
+ /**
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
+ *
88
+ * @experimental
89
+ * @param definitions the definitions to combine
90
+ */
91
+ static combine(definitions: IAmplifyGraphqlDefinition[]): IAmplifyGraphqlDefinition {
92
+ if (definitions.length === 0) {
93
+ throw new Error('The definitions of amplify GraphQL cannot be empty.');
94
+ }
95
+ if (definitions.length === 1) {
96
+ return definitions[0];
97
+ }
27
98
  return {
28
- schema: filePaths.map((filePath) => new SchemaFile({ filePath }).definition).join(os.EOL),
99
+ schema: definitions.map((def) => def.schema).join(os.EOL),
29
100
  functionSlots: [],
101
+ referencedLambdaFunctions: definitions.reduce((acc, cur) => ({ ...acc, ...cur.referencedLambdaFunctions }), {}),
102
+ dataSourceStrategies: definitions.reduce((acc, cur) => ({ ...acc, ...cur.dataSourceStrategies }), {}),
30
103
  };
31
104
  }
32
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,6 +31,24 @@ export type {
27
31
  IBackendOutputStorageStrategy,
28
32
  IBackendOutputEntry,
29
33
  AddFunctionProps,
34
+ ModelDataSourceStrategy,
35
+ DefaultDynamoDbModelDataSourceStrategy,
36
+ AmplifyDynamoDbModelDataSourceStrategy,
37
+ SQLLambdaModelDataSourceStrategy,
38
+ ModelDataSourceStrategyDbType,
39
+ VpcConfig,
40
+ SubnetAvailabilityZone,
41
+ SQLLambdaLayerMapping,
42
+ SqlModelDataSourceDbConnectionConfig,
43
+ ProvisionedConcurrencyConfig,
30
44
  } from './types';
31
45
  export { AmplifyGraphqlApi } from './amplify-graphql-api';
32
46
  export { AmplifyGraphqlDefinition } from './amplify-graphql-definition';
47
+ export {
48
+ AmplifyDynamoDbTableWrapper,
49
+ TimeToLiveSpecification,
50
+ ProvisionedThroughput,
51
+ SSESpecification,
52
+ SSEType,
53
+ StreamSpecification,
54
+ } from './amplify-dynamodb-table-wrapper';
@@ -14,6 +14,7 @@ import { CfnResource, NestedStack } from 'aws-cdk-lib';
14
14
  import { getResourceName } from '@aws-amplify/graphql-transformer-core';
15
15
  import { CfnFunction, Function as LambdaFunction } from 'aws-cdk-lib/aws-lambda';
16
16
  import { AmplifyGraphqlApiResources, FunctionSlot } from '../types';
17
+ import { AmplifyDynamoDbTableWrapper } from '../amplify-dynamodb-table-wrapper';
17
18
  import { walkAndProcessNodes } from './construct-tree';
18
19
 
19
20
  /**
@@ -34,6 +35,7 @@ export const getGeneratedResources = (scope: Construct): AmplifyGraphqlApiResour
34
35
  const cfnDataSources: Record<string, CfnDataSource> = {};
35
36
  const tables: Record<string, Table> = {};
36
37
  const cfnTables: Record<string, CfnTable> = {};
38
+ const amplifyDynamoDbTables: Record<string, AmplifyDynamoDbTableWrapper> = {};
37
39
  const roles: Record<string, Role> = {};
38
40
  const cfnRoles: Record<string, CfnRole> = {};
39
41
  const functions: Record<string, LambdaFunction> = {};
@@ -78,6 +80,10 @@ export const getGeneratedResources = (scope: Construct): AmplifyGraphqlApiResour
78
80
  cfnTables[resourceName] = currentScope;
79
81
  return;
80
82
  }
83
+ if (AmplifyDynamoDbTableWrapper.isAmplifyDynamoDbTableResource(currentScope)) {
84
+ amplifyDynamoDbTables[resourceName] = new AmplifyDynamoDbTableWrapper(currentScope);
85
+ return;
86
+ }
81
87
  if (currentScope instanceof Role) {
82
88
  roles[resourceName] = currentScope;
83
89
  return;
@@ -117,6 +123,7 @@ export const getGeneratedResources = (scope: Construct): AmplifyGraphqlApiResour
117
123
  return {
118
124
  graphqlApi: GraphqlApi.fromGraphqlApiAttributes(scope, 'L2GraphqlApi', { graphqlApiId: cfnGraphqlApi.attrApiId }),
119
125
  tables,
126
+ amplifyDynamoDbTables,
120
127
  roles,
121
128
  functions,
122
129
  nestedStacks,