@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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Amplify Graphql API Construct
2
2
 
3
- [![View on Construct Hub](https://constructs.dev/badge?package=%40aws-amplify%2Fgraphql-construct-alpha)](https://constructs.dev/packages/@aws-amplify/graphql-api-construct)
3
+ [![View on Construct Hub](https://constructs.dev/badge?package=%40aws-amplify%2Fgraphql-api-construct)](https://constructs.dev/packages/@aws-amplify/graphql-api-construct)
4
4
 
5
5
  This package vends an L3 CDK Construct wrapping the behavior of the Amplify GraphQL Transformer. This enables quick development and interation of AppSync APIs which support the Amplify GraphQL Directives. For more information on schema modeling in GraphQL, please refer to the [amplify developer docs](https://docs.amplify.aws/cli/graphql/overview/).
6
6
 
@@ -81,9 +81,9 @@ new AmplifyGraphqlApi(stack, 'BlogApp', {
81
81
  });
82
82
  ```
83
83
 
84
- ### Import GraphQL Schema from files, instead of inline.
84
+ ### Import GraphQL Schema from files, instead of inline
85
85
 
86
- In this example, we import the schema definition itself from one or more local file, rather than an inline graphql string.
86
+ In this example, we import the schema definition itself from one or more local files, rather than an inline graphql string.
87
87
 
88
88
  ```graphql
89
89
  # todo.graphql
@@ -132,6 +132,8 @@ new AmplifyGraphqlApi(stack, 'MultiFileDefinition', {
132
132
  });
133
133
  ```
134
134
 
135
+ > **NOTE** The 'dataSourceStrategies' configuration option is in preview and is not recommended to use with production systems.
136
+
135
137
  # API Reference <a name="API Reference" id="api-reference"></a>
136
138
 
137
139
  ## Constructs <a name="Constructs" id="Constructs"></a>
@@ -812,6 +814,47 @@ The functions runtime.
812
814
 
813
815
  ---
814
816
 
817
+ ### AmplifyDynamoDbModelDataSourceStrategy <a name="AmplifyDynamoDbModelDataSourceStrategy" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy"></a>
818
+
819
+ Use custom resource type 'Custom::AmplifyDynamoDBTable' to provision table.
820
+
821
+ #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy.Initializer"></a>
822
+
823
+ ```typescript
824
+ import { AmplifyDynamoDbModelDataSourceStrategy } from '@aws-amplify/graphql-api-construct'
825
+
826
+ const amplifyDynamoDbModelDataSourceStrategy: AmplifyDynamoDbModelDataSourceStrategy = { ... }
827
+ ```
828
+
829
+ #### Properties <a name="Properties" id="Properties"></a>
830
+
831
+ | **Name** | **Type** | **Description** |
832
+ | --- | --- | --- |
833
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy.property.dbType">dbType</a></code> | <code>string</code> | *No description.* |
834
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy.property.provisionStrategy">provisionStrategy</a></code> | <code>string</code> | *No description.* |
835
+
836
+ ---
837
+
838
+ ##### `dbType`<sup>Required</sup> <a name="dbType" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy.property.dbType"></a>
839
+
840
+ ```typescript
841
+ public readonly dbType: string;
842
+ ```
843
+
844
+ - *Type:* string
845
+
846
+ ---
847
+
848
+ ##### `provisionStrategy`<sup>Required</sup> <a name="provisionStrategy" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy.property.provisionStrategy"></a>
849
+
850
+ ```typescript
851
+ public readonly provisionStrategy: string;
852
+ ```
853
+
854
+ - *Type:* string
855
+
856
+ ---
857
+
815
858
  ### AmplifyGraphqlApiCfnResources <a name="AmplifyGraphqlApiCfnResources" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources"></a>
816
859
 
817
860
  L1 CDK resources from the Api which were generated as part of the transform.
@@ -1168,6 +1211,7 @@ const amplifyGraphqlApiResources: AmplifyGraphqlApiResources = { ... }
1168
1211
 
1169
1212
  | **Name** | **Type** | **Description** |
1170
1213
  | --- | --- | --- |
1214
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.amplifyDynamoDbTables">amplifyDynamoDbTables</a></code> | <code>{[ key: string ]: <a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper">AmplifyDynamoDbTableWrapper</a>}</code> | The Generated Amplify DynamoDb Table wrapped if produced, keyed by name. |
1171
1215
  | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.cfnResources">cfnResources</a></code> | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources">AmplifyGraphqlApiCfnResources</a></code> | L1 Cfn Resources, for when dipping down a level of abstraction is desirable. |
1172
1216
  | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.functions">functions</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}</code> | The Generated Lambda Function L1 Resources, keyed by function name. |
1173
1217
  | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.graphqlApi">graphqlApi</a></code> | <code>aws-cdk-lib.aws_appsync.IGraphqlApi</code> | The Generated AppSync Api L2 Resource, includes the Schema. |
@@ -1177,6 +1221,18 @@ const amplifyGraphqlApiResources: AmplifyGraphqlApiResources = { ... }
1177
1221
 
1178
1222
  ---
1179
1223
 
1224
+ ##### `amplifyDynamoDbTables`<sup>Required</sup> <a name="amplifyDynamoDbTables" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.amplifyDynamoDbTables"></a>
1225
+
1226
+ ```typescript
1227
+ public readonly amplifyDynamoDbTables: {[ key: string ]: AmplifyDynamoDbTableWrapper};
1228
+ ```
1229
+
1230
+ - *Type:* {[ key: string ]: <a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper">AmplifyDynamoDbTableWrapper</a>}
1231
+
1232
+ The Generated Amplify DynamoDb Table wrapped if produced, keyed by name.
1233
+
1234
+ ---
1235
+
1180
1236
  ##### `cfnResources`<sup>Required</sup> <a name="cfnResources" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.cfnResources"></a>
1181
1237
 
1182
1238
  ```typescript
@@ -1605,6 +1661,47 @@ For more information, refer to https://docs.aws.amazon.com/appsync/latest/devgui
1605
1661
 
1606
1662
  ---
1607
1663
 
1664
+ ### DefaultDynamoDbModelDataSourceStrategy <a name="DefaultDynamoDbModelDataSourceStrategy" id="@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy"></a>
1665
+
1666
+ Use default CloudFormation type 'AWS::DynamoDB::Table' to provision table.
1667
+
1668
+ #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy.Initializer"></a>
1669
+
1670
+ ```typescript
1671
+ import { DefaultDynamoDbModelDataSourceStrategy } from '@aws-amplify/graphql-api-construct'
1672
+
1673
+ const defaultDynamoDbModelDataSourceStrategy: DefaultDynamoDbModelDataSourceStrategy = { ... }
1674
+ ```
1675
+
1676
+ #### Properties <a name="Properties" id="Properties"></a>
1677
+
1678
+ | **Name** | **Type** | **Description** |
1679
+ | --- | --- | --- |
1680
+ | <code><a href="#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy.property.dbType">dbType</a></code> | <code>string</code> | *No description.* |
1681
+ | <code><a href="#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy.property.provisionStrategy">provisionStrategy</a></code> | <code>string</code> | *No description.* |
1682
+
1683
+ ---
1684
+
1685
+ ##### `dbType`<sup>Required</sup> <a name="dbType" id="@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy.property.dbType"></a>
1686
+
1687
+ ```typescript
1688
+ public readonly dbType: string;
1689
+ ```
1690
+
1691
+ - *Type:* string
1692
+
1693
+ ---
1694
+
1695
+ ##### `provisionStrategy`<sup>Required</sup> <a name="provisionStrategy" id="@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy.property.provisionStrategy"></a>
1696
+
1697
+ ```typescript
1698
+ public readonly provisionStrategy: string;
1699
+ ```
1700
+
1701
+ - *Type:* string
1702
+
1703
+ ---
1704
+
1608
1705
  ### FunctionSlotBase <a name="FunctionSlotBase" id="@aws-amplify/graphql-api-construct.FunctionSlotBase"></a>
1609
1706
 
1610
1707
  Common slot parameters.
@@ -2079,6 +2176,7 @@ const partialTranslationBehavior: PartialTranslationBehavior = { ... }
2079
2176
 
2080
2177
  | **Name** | **Type** | **Description** |
2081
2178
  | --- | --- | --- |
2179
+ | <code><a href="#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.allowDestructiveGraphqlSchemaUpdates">allowDestructiveGraphqlSchemaUpdates</a></code> | <code>boolean</code> | The following schema updates require replacement of the underlying DynamoDB table:. |
2082
2180
  | <code><a href="#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.disableResolverDeduping">disableResolverDeduping</a></code> | <code>boolean</code> | Disable resolver deduping, this can sometimes cause problems because dedupe ordering isn't stable today, which can lead to circular dependencies across stacks if models are reordered. |
2083
2181
  | <code><a href="#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.enableAutoIndexQueryNames">enableAutoIndexQueryNames</a></code> | <code>boolean</code> | Automate generation of query names, and as a result attaching all indexes as queries to the generated Api. |
2084
2182
  | <code><a href="#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.enableSearchNodeToNodeEncryption">enableSearchNodeToNodeEncryption</a></code> | <code>boolean</code> | If enabled, set nodeToNodeEncryption on the searchable domain (if one exists). |
@@ -2093,6 +2191,26 @@ const partialTranslationBehavior: PartialTranslationBehavior = { ... }
2093
2191
 
2094
2192
  ---
2095
2193
 
2194
+ ##### `allowDestructiveGraphqlSchemaUpdates`<sup>Optional</sup> <a name="allowDestructiveGraphqlSchemaUpdates" id="@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.allowDestructiveGraphqlSchemaUpdates"></a>
2195
+
2196
+ ```typescript
2197
+ public readonly allowDestructiveGraphqlSchemaUpdates: boolean;
2198
+ ```
2199
+
2200
+ - *Type:* boolean
2201
+ - *Default:* false
2202
+
2203
+ The following schema updates require replacement of the underlying DynamoDB table:.
2204
+
2205
+ Removing or renaming a model
2206
+ - Modifying the primary key of a model
2207
+ - Modifying a Local Secondary Index of a model (only applies to projects with secondaryKeyAsGSI turned off)
2208
+
2209
+ ALL DATA WILL BE LOST when the table replacement happens. When enabled, destructive updates are allowed.
2210
+ This will only affect DynamoDB tables with provision strategy "AMPLIFY_TABLE".
2211
+
2212
+ ---
2213
+
2096
2214
  ##### `disableResolverDeduping`<sup>Optional</sup> <a name="disableResolverDeduping" id="@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.disableResolverDeduping"></a>
2097
2215
 
2098
2216
  ```typescript
@@ -2245,6 +2363,51 @@ Ensure that oidc and userPool auth use the `sub` field in the for the username f
2245
2363
 
2246
2364
  ---
2247
2365
 
2366
+ ### ProvisionedThroughput <a name="ProvisionedThroughput" id="@aws-amplify/graphql-api-construct.ProvisionedThroughput"></a>
2367
+
2368
+ Wrapper for provisioned throughput config in DDB.
2369
+
2370
+ #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.ProvisionedThroughput.Initializer"></a>
2371
+
2372
+ ```typescript
2373
+ import { ProvisionedThroughput } from '@aws-amplify/graphql-api-construct'
2374
+
2375
+ const provisionedThroughput: ProvisionedThroughput = { ... }
2376
+ ```
2377
+
2378
+ #### Properties <a name="Properties" id="Properties"></a>
2379
+
2380
+ | **Name** | **Type** | **Description** |
2381
+ | --- | --- | --- |
2382
+ | <code><a href="#@aws-amplify/graphql-api-construct.ProvisionedThroughput.property.readCapacityUnits">readCapacityUnits</a></code> | <code>number</code> | The read capacity units on the table or index. |
2383
+ | <code><a href="#@aws-amplify/graphql-api-construct.ProvisionedThroughput.property.writeCapacityUnits">writeCapacityUnits</a></code> | <code>number</code> | The write capacity units on the table or index. |
2384
+
2385
+ ---
2386
+
2387
+ ##### `readCapacityUnits`<sup>Required</sup> <a name="readCapacityUnits" id="@aws-amplify/graphql-api-construct.ProvisionedThroughput.property.readCapacityUnits"></a>
2388
+
2389
+ ```typescript
2390
+ public readonly readCapacityUnits: number;
2391
+ ```
2392
+
2393
+ - *Type:* number
2394
+
2395
+ The read capacity units on the table or index.
2396
+
2397
+ ---
2398
+
2399
+ ##### `writeCapacityUnits`<sup>Required</sup> <a name="writeCapacityUnits" id="@aws-amplify/graphql-api-construct.ProvisionedThroughput.property.writeCapacityUnits"></a>
2400
+
2401
+ ```typescript
2402
+ public readonly writeCapacityUnits: number;
2403
+ ```
2404
+
2405
+ - *Type:* number
2406
+
2407
+ The write capacity units on the table or index.
2408
+
2409
+ ---
2410
+
2248
2411
  ### QueryFunctionSlot <a name="QueryFunctionSlot" id="@aws-amplify/graphql-api-construct.QueryFunctionSlot"></a>
2249
2412
 
2250
2413
  Slot types for Query Resolvers.
@@ -2333,271 +2496,676 @@ This slot type applies to the Query type on the Api definition.
2333
2496
 
2334
2497
  ---
2335
2498
 
2336
- ### SubscriptionFunctionSlot <a name="SubscriptionFunctionSlot" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot"></a>
2499
+ ### SQLLambdaModelDataSourceStrategy <a name="SQLLambdaModelDataSourceStrategy" id="@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy"></a>
2337
2500
 
2338
- Slot types for Subscription Resolvers.
2501
+ A strategy that creates a Lambda to connect to a pre-existing SQL table to resolve model data.
2339
2502
 
2340
- #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.Initializer"></a>
2503
+ #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.Initializer"></a>
2341
2504
 
2342
2505
  ```typescript
2343
- import { SubscriptionFunctionSlot } from '@aws-amplify/graphql-api-construct'
2506
+ import { SQLLambdaModelDataSourceStrategy } from '@aws-amplify/graphql-api-construct'
2344
2507
 
2345
- const subscriptionFunctionSlot: SubscriptionFunctionSlot = { ... }
2508
+ const sQLLambdaModelDataSourceStrategy: SQLLambdaModelDataSourceStrategy = { ... }
2346
2509
  ```
2347
2510
 
2348
2511
  #### Properties <a name="Properties" id="Properties"></a>
2349
2512
 
2350
2513
  | **Name** | **Type** | **Description** |
2351
2514
  | --- | --- | --- |
2352
- | <code><a href="#@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.fieldName">fieldName</a></code> | <code>string</code> | The field to attach this function to on the Api definition. |
2353
- | <code><a href="#@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.function">function</a></code> | <code><a href="#@aws-amplify/graphql-api-construct.FunctionSlotOverride">FunctionSlotOverride</a></code> | The overridden behavior for this slot. |
2354
- | <code><a href="#@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.slotIndex">slotIndex</a></code> | <code>number</code> | The slot index to use to inject this into the execution pipeline. |
2355
- | <code><a href="#@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.slotName">slotName</a></code> | <code>string</code> | The slot name to inject this behavior into. |
2356
- | <code><a href="#@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.typeName">typeName</a></code> | <code>string</code> | This slot type applies to the Subscription type on the Api definition. |
2515
+ | <code><a href="#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.dbConnectionConfig">dbConnectionConfig</a></code> | <code><a href="#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig">SqlModelDataSourceDbConnectionConfig</a></code> | The parameters the Lambda data source will use to connect to the database. |
2516
+ | <code><a href="#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.dbType">dbType</a></code> | <code>string</code> | The type of the SQL database used to process model operations for this definition. |
2517
+ | <code><a href="#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.name">name</a></code> | <code>string</code> | The name of the strategy. |
2518
+ | <code><a href="#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.customSqlStatements">customSqlStatements</a></code> | <code>{[ key: string ]: string}</code> | Custom SQL statements. |
2519
+ | <code><a href="#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.sqlLambdaLayerMapping">sqlLambdaLayerMapping</a></code> | <code>{[ key: string ]: string}</code> | An optional override for the default SQL Lambda Layer. |
2520
+ | <code><a href="#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.vpcConfiguration">vpcConfiguration</a></code> | <code><a href="#@aws-amplify/graphql-api-construct.VpcConfig">VpcConfig</a></code> | The configuration of the VPC into which to install the Lambda. |
2357
2521
 
2358
2522
  ---
2359
2523
 
2360
- ##### `fieldName`<sup>Required</sup> <a name="fieldName" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.fieldName"></a>
2524
+ ##### `dbConnectionConfig`<sup>Required</sup> <a name="dbConnectionConfig" id="@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.dbConnectionConfig"></a>
2361
2525
 
2362
2526
  ```typescript
2363
- public readonly fieldName: string;
2527
+ public readonly dbConnectionConfig: SqlModelDataSourceDbConnectionConfig;
2364
2528
  ```
2365
2529
 
2366
- - *Type:* string
2530
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig">SqlModelDataSourceDbConnectionConfig</a>
2367
2531
 
2368
- The field to attach this function to on the Api definition.
2532
+ The parameters the Lambda data source will use to connect to the database.
2369
2533
 
2370
2534
  ---
2371
2535
 
2372
- ##### `function`<sup>Required</sup> <a name="function" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.function"></a>
2536
+ ##### `dbType`<sup>Required</sup> <a name="dbType" id="@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.dbType"></a>
2373
2537
 
2374
2538
  ```typescript
2375
- public readonly function: FunctionSlotOverride;
2539
+ public readonly dbType: string;
2376
2540
  ```
2377
2541
 
2378
- - *Type:* <a href="#@aws-amplify/graphql-api-construct.FunctionSlotOverride">FunctionSlotOverride</a>
2542
+ - *Type:* string
2379
2543
 
2380
- The overridden behavior for this slot.
2544
+ The type of the SQL database used to process model operations for this definition.
2381
2545
 
2382
2546
  ---
2383
2547
 
2384
- ##### `slotIndex`<sup>Required</sup> <a name="slotIndex" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.slotIndex"></a>
2548
+ ##### `name`<sup>Required</sup> <a name="name" id="@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.name"></a>
2385
2549
 
2386
2550
  ```typescript
2387
- public readonly slotIndex: number;
2551
+ public readonly name: string;
2388
2552
  ```
2389
2553
 
2390
- - *Type:* number
2554
+ - *Type:* string
2391
2555
 
2392
- The slot index to use to inject this into the execution pipeline.
2556
+ The name of the strategy.
2393
2557
 
2394
- For more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers
2558
+ This will be used to name the AppSync DataSource itself, plus any associated resources like resolver Lambdas.
2559
+ This name must be unique across all schema definitions in a GraphQL API.
2395
2560
 
2396
2561
  ---
2397
2562
 
2398
- ##### `slotName`<sup>Required</sup> <a name="slotName" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.slotName"></a>
2563
+ ##### `customSqlStatements`<sup>Optional</sup> <a name="customSqlStatements" id="@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.customSqlStatements"></a>
2399
2564
 
2400
2565
  ```typescript
2401
- public readonly slotName: string;
2566
+ public readonly customSqlStatements: {[ key: string ]: string};
2402
2567
  ```
2403
2568
 
2404
- - *Type:* string
2569
+ - *Type:* {[ key: string ]: string}
2405
2570
 
2406
- The slot name to inject this behavior into.
2571
+ Custom SQL statements.
2407
2572
 
2408
- For more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers
2573
+ The key is the value of the `references` attribute of the `@sql` directive in the `schema`; the value is the SQL
2574
+ to be executed.
2409
2575
 
2410
2576
  ---
2411
2577
 
2412
- ##### `typeName`<sup>Required</sup> <a name="typeName" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.typeName"></a>
2578
+ ##### `sqlLambdaLayerMapping`<sup>Optional</sup> <a name="sqlLambdaLayerMapping" id="@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.sqlLambdaLayerMapping"></a>
2413
2579
 
2414
2580
  ```typescript
2415
- public readonly typeName: string;
2581
+ public readonly sqlLambdaLayerMapping: {[ key: string ]: string};
2416
2582
  ```
2417
2583
 
2418
- - *Type:* string
2584
+ - *Type:* {[ key: string ]: string}
2419
2585
 
2420
- This slot type applies to the Subscription type on the Api definition.
2586
+ An optional override for the default SQL Lambda Layer.
2421
2587
 
2422
2588
  ---
2423
2589
 
2424
- ### TranslationBehavior <a name="TranslationBehavior" id="@aws-amplify/graphql-api-construct.TranslationBehavior"></a>
2590
+ ##### `vpcConfiguration`<sup>Optional</sup> <a name="vpcConfiguration" id="@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.vpcConfiguration"></a>
2425
2591
 
2426
- Strongly typed set of shared parameters for all transformers, and core layer.
2592
+ ```typescript
2593
+ public readonly vpcConfiguration: VpcConfig;
2594
+ ```
2427
2595
 
2428
- This is intended to replace feature flags, to ensure param coercion happens in
2429
- a single location, and isn't spread around the transformers, where they can
2430
- have different default behaviors.
2596
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.VpcConfig">VpcConfig</a>
2431
2597
 
2432
- #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.TranslationBehavior.Initializer"></a>
2598
+ The configuration of the VPC into which to install the Lambda.
2599
+
2600
+ ---
2601
+
2602
+ ### SqlModelDataSourceDbConnectionConfig <a name="SqlModelDataSourceDbConnectionConfig" id="@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig"></a>
2603
+
2604
+ The Secure Systems Manager parameter paths the Lambda data source will use to connect to the database.
2605
+
2606
+ These parameters are retrieved from Secure Systems Manager in the same region as the Lambda.
2607
+
2608
+ #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.Initializer"></a>
2433
2609
 
2434
2610
  ```typescript
2435
- import { TranslationBehavior } from '@aws-amplify/graphql-api-construct'
2611
+ import { SqlModelDataSourceDbConnectionConfig } from '@aws-amplify/graphql-api-construct'
2436
2612
 
2437
- const translationBehavior: TranslationBehavior = { ... }
2613
+ const sqlModelDataSourceDbConnectionConfig: SqlModelDataSourceDbConnectionConfig = { ... }
2438
2614
  ```
2439
2615
 
2440
2616
  #### Properties <a name="Properties" id="Properties"></a>
2441
2617
 
2442
2618
  | **Name** | **Type** | **Description** |
2443
2619
  | --- | --- | --- |
2444
- | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.disableResolverDeduping">disableResolverDeduping</a></code> | <code>boolean</code> | Disable resolver deduping, this can sometimes cause problems because dedupe ordering isn't stable today, which can lead to circular dependencies across stacks if models are reordered. |
2445
- | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableAutoIndexQueryNames">enableAutoIndexQueryNames</a></code> | <code>boolean</code> | Automate generation of query names, and as a result attaching all indexes as queries to the generated Api. |
2446
- | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableSearchNodeToNodeEncryption">enableSearchNodeToNodeEncryption</a></code> | <code>boolean</code> | If enabled, set nodeToNodeEncryption on the searchable domain (if one exists). |
2447
- | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableTransformerCfnOutputs">enableTransformerCfnOutputs</a></code> | <code>boolean</code> | When enabled, internal cfn outputs which existed in Amplify-generated apps will continue to be emitted. |
2448
- | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.populateOwnerFieldForStaticGroupAuth">populateOwnerFieldForStaticGroupAuth</a></code> | <code>boolean</code> | Ensure that the owner field is still populated even if a static iam or group authorization applies. |
2449
- | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.respectPrimaryKeyAttributesOnConnectionField">respectPrimaryKeyAttributesOnConnectionField</a></code> | <code>boolean</code> | Enable custom primary key support, there's no good reason to disable this unless trying not to update a legacy app. |
2450
- | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.sandboxModeEnabled">sandboxModeEnabled</a></code> | <code>boolean</code> | Enabling sandbox mode will enable api key auth on all models in the transformed schema. |
2451
- | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.secondaryKeyAsGSI">secondaryKeyAsGSI</a></code> | <code>boolean</code> | If disabled, generated. |
2452
- | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.shouldDeepMergeDirectiveConfigDefaults">shouldDeepMergeDirectiveConfigDefaults</a></code> | <code>boolean</code> | Restore parity w/ GQLv1. |
2453
- | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.suppressApiKeyGeneration">suppressApiKeyGeneration</a></code> | <code>boolean</code> | If enabled, disable api key resource generation even if specified as an auth rule on the construct. |
2454
- | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.useSubUsernameForDefaultIdentityClaim">useSubUsernameForDefaultIdentityClaim</a></code> | <code>boolean</code> | Ensure that oidc and userPool auth use the `sub` field in the for the username field, which disallows new users with the same id to access data from a deleted user in the pool. |
2620
+ | <code><a href="#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.databaseNameSsmPath">databaseNameSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the database name. |
2621
+ | <code><a href="#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.hostnameSsmPath">hostnameSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the hostname of the database. |
2622
+ | <code><a href="#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.passwordSsmPath">passwordSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the password to use when connecting to the database. |
2623
+ | <code><a href="#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.portSsmPath">portSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the port number of the database proxy, cluster, or instance. |
2624
+ | <code><a href="#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.usernameSsmPath">usernameSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the username to use when connecting to the database. |
2455
2625
 
2456
2626
  ---
2457
2627
 
2458
- ##### `disableResolverDeduping`<sup>Required</sup> <a name="disableResolverDeduping" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.disableResolverDeduping"></a>
2628
+ ##### `databaseNameSsmPath`<sup>Required</sup> <a name="databaseNameSsmPath" id="@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.databaseNameSsmPath"></a>
2459
2629
 
2460
2630
  ```typescript
2461
- public readonly disableResolverDeduping: boolean;
2631
+ public readonly databaseNameSsmPath: string;
2462
2632
  ```
2463
2633
 
2464
- - *Type:* boolean
2465
- - *Default:* true
2634
+ - *Type:* string
2466
2635
 
2467
- Disable resolver deduping, this can sometimes cause problems because dedupe ordering isn't stable today, which can lead to circular dependencies across stacks if models are reordered.
2636
+ The Secure Systems Manager parameter containing the database name.
2468
2637
 
2469
2638
  ---
2470
2639
 
2471
- ##### `enableAutoIndexQueryNames`<sup>Required</sup> <a name="enableAutoIndexQueryNames" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableAutoIndexQueryNames"></a>
2640
+ ##### `hostnameSsmPath`<sup>Required</sup> <a name="hostnameSsmPath" id="@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.hostnameSsmPath"></a>
2472
2641
 
2473
2642
  ```typescript
2474
- public readonly enableAutoIndexQueryNames: boolean;
2643
+ public readonly hostnameSsmPath: string;
2475
2644
  ```
2476
2645
 
2477
- - *Type:* boolean
2478
- - *Default:* true
2646
+ - *Type:* string
2479
2647
 
2480
- Automate generation of query names, and as a result attaching all indexes as queries to the generated Api.
2648
+ The Secure Systems Manager parameter containing the hostname of the database.
2481
2649
 
2482
- If enabled,
2650
+ For RDS-based SQL data sources, this can be the hostname
2651
+ of a database proxy, cluster, or instance.
2483
2652
 
2484
2653
  ---
2485
2654
 
2486
- ##### `enableSearchNodeToNodeEncryption`<sup>Required</sup> <a name="enableSearchNodeToNodeEncryption" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableSearchNodeToNodeEncryption"></a>
2655
+ ##### `passwordSsmPath`<sup>Required</sup> <a name="passwordSsmPath" id="@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.passwordSsmPath"></a>
2487
2656
 
2488
2657
  ```typescript
2489
- public readonly enableSearchNodeToNodeEncryption: boolean;
2658
+ public readonly passwordSsmPath: string;
2490
2659
  ```
2491
2660
 
2492
- - *Type:* boolean
2493
- - *Default:* false
2494
-
2495
- If enabled, set nodeToNodeEncryption on the searchable domain (if one exists).
2661
+ - *Type:* string
2496
2662
 
2497
- Not recommended for use, prefer
2498
- to use `Object.values(resources.additionalResources['AWS::Elasticsearch::Domain']).forEach((domain: CfnDomain) => {
2499
- domain.NodeToNodeEncryptionOptions = { Enabled: True };
2500
- });
2663
+ The Secure Systems Manager parameter containing the password to use when connecting to the database.
2501
2664
 
2502
2665
  ---
2503
2666
 
2504
- ##### `enableTransformerCfnOutputs`<sup>Required</sup> <a name="enableTransformerCfnOutputs" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableTransformerCfnOutputs"></a>
2667
+ ##### `portSsmPath`<sup>Required</sup> <a name="portSsmPath" id="@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.portSsmPath"></a>
2505
2668
 
2506
2669
  ```typescript
2507
- public readonly enableTransformerCfnOutputs: boolean;
2670
+ public readonly portSsmPath: string;
2508
2671
  ```
2509
2672
 
2510
- - *Type:* boolean
2511
- - *Default:* false
2673
+ - *Type:* string
2512
2674
 
2513
- When enabled, internal cfn outputs which existed in Amplify-generated apps will continue to be emitted.
2675
+ The Secure Systems Manager parameter containing the port number of the database proxy, cluster, or instance.
2514
2676
 
2515
2677
  ---
2516
2678
 
2517
- ##### `populateOwnerFieldForStaticGroupAuth`<sup>Required</sup> <a name="populateOwnerFieldForStaticGroupAuth" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.populateOwnerFieldForStaticGroupAuth"></a>
2679
+ ##### `usernameSsmPath`<sup>Required</sup> <a name="usernameSsmPath" id="@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.usernameSsmPath"></a>
2518
2680
 
2519
2681
  ```typescript
2520
- public readonly populateOwnerFieldForStaticGroupAuth: boolean;
2682
+ public readonly usernameSsmPath: string;
2521
2683
  ```
2522
2684
 
2523
- - *Type:* boolean
2524
- - *Default:* true
2685
+ - *Type:* string
2525
2686
 
2526
- Ensure that the owner field is still populated even if a static iam or group authorization applies.
2687
+ The Secure Systems Manager parameter containing the username to use when connecting to the database.
2527
2688
 
2528
2689
  ---
2529
2690
 
2530
- ##### `respectPrimaryKeyAttributesOnConnectionField`<sup>Required</sup> <a name="respectPrimaryKeyAttributesOnConnectionField" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.respectPrimaryKeyAttributesOnConnectionField"></a>
2691
+ ### SSESpecification <a name="SSESpecification" id="@aws-amplify/graphql-api-construct.SSESpecification"></a>
2692
+
2693
+ Represents the settings used to enable server-side encryption.
2694
+
2695
+ #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.SSESpecification.Initializer"></a>
2531
2696
 
2532
2697
  ```typescript
2533
- public readonly respectPrimaryKeyAttributesOnConnectionField: boolean;
2698
+ import { SSESpecification } from '@aws-amplify/graphql-api-construct'
2699
+
2700
+ const sSESpecification: SSESpecification = { ... }
2534
2701
  ```
2535
2702
 
2536
- - *Type:* boolean
2537
- - *Default:* true
2703
+ #### Properties <a name="Properties" id="Properties"></a>
2538
2704
 
2539
- Enable custom primary key support, there's no good reason to disable this unless trying not to update a legacy app.
2705
+ | **Name** | **Type** | **Description** |
2706
+ | --- | --- | --- |
2707
+ | <code><a href="#@aws-amplify/graphql-api-construct.SSESpecification.property.sseEnabled">sseEnabled</a></code> | <code>boolean</code> | Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key. |
2708
+ | <code><a href="#@aws-amplify/graphql-api-construct.SSESpecification.property.kmsMasterKeyId">kmsMasterKeyId</a></code> | <code>string</code> | The AWS KMS key that should be used for the AWS KMS encryption. |
2709
+ | <code><a href="#@aws-amplify/graphql-api-construct.SSESpecification.property.sseType">sseType</a></code> | <code><a href="#@aws-amplify/graphql-api-construct.SSEType">SSEType</a></code> | Server-side encryption type. |
2540
2710
 
2541
2711
  ---
2542
2712
 
2543
- ##### `sandboxModeEnabled`<sup>Required</sup> <a name="sandboxModeEnabled" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.sandboxModeEnabled"></a>
2713
+ ##### `sseEnabled`<sup>Required</sup> <a name="sseEnabled" id="@aws-amplify/graphql-api-construct.SSESpecification.property.sseEnabled"></a>
2544
2714
 
2545
2715
  ```typescript
2546
- public readonly sandboxModeEnabled: boolean;
2716
+ public readonly sseEnabled: boolean;
2547
2717
  ```
2548
2718
 
2549
2719
  - *Type:* boolean
2550
- - *Default:* false
2551
2720
 
2552
- Enabling sandbox mode will enable api key auth on all models in the transformed schema.
2721
+ Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key.
2722
+
2723
+ If enabled (true), server-side encryption type is set to `KMS` and an AWS managed key is used ( AWS KMS charges apply).
2724
+ If disabled (false) or not specified, server-side encryption is set to AWS owned key.
2553
2725
 
2554
2726
  ---
2555
2727
 
2556
- ##### `secondaryKeyAsGSI`<sup>Required</sup> <a name="secondaryKeyAsGSI" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.secondaryKeyAsGSI"></a>
2728
+ ##### `kmsMasterKeyId`<sup>Optional</sup> <a name="kmsMasterKeyId" id="@aws-amplify/graphql-api-construct.SSESpecification.property.kmsMasterKeyId"></a>
2557
2729
 
2558
2730
  ```typescript
2559
- public readonly secondaryKeyAsGSI: boolean;
2731
+ public readonly kmsMasterKeyId: string;
2560
2732
  ```
2561
2733
 
2562
- - *Type:* boolean
2563
- - *Default:* true
2734
+ - *Type:* string
2564
2735
 
2565
- If disabled, generated.
2736
+ The AWS KMS key that should be used for the AWS KMS encryption.
2737
+
2738
+ To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide
2739
+ this parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .
2566
2740
 
2567
2741
  ---
2568
2742
 
2569
- ##### `shouldDeepMergeDirectiveConfigDefaults`<sup>Required</sup> <a name="shouldDeepMergeDirectiveConfigDefaults" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.shouldDeepMergeDirectiveConfigDefaults"></a>
2743
+ ##### `sseType`<sup>Optional</sup> <a name="sseType" id="@aws-amplify/graphql-api-construct.SSESpecification.property.sseType"></a>
2570
2744
 
2571
2745
  ```typescript
2572
- public readonly shouldDeepMergeDirectiveConfigDefaults: boolean;
2746
+ public readonly sseType: SSEType;
2573
2747
  ```
2574
2748
 
2575
- - *Type:* boolean
2576
- - *Default:* true
2749
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.SSEType">SSEType</a>
2577
2750
 
2578
- Restore parity w/ GQLv1.
2751
+ Server-side encryption type.
2752
+
2753
+ The only supported value is:
2754
+ `KMS` Server-side encryption that uses AWS Key Management Service.
2755
+ The key is stored in your account and is managed by AWS KMS ( AWS KMS charges apply).
2579
2756
 
2580
2757
  ---
2581
2758
 
2582
- ##### `suppressApiKeyGeneration`<sup>Required</sup> <a name="suppressApiKeyGeneration" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.suppressApiKeyGeneration"></a>
2759
+ ### StreamSpecification <a name="StreamSpecification" id="@aws-amplify/graphql-api-construct.StreamSpecification"></a>
2760
+
2761
+ Represents the DynamoDB Streams configuration for a table in DynamoDB.
2762
+
2763
+ #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.StreamSpecification.Initializer"></a>
2583
2764
 
2584
2765
  ```typescript
2585
- public readonly suppressApiKeyGeneration: boolean;
2586
- ```
2766
+ import { StreamSpecification } from '@aws-amplify/graphql-api-construct'
2587
2767
 
2588
- - *Type:* boolean
2589
- - *Default:* false
2768
+ const streamSpecification: StreamSpecification = { ... }
2769
+ ```
2590
2770
 
2591
- If enabled, disable api key resource generation even if specified as an auth rule on the construct.
2771
+ #### Properties <a name="Properties" id="Properties"></a>
2592
2772
 
2593
- This is a legacy parameter from the Graphql Transformer existing in Amplify CLI, not recommended to change.
2773
+ | **Name** | **Type** | **Description** |
2774
+ | --- | --- | --- |
2775
+ | <code><a href="#@aws-amplify/graphql-api-construct.StreamSpecification.property.streamViewType">streamViewType</a></code> | <code>aws-cdk-lib.aws_dynamodb.StreamViewType</code> | When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table. |
2594
2776
 
2595
2777
  ---
2596
2778
 
2597
- ##### `useSubUsernameForDefaultIdentityClaim`<sup>Required</sup> <a name="useSubUsernameForDefaultIdentityClaim" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.useSubUsernameForDefaultIdentityClaim"></a>
2779
+ ##### `streamViewType`<sup>Required</sup> <a name="streamViewType" id="@aws-amplify/graphql-api-construct.StreamSpecification.property.streamViewType"></a>
2598
2780
 
2599
2781
  ```typescript
2600
- public readonly useSubUsernameForDefaultIdentityClaim: boolean;
2782
+ public readonly streamViewType: StreamViewType;
2783
+ ```
2784
+
2785
+ - *Type:* aws-cdk-lib.aws_dynamodb.StreamViewType
2786
+
2787
+ When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table.
2788
+
2789
+ Valid values for `StreamViewType` are:
2790
+ - `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.
2791
+ - `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.
2792
+ - `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.
2793
+ - `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.
2794
+
2795
+ ---
2796
+
2797
+ ### SubnetAvailabilityZone <a name="SubnetAvailabilityZone" id="@aws-amplify/graphql-api-construct.SubnetAvailabilityZone"></a>
2798
+
2799
+ Subnet configuration for VPC endpoints used by a Lambda resolver for a SQL-based data source.
2800
+
2801
+ Although it is possible to create multiple
2802
+ subnets in a single availability zone, VPC service endpoints may only be deployed to a single subnet in a given availability zone. This
2803
+ structure ensures that the Lambda function and VPC service endpoints are mutually consistent.
2804
+
2805
+ #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.Initializer"></a>
2806
+
2807
+ ```typescript
2808
+ import { SubnetAvailabilityZone } from '@aws-amplify/graphql-api-construct'
2809
+
2810
+ const subnetAvailabilityZone: SubnetAvailabilityZone = { ... }
2811
+ ```
2812
+
2813
+ #### Properties <a name="Properties" id="Properties"></a>
2814
+
2815
+ | **Name** | **Type** | **Description** |
2816
+ | --- | --- | --- |
2817
+ | <code><a href="#@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.property.availabilityZone">availabilityZone</a></code> | <code>string</code> | The availability zone of the subnet. |
2818
+ | <code><a href="#@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.property.subnetId">subnetId</a></code> | <code>string</code> | The subnet ID to install the Lambda data source in. |
2819
+
2820
+ ---
2821
+
2822
+ ##### `availabilityZone`<sup>Required</sup> <a name="availabilityZone" id="@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.property.availabilityZone"></a>
2823
+
2824
+ ```typescript
2825
+ public readonly availabilityZone: string;
2826
+ ```
2827
+
2828
+ - *Type:* string
2829
+
2830
+ The availability zone of the subnet.
2831
+
2832
+ ---
2833
+
2834
+ ##### `subnetId`<sup>Required</sup> <a name="subnetId" id="@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.property.subnetId"></a>
2835
+
2836
+ ```typescript
2837
+ public readonly subnetId: string;
2838
+ ```
2839
+
2840
+ - *Type:* string
2841
+
2842
+ The subnet ID to install the Lambda data source in.
2843
+
2844
+ ---
2845
+
2846
+ ### SubscriptionFunctionSlot <a name="SubscriptionFunctionSlot" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot"></a>
2847
+
2848
+ Slot types for Subscription Resolvers.
2849
+
2850
+ #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.Initializer"></a>
2851
+
2852
+ ```typescript
2853
+ import { SubscriptionFunctionSlot } from '@aws-amplify/graphql-api-construct'
2854
+
2855
+ const subscriptionFunctionSlot: SubscriptionFunctionSlot = { ... }
2856
+ ```
2857
+
2858
+ #### Properties <a name="Properties" id="Properties"></a>
2859
+
2860
+ | **Name** | **Type** | **Description** |
2861
+ | --- | --- | --- |
2862
+ | <code><a href="#@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.fieldName">fieldName</a></code> | <code>string</code> | The field to attach this function to on the Api definition. |
2863
+ | <code><a href="#@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.function">function</a></code> | <code><a href="#@aws-amplify/graphql-api-construct.FunctionSlotOverride">FunctionSlotOverride</a></code> | The overridden behavior for this slot. |
2864
+ | <code><a href="#@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.slotIndex">slotIndex</a></code> | <code>number</code> | The slot index to use to inject this into the execution pipeline. |
2865
+ | <code><a href="#@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.slotName">slotName</a></code> | <code>string</code> | The slot name to inject this behavior into. |
2866
+ | <code><a href="#@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.typeName">typeName</a></code> | <code>string</code> | This slot type applies to the Subscription type on the Api definition. |
2867
+
2868
+ ---
2869
+
2870
+ ##### `fieldName`<sup>Required</sup> <a name="fieldName" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.fieldName"></a>
2871
+
2872
+ ```typescript
2873
+ public readonly fieldName: string;
2874
+ ```
2875
+
2876
+ - *Type:* string
2877
+
2878
+ The field to attach this function to on the Api definition.
2879
+
2880
+ ---
2881
+
2882
+ ##### `function`<sup>Required</sup> <a name="function" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.function"></a>
2883
+
2884
+ ```typescript
2885
+ public readonly function: FunctionSlotOverride;
2886
+ ```
2887
+
2888
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.FunctionSlotOverride">FunctionSlotOverride</a>
2889
+
2890
+ The overridden behavior for this slot.
2891
+
2892
+ ---
2893
+
2894
+ ##### `slotIndex`<sup>Required</sup> <a name="slotIndex" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.slotIndex"></a>
2895
+
2896
+ ```typescript
2897
+ public readonly slotIndex: number;
2898
+ ```
2899
+
2900
+ - *Type:* number
2901
+
2902
+ The slot index to use to inject this into the execution pipeline.
2903
+
2904
+ For more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers
2905
+
2906
+ ---
2907
+
2908
+ ##### `slotName`<sup>Required</sup> <a name="slotName" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.slotName"></a>
2909
+
2910
+ ```typescript
2911
+ public readonly slotName: string;
2912
+ ```
2913
+
2914
+ - *Type:* string
2915
+
2916
+ The slot name to inject this behavior into.
2917
+
2918
+ For more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers
2919
+
2920
+ ---
2921
+
2922
+ ##### `typeName`<sup>Required</sup> <a name="typeName" id="@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.typeName"></a>
2923
+
2924
+ ```typescript
2925
+ public readonly typeName: string;
2926
+ ```
2927
+
2928
+ - *Type:* string
2929
+
2930
+ This slot type applies to the Subscription type on the Api definition.
2931
+
2932
+ ---
2933
+
2934
+ ### TimeToLiveSpecification <a name="TimeToLiveSpecification" id="@aws-amplify/graphql-api-construct.TimeToLiveSpecification"></a>
2935
+
2936
+ Shape for TTL config.
2937
+
2938
+ #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.TimeToLiveSpecification.Initializer"></a>
2939
+
2940
+ ```typescript
2941
+ import { TimeToLiveSpecification } from '@aws-amplify/graphql-api-construct'
2942
+
2943
+ const timeToLiveSpecification: TimeToLiveSpecification = { ... }
2944
+ ```
2945
+
2946
+ #### Properties <a name="Properties" id="Properties"></a>
2947
+
2948
+ | **Name** | **Type** | **Description** |
2949
+ | --- | --- | --- |
2950
+ | <code><a href="#@aws-amplify/graphql-api-construct.TimeToLiveSpecification.property.enabled">enabled</a></code> | <code>boolean</code> | Boolean determining if the ttl is enabled or not. |
2951
+ | <code><a href="#@aws-amplify/graphql-api-construct.TimeToLiveSpecification.property.attributeName">attributeName</a></code> | <code>string</code> | Attribute name to apply to the ttl spec. |
2952
+
2953
+ ---
2954
+
2955
+ ##### `enabled`<sup>Required</sup> <a name="enabled" id="@aws-amplify/graphql-api-construct.TimeToLiveSpecification.property.enabled"></a>
2956
+
2957
+ ```typescript
2958
+ public readonly enabled: boolean;
2959
+ ```
2960
+
2961
+ - *Type:* boolean
2962
+
2963
+ Boolean determining if the ttl is enabled or not.
2964
+
2965
+ ---
2966
+
2967
+ ##### `attributeName`<sup>Optional</sup> <a name="attributeName" id="@aws-amplify/graphql-api-construct.TimeToLiveSpecification.property.attributeName"></a>
2968
+
2969
+ ```typescript
2970
+ public readonly attributeName: string;
2971
+ ```
2972
+
2973
+ - *Type:* string
2974
+
2975
+ Attribute name to apply to the ttl spec.
2976
+
2977
+ ---
2978
+
2979
+ ### TranslationBehavior <a name="TranslationBehavior" id="@aws-amplify/graphql-api-construct.TranslationBehavior"></a>
2980
+
2981
+ Strongly typed set of shared parameters for all transformers, and core layer.
2982
+
2983
+ This is intended to replace feature flags, to ensure param coercion happens in
2984
+ a single location, and isn't spread around the transformers, where they can
2985
+ have different default behaviors.
2986
+
2987
+ #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.TranslationBehavior.Initializer"></a>
2988
+
2989
+ ```typescript
2990
+ import { TranslationBehavior } from '@aws-amplify/graphql-api-construct'
2991
+
2992
+ const translationBehavior: TranslationBehavior = { ... }
2993
+ ```
2994
+
2995
+ #### Properties <a name="Properties" id="Properties"></a>
2996
+
2997
+ | **Name** | **Type** | **Description** |
2998
+ | --- | --- | --- |
2999
+ | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.allowDestructiveGraphqlSchemaUpdates">allowDestructiveGraphqlSchemaUpdates</a></code> | <code>boolean</code> | The following schema updates require replacement of the underlying DynamoDB table:. |
3000
+ | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.disableResolverDeduping">disableResolverDeduping</a></code> | <code>boolean</code> | Disable resolver deduping, this can sometimes cause problems because dedupe ordering isn't stable today, which can lead to circular dependencies across stacks if models are reordered. |
3001
+ | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableAutoIndexQueryNames">enableAutoIndexQueryNames</a></code> | <code>boolean</code> | Automate generation of query names, and as a result attaching all indexes as queries to the generated Api. |
3002
+ | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableSearchNodeToNodeEncryption">enableSearchNodeToNodeEncryption</a></code> | <code>boolean</code> | *No description.* |
3003
+ | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableTransformerCfnOutputs">enableTransformerCfnOutputs</a></code> | <code>boolean</code> | When enabled, internal cfn outputs which existed in Amplify-generated apps will continue to be emitted. |
3004
+ | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.populateOwnerFieldForStaticGroupAuth">populateOwnerFieldForStaticGroupAuth</a></code> | <code>boolean</code> | Ensure that the owner field is still populated even if a static iam or group authorization applies. |
3005
+ | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.respectPrimaryKeyAttributesOnConnectionField">respectPrimaryKeyAttributesOnConnectionField</a></code> | <code>boolean</code> | Enable custom primary key support, there's no good reason to disable this unless trying not to update a legacy app. |
3006
+ | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.sandboxModeEnabled">sandboxModeEnabled</a></code> | <code>boolean</code> | Enabling sandbox mode will enable api key auth on all models in the transformed schema. |
3007
+ | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.secondaryKeyAsGSI">secondaryKeyAsGSI</a></code> | <code>boolean</code> | If disabled, generated. |
3008
+ | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.shouldDeepMergeDirectiveConfigDefaults">shouldDeepMergeDirectiveConfigDefaults</a></code> | <code>boolean</code> | Restore parity w/ GQLv1. |
3009
+ | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.suppressApiKeyGeneration">suppressApiKeyGeneration</a></code> | <code>boolean</code> | If enabled, disable api key resource generation even if specified as an auth rule on the construct. |
3010
+ | <code><a href="#@aws-amplify/graphql-api-construct.TranslationBehavior.property.useSubUsernameForDefaultIdentityClaim">useSubUsernameForDefaultIdentityClaim</a></code> | <code>boolean</code> | Ensure that oidc and userPool auth use the `sub` field in the for the username field, which disallows new users with the same id to access data from a deleted user in the pool. |
3011
+
3012
+ ---
3013
+
3014
+ ##### `allowDestructiveGraphqlSchemaUpdates`<sup>Required</sup> <a name="allowDestructiveGraphqlSchemaUpdates" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.allowDestructiveGraphqlSchemaUpdates"></a>
3015
+
3016
+ ```typescript
3017
+ public readonly allowDestructiveGraphqlSchemaUpdates: boolean;
3018
+ ```
3019
+
3020
+ - *Type:* boolean
3021
+ - *Default:* false
3022
+
3023
+ The following schema updates require replacement of the underlying DynamoDB table:.
3024
+
3025
+ Removing or renaming a model
3026
+ - Modifying the primary key of a model
3027
+ - Modifying a Local Secondary Index of a model (only applies to projects with secondaryKeyAsGSI turned off)
3028
+
3029
+ ALL DATA WILL BE LOST when the table replacement happens. When enabled, destructive updates are allowed.
3030
+ This will only affect DynamoDB tables with provision strategy "AMPLIFY_TABLE".
3031
+
3032
+ ---
3033
+
3034
+ ##### `disableResolverDeduping`<sup>Required</sup> <a name="disableResolverDeduping" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.disableResolverDeduping"></a>
3035
+
3036
+ ```typescript
3037
+ public readonly disableResolverDeduping: boolean;
3038
+ ```
3039
+
3040
+ - *Type:* boolean
3041
+ - *Default:* true
3042
+
3043
+ Disable resolver deduping, this can sometimes cause problems because dedupe ordering isn't stable today, which can lead to circular dependencies across stacks if models are reordered.
3044
+
3045
+ ---
3046
+
3047
+ ##### `enableAutoIndexQueryNames`<sup>Required</sup> <a name="enableAutoIndexQueryNames" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableAutoIndexQueryNames"></a>
3048
+
3049
+ ```typescript
3050
+ public readonly enableAutoIndexQueryNames: boolean;
3051
+ ```
3052
+
3053
+ - *Type:* boolean
3054
+ - *Default:* true
3055
+
3056
+ Automate generation of query names, and as a result attaching all indexes as queries to the generated Api.
3057
+
3058
+ If enabled,
3059
+
3060
+ ---
3061
+
3062
+ ##### `enableSearchNodeToNodeEncryption`<sup>Required</sup> <a name="enableSearchNodeToNodeEncryption" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableSearchNodeToNodeEncryption"></a>
3063
+
3064
+ ```typescript
3065
+ public readonly enableSearchNodeToNodeEncryption: boolean;
3066
+ ```
3067
+
3068
+ - *Type:* boolean
3069
+
3070
+ ---
3071
+
3072
+ ##### `enableTransformerCfnOutputs`<sup>Required</sup> <a name="enableTransformerCfnOutputs" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableTransformerCfnOutputs"></a>
3073
+
3074
+ ```typescript
3075
+ public readonly enableTransformerCfnOutputs: boolean;
3076
+ ```
3077
+
3078
+ - *Type:* boolean
3079
+ - *Default:* false
3080
+
3081
+ When enabled, internal cfn outputs which existed in Amplify-generated apps will continue to be emitted.
3082
+
3083
+ ---
3084
+
3085
+ ##### `populateOwnerFieldForStaticGroupAuth`<sup>Required</sup> <a name="populateOwnerFieldForStaticGroupAuth" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.populateOwnerFieldForStaticGroupAuth"></a>
3086
+
3087
+ ```typescript
3088
+ public readonly populateOwnerFieldForStaticGroupAuth: boolean;
3089
+ ```
3090
+
3091
+ - *Type:* boolean
3092
+ - *Default:* true
3093
+
3094
+ Ensure that the owner field is still populated even if a static iam or group authorization applies.
3095
+
3096
+ ---
3097
+
3098
+ ##### `respectPrimaryKeyAttributesOnConnectionField`<sup>Required</sup> <a name="respectPrimaryKeyAttributesOnConnectionField" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.respectPrimaryKeyAttributesOnConnectionField"></a>
3099
+
3100
+ ```typescript
3101
+ public readonly respectPrimaryKeyAttributesOnConnectionField: boolean;
3102
+ ```
3103
+
3104
+ - *Type:* boolean
3105
+ - *Default:* true
3106
+
3107
+ Enable custom primary key support, there's no good reason to disable this unless trying not to update a legacy app.
3108
+
3109
+ ---
3110
+
3111
+ ##### `sandboxModeEnabled`<sup>Required</sup> <a name="sandboxModeEnabled" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.sandboxModeEnabled"></a>
3112
+
3113
+ ```typescript
3114
+ public readonly sandboxModeEnabled: boolean;
3115
+ ```
3116
+
3117
+ - *Type:* boolean
3118
+ - *Default:* false
3119
+
3120
+ Enabling sandbox mode will enable api key auth on all models in the transformed schema.
3121
+
3122
+ ---
3123
+
3124
+ ##### `secondaryKeyAsGSI`<sup>Required</sup> <a name="secondaryKeyAsGSI" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.secondaryKeyAsGSI"></a>
3125
+
3126
+ ```typescript
3127
+ public readonly secondaryKeyAsGSI: boolean;
3128
+ ```
3129
+
3130
+ - *Type:* boolean
3131
+ - *Default:* true
3132
+
3133
+ If disabled, generated.
3134
+
3135
+ ---
3136
+
3137
+ ##### `shouldDeepMergeDirectiveConfigDefaults`<sup>Required</sup> <a name="shouldDeepMergeDirectiveConfigDefaults" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.shouldDeepMergeDirectiveConfigDefaults"></a>
3138
+
3139
+ ```typescript
3140
+ public readonly shouldDeepMergeDirectiveConfigDefaults: boolean;
3141
+ ```
3142
+
3143
+ - *Type:* boolean
3144
+ - *Default:* true
3145
+
3146
+ Restore parity w/ GQLv1.
3147
+
3148
+ ---
3149
+
3150
+ ##### `suppressApiKeyGeneration`<sup>Required</sup> <a name="suppressApiKeyGeneration" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.suppressApiKeyGeneration"></a>
3151
+
3152
+ ```typescript
3153
+ public readonly suppressApiKeyGeneration: boolean;
3154
+ ```
3155
+
3156
+ - *Type:* boolean
3157
+ - *Default:* false
3158
+
3159
+ If enabled, disable api key resource generation even if specified as an auth rule on the construct.
3160
+
3161
+ This is a legacy parameter from the Graphql Transformer existing in Amplify CLI, not recommended to change.
3162
+
3163
+ ---
3164
+
3165
+ ##### `useSubUsernameForDefaultIdentityClaim`<sup>Required</sup> <a name="useSubUsernameForDefaultIdentityClaim" id="@aws-amplify/graphql-api-construct.TranslationBehavior.property.useSubUsernameForDefaultIdentityClaim"></a>
3166
+
3167
+ ```typescript
3168
+ public readonly useSubUsernameForDefaultIdentityClaim: boolean;
2601
3169
  ```
2602
3170
 
2603
3171
  - *Type:* boolean
@@ -2639,8 +3207,261 @@ The Cognito User Pool which is used to authenticated JWT tokens, and vends group
2639
3207
 
2640
3208
  ---
2641
3209
 
3210
+ ### VpcConfig <a name="VpcConfig" id="@aws-amplify/graphql-api-construct.VpcConfig"></a>
3211
+
3212
+ Configuration of the VPC in which to install a Lambda to resolve queries against a SQL-based data source.
3213
+
3214
+ The SQL Lambda will be deployed
3215
+ into the specified VPC, subnets, and security groups. The specified subnets and security groups must be in the same VPC. The VPC must
3216
+ have at least one subnet. The construct will also create VPC service endpoints in the specified subnets, as well as inbound security
3217
+ rules, to allow traffic on port 443 within each security group. This allows the Lambda to read database connection information from
3218
+ Secure Systems Manager.
3219
+
3220
+ #### Initializer <a name="Initializer" id="@aws-amplify/graphql-api-construct.VpcConfig.Initializer"></a>
3221
+
3222
+ ```typescript
3223
+ import { VpcConfig } from '@aws-amplify/graphql-api-construct'
3224
+
3225
+ const vpcConfig: VpcConfig = { ... }
3226
+ ```
3227
+
3228
+ #### Properties <a name="Properties" id="Properties"></a>
3229
+
3230
+ | **Name** | **Type** | **Description** |
3231
+ | --- | --- | --- |
3232
+ | <code><a href="#@aws-amplify/graphql-api-construct.VpcConfig.property.securityGroupIds">securityGroupIds</a></code> | <code>string[]</code> | The security groups to install the Lambda data source in. |
3233
+ | <code><a href="#@aws-amplify/graphql-api-construct.VpcConfig.property.subnetAvailabilityZoneConfig">subnetAvailabilityZoneConfig</a></code> | <code><a href="#@aws-amplify/graphql-api-construct.SubnetAvailabilityZone">SubnetAvailabilityZone</a>[]</code> | The subnets to install the Lambda data source in, one per availability zone. |
3234
+ | <code><a href="#@aws-amplify/graphql-api-construct.VpcConfig.property.vpcId">vpcId</a></code> | <code>string</code> | The VPC to install the Lambda data source in. |
3235
+
3236
+ ---
3237
+
3238
+ ##### `securityGroupIds`<sup>Required</sup> <a name="securityGroupIds" id="@aws-amplify/graphql-api-construct.VpcConfig.property.securityGroupIds"></a>
3239
+
3240
+ ```typescript
3241
+ public readonly securityGroupIds: string[];
3242
+ ```
3243
+
3244
+ - *Type:* string[]
3245
+
3246
+ The security groups to install the Lambda data source in.
3247
+
3248
+ ---
3249
+
3250
+ ##### `subnetAvailabilityZoneConfig`<sup>Required</sup> <a name="subnetAvailabilityZoneConfig" id="@aws-amplify/graphql-api-construct.VpcConfig.property.subnetAvailabilityZoneConfig"></a>
3251
+
3252
+ ```typescript
3253
+ public readonly subnetAvailabilityZoneConfig: SubnetAvailabilityZone[];
3254
+ ```
3255
+
3256
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.SubnetAvailabilityZone">SubnetAvailabilityZone</a>[]
3257
+
3258
+ The subnets to install the Lambda data source in, one per availability zone.
3259
+
3260
+ ---
3261
+
3262
+ ##### `vpcId`<sup>Required</sup> <a name="vpcId" id="@aws-amplify/graphql-api-construct.VpcConfig.property.vpcId"></a>
3263
+
3264
+ ```typescript
3265
+ public readonly vpcId: string;
3266
+ ```
3267
+
3268
+ - *Type:* string
3269
+
3270
+ The VPC to install the Lambda data source in.
3271
+
3272
+ ---
3273
+
2642
3274
  ## Classes <a name="Classes" id="Classes"></a>
2643
3275
 
3276
+ ### AmplifyDynamoDbTableWrapper <a name="AmplifyDynamoDbTableWrapper" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper"></a>
3277
+
3278
+ Wrapper class around Custom::AmplifyDynamoDBTable custom resource, to simplify the override experience a bit.
3279
+
3280
+ This is NOT a construct, just an easier way to access
3281
+ the generated construct.
3282
+ This is a wrapper intended to mimic the `aws_cdk_lib.aws_dynamodb.Table` functionality more-or-less.
3283
+ Notable differences is the addition of TKTK properties, to account for the fact that they're constructor props
3284
+ in the CDK construct, as well as the removal of all from*, grant*, and metric* methods implemented by Table.
3285
+
3286
+ #### Initializers <a name="Initializers" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.Initializer"></a>
3287
+
3288
+ ```typescript
3289
+ import { AmplifyDynamoDbTableWrapper } from '@aws-amplify/graphql-api-construct'
3290
+
3291
+ new AmplifyDynamoDbTableWrapper(resource: CfnResource)
3292
+ ```
3293
+
3294
+ | **Name** | **Type** | **Description** |
3295
+ | --- | --- | --- |
3296
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.Initializer.parameter.resource">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | the Cfn resource. |
3297
+
3298
+ ---
3299
+
3300
+ ##### `resource`<sup>Required</sup> <a name="resource" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.Initializer.parameter.resource"></a>
3301
+
3302
+ - *Type:* aws-cdk-lib.CfnResource
3303
+
3304
+ the Cfn resource.
3305
+
3306
+ ---
3307
+
3308
+ #### Methods <a name="Methods" id="Methods"></a>
3309
+
3310
+ | **Name** | **Description** |
3311
+ | --- | --- |
3312
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.setGlobalSecondaryIndexProvisionedThroughput">setGlobalSecondaryIndexProvisionedThroughput</a></code> | Set the provisionedThroughtput for a specified GSI by name. |
3313
+
3314
+ ---
3315
+
3316
+ ##### `setGlobalSecondaryIndexProvisionedThroughput` <a name="setGlobalSecondaryIndexProvisionedThroughput" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.setGlobalSecondaryIndexProvisionedThroughput"></a>
3317
+
3318
+ ```typescript
3319
+ public setGlobalSecondaryIndexProvisionedThroughput(indexName: string, provisionedThroughput: ProvisionedThroughput): void
3320
+ ```
3321
+
3322
+ Set the provisionedThroughtput for a specified GSI by name.
3323
+
3324
+ ###### `indexName`<sup>Required</sup> <a name="indexName" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.setGlobalSecondaryIndexProvisionedThroughput.parameter.indexName"></a>
3325
+
3326
+ - *Type:* string
3327
+
3328
+ the index to specify a provisionedThroughput config for.
3329
+
3330
+ ---
3331
+
3332
+ ###### `provisionedThroughput`<sup>Required</sup> <a name="provisionedThroughput" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.setGlobalSecondaryIndexProvisionedThroughput.parameter.provisionedThroughput"></a>
3333
+
3334
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.ProvisionedThroughput">ProvisionedThroughput</a>
3335
+
3336
+ the config to set.
3337
+
3338
+ ---
3339
+
3340
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
3341
+
3342
+ | **Name** | **Description** |
3343
+ | --- | --- |
3344
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.isAmplifyDynamoDbTableResource">isAmplifyDynamoDbTableResource</a></code> | Return true and perform type narrowing if a given input appears to be capable of. |
3345
+
3346
+ ---
3347
+
3348
+ ##### `isAmplifyDynamoDbTableResource` <a name="isAmplifyDynamoDbTableResource" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.isAmplifyDynamoDbTableResource"></a>
3349
+
3350
+ ```typescript
3351
+ import { AmplifyDynamoDbTableWrapper } from '@aws-amplify/graphql-api-construct'
3352
+
3353
+ AmplifyDynamoDbTableWrapper.isAmplifyDynamoDbTableResource(x: any)
3354
+ ```
3355
+
3356
+ Return true and perform type narrowing if a given input appears to be capable of.
3357
+
3358
+ ###### `x`<sup>Required</sup> <a name="x" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.isAmplifyDynamoDbTableResource.parameter.x"></a>
3359
+
3360
+ - *Type:* any
3361
+
3362
+ the object to check.
3363
+
3364
+ ---
3365
+
3366
+ #### Properties <a name="Properties" id="Properties"></a>
3367
+
3368
+ | **Name** | **Type** | **Description** |
3369
+ | --- | --- | --- |
3370
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.billingMode">billingMode</a></code> | <code>aws-cdk-lib.aws_dynamodb.BillingMode</code> | Specify how you are charged for read and write throughput and how you manage capacity. |
3371
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.deletionProtectionEnabled">deletionProtectionEnabled</a></code> | <code>boolean</code> | Set table deletion protection. |
3372
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.pointInTimeRecoveryEnabled">pointInTimeRecoveryEnabled</a></code> | <code>boolean</code> | Whether point-in-time recovery is enabled. |
3373
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.provisionedThroughput">provisionedThroughput</a></code> | <code><a href="#@aws-amplify/graphql-api-construct.ProvisionedThroughput">ProvisionedThroughput</a></code> | Update the provisioned throughput for the base table. |
3374
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.sseSpecification">sseSpecification</a></code> | <code><a href="#@aws-amplify/graphql-api-construct.SSESpecification">SSESpecification</a></code> | Set the ddb server-side encryption specification on the table. |
3375
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.streamSpecification">streamSpecification</a></code> | <code><a href="#@aws-amplify/graphql-api-construct.StreamSpecification">StreamSpecification</a></code> | Set the ddb stream specification on the table. |
3376
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.timeToLiveAttribute">timeToLiveAttribute</a></code> | <code><a href="#@aws-amplify/graphql-api-construct.TimeToLiveSpecification">TimeToLiveSpecification</a></code> | The name of TTL attribute. |
3377
+
3378
+ ---
3379
+
3380
+ ##### `billingMode`<sup>Required</sup> <a name="billingMode" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.billingMode"></a>
3381
+
3382
+ ```typescript
3383
+ public readonly billingMode: BillingMode;
3384
+ ```
3385
+
3386
+ - *Type:* aws-cdk-lib.aws_dynamodb.BillingMode
3387
+
3388
+ Specify how you are charged for read and write throughput and how you manage capacity.
3389
+
3390
+ ---
3391
+
3392
+ ##### `deletionProtectionEnabled`<sup>Required</sup> <a name="deletionProtectionEnabled" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.deletionProtectionEnabled"></a>
3393
+
3394
+ ```typescript
3395
+ public readonly deletionProtectionEnabled: boolean;
3396
+ ```
3397
+
3398
+ - *Type:* boolean
3399
+
3400
+ Set table deletion protection.
3401
+
3402
+ ---
3403
+
3404
+ ##### `pointInTimeRecoveryEnabled`<sup>Required</sup> <a name="pointInTimeRecoveryEnabled" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.pointInTimeRecoveryEnabled"></a>
3405
+
3406
+ ```typescript
3407
+ public readonly pointInTimeRecoveryEnabled: boolean;
3408
+ ```
3409
+
3410
+ - *Type:* boolean
3411
+
3412
+ Whether point-in-time recovery is enabled.
3413
+
3414
+ ---
3415
+
3416
+ ##### `provisionedThroughput`<sup>Required</sup> <a name="provisionedThroughput" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.provisionedThroughput"></a>
3417
+
3418
+ ```typescript
3419
+ public readonly provisionedThroughput: ProvisionedThroughput;
3420
+ ```
3421
+
3422
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.ProvisionedThroughput">ProvisionedThroughput</a>
3423
+
3424
+ Update the provisioned throughput for the base table.
3425
+
3426
+ ---
3427
+
3428
+ ##### `sseSpecification`<sup>Required</sup> <a name="sseSpecification" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.sseSpecification"></a>
3429
+
3430
+ ```typescript
3431
+ public readonly sseSpecification: SSESpecification;
3432
+ ```
3433
+
3434
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.SSESpecification">SSESpecification</a>
3435
+
3436
+ Set the ddb server-side encryption specification on the table.
3437
+
3438
+ ---
3439
+
3440
+ ##### `streamSpecification`<sup>Required</sup> <a name="streamSpecification" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.streamSpecification"></a>
3441
+
3442
+ ```typescript
3443
+ public readonly streamSpecification: StreamSpecification;
3444
+ ```
3445
+
3446
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.StreamSpecification">StreamSpecification</a>
3447
+
3448
+ Set the ddb stream specification on the table.
3449
+
3450
+ ---
3451
+
3452
+ ##### `timeToLiveAttribute`<sup>Required</sup> <a name="timeToLiveAttribute" id="@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.timeToLiveAttribute"></a>
3453
+
3454
+ ```typescript
3455
+ public readonly timeToLiveAttribute: TimeToLiveSpecification;
3456
+ ```
3457
+
3458
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.TimeToLiveSpecification">TimeToLiveSpecification</a>
3459
+
3460
+ The name of TTL attribute.
3461
+
3462
+ ---
3463
+
3464
+
2644
3465
  ### AmplifyGraphqlDefinition <a name="AmplifyGraphqlDefinition" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition"></a>
2645
3466
 
2646
3467
  Class exposing utilities to produce IAmplifyGraphqlDefinition objects given various inputs.
@@ -2663,11 +3484,33 @@ new AmplifyGraphqlDefinition()
2663
3484
 
2664
3485
  | **Name** | **Description** |
2665
3486
  | --- | --- |
2666
- | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFiles">fromFiles</a></code> | Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema. |
3487
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.combine">combine</a></code> | Combines multiple IAmplifyGraphqlDefinitions into a single definition. |
3488
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFiles">fromFiles</a></code> | Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema, binding them to a DynamoDB data source. |
3489
+ | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndStrategy">fromFilesAndStrategy</a></code> | Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema. |
2667
3490
  | <code><a href="#@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString">fromString</a></code> | Produce a schema definition from a string input. |
2668
3491
 
2669
3492
  ---
2670
3493
 
3494
+ ##### `combine` <a name="combine" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.combine"></a>
3495
+
3496
+ ```typescript
3497
+ import { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'
3498
+
3499
+ AmplifyGraphqlDefinition.combine(definitions: IAmplifyGraphqlDefinition[])
3500
+ ```
3501
+
3502
+ Combines multiple IAmplifyGraphqlDefinitions into a single definition.
3503
+
3504
+ **NOTE** This API is in preview and is not recommended to use with production systems.
3505
+
3506
+ ###### `definitions`<sup>Required</sup> <a name="definitions" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.combine.parameter.definitions"></a>
3507
+
3508
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition">IAmplifyGraphqlDefinition</a>[]
3509
+
3510
+ the definitions to combine.
3511
+
3512
+ ---
3513
+
2671
3514
  ##### `fromFiles` <a name="fromFiles" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFiles"></a>
2672
3515
 
2673
3516
  ```typescript
@@ -2676,7 +3519,7 @@ import { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'
2676
3519
  AmplifyGraphqlDefinition.fromFiles(filePaths: string)
2677
3520
  ```
2678
3521
 
2679
- Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema.
3522
+ Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema, binding them to a DynamoDB data source.
2680
3523
 
2681
3524
  ###### `filePaths`<sup>Required</sup> <a name="filePaths" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFiles.parameter.filePaths"></a>
2682
3525
 
@@ -2686,16 +3529,49 @@ one or more paths to the graphql files to process.
2686
3529
 
2687
3530
  ---
2688
3531
 
3532
+ ##### `fromFilesAndStrategy` <a name="fromFilesAndStrategy" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndStrategy"></a>
3533
+
3534
+ ```typescript
3535
+ import { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'
3536
+
3537
+ AmplifyGraphqlDefinition.fromFilesAndStrategy(filePaths: string | string[], dataSourceStrategy?: DefaultDynamoDbModelDataSourceStrategy | AmplifyDynamoDbModelDataSourceStrategy | SQLLambdaModelDataSourceStrategy)
3538
+ ```
3539
+
3540
+ Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema.
3541
+
3542
+ **NOTE** This API is in preview and is not recommended to use with production systems.
3543
+
3544
+ ###### `filePaths`<sup>Required</sup> <a name="filePaths" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndStrategy.parameter.filePaths"></a>
3545
+
3546
+ - *Type:* string | string[]
3547
+
3548
+ one or more paths to the graphql files to process.
3549
+
3550
+ ---
3551
+
3552
+ ###### `dataSourceStrategy`<sup>Optional</sup> <a name="dataSourceStrategy" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndStrategy.parameter.dataSourceStrategy"></a>
3553
+
3554
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy">DefaultDynamoDbModelDataSourceStrategy</a> | <a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy">AmplifyDynamoDbModelDataSourceStrategy</a> | <a href="#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy">SQLLambdaModelDataSourceStrategy</a>
3555
+
3556
+ the provisioning definition for datasources that resolve `@model`s in this schema.
3557
+
3558
+ The DynamoDB from
3559
+ CloudFormation will be used by default.
3560
+
3561
+ ---
3562
+
2689
3563
  ##### `fromString` <a name="fromString" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString"></a>
2690
3564
 
2691
3565
  ```typescript
2692
3566
  import { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'
2693
3567
 
2694
- AmplifyGraphqlDefinition.fromString(schema: string)
3568
+ AmplifyGraphqlDefinition.fromString(schema: string, dataSourceStrategy?: DefaultDynamoDbModelDataSourceStrategy | AmplifyDynamoDbModelDataSourceStrategy | SQLLambdaModelDataSourceStrategy)
2695
3569
  ```
2696
3570
 
2697
3571
  Produce a schema definition from a string input.
2698
3572
 
3573
+ **NOTE** The 'dataSourceStrategy' configuration option is in preview and is not recommended to use with production systems.
3574
+
2699
3575
  ###### `schema`<sup>Required</sup> <a name="schema" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString.parameter.schema"></a>
2700
3576
 
2701
3577
  - *Type:* string
@@ -2704,6 +3580,17 @@ the graphql input as a string.
2704
3580
 
2705
3581
  ---
2706
3582
 
3583
+ ###### `dataSourceStrategy`<sup>Optional</sup> <a name="dataSourceStrategy" id="@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString.parameter.dataSourceStrategy"></a>
3584
+
3585
+ - *Type:* <a href="#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy">DefaultDynamoDbModelDataSourceStrategy</a> | <a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy">AmplifyDynamoDbModelDataSourceStrategy</a> | <a href="#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy">SQLLambdaModelDataSourceStrategy</a>
3586
+
3587
+ the provisioning definition for datasources that resolve `@model`s in this schema.
3588
+
3589
+ The DynamoDB from
3590
+ CloudFormation will be used by default.
3591
+
3592
+ ---
3593
+
2707
3594
 
2708
3595
 
2709
3596
  ## Protocols <a name="Protocols" id="Protocols"></a>
@@ -2719,8 +3606,25 @@ Graphql Api definition, which can be implemented in multiple ways.
2719
3606
 
2720
3607
  | **Name** | **Type** | **Description** |
2721
3608
  | --- | --- | --- |
3609
+ | <code><a href="#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.dataSourceStrategies">dataSourceStrategies</a></code> | <code>{[ key: string ]: <a href="#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy">DefaultDynamoDbModelDataSourceStrategy</a> \| <a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy">AmplifyDynamoDbModelDataSourceStrategy</a> \| <a href="#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy">SQLLambdaModelDataSourceStrategy</a>}</code> | Retrieve the datasource strategy mapping. The default strategy is to use DynamoDB from CloudFormation. |
2722
3610
  | <code><a href="#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.functionSlots">functionSlots</a></code> | <code><a href="#@aws-amplify/graphql-api-construct.MutationFunctionSlot">MutationFunctionSlot</a> \| <a href="#@aws-amplify/graphql-api-construct.QueryFunctionSlot">QueryFunctionSlot</a> \| <a href="#@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot">SubscriptionFunctionSlot</a>[]</code> | Retrieve any function slots defined explicitly in the Api definition. |
2723
3611
  | <code><a href="#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.schema">schema</a></code> | <code>string</code> | Return the schema definition as a graphql string, with amplify directives allowed. |
3612
+ | <code><a href="#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.referencedLambdaFunctions">referencedLambdaFunctions</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}</code> | Retrieve the references to any lambda functions used in the definition. |
3613
+
3614
+ ---
3615
+
3616
+ ##### `dataSourceStrategies`<sup>Required</sup> <a name="dataSourceStrategies" id="@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.dataSourceStrategies"></a>
3617
+
3618
+ ```typescript
3619
+ public readonly dataSourceStrategies: {[ key: string ]: DefaultDynamoDbModelDataSourceStrategy | AmplifyDynamoDbModelDataSourceStrategy | SQLLambdaModelDataSourceStrategy};
3620
+ ```
3621
+
3622
+ - *Type:* {[ key: string ]: <a href="#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy">DefaultDynamoDbModelDataSourceStrategy</a> | <a href="#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy">AmplifyDynamoDbModelDataSourceStrategy</a> | <a href="#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy">SQLLambdaModelDataSourceStrategy</a>}
3623
+
3624
+ Retrieve the datasource strategy mapping. The default strategy is to use DynamoDB from CloudFormation.
3625
+
3626
+ **NOTE** Explicitly specifying the 'dataSourceStrategies' configuration option is in preview and is not recommended to use with
3627
+ production systems. For production, use the static factory methods `fromString` or `fromFiles`.
2724
3628
 
2725
3629
  ---
2726
3630
 
@@ -2748,6 +3652,21 @@ Return the schema definition as a graphql string, with amplify directives allowe
2748
3652
 
2749
3653
  ---
2750
3654
 
3655
+ ##### `referencedLambdaFunctions`<sup>Optional</sup> <a name="referencedLambdaFunctions" id="@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.referencedLambdaFunctions"></a>
3656
+
3657
+ ```typescript
3658
+ public readonly referencedLambdaFunctions: {[ key: string ]: IFunction};
3659
+ ```
3660
+
3661
+ - *Type:* {[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}
3662
+
3663
+ Retrieve the references to any lambda functions used in the definition.
3664
+
3665
+ Useful for wiring through aws_lambda.Function constructs into the definition directly,
3666
+ and generated references to invoke them.
3667
+
3668
+ ---
3669
+
2751
3670
  ### IBackendOutputEntry <a name="IBackendOutputEntry" id="@aws-amplify/graphql-api-construct.IBackendOutputEntry"></a>
2752
3671
 
2753
3672
  - *Implemented By:* <a href="#@aws-amplify/graphql-api-construct.IBackendOutputEntry">IBackendOutputEntry</a>
@@ -2827,3 +3746,23 @@ the record to store in the backend output.
2827
3746
  ---
2828
3747
 
2829
3748
 
3749
+ ## Enums <a name="Enums" id="Enums"></a>
3750
+
3751
+ ### SSEType <a name="SSEType" id="@aws-amplify/graphql-api-construct.SSEType"></a>
3752
+
3753
+ Server Side Encryption Type Values - `KMS` - Server-side encryption that uses AWS KMS.
3754
+
3755
+ The key is stored in your account and is managed by KMS (AWS KMS charges apply).
3756
+
3757
+ #### Members <a name="Members" id="Members"></a>
3758
+
3759
+ | **Name** | **Description** |
3760
+ | --- | --- |
3761
+ | <code><a href="#@aws-amplify/graphql-api-construct.SSEType.KMS">KMS</a></code> | *No description.* |
3762
+
3763
+ ---
3764
+
3765
+ ##### `KMS` <a name="KMS" id="@aws-amplify/graphql-api-construct.SSEType.KMS"></a>
3766
+
3767
+ ---
3768
+