@aws-amplify/graphql-api-construct 1.3.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 (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,