@aws-amplify/graphql-api-construct 1.3.0-rds-5.0 → 1.4.0-construct-publish-test.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.jsii +774 -465
- package/API.md +67 -28
- package/CHANGELOG.md +19 -3
- package/README.md +1039 -401
- package/lib/amplify-dynamodb-table-wrapper.d.ts +128 -0
- package/lib/amplify-dynamodb-table-wrapper.js +102 -0
- package/lib/amplify-graphql-api.d.ts +4 -6
- package/lib/amplify-graphql-api.js +12 -61
- package/lib/amplify-graphql-definition.d.ts +19 -13
- package/lib/amplify-graphql-definition.js +58 -21
- package/lib/index.d.ts +2 -1
- package/lib/index.js +5 -2
- package/lib/internal/authorization-modes.js +20 -2
- package/lib/internal/construct-exports.js +8 -1
- package/lib/internal/data-source-config.d.ts +7 -0
- package/lib/internal/data-source-config.js +37 -0
- package/lib/internal/index.d.ts +1 -1
- package/lib/internal/index.js +2 -2
- package/lib/internal/model-type-name.d.ts +8 -0
- package/lib/internal/model-type-name.js +27 -0
- package/lib/types.d.ts +52 -102
- package/lib/types.js +1 -1
- package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.js +8 -9
- package/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.js +16 -18
- package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.js +11 -16
- package/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.js +23 -19
- package/node_modules/@aws-amplify/backend-output-schemas/lib/index.d.ts +12 -1
- package/node_modules/@aws-amplify/backend-output-schemas/lib/index.js +38 -60
- package/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.js +16 -14
- package/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.js +7 -9
- package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.d.ts +5 -0
- package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.js +8 -9
- package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.d.ts +5 -0
- package/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.js +10 -11
- package/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.js +8 -9
- package/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.js +10 -12
- package/node_modules/@aws-amplify/backend-output-schemas/package.json +4 -23
- package/node_modules/@aws-amplify/backend-output-storage/lib/index.d.ts +1 -0
- package/node_modules/@aws-amplify/backend-output-storage/lib/index.js +17 -14
- package/node_modules/@aws-amplify/backend-output-storage/lib/stack_metadata_output_storage_strategy.js +28 -32
- package/node_modules/@aws-amplify/backend-output-storage/lib/store_attribution_metadata.d.ts +50 -0
- package/node_modules/@aws-amplify/backend-output-storage/lib/store_attribution_metadata.js +104 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.d.ts +5 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.js +9 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +9 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +13 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/index.d.ts +4 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/index.js +22 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.d.ts +53 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.js +74 -0
- package/node_modules/@aws-amplify/backend-output-storage/node_modules/@aws-amplify/platform-core/package.json +23 -0
- package/node_modules/@aws-amplify/backend-output-storage/package.json +6 -4
- package/node_modules/@aws-amplify/graphql-auth-transformer/API.md +1 -5
- package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +4 -12
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts +1 -3
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +50 -64
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/field.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/field.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/field.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/helpers.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/helpers.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/helpers.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/index.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.create.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.create.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.create.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.delete.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.delete.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.delete.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.update.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/mutation.update.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/mutation.update.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts +6 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/query.js +3 -28
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/query.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/search.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/search.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/search.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/rds/resolvers/subscription.d.ts → resolvers/subscriptions.d.ts} +2 -2
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/subscriptions.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/resolvers/subscriptions.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js +0 -3
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/schema.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts +2 -3
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js +1 -4
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +11 -11
- package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +5 -3
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +1 -13
- package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-function-transformer/package.json +7 -7
- package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-http-transformer/package.json +7 -7
- package/node_modules/@aws-amplify/graphql-index-transformer/API.md +3 -0
- package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +6 -4
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-index-transformer.js +4 -0
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-index-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js +2 -2
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/graphql-primary-key-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.js +2 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js +1 -4
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts +5 -6
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js +43 -26
- package/node_modules/@aws-amplify/graphql-index-transformer/lib/resolvers/resolvers.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/API.md +0 -15
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +4 -8
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts +0 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js +1 -13
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/field-mapping-resolvers.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts +1 -2
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js +33 -16
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-maps-to-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts +0 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js +1 -3
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +13 -13
- package/node_modules/@aws-amplify/graphql-model-transformer/API.md +15 -15
- package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +5 -13
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts +2 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js +58 -66
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-model-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js +2 -9
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts +5 -6
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js +5 -5
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/dynamodb-vtl-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts +5 -6
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js +11 -11
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/rds-vtl-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts +5 -6
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/generators/vtl-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts +3 -4
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js +55 -74
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/mutation.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts +1 -2
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js +2 -8
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/query.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts +3 -10
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js +42 -127
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/rds/resolver.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts +15 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +169 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts +40 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js +242 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamodb-table-construct/index.js.map +1 -0
- 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
- 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
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js +663 -0
- 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
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.d.ts +5 -2
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.js +47 -60
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/dynamo-model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js +5 -5
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts +0 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js +1 -28
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/rds-model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/package.json +11 -9
- package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
- package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +7 -7
- package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +6 -5
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js +9 -41
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js +8 -35
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js +8 -30
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js +2 -3
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-many-to-many-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts +4 -4
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js +164 -24
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolvers.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js +8 -14
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts +0 -4
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +0 -5
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +1 -85
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +10 -10
- package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +5 -3
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js +0 -3
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/graphql-searchable-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-transformer/API.md +2 -3
- package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +5 -8
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +3 -4
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +1 -5
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer/package.json +14 -15
- package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +5 -15
- package/node_modules/@aws-amplify/graphql-transformer-core/API.md +7 -39
- package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +7 -12
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.d.ts +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.js +2 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/graphql-api.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +4 -4
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +3 -10
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js +1 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transform-host.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.js +3 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts +3 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js +3 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/transform.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts +2 -4
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.d.ts +2 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.js +12 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformation/utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts +4 -6
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js +1 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts +1 -4
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js +2 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/import-appsync-api-types.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js +1 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/types/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/authType.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/authType.js +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/authType.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts +3 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js +5 -14
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.d.ts +3 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.js +15 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/provision-strategy-utils.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts +2 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.d.ts.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js +25 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-secret-utils.js.map +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts +1 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js +1 -7
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/schema-utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/wrappers/object-definition-wrapper.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/package.json +4 -4
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +17 -12
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +8 -5
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts +2 -5
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/graphql-api-provider.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js +2 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts +2 -3
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-provider.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts +8 -2
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js +6 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-datasource-provider.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +2 -2
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/graphql-api-provider.ts +16 -17
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/index.ts +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/index.ts +3 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts +2 -3
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts +18 -10
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.d.ts +5 -0
- package/node_modules/@aws-amplify/platform-core/lib/backend_deployment_type.js +9 -0
- package/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.d.ts +9 -0
- package/node_modules/@aws-amplify/platform-core/lib/cdk_context_key.js +13 -0
- package/node_modules/@aws-amplify/platform-core/lib/index.d.ts +4 -0
- package/node_modules/@aws-amplify/platform-core/lib/index.js +22 -0
- package/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.d.ts +53 -0
- package/node_modules/@aws-amplify/platform-core/lib/unique_backend_identifier.js +74 -0
- package/node_modules/@aws-amplify/platform-core/package.json +24 -0
- package/node_modules/@aws-amplify/plugin-types/lib/amplify_function.d.ts +4 -0
- package/node_modules/@aws-amplify/plugin-types/lib/amplify_function.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/amplify_output_writer.d.ts +9 -0
- package/node_modules/@aws-amplify/plugin-types/lib/amplify_output_writer.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/auth_resources.d.ts +42 -0
- package/node_modules/@aws-amplify/plugin-types/lib/auth_resources.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_output.d.ts +6 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_output.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.d.ts +13 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_secret_resolver.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_creator.d.ts +8 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_creator.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_resolver.d.ts +7 -0
- package/node_modules/@aws-amplify/plugin-types/lib/backend_stack_resolver.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/construct_container.d.ts +26 -0
- package/node_modules/@aws-amplify/plugin-types/lib/construct_container.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/construct_factory.d.ts +21 -0
- package/node_modules/@aws-amplify/plugin-types/lib/construct_factory.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/function_resources.d.ts +5 -0
- package/node_modules/@aws-amplify/plugin-types/lib/function_resources.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/import_path_verifier.d.ts +14 -0
- package/node_modules/@aws-amplify/plugin-types/lib/import_path_verifier.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/index.d.ts +16 -0
- package/node_modules/@aws-amplify/plugin-types/lib/index.js +32 -0
- package/node_modules/@aws-amplify/plugin-types/lib/output_retrieval_strategy.d.ts +11 -0
- package/node_modules/@aws-amplify/plugin-types/lib/output_retrieval_strategy.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/output_storage_strategy.d.ts +8 -0
- package/node_modules/@aws-amplify/plugin-types/lib/output_storage_strategy.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/resource_provider.d.ts +7 -0
- package/node_modules/@aws-amplify/plugin-types/lib/resource_provider.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/lib/unique_backend_identifier.d.ts +25 -0
- package/node_modules/@aws-amplify/plugin-types/lib/unique_backend_identifier.js +3 -0
- package/node_modules/@aws-amplify/plugin-types/package.json +20 -0
- package/node_modules/graphql-mapping-template/CHANGELOG.md +0 -4
- package/node_modules/graphql-mapping-template/package.json +2 -3
- package/node_modules/graphql-transformer-common/API.md +3 -21
- package/node_modules/graphql-transformer-common/CHANGELOG.md +2 -7
- package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts +3 -0
- package/node_modules/graphql-transformer-common/lib/ResourceConstants.d.ts.map +1 -1
- package/node_modules/graphql-transformer-common/lib/ResourceConstants.js +3 -0
- package/node_modules/graphql-transformer-common/lib/ResourceConstants.js.map +1 -1
- package/node_modules/graphql-transformer-common/lib/definition.d.ts +2 -9
- package/node_modules/graphql-transformer-common/lib/definition.d.ts.map +1 -1
- package/node_modules/graphql-transformer-common/lib/definition.js +1 -52
- package/node_modules/graphql-transformer-common/lib/definition.js.map +1 -1
- package/node_modules/graphql-transformer-common/lib/util.d.ts.map +1 -1
- package/node_modules/graphql-transformer-common/lib/util.js +1 -3
- package/node_modules/graphql-transformer-common/lib/util.js.map +1 -1
- package/node_modules/graphql-transformer-common/package.json +6 -6
- package/package.json +25 -27
- package/src/amplify-dynamodb-table-wrapper.ts +177 -0
- package/src/amplify-graphql-api.ts +14 -76
- package/src/amplify-graphql-definition.ts +60 -20
- package/src/index.ts +13 -6
- package/src/internal/authorization-modes.ts +22 -1
- package/src/internal/construct-exports.ts +7 -0
- package/src/internal/data-source-config.ts +39 -0
- package/src/internal/index.ts +1 -1
- package/src/internal/model-type-name.ts +30 -0
- package/src/types.ts +59 -118
- package/babel.config.js +0 -13
- package/lib/internal/amplify-metadata.d.ts +0 -6
- package/lib/internal/amplify-metadata.js +0 -58
- package/lib/sql-model-datasource-binding.d.ts +0 -20
- package/lib/sql-model-datasource-binding.js +0 -42
- package/node_modules/@aws-amplify/backend-output-schemas/lib/index.internal.d.ts +0 -3
- package/node_modules/@aws-amplify/backend-output-schemas/lib/index.internal.js +0 -27
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts +0 -20
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js +0 -24
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/ddb-vtl-generator.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/field.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/helpers.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/index.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.create.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.delete.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/mutation.update.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts +0 -6
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/query.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/search.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts +0 -3
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/ddb/resolvers/subscriptions.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts +0 -20
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js +0 -24
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/rds-vtl-generator.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts +0 -13
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js +0 -157
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/common.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts +0 -5
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js +0 -21
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/index.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts +0 -8
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js +0 -56
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/mutation.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts +0 -8
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js +0 -41
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js +0 -18
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/subscription.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts +0 -19
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js +0 -3
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/vtl-generator.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts +0 -10
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js +0 -102
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-name-mapping.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts +0 -13
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js +0 -81
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/graphql-refers-to-transformer.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts +0 -13
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js +0 -171
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/ddb-generator.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts +0 -4
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js +0 -18
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator-factory.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts +0 -8
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js +0 -7
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/generator.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts +0 -14
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js +0 -115
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/API.md +0 -26
- package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +0 -10
- package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-sql-transformer/README.md +0 -13
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts +0 -12
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js +0 -132
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/graphql-sql-transformer.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts +0 -2
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js +0 -6
- package/node_modules/@aws-amplify/graphql-sql-transformer/lib/index.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +0 -71
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.d.ts +0 -6
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.js +0 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/config/project-config.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts +0 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js +0 -5
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/api-category.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts +0 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js +0 -19
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts +0 -14
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.d.ts.map +0 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js +0 -82
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/rds-util.js.map +0 -1
- package/node_modules/graphql-mapping-template/LICENSE +0 -201
- package/remove-module-type-from-package-json.ts +0 -19
- package/src/internal/amplify-metadata.ts +0 -58
- package/src/sql-model-datasource-binding.ts +0 -45
- /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/index.d.ts +0 -0
- /package/node_modules/@aws-amplify/graphql-auth-transformer/lib/{vtl-generator/ddb/resolvers → resolvers}/index.js +0 -0
package/.jsii
CHANGED
@@ -6,29 +6,30 @@
|
|
6
6
|
]
|
7
7
|
},
|
8
8
|
"bundled": {
|
9
|
-
"@aws-amplify/backend-output-schemas": "^0.2.
|
10
|
-
"@aws-amplify/backend-output-storage": "^0.
|
11
|
-
"@aws-amplify/graphql-auth-transformer": "3.
|
12
|
-
"@aws-amplify/graphql-default-value-transformer": "2.1.
|
13
|
-
"@aws-amplify/graphql-function-transformer": "2.1.
|
14
|
-
"@aws-amplify/graphql-http-transformer": "2.1.
|
15
|
-
"@aws-amplify/graphql-index-transformer": "2.2.0-
|
16
|
-
"@aws-amplify/graphql-maps-to-transformer": "3.
|
17
|
-
"@aws-amplify/graphql-model-transformer": "2.3.0-
|
18
|
-
"@aws-amplify/graphql-predictions-transformer": "2.1.
|
19
|
-
"@aws-amplify/graphql-relational-transformer": "2.2.0-
|
20
|
-
"@aws-amplify/graphql-searchable-transformer": "2.
|
21
|
-
"@aws-amplify/graphql-
|
22
|
-
"@aws-amplify/graphql-transformer": "
|
23
|
-
"@aws-amplify/graphql-transformer-
|
24
|
-
"@aws-amplify/
|
9
|
+
"@aws-amplify/backend-output-schemas": "^0.2.1",
|
10
|
+
"@aws-amplify/backend-output-storage": "^0.2.0",
|
11
|
+
"@aws-amplify/graphql-auth-transformer": "3.1.11-construct-publish-test.0",
|
12
|
+
"@aws-amplify/graphql-default-value-transformer": "2.1.9-construct-publish-test.0",
|
13
|
+
"@aws-amplify/graphql-function-transformer": "2.1.8-construct-publish-test.0",
|
14
|
+
"@aws-amplify/graphql-http-transformer": "2.1.8-construct-publish-test.0",
|
15
|
+
"@aws-amplify/graphql-index-transformer": "2.2.0-construct-publish-test.0",
|
16
|
+
"@aws-amplify/graphql-maps-to-transformer": "3.2.6-construct-publish-test.0",
|
17
|
+
"@aws-amplify/graphql-model-transformer": "2.3.0-construct-publish-test.0",
|
18
|
+
"@aws-amplify/graphql-predictions-transformer": "2.1.8-construct-publish-test.0",
|
19
|
+
"@aws-amplify/graphql-relational-transformer": "2.2.0-construct-publish-test.0",
|
20
|
+
"@aws-amplify/graphql-searchable-transformer": "2.2.5-construct-publish-test.0",
|
21
|
+
"@aws-amplify/graphql-transformer": "1.3.0-construct-publish-test.0",
|
22
|
+
"@aws-amplify/graphql-transformer-core": "2.3.0-construct-publish-test.0",
|
23
|
+
"@aws-amplify/graphql-transformer-interfaces": "3.3.0-construct-publish-test.0",
|
24
|
+
"@aws-amplify/platform-core": "^0.1.3",
|
25
|
+
"@aws-amplify/plugin-types": "^0.3.0",
|
25
26
|
"charenc": "^0.0.2",
|
26
27
|
"crypt": "^0.0.2",
|
27
28
|
"fs-extra": "^8.1.0",
|
28
29
|
"graceful-fs": "^4.2.11",
|
29
30
|
"graphql": "^15.5.0",
|
30
|
-
"graphql-mapping-template": "4.20.
|
31
|
-
"graphql-transformer-common": "4.26.0-
|
31
|
+
"graphql-mapping-template": "4.20.12",
|
32
|
+
"graphql-transformer-common": "4.26.0-construct-publish-test.0",
|
32
33
|
"hjson": "^3.2.2",
|
33
34
|
"immer": "^9.0.12",
|
34
35
|
"is-buffer": "^2.0.5",
|
@@ -3488,7 +3489,7 @@
|
|
3488
3489
|
"stability": "stable"
|
3489
3490
|
},
|
3490
3491
|
"homepage": "https://github.com/aws-amplify/amplify-category-api.git",
|
3491
|
-
"jsiiVersion": "5.
|
3492
|
+
"jsiiVersion": "5.1.12 (build 0675712)",
|
3492
3493
|
"keywords": [
|
3493
3494
|
"awscdk",
|
3494
3495
|
"aws-cdk",
|
@@ -3509,7 +3510,7 @@
|
|
3509
3510
|
},
|
3510
3511
|
"name": "@aws-amplify/graphql-api-construct",
|
3511
3512
|
"readme": {
|
3512
|
-
"markdown": "# Amplify Graphql API Construct\n\n[![View on Construct Hub](https://constructs.dev/badge?package=%40aws-amplify%2Fgraphql-construct-alpha)](https://constructs.dev/packages/@aws-amplify/graphql-api-construct)\n\nThis 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/).\n\nThe primary way to use this construct is to invoke it with a provided schema (either as an inline graphql string, or as one or more `appsync.SchemaFile`) objects, and with authorization config provided. There are 5 supported methods for authorization of an AppSync API, all of which are supported by this construct. For more information on authorization rule definitions in Amplify, refer to the [authorization docs](https://docs.amplify.aws/cli/graphql/authorization-rules/). Note: currently at least one authorization rule is required, and if multiple are specified, a `defaultAuthorizationMode` must be specified on the api as well. Specified authorization modes must be a superset of those configured in the graphql schema.\n\nNote: only a single instance of the `AmplifyGraphqlApi` construct can be invoked within a CDK synthesis at this point in time.\n\n## Examples\n\n### Simple Todo List With Cognito Userpool-based Owner Authorization\n\nIn this example, we create a single model, which will use `user pool` auth in order to allow logged in users to create and manage their own `todos` privately.\n\nWe create a cdk App and Stack, though you may be deploying this to a custom stack, this is purely illustrative for a concise demo.\n\nWe then wire this through to import a user pool which was already deployed (creating and deploying is out of scope for this example).\n\n```ts\nimport { App, Stack } from 'aws-cdk-lib';\nimport { UserPool } from 'aws-cdk-lib/aws-cognito';\nimport { AmplifyGraphqlApi, AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct';\n\nconst app = new App();\nconst stack = new Stack(app, 'TodoStack');\n\nnew AmplifyGraphqlApi(stack, 'TodoApp', {\n definition: AmplifyGraphqlDefinition.fromString(/* GraphQL */ `\n type Todo @model @auth(rules: [{ allow: owner }]) {\n description: String!\n completed: Boolean\n }\n `),\n authorizationModes: {\n userPoolConfig: {\n userPool: UserPool.fromUserPoolId(stack, 'ImportedUserPool', '<YOUR_USER_POOL_ID>'),\n },\n },\n});\n```\n\n### Multiple related models, with public read access, and admin read/write access\n\nIn this example, we create a two related models, which will use which logged in users in the 'Author' and 'Admin' user groups will have\nfull access to, and customers requesting with api key will only have read permissions on.\n\n```ts\nimport { App, Stack } from 'aws-cdk-lib';\nimport { UserPool } from 'aws-cdk-lib/aws-cognito';\nimport { AmplifyGraphqlApi, AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct';\n\nconst app = new App();\nconst stack = new Stack(app, 'BlogStack');\n\nnew AmplifyGraphqlApi(stack, 'BlogApp', {\n definition: AmplifyGraphqlDefinition.fromString(/* GraphQL */ `\n type Blog @model @auth(rules: [{ allow: public, operations: [read] }, { allow: groups, groups: [\"Author\", \"Admin\"] }]) {\n title: String!\n description: String\n posts: [Post] @hasMany\n }\n\n type Post @model @auth(rules: [{ allow: public, operations: [read] }, { allow: groups, groups: [\"Author\", \"Admin\"] }]) {\n title: String!\n content: [String]\n blog: Blog @belongsTo\n }\n `),\n authorizationModes: {\n defaultAuthorizationMode: 'API_KEY',\n apiKeyConfig: {\n description: 'Api Key for public access',\n expires: cdk.Duration.days(7),\n },\n userPoolConfig: {\n userPool: UserPool.fromUserPoolId(stack, 'ImportedUserPool', '<YOUR_USER_POOL_ID>'),\n },\n },\n});\n```\n\n### Import GraphQL Schema from files, instead of inline.\n\nIn this example, we import the schema definition itself from one or more local file, rather than an inline graphql string.\n\n```graphql\n# todo.graphql\ntype Todo @model @auth(rules: [{ allow: owner }]) {\n content: String!\n done: Boolean\n}\n```\n\n```graphql\n# blog.graphql\ntype Blog @model @auth(rules: [{ allow: owner }, { allow: public, operations: [read] }]) {\n title: String!\n description: String\n posts: [Post] @hasMany\n}\n\ntype Post @model @auth(rules: [{ allow: owner }, { allow: public, operations: [read] }]) {\n title: String!\n content: [String]\n blog: Blog @belongsTo\n}\n```\n\n```ts\n// app.ts\nimport { App, Stack } from 'aws-cdk-lib';\nimport { UserPool } from 'aws-cdk-lib/aws-cognito';\nimport { AmplifyGraphqlApi, AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct';\n\nconst app = new App();\nconst stack = new Stack(app, 'MultiFileStack');\n\nnew AmplifyGraphqlApi(stack, 'MultiFileDefinition', {\n definition: AmplifyGraphqlDefinition.fromFiles(path.join(__dirname, 'todo.graphql'), path.join(__dirname, 'blog.graphql')),\n authorizationModes: {\n defaultAuthorizationMode: 'API_KEY',\n apiKeyConfig: {\n description: 'Api Key for public access',\n expires: cdk.Duration.days(7),\n },\n userPoolConfig: {\n userPool: UserPool.fromUserPoolId(stack, 'ImportedUserPool', '<YOUR_USER_POOL_ID>'),\n },\n },\n});\n```\n\n# API Reference <a name=\"API Reference\" id=\"api-reference\"></a>\n\n## Constructs <a name=\"Constructs\" id=\"Constructs\"></a>\n\n### AmplifyGraphqlApi <a name=\"AmplifyGraphqlApi\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi\"></a>\n\nL3 Construct which invokes the Amplify Transformer Pattern over an input Graphql Schema.\n\nThis can be used to quickly define appsync apis which support full CRUD+List and Subscriptions, relationships,\nauth, search over data, the ability to inject custom business logic and query/mutation operations, and connect to ML services.\n\nFor more information, refer to the docs links below:\nData Modeling - https://docs.amplify.aws/cli/graphql/data-modeling/\nAuthorization - https://docs.amplify.aws/cli/graphql/authorization-rules/\nCustom Business Logic - https://docs.amplify.aws/cli/graphql/custom-business-logic/\nSearch - https://docs.amplify.aws/cli/graphql/search-and-result-aggregations/\nML Services - https://docs.amplify.aws/cli/graphql/connect-to-machine-learning-services/\n\nFor a full reference of the supported custom graphql directives - https://docs.amplify.aws/cli/graphql/directives-reference/\n\nThe output of this construct is a mapping of L2 or L1 resources generated by the transformer, which generally follow the access pattern\n\n```typescript\n const api = new AmplifyGraphQlApi(this, 'api', { <params> });\n // Access L2 resources under `.resources`\n api.resources.tables[\"Todo\"].tableArn;\n\n // Access L1 resources under `.resources.cfnResources`\n api.resources.cfnResources.cfnGraphqlApi.xrayEnabled = true;\n Object.values(api.resources.cfnResources.cfnTables).forEach(table => {\n table.pointInTimeRecoverySpecification = { pointInTimeRecoveryEnabled: false };\n });\n```\n\n`resources.<ResourceType>.<ResourceName>` - you can then perform any CDK action on these resulting resoureces.\n\n#### Initializers <a name=\"Initializers\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer\"></a>\n\n```typescript\nimport { AmplifyGraphqlApi } from '@aws-amplify/graphql-api-construct'\n\nnew AmplifyGraphqlApi(scope: Construct, id: string, props: AmplifyGraphqlApiProps)\n```\n\n| **Name** | **Type** | **Description** |\n| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.scope\">scope</a></code> | <code>constructs.Construct</code> | the scope to create this construct within. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.id\">id</a></code> | <code>string</code> | the id to use for this api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.props\">props</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps\">AmplifyGraphqlApiProps</a></code> | the properties used to configure the generated api. |\n\n---\n\n##### `scope`<sup>Required</sup> <a name=\"scope\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.scope\"></a>\n\n- _Type:_ constructs.Construct\n\nthe scope to create this construct within.\n\n---\n\n##### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.id\"></a>\n\n- _Type:_ string\n\nthe id to use for this api.\n\n---\n\n##### `props`<sup>Required</sup> <a name=\"props\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.props\"></a>\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps\">AmplifyGraphqlApiProps</a>\n\nthe properties used to configure the generated api.\n\n---\n\n#### Methods <a name=\"Methods\" id=\"Methods\"></a>\n\n| **Name** | **Description** |\n| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.toString\">toString</a></code> | Returns a string representation of this construct. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addDynamoDbDataSource\">addDynamoDbDataSource</a></code> | Add a new DynamoDB data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addElasticsearchDataSource\">addElasticsearchDataSource</a></code> | Add a new elasticsearch data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addEventBridgeDataSource\">addEventBridgeDataSource</a></code> | Add an EventBridge data source to this api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addFunction\">addFunction</a></code> | Add an appsync function to the api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addHttpDataSource\">addHttpDataSource</a></code> | Add a new http data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addLambdaDataSource\">addLambdaDataSource</a></code> | Add a new Lambda data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addNoneDataSource\">addNoneDataSource</a></code> | Add a new dummy data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addOpenSearchDataSource\">addOpenSearchDataSource</a></code> | dd a new OpenSearch data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource\">addRdsDataSource</a></code> | Add a new Rds data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addResolver\">addResolver</a></code> | Add a resolver to the api. |\n\n---\n\n##### `toString` <a name=\"toString\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.toString\"></a>\n\n```typescript\npublic toString(): string\n```\n\nReturns a string representation of this construct.\n\n##### `addDynamoDbDataSource` <a name=\"addDynamoDbDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addDynamoDbDataSource\"></a>\n\n```typescript\npublic addDynamoDbDataSource(id: string, table: ITable, options?: DataSourceOptions): DynamoDbDataSource\n```\n\nAdd a new DynamoDB data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addDynamoDbDataSource.parameter.id\"></a>\n\n- _Type:_ string\n\nThe data source's id.\n\n---\n\n###### `table`<sup>Required</sup> <a name=\"table\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addDynamoDbDataSource.parameter.table\"></a>\n\n- _Type:_ aws-cdk-lib.aws_dynamodb.ITable\n\nThe DynamoDB table backing this data source.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addDynamoDbDataSource.parameter.options\"></a>\n\n- _Type:_ aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### ~~`addElasticsearchDataSource`~~ <a name=\"addElasticsearchDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addElasticsearchDataSource\"></a>\n\n```typescript\npublic addElasticsearchDataSource(id: string, domain: IDomain, options?: DataSourceOptions): ElasticsearchDataSource\n```\n\nAdd a new elasticsearch data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addElasticsearchDataSource.parameter.id\"></a>\n\n- _Type:_ string\n\nThe data source's id.\n\n---\n\n###### `domain`<sup>Required</sup> <a name=\"domain\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addElasticsearchDataSource.parameter.domain\"></a>\n\n- _Type:_ aws-cdk-lib.aws_elasticsearch.IDomain\n\nThe elasticsearch domain for this data source.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addElasticsearchDataSource.parameter.options\"></a>\n\n- _Type:_ aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addEventBridgeDataSource` <a name=\"addEventBridgeDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addEventBridgeDataSource\"></a>\n\n```typescript\npublic addEventBridgeDataSource(id: string, eventBus: IEventBus, options?: DataSourceOptions): EventBridgeDataSource\n```\n\nAdd an EventBridge data source to this api.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addEventBridgeDataSource.parameter.id\"></a>\n\n- _Type:_ string\n\nThe data source's id.\n\n---\n\n###### `eventBus`<sup>Required</sup> <a name=\"eventBus\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addEventBridgeDataSource.parameter.eventBus\"></a>\n\n- _Type:_ aws-cdk-lib.aws_events.IEventBus\n\nThe EventBridge EventBus on which to put events.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addEventBridgeDataSource.parameter.options\"></a>\n\n- _Type:_ aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addFunction` <a name=\"addFunction\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addFunction\"></a>\n\n```typescript\npublic addFunction(id: string, props: AddFunctionProps): AppsyncFunction\n```\n\nAdd an appsync function to the api.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addFunction.parameter.id\"></a>\n\n- _Type:_ string\n\nthe function's id.\n\n---\n\n###### `props`<sup>Required</sup> <a name=\"props\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addFunction.parameter.props\"></a>\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps\">AddFunctionProps</a>\n\n---\n\n##### `addHttpDataSource` <a name=\"addHttpDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addHttpDataSource\"></a>\n\n```typescript\npublic addHttpDataSource(id: string, endpoint: string, options?: HttpDataSourceOptions): HttpDataSource\n```\n\nAdd a new http data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addHttpDataSource.parameter.id\"></a>\n\n- _Type:_ string\n\nThe data source's id.\n\n---\n\n###### `endpoint`<sup>Required</sup> <a name=\"endpoint\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addHttpDataSource.parameter.endpoint\"></a>\n\n- _Type:_ string\n\nThe http endpoint.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addHttpDataSource.parameter.options\"></a>\n\n- _Type:_ aws-cdk-lib.aws_appsync.HttpDataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addLambdaDataSource` <a name=\"addLambdaDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addLambdaDataSource\"></a>\n\n```typescript\npublic addLambdaDataSource(id: string, lambdaFunction: IFunction, options?: DataSourceOptions): LambdaDataSource\n```\n\nAdd a new Lambda data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addLambdaDataSource.parameter.id\"></a>\n\n- _Type:_ string\n\nThe data source's id.\n\n---\n\n###### `lambdaFunction`<sup>Required</sup> <a name=\"lambdaFunction\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addLambdaDataSource.parameter.lambdaFunction\"></a>\n\n- _Type:_ aws-cdk-lib.aws_lambda.IFunction\n\nThe Lambda function to call to interact with this data source.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addLambdaDataSource.parameter.options\"></a>\n\n- _Type:_ aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addNoneDataSource` <a name=\"addNoneDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addNoneDataSource\"></a>\n\n```typescript\npublic addNoneDataSource(id: string, options?: DataSourceOptions): NoneDataSource\n```\n\nAdd a new dummy data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\nUseful for pipeline resolvers and for backend changes that don't require a data source.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addNoneDataSource.parameter.id\"></a>\n\n- _Type:_ string\n\nThe data source's id.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addNoneDataSource.parameter.options\"></a>\n\n- _Type:_ aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addOpenSearchDataSource` <a name=\"addOpenSearchDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addOpenSearchDataSource\"></a>\n\n```typescript\npublic addOpenSearchDataSource(id: string, domain: IDomain, options?: DataSourceOptions): OpenSearchDataSource\n```\n\ndd a new OpenSearch data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addOpenSearchDataSource.parameter.id\"></a>\n\n- _Type:_ string\n\nThe data source's id.\n\n---\n\n###### `domain`<sup>Required</sup> <a name=\"domain\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addOpenSearchDataSource.parameter.domain\"></a>\n\n- _Type:_ aws-cdk-lib.aws_opensearchservice.IDomain\n\nThe OpenSearch domain for this data source.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addOpenSearchDataSource.parameter.options\"></a>\n\n- _Type:_ aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addRdsDataSource` <a name=\"addRdsDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource\"></a>\n\n```typescript\npublic addRdsDataSource(id: string, serverlessCluster: IServerlessCluster, secretStore: ISecret, databaseName?: string, options?: DataSourceOptions): RdsDataSource\n```\n\nAdd a new Rds data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource.parameter.id\"></a>\n\n- _Type:_ string\n\nThe data source's id.\n\n---\n\n###### `serverlessCluster`<sup>Required</sup> <a name=\"serverlessCluster\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource.parameter.serverlessCluster\"></a>\n\n- _Type:_ aws-cdk-lib.aws_rds.IServerlessCluster\n\nThe serverless cluster to interact with this data source.\n\n---\n\n###### `secretStore`<sup>Required</sup> <a name=\"secretStore\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource.parameter.secretStore\"></a>\n\n- _Type:_ aws-cdk-lib.aws_secretsmanager.ISecret\n\nThe secret store that contains the username and password for the serverless cluster.\n\n---\n\n###### `databaseName`<sup>Optional</sup> <a name=\"databaseName\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource.parameter.databaseName\"></a>\n\n- _Type:_ string\n\nThe optional name of the database to use within the cluster.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource.parameter.options\"></a>\n\n- _Type:_ aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addResolver` <a name=\"addResolver\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addResolver\"></a>\n\n```typescript\npublic addResolver(id: string, props: ExtendedResolverProps): Resolver\n```\n\nAdd a resolver to the api.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addResolver.parameter.id\"></a>\n\n- _Type:_ string\n\nThe resolver's id.\n\n---\n\n###### `props`<sup>Required</sup> <a name=\"props\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addResolver.parameter.props\"></a>\n\n- _Type:_ aws-cdk-lib.aws_appsync.ExtendedResolverProps\n\nthe resolver properties.\n\n---\n\n#### Static Functions <a name=\"Static Functions\" id=\"Static Functions\"></a>\n\n| **Name** | **Description** |\n| -------------------------------------------------------------------------------------------------------- | ----------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.isConstruct\">isConstruct</a></code> | Checks if `x` is a construct. |\n\n---\n\n##### ~~`isConstruct`~~ <a name=\"isConstruct\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.isConstruct\"></a>\n\n```typescript\nimport { AmplifyGraphqlApi } from '@aws-amplify/graphql-api-construct'\n\nAmplifyGraphqlApi.isConstruct(x: any)\n```\n\nChecks if `x` is a construct.\n\n###### `x`<sup>Required</sup> <a name=\"x\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.isConstruct.parameter.x\"></a>\n\n- _Type:_ any\n\nAny object.\n\n---\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.node\">node</a></code> | <code>constructs.Node</code> | The tree node. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.apiId\">apiId</a></code> | <code>string</code> | Generated Api Id. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.generatedFunctionSlots\">generatedFunctionSlots</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> | Resolvers generated by the transform process, persisted on the side in order to facilitate pulling a manifest for the purposes of inspecting and producing overrides. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.graphqlUrl\">graphqlUrl</a></code> | <code>string</code> | Graphql URL For the generated API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.realtimeUrl\">realtimeUrl</a></code> | <code>string</code> | Realtime URL For the generated API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.resources\">resources</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources\">AmplifyGraphqlApiResources</a></code> | Generated L1 and L2 CDK resources. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.apiKey\">apiKey</a></code> | <code>string</code> | Generated Api Key if generated. |\n\n---\n\n##### `node`<sup>Required</sup> <a name=\"node\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.node\"></a>\n\n```typescript\npublic readonly node: Node;\n```\n\n- _Type:_ constructs.Node\n\nThe tree node.\n\n---\n\n##### `apiId`<sup>Required</sup> <a name=\"apiId\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.apiId\"></a>\n\n```typescript\npublic readonly apiId: string;\n```\n\n- *Type:* string\n\nGenerated Api Id.\n\nMay be a CDK Token.\n\n---\n\n##### `generatedFunctionSlots`<sup>Required</sup> <a name=\"generatedFunctionSlots\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.generatedFunctionSlots\"></a>\n\n```typescript\npublic readonly generatedFunctionSlots: MutationFunctionSlot | QueryFunctionSlot | SubscriptionFunctionSlot[];\n```\n\n- _Type:_ <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>[]\n\nResolvers generated by the transform process, persisted on the side in order to facilitate pulling a manifest for the purposes of inspecting and producing overrides.\n\n---\n\n##### `graphqlUrl`<sup>Required</sup> <a name=\"graphqlUrl\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.graphqlUrl\"></a>\n\n```typescript\npublic readonly graphqlUrl: string;\n```\n\n- _Type:_ string\n\nGraphql URL For the generated API.\n\nMay be a CDK Token.\n\n---\n\n##### `realtimeUrl`<sup>Required</sup> <a name=\"realtimeUrl\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.realtimeUrl\"></a>\n\n```typescript\npublic readonly realtimeUrl: string;\n```\n\n- _Type:_ string\n\nRealtime URL For the generated API.\n\nMay be a CDK Token.\n\n---\n\n##### `resources`<sup>Required</sup> <a name=\"resources\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.resources\"></a>\n\n```typescript\npublic readonly resources: AmplifyGraphqlApiResources;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources\">AmplifyGraphqlApiResources</a>\n\nGenerated L1 and L2 CDK resources.\n\n---\n\n##### `apiKey`<sup>Optional</sup> <a name=\"apiKey\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.apiKey\"></a>\n\n```typescript\npublic readonly apiKey: string;\n```\n\n- _Type:_ string\n\nGenerated Api Key if generated.\n\nMay be a CDK Token.\n\n---\n\n## Structs <a name=\"Structs\" id=\"Structs\"></a>\n\n### AddFunctionProps <a name=\"AddFunctionProps\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps\"></a>\n\nInput type properties when adding a new appsync.AppsyncFunction to the generated API. This is equivalent to the Omit<appsync.AppsyncFunctionProps, 'api'>.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.Initializer\"></a>\n\n```typescript\nimport { AddFunctionProps } from '@aws-amplify/graphql-api-construct'\n\nconst addFunctionProps: AddFunctionProps = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.dataSource\">dataSource</a></code> | <code>aws-cdk-lib.aws_appsync.BaseDataSource</code> | the data source linked to this AppSync Function. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.name\">name</a></code> | <code>string</code> | the name of the AppSync Function. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.code\">code</a></code> | <code>aws-cdk-lib.aws_appsync.Code</code> | The function code. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.description\">description</a></code> | <code>string</code> | the description for this AppSync Function. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.requestMappingTemplate\">requestMappingTemplate</a></code> | <code>aws-cdk-lib.aws_appsync.MappingTemplate</code> | the request mapping template for the AppSync Function. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.responseMappingTemplate\">responseMappingTemplate</a></code> | <code>aws-cdk-lib.aws_appsync.MappingTemplate</code> | the response mapping template for the AppSync Function. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.runtime\">runtime</a></code> | <code>aws-cdk-lib.aws_appsync.FunctionRuntime</code> | The functions runtime. |\n\n---\n\n##### `dataSource`<sup>Required</sup> <a name=\"dataSource\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.dataSource\"></a>\n\n```typescript\npublic readonly dataSource: BaseDataSource;\n```\n\n- _Type:_ aws-cdk-lib.aws_appsync.BaseDataSource\n\nthe data source linked to this AppSync Function.\n\n---\n\n##### `name`<sup>Required</sup> <a name=\"name\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.name\"></a>\n\n```typescript\npublic readonly name: string;\n```\n\n- _Type:_ string\n\nthe name of the AppSync Function.\n\n---\n\n##### `code`<sup>Optional</sup> <a name=\"code\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.code\"></a>\n\n```typescript\npublic readonly code: Code;\n```\n\n- _Type:_ aws-cdk-lib.aws_appsync.Code\n- _Default:_ no code is used\n\nThe function code.\n\n---\n\n##### `description`<sup>Optional</sup> <a name=\"description\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.description\"></a>\n\n```typescript\npublic readonly description: string;\n```\n\n- _Type:_ string\n- _Default:_ no description\n\nthe description for this AppSync Function.\n\n---\n\n##### `requestMappingTemplate`<sup>Optional</sup> <a name=\"requestMappingTemplate\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.requestMappingTemplate\"></a>\n\n```typescript\npublic readonly requestMappingTemplate: MappingTemplate;\n```\n\n- _Type:_ aws-cdk-lib.aws_appsync.MappingTemplate\n- _Default:_ no request mapping template\n\nthe request mapping template for the AppSync Function.\n\n---\n\n##### `responseMappingTemplate`<sup>Optional</sup> <a name=\"responseMappingTemplate\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.responseMappingTemplate\"></a>\n\n```typescript\npublic readonly responseMappingTemplate: MappingTemplate;\n```\n\n- _Type:_ aws-cdk-lib.aws_appsync.MappingTemplate\n- _Default:_ no response mapping template\n\nthe response mapping template for the AppSync Function.\n\n---\n\n##### `runtime`<sup>Optional</sup> <a name=\"runtime\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.runtime\"></a>\n\n```typescript\npublic readonly runtime: FunctionRuntime;\n```\n\n- _Type:_ aws-cdk-lib.aws_appsync.FunctionRuntime\n- _Default:_ no function runtime, VTL mapping templates used\n\nThe functions runtime.\n\n---\n\n### AmplifyGraphqlApiCfnResources <a name=\"AmplifyGraphqlApiCfnResources\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources\"></a>\n\nL1 CDK resources from the Api which were generated as part of the transform.\n\nThese are potentially stored under nested stacks, but presented organized by type instead.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.Initializer\"></a>\n\n```typescript\nimport { AmplifyGraphqlApiCfnResources } from '@aws-amplify/graphql-api-construct'\n\nconst amplifyGraphqlApiCfnResources: AmplifyGraphqlApiCfnResources = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.additionalCfnResources\">additionalCfnResources</a></code> | <code>{[ key: string ]: aws-cdk-lib.CfnResource}</code> | Remaining L1 resources generated, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnDataSources\">cfnDataSources</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_appsync.CfnDataSource}</code> | The Generated AppSync DataSource L1 Resources, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnFunctionConfigurations\">cfnFunctionConfigurations</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_appsync.CfnFunctionConfiguration}</code> | The Generated AppSync Function L1 Resources, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnFunctions\">cfnFunctions</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_lambda.CfnFunction}</code> | The Generated Lambda Function L1 Resources, keyed by function name. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnGraphqlApi\">cfnGraphqlApi</a></code> | <code>aws-cdk-lib.aws_appsync.CfnGraphQLApi</code> | The Generated AppSync Api L1 Resource. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnGraphqlSchema\">cfnGraphqlSchema</a></code> | <code>aws-cdk-lib.aws_appsync.CfnGraphQLSchema</code> | The Generated AppSync Schema L1 Resource. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnResolvers\">cfnResolvers</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_appsync.CfnResolver}</code> | The Generated AppSync Resolver L1 Resources, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnRoles\">cfnRoles</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_iam.CfnRole}</code> | The Generated IAM Role L1 Resources, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnTables\">cfnTables</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_dynamodb.CfnTable}</code> | The Generated DynamoDB Table L1 Resources, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnApiKey\">cfnApiKey</a></code> | <code>aws-cdk-lib.aws_appsync.CfnApiKey</code> | The Generated AppSync Api Key L1 Resource. |\n\n---\n\n##### `additionalCfnResources`<sup>Required</sup> <a name=\"additionalCfnResources\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.additionalCfnResources\"></a>\n\n```typescript\npublic readonly additionalCfnResources: {[ key: string ]: CfnResource};\n```\n\n- _Type:_ {[ key: string ]: aws-cdk-lib.CfnResource}\n\nRemaining L1 resources generated, keyed by logicalId.\n\n---\n\n##### `cfnDataSources`<sup>Required</sup> <a name=\"cfnDataSources\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnDataSources\"></a>\n\n```typescript\npublic readonly cfnDataSources: {[ key: string ]: CfnDataSource};\n```\n\n- _Type:_ {[ key: string ]: aws-cdk-lib.aws_appsync.CfnDataSource}\n\nThe Generated AppSync DataSource L1 Resources, keyed by logicalId.\n\n---\n\n##### `cfnFunctionConfigurations`<sup>Required</sup> <a name=\"cfnFunctionConfigurations\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnFunctionConfigurations\"></a>\n\n```typescript\npublic readonly cfnFunctionConfigurations: {[ key: string ]: CfnFunctionConfiguration};\n```\n\n- _Type:_ {[ key: string ]: aws-cdk-lib.aws_appsync.CfnFunctionConfiguration}\n\nThe Generated AppSync Function L1 Resources, keyed by logicalId.\n\n---\n\n##### `cfnFunctions`<sup>Required</sup> <a name=\"cfnFunctions\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnFunctions\"></a>\n\n```typescript\npublic readonly cfnFunctions: {[ key: string ]: CfnFunction};\n```\n\n- _Type:_ {[ key: string ]: aws-cdk-lib.aws_lambda.CfnFunction}\n\nThe Generated Lambda Function L1 Resources, keyed by function name.\n\n---\n\n##### `cfnGraphqlApi`<sup>Required</sup> <a name=\"cfnGraphqlApi\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnGraphqlApi\"></a>\n\n```typescript\npublic readonly cfnGraphqlApi: CfnGraphQLApi;\n```\n\n- _Type:_ aws-cdk-lib.aws_appsync.CfnGraphQLApi\n\nThe Generated AppSync Api L1 Resource.\n\n---\n\n##### `cfnGraphqlSchema`<sup>Required</sup> <a name=\"cfnGraphqlSchema\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnGraphqlSchema\"></a>\n\n```typescript\npublic readonly cfnGraphqlSchema: CfnGraphQLSchema;\n```\n\n- _Type:_ aws-cdk-lib.aws_appsync.CfnGraphQLSchema\n\nThe Generated AppSync Schema L1 Resource.\n\n---\n\n##### `cfnResolvers`<sup>Required</sup> <a name=\"cfnResolvers\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnResolvers\"></a>\n\n```typescript\npublic readonly cfnResolvers: {[ key: string ]: CfnResolver};\n```\n\n- _Type:_ {[ key: string ]: aws-cdk-lib.aws_appsync.CfnResolver}\n\nThe Generated AppSync Resolver L1 Resources, keyed by logicalId.\n\n---\n\n##### `cfnRoles`<sup>Required</sup> <a name=\"cfnRoles\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnRoles\"></a>\n\n```typescript\npublic readonly cfnRoles: {[ key: string ]: CfnRole};\n```\n\n- _Type:_ {[ key: string ]: aws-cdk-lib.aws_iam.CfnRole}\n\nThe Generated IAM Role L1 Resources, keyed by logicalId.\n\n---\n\n##### `cfnTables`<sup>Required</sup> <a name=\"cfnTables\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnTables\"></a>\n\n```typescript\npublic readonly cfnTables: {[ key: string ]: CfnTable};\n```\n\n- _Type:_ {[ key: string ]: aws-cdk-lib.aws_dynamodb.CfnTable}\n\nThe Generated DynamoDB Table L1 Resources, keyed by logicalId.\n\n---\n\n##### `cfnApiKey`<sup>Optional</sup> <a name=\"cfnApiKey\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnApiKey\"></a>\n\n```typescript\npublic readonly cfnApiKey: CfnApiKey;\n```\n\n- _Type:_ aws-cdk-lib.aws_appsync.CfnApiKey\n\nThe Generated AppSync Api Key L1 Resource.\n\n---\n\n### AmplifyGraphqlApiProps <a name=\"AmplifyGraphqlApiProps\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps\"></a>\n\nInput props for the AmplifyGraphqlApi construct.\n\nSpecifies what the input to transform into an Api, and configurations for\nthe transformation process.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.Initializer\"></a>\n\n```typescript\nimport { AmplifyGraphqlApiProps } from '@aws-amplify/graphql-api-construct'\n\nconst amplifyGraphqlApiProps: AmplifyGraphqlApiProps = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.authorizationModes\">authorizationModes</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes\">AuthorizationModes</a></code> | Required auth modes for the Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.definition\">definition</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition\">IAmplifyGraphqlDefinition</a></code> | The definition to transform in a full Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.apiName\">apiName</a></code> | <code>string</code> | Name to be used for the AppSync Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.conflictResolution\">conflictResolution</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.ConflictResolution\">ConflictResolution</a></code> | Configure conflict resolution on the Api, which is required to enable DataStore Api functionality. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.functionNameMap\">functionNameMap</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}</code> | Lambda functions referenced in the definitions's. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.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> | Overrides for a given slot in the generated resolver pipelines. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.outputStorageStrategy\">outputStorageStrategy</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy\">IBackendOutputStorageStrategy</a></code> | Strategy to store construct outputs. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.predictionsBucket\">predictionsBucket</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | If using predictions, a bucket must be provided which will be used to search for assets. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.stackMappings\">stackMappings</a></code> | <code>{[ key: string ]: string}</code> | StackMappings override the assigned nested stack on a per-resource basis. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.transformerPlugins\">transformerPlugins</a></code> | <code>any[]</code> | Provide a list of additional custom transformers which are injected into the transform process. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.translationBehavior\">translationBehavior</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior\">PartialTranslationBehavior</a></code> | This replaces feature flags from the Api construct, for general information on what these parameters do, refer to https://docs.amplify.aws/cli/reference/feature-flags/#graphQLTransformer. |\n\n---\n\n##### `authorizationModes`<sup>Required</sup> <a name=\"authorizationModes\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.authorizationModes\"></a>\n\n```typescript\npublic readonly authorizationModes: AuthorizationModes;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes\">AuthorizationModes</a>\n\nRequired auth modes for the Api.\n\nThis object must be a superset of the configured auth providers in the Api definition.\nFor more information, refer to https://docs.amplify.aws/cli/graphql/authorization-rules/\n\n---\n\n##### `definition`<sup>Required</sup> <a name=\"definition\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.definition\"></a>\n\n```typescript\npublic readonly definition: IAmplifyGraphqlDefinition;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition\">IAmplifyGraphqlDefinition</a>\n\nThe definition to transform in a full Api.\n\nCan be constructed via the AmplifyGraphqlDefinition class.\n\n---\n\n##### `apiName`<sup>Optional</sup> <a name=\"apiName\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.apiName\"></a>\n\n```typescript\npublic readonly apiName: string;\n```\n\n- _Type:_ string\n\nName to be used for the AppSync Api.\n\nDefault: construct id.\n\n---\n\n##### `conflictResolution`<sup>Optional</sup> <a name=\"conflictResolution\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.conflictResolution\"></a>\n\n```typescript\npublic readonly conflictResolution: ConflictResolution;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.ConflictResolution\">ConflictResolution</a>\n\nConfigure conflict resolution on the Api, which is required to enable DataStore Api functionality.\n\nFor more information, refer to https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/\n\n---\n\n##### `functionNameMap`<sup>Optional</sup> <a name=\"functionNameMap\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.functionNameMap\"></a>\n\n```typescript\npublic readonly functionNameMap: {[ key: string ]: IFunction};\n```\n\n- _Type:_ {[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}\n\nLambda functions referenced in the definitions's.\n\n---\n\n##### `functionSlots`<sup>Optional</sup> <a name=\"functionSlots\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.functionSlots\"></a>\n\n```typescript\npublic readonly functionSlots: MutationFunctionSlot | QueryFunctionSlot | SubscriptionFunctionSlot[];\n```\n\n- _Type:_ <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>[]\n\nOverrides for a given slot in the generated resolver pipelines.\n\nFor more information about what slots are available,\nrefer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#override-amplify-generated-resolvers.\n\n---\n\n##### `outputStorageStrategy`<sup>Optional</sup> <a name=\"outputStorageStrategy\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.outputStorageStrategy\"></a>\n\n```typescript\npublic readonly outputStorageStrategy: IBackendOutputStorageStrategy;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy\">IBackendOutputStorageStrategy</a>\n\nStrategy to store construct outputs.\n\nIf no outputStorageStrategey is provided a default strategy will be used.\n\n---\n\n##### `predictionsBucket`<sup>Optional</sup> <a name=\"predictionsBucket\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.predictionsBucket\"></a>\n\n```typescript\npublic readonly predictionsBucket: IBucket;\n```\n\n- _Type:_ aws-cdk-lib.aws_s3.IBucket\n\nIf using predictions, a bucket must be provided which will be used to search for assets.\n\n---\n\n##### `stackMappings`<sup>Optional</sup> <a name=\"stackMappings\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.stackMappings\"></a>\n\n```typescript\npublic readonly stackMappings: {[ key: string ]: string};\n```\n\n- _Type:_ {[ key: string ]: string}\n\nStackMappings override the assigned nested stack on a per-resource basis.\n\nOnly applies to resolvers, and takes the form\n{ <logicalId>: <stackName> }\nIt is not recommended to use this parameter unless you are encountering stack resource count limits, and worth noting that\nafter initial deployment AppSync resolvers cannot be moved between nested stacks, they will need to be removed from the app,\nthen re-added from a new stack.\n\n---\n\n##### `transformerPlugins`<sup>Optional</sup> <a name=\"transformerPlugins\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.transformerPlugins\"></a>\n\n```typescript\npublic readonly transformerPlugins: any[];\n```\n\n- _Type:_ any[]\n\nProvide a list of additional custom transformers which are injected into the transform process.\n\nThese custom transformers must be implemented with aws-cdk-lib >=2.80.0, and\n\n---\n\n##### `translationBehavior`<sup>Optional</sup> <a name=\"translationBehavior\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.translationBehavior\"></a>\n\n```typescript\npublic readonly translationBehavior: PartialTranslationBehavior;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior\">PartialTranslationBehavior</a>\n\nThis replaces feature flags from the Api construct, for general information on what these parameters do, refer to https://docs.amplify.aws/cli/reference/feature-flags/#graphQLTransformer.\n\n---\n\n### AmplifyGraphqlApiResources <a name=\"AmplifyGraphqlApiResources\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources\"></a>\n\nAccessible resources from the Api which were generated as part of the transform.\n\nThese are potentially stored under nested stacks, but presented organized by type instead.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.Initializer\"></a>\n\n```typescript\nimport { AmplifyGraphqlApiResources } from '@aws-amplify/graphql-api-construct'\n\nconst amplifyGraphqlApiResources: AmplifyGraphqlApiResources = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |\n| <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. |\n| <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. |\n| <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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.nestedStacks\">nestedStacks</a></code> | <code>{[ key: string ]: aws-cdk-lib.NestedStack}</code> | Nested Stacks generated by the Api Construct. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.roles\">roles</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_iam.IRole}</code> | The Generated IAM Role L2 Resources, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.tables\">tables</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_dynamodb.ITable}</code> | The Generated DynamoDB Table L2 Resources, keyed by logicalId. |\n\n---\n\n##### `cfnResources`<sup>Required</sup> <a name=\"cfnResources\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.cfnResources\"></a>\n\n```typescript\npublic readonly cfnResources: AmplifyGraphqlApiCfnResources;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources\">AmplifyGraphqlApiCfnResources</a>\n\nL1 Cfn Resources, for when dipping down a level of abstraction is desirable.\n\n---\n\n##### `functions`<sup>Required</sup> <a name=\"functions\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.functions\"></a>\n\n```typescript\npublic readonly functions: {[ key: string ]: IFunction};\n```\n\n- _Type:_ {[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}\n\nThe Generated Lambda Function L1 Resources, keyed by function name.\n\n---\n\n##### `graphqlApi`<sup>Required</sup> <a name=\"graphqlApi\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.graphqlApi\"></a>\n\n```typescript\npublic readonly graphqlApi: IGraphqlApi;\n```\n\n- _Type:_ aws-cdk-lib.aws_appsync.IGraphqlApi\n\nThe Generated AppSync Api L2 Resource, includes the Schema.\n\n---\n\n##### `nestedStacks`<sup>Required</sup> <a name=\"nestedStacks\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.nestedStacks\"></a>\n\n```typescript\npublic readonly nestedStacks: {[ key: string ]: NestedStack};\n```\n\n- _Type:_ {[ key: string ]: aws-cdk-lib.NestedStack}\n\nNested Stacks generated by the Api Construct.\n\n---\n\n##### `roles`<sup>Required</sup> <a name=\"roles\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.roles\"></a>\n\n```typescript\npublic readonly roles: {[ key: string ]: IRole};\n```\n\n- _Type:_ {[ key: string ]: aws-cdk-lib.aws_iam.IRole}\n\nThe Generated IAM Role L2 Resources, keyed by logicalId.\n\n---\n\n##### `tables`<sup>Required</sup> <a name=\"tables\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.tables\"></a>\n\n```typescript\npublic readonly tables: {[ key: string ]: ITable};\n```\n\n- _Type:_ {[ key: string ]: aws-cdk-lib.aws_dynamodb.ITable}\n\nThe Generated DynamoDB Table L2 Resources, keyed by logicalId.\n\n---\n\n### ApiKeyAuthorizationConfig <a name=\"ApiKeyAuthorizationConfig\" id=\"@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig\"></a>\n\nConfiguration for Api Keys on the Graphql Api.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig.Initializer\"></a>\n\n```typescript\nimport { ApiKeyAuthorizationConfig } from '@aws-amplify/graphql-api-construct'\n\nconst apiKeyAuthorizationConfig: ApiKeyAuthorizationConfig = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig.property.expires\">expires</a></code> | <code>aws-cdk-lib.Duration</code> | A duration representing the time from Cloudformation deploy until expiry. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig.property.description\">description</a></code> | <code>string</code> | Optional description for the Api Key to attach to the Api. |\n\n---\n\n##### `expires`<sup>Required</sup> <a name=\"expires\" id=\"@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig.property.expires\"></a>\n\n```typescript\npublic readonly expires: Duration;\n```\n\n- _Type:_ aws-cdk-lib.Duration\n\nA duration representing the time from Cloudformation deploy until expiry.\n\n---\n\n##### `description`<sup>Optional</sup> <a name=\"description\" id=\"@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig.property.description\"></a>\n\n```typescript\npublic readonly description: string;\n```\n\n- _Type:_ string\n\nOptional description for the Api Key to attach to the Api.\n\n---\n\n### AuthorizationModes <a name=\"AuthorizationModes\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes\"></a>\n\nAuthorization Modes to apply to the Api.\n\nAt least one modes must be provided, and if more than one are provided a defaultAuthorizationMode must be specified.\nFor more information on Amplify Api auth, refer to https://docs.amplify.aws/cli/graphql/authorization-rules/#authorization-strategies\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.Initializer\"></a>\n\n```typescript\nimport { AuthorizationModes } from '@aws-amplify/graphql-api-construct'\n\nconst authorizationModes: AuthorizationModes = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.adminRoles\">adminRoles</a></code> | <code>aws-cdk-lib.aws_iam.IRole[]</code> | A list of roles granted full R/W access to the Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.apiKeyConfig\">apiKeyConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig\">ApiKeyAuthorizationConfig</a></code> | AppSync Api Key config, required if a 'apiKey' auth provider is specified in the Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.defaultAuthorizationMode\">defaultAuthorizationMode</a></code> | <code>string</code> | Default auth mode to provide to the Api, required if more than one config type is specified. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.iamConfig\">iamConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.IAMAuthorizationConfig\">IAMAuthorizationConfig</a></code> | IAM Auth config, required if an 'iam' auth provider is specified in the Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.lambdaConfig\">lambdaConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig\">LambdaAuthorizationConfig</a></code> | Lambda config, required if a 'function' auth provider is specified in the Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.oidcConfig\">oidcConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig\">OIDCAuthorizationConfig</a></code> | Cognito OIDC config, required if a 'oidc' auth provider is specified in the Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.userPoolConfig\">userPoolConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig\">UserPoolAuthorizationConfig</a></code> | Cognito UserPool config, required if a 'userPools' auth provider is specified in the Api. |\n\n---\n\n##### `adminRoles`<sup>Optional</sup> <a name=\"adminRoles\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.adminRoles\"></a>\n\n```typescript\npublic readonly adminRoles: IRole[];\n```\n\n- _Type:_ aws-cdk-lib.aws_iam.IRole[]\n\nA list of roles granted full R/W access to the Api.\n\n---\n\n##### `apiKeyConfig`<sup>Optional</sup> <a name=\"apiKeyConfig\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.apiKeyConfig\"></a>\n\n```typescript\npublic readonly apiKeyConfig: ApiKeyAuthorizationConfig;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig\">ApiKeyAuthorizationConfig</a>\n\nAppSync Api Key config, required if a 'apiKey' auth provider is specified in the Api.\n\nApplies to 'public' auth strategy.\n\n---\n\n##### `defaultAuthorizationMode`<sup>Optional</sup> <a name=\"defaultAuthorizationMode\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.defaultAuthorizationMode\"></a>\n\n```typescript\npublic readonly defaultAuthorizationMode: string;\n```\n\n- _Type:_ string\n\nDefault auth mode to provide to the Api, required if more than one config type is specified.\n\n---\n\n##### `iamConfig`<sup>Optional</sup> <a name=\"iamConfig\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.iamConfig\"></a>\n\n```typescript\npublic readonly iamConfig: IAMAuthorizationConfig;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.IAMAuthorizationConfig\">IAMAuthorizationConfig</a>\n\nIAM Auth config, required if an 'iam' auth provider is specified in the Api.\n\nApplies to 'public' and 'private' auth strategies.\n\n---\n\n##### `lambdaConfig`<sup>Optional</sup> <a name=\"lambdaConfig\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.lambdaConfig\"></a>\n\n```typescript\npublic readonly lambdaConfig: LambdaAuthorizationConfig;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig\">LambdaAuthorizationConfig</a>\n\nLambda config, required if a 'function' auth provider is specified in the Api.\n\nApplies to 'custom' auth strategy.\n\n---\n\n##### `oidcConfig`<sup>Optional</sup> <a name=\"oidcConfig\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.oidcConfig\"></a>\n\n```typescript\npublic readonly oidcConfig: OIDCAuthorizationConfig;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig\">OIDCAuthorizationConfig</a>\n\nCognito OIDC config, required if a 'oidc' auth provider is specified in the Api.\n\nApplies to 'owner', 'private', and 'group' auth strategies.\n\n---\n\n##### `userPoolConfig`<sup>Optional</sup> <a name=\"userPoolConfig\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.userPoolConfig\"></a>\n\n```typescript\npublic readonly userPoolConfig: UserPoolAuthorizationConfig;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig\">UserPoolAuthorizationConfig</a>\n\nCognito UserPool config, required if a 'userPools' auth provider is specified in the Api.\n\nApplies to 'owner', 'private', and 'group' auth strategies.\n\n---\n\n### AutomergeConflictResolutionStrategy <a name=\"AutomergeConflictResolutionStrategy\" id=\"@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy\"></a>\n\nEnable optimistic concurrency on the project.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy.Initializer\"></a>\n\n```typescript\nimport { AutomergeConflictResolutionStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst automergeConflictResolutionStrategy: AutomergeConflictResolutionStrategy = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | --------------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy.property.detectionType\">detectionType</a></code> | <code>string</code> | The conflict detection type used for resolution. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy.property.handlerType\">handlerType</a></code> | <code>string</code> | This conflict resolution strategy executes an auto-merge. |\n\n---\n\n##### `detectionType`<sup>Required</sup> <a name=\"detectionType\" id=\"@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy.property.detectionType\"></a>\n\n```typescript\npublic readonly detectionType: string;\n```\n\n- _Type:_ string\n\nThe conflict detection type used for resolution.\n\n---\n\n##### `handlerType`<sup>Required</sup> <a name=\"handlerType\" id=\"@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy.property.handlerType\"></a>\n\n```typescript\npublic readonly handlerType: string;\n```\n\n- _Type:_ string\n\nThis conflict resolution strategy executes an auto-merge.\n\nFor more information, refer to https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html#conflict-detection-and-resolution\n\n---\n\n### ConflictResolution <a name=\"ConflictResolution\" id=\"@aws-amplify/graphql-api-construct.ConflictResolution\"></a>\n\nProject level configuration for conflict resolution.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.ConflictResolution.Initializer\"></a>\n\n```typescript\nimport { ConflictResolution } from '@aws-amplify/graphql-api-construct'\n\nconst conflictResolution: ConflictResolution = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ---------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.ConflictResolution.property.models\">models</a></code> | <code>{[ key: string ]: <a href=\"#@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy\">AutomergeConflictResolutionStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy\">OptimisticConflictResolutionStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy\">CustomConflictResolutionStrategy</a>}</code> | Model-specific conflict resolution overrides. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.ConflictResolution.property.project\">project</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy\">AutomergeConflictResolutionStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy\">OptimisticConflictResolutionStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy\">CustomConflictResolutionStrategy</a></code> | Project-wide config for conflict resolution. |\n\n---\n\n##### `models`<sup>Optional</sup> <a name=\"models\" id=\"@aws-amplify/graphql-api-construct.ConflictResolution.property.models\"></a>\n\n```typescript\npublic readonly models: {[ key: string ]: AutomergeConflictResolutionStrategy | OptimisticConflictResolutionStrategy | CustomConflictResolutionStrategy};\n```\n\n- _Type:_ {[ key: string ]: <a href=\"#@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy\">AutomergeConflictResolutionStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy\">OptimisticConflictResolutionStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy\">CustomConflictResolutionStrategy</a>}\n\nModel-specific conflict resolution overrides.\n\n---\n\n##### `project`<sup>Optional</sup> <a name=\"project\" id=\"@aws-amplify/graphql-api-construct.ConflictResolution.property.project\"></a>\n\n```typescript\npublic readonly project: AutomergeConflictResolutionStrategy | OptimisticConflictResolutionStrategy | CustomConflictResolutionStrategy;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy\">AutomergeConflictResolutionStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy\">OptimisticConflictResolutionStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy\">CustomConflictResolutionStrategy</a>\n\nProject-wide config for conflict resolution.\n\nApplies to all non-overridden models.\n\n---\n\n### ConflictResolutionStrategyBase <a name=\"ConflictResolutionStrategyBase\" id=\"@aws-amplify/graphql-api-construct.ConflictResolutionStrategyBase\"></a>\n\nCommon parameters for conflict resolution.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.ConflictResolutionStrategyBase.Initializer\"></a>\n\n```typescript\nimport { ConflictResolutionStrategyBase } from '@aws-amplify/graphql-api-construct'\n\nconst conflictResolutionStrategyBase: ConflictResolutionStrategyBase = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ---------------------------------------------------------------------------------------------------------------------------------- | ------------------- | ------------------------------------------------ |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.ConflictResolutionStrategyBase.property.detectionType\">detectionType</a></code> | <code>string</code> | The conflict detection type used for resolution. |\n\n---\n\n##### `detectionType`<sup>Required</sup> <a name=\"detectionType\" id=\"@aws-amplify/graphql-api-construct.ConflictResolutionStrategyBase.property.detectionType\"></a>\n\n```typescript\npublic readonly detectionType: string;\n```\n\n- _Type:_ string\n\nThe conflict detection type used for resolution.\n\n---\n\n### CustomConflictResolutionStrategy <a name=\"CustomConflictResolutionStrategy\" id=\"@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy\"></a>\n\nEnable custom sync on the project, powered by a lambda.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.Initializer\"></a>\n\n```typescript\nimport { CustomConflictResolutionStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst customConflictResolutionStrategy: CustomConflictResolutionStrategy = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ------------------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.property.detectionType\">detectionType</a></code> | <code>string</code> | The conflict detection type used for resolution. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.property.conflictHandler\">conflictHandler</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | The function which will be invoked for conflict resolution. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.property.handlerType\">handlerType</a></code> | <code>string</code> | This conflict resolution strategy uses a lambda handler type. |\n\n---\n\n##### `detectionType`<sup>Required</sup> <a name=\"detectionType\" id=\"@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.property.detectionType\"></a>\n\n```typescript\npublic readonly detectionType: string;\n```\n\n- _Type:_ string\n\nThe conflict detection type used for resolution.\n\n---\n\n##### `conflictHandler`<sup>Required</sup> <a name=\"conflictHandler\" id=\"@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.property.conflictHandler\"></a>\n\n```typescript\npublic readonly conflictHandler: IFunction;\n```\n\n- _Type:_ aws-cdk-lib.aws_lambda.IFunction\n\nThe function which will be invoked for conflict resolution.\n\n---\n\n##### `handlerType`<sup>Required</sup> <a name=\"handlerType\" id=\"@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.property.handlerType\"></a>\n\n```typescript\npublic readonly handlerType: string;\n```\n\n- _Type:_ string\n\nThis conflict resolution strategy uses a lambda handler type.\n\nFor more information, refer to https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html#conflict-detection-and-resolution\n\n---\n\n### FunctionSlotBase <a name=\"FunctionSlotBase\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotBase\"></a>\n\nCommon slot parameters.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotBase.Initializer\"></a>\n\n```typescript\nimport { FunctionSlotBase } from '@aws-amplify/graphql-api-construct'\n\nconst functionSlotBase: FunctionSlotBase = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotBase.property.fieldName\">fieldName</a></code> | <code>string</code> | The field to attach this function to on the Api definition. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotBase.property.function\">function</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a></code> | The overridden behavior for this slot. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotBase.property.slotIndex\">slotIndex</a></code> | <code>number</code> | The slot index to use to inject this into the execution pipeline. |\n\n---\n\n##### `fieldName`<sup>Required</sup> <a name=\"fieldName\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotBase.property.fieldName\"></a>\n\n```typescript\npublic readonly fieldName: string;\n```\n\n- _Type:_ string\n\nThe field to attach this function to on the Api definition.\n\n---\n\n##### `function`<sup>Required</sup> <a name=\"function\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotBase.property.function\"></a>\n\n```typescript\npublic readonly function: FunctionSlotOverride;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a>\n\nThe overridden behavior for this slot.\n\n---\n\n##### `slotIndex`<sup>Required</sup> <a name=\"slotIndex\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotBase.property.slotIndex\"></a>\n\n```typescript\npublic readonly slotIndex: number;\n```\n\n- _Type:_ number\n\nThe slot index to use to inject this into the execution pipeline.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n### FunctionSlotOverride <a name=\"FunctionSlotOverride\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotOverride\"></a>\n\nParams exposed to support configuring and overriding pipelined slots.\n\nThis allows configuration of the underlying function,\nincluding the request and response mapping templates.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotOverride.Initializer\"></a>\n\n```typescript\nimport { FunctionSlotOverride } from '@aws-amplify/graphql-api-construct'\n\nconst functionSlotOverride: FunctionSlotOverride = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride.property.requestMappingTemplate\">requestMappingTemplate</a></code> | <code>aws-cdk-lib.aws_appsync.MappingTemplate</code> | Override request mapping template for the function slot. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride.property.responseMappingTemplate\">responseMappingTemplate</a></code> | <code>aws-cdk-lib.aws_appsync.MappingTemplate</code> | Override response mapping template for the function slot. |\n\n---\n\n##### `requestMappingTemplate`<sup>Optional</sup> <a name=\"requestMappingTemplate\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotOverride.property.requestMappingTemplate\"></a>\n\n```typescript\npublic readonly requestMappingTemplate: MappingTemplate;\n```\n\n- _Type:_ aws-cdk-lib.aws_appsync.MappingTemplate\n\nOverride request mapping template for the function slot.\n\nExecuted before the datasource is invoked.\n\n---\n\n##### `responseMappingTemplate`<sup>Optional</sup> <a name=\"responseMappingTemplate\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotOverride.property.responseMappingTemplate\"></a>\n\n```typescript\npublic readonly responseMappingTemplate: MappingTemplate;\n```\n\n- _Type:_ aws-cdk-lib.aws_appsync.MappingTemplate\n\nOverride response mapping template for the function slot.\n\nExecuted after the datasource is invoked.\n\n---\n\n### IAMAuthorizationConfig <a name=\"IAMAuthorizationConfig\" id=\"@aws-amplify/graphql-api-construct.IAMAuthorizationConfig\"></a>\n\nConfiguration for IAM Authorization on the Graphql Api.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.Initializer\"></a>\n\n```typescript\nimport { IAMAuthorizationConfig } from '@aws-amplify/graphql-api-construct'\n\nconst iAMAuthorizationConfig: IAMAuthorizationConfig = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ------------------------------------------------------------------------------ |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.authenticatedUserRole\">authenticatedUserRole</a></code> | <code>aws-cdk-lib.aws_iam.IRole</code> | Authenticated user role, applies to { provider: iam, allow: private } access. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.identityPoolId\">identityPoolId</a></code> | <code>string</code> | ID for the Cognito Identity Pool vending auth and unauth roles. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.unauthenticatedUserRole\">unauthenticatedUserRole</a></code> | <code>aws-cdk-lib.aws_iam.IRole</code> | Unauthenticated user role, applies to { provider: iam, allow: public } access. |\n\n---\n\n##### `authenticatedUserRole`<sup>Required</sup> <a name=\"authenticatedUserRole\" id=\"@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.authenticatedUserRole\"></a>\n\n```typescript\npublic readonly authenticatedUserRole: IRole;\n```\n\n- _Type:_ aws-cdk-lib.aws_iam.IRole\n\nAuthenticated user role, applies to { provider: iam, allow: private } access.\n\n---\n\n##### `identityPoolId`<sup>Required</sup> <a name=\"identityPoolId\" id=\"@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.identityPoolId\"></a>\n\n```typescript\npublic readonly identityPoolId: string;\n```\n\n- _Type:_ string\n\nID for the Cognito Identity Pool vending auth and unauth roles.\n\nFormat: `<region>:<id string>`\n\n---\n\n##### `unauthenticatedUserRole`<sup>Required</sup> <a name=\"unauthenticatedUserRole\" id=\"@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.unauthenticatedUserRole\"></a>\n\n```typescript\npublic readonly unauthenticatedUserRole: IRole;\n```\n\n- _Type:_ aws-cdk-lib.aws_iam.IRole\n\nUnauthenticated user role, applies to { provider: iam, allow: public } access.\n\n---\n\n### LambdaAuthorizationConfig <a name=\"LambdaAuthorizationConfig\" id=\"@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig\"></a>\n\nConfiguration for Custom Lambda authorization on the Graphql Api.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig.Initializer\"></a>\n\n```typescript\nimport { LambdaAuthorizationConfig } from '@aws-amplify/graphql-api-construct'\n\nconst lambdaAuthorizationConfig: LambdaAuthorizationConfig = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | -------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig.property.function\">function</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | The authorizer lambda function. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig.property.ttl\">ttl</a></code> | <code>aws-cdk-lib.Duration</code> | How long the results are cached. |\n\n---\n\n##### `function`<sup>Required</sup> <a name=\"function\" id=\"@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig.property.function\"></a>\n\n```typescript\npublic readonly function: IFunction;\n```\n\n- _Type:_ aws-cdk-lib.aws_lambda.IFunction\n\nThe authorizer lambda function.\n\n---\n\n##### `ttl`<sup>Required</sup> <a name=\"ttl\" id=\"@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig.property.ttl\"></a>\n\n```typescript\npublic readonly ttl: Duration;\n```\n\n- _Type:_ aws-cdk-lib.Duration\n\nHow long the results are cached.\n\n---\n\n### MutationFunctionSlot <a name=\"MutationFunctionSlot\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot\"></a>\n\nSlot types for Mutation Resolvers.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot.Initializer\"></a>\n\n```typescript\nimport { MutationFunctionSlot } from '@aws-amplify/graphql-api-construct'\n\nconst mutationFunctionSlot: MutationFunctionSlot = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ---------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.fieldName\">fieldName</a></code> | <code>string</code> | The field to attach this function to on the Api definition. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.function\">function</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a></code> | The overridden behavior for this slot. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.slotIndex\">slotIndex</a></code> | <code>number</code> | The slot index to use to inject this into the execution pipeline. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.slotName\">slotName</a></code> | <code>string</code> | The slot name to inject this behavior into. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.typeName\">typeName</a></code> | <code>string</code> | This slot type applies to the Mutation type on the Api definition. |\n\n---\n\n##### `fieldName`<sup>Required</sup> <a name=\"fieldName\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.fieldName\"></a>\n\n```typescript\npublic readonly fieldName: string;\n```\n\n- _Type:_ string\n\nThe field to attach this function to on the Api definition.\n\n---\n\n##### `function`<sup>Required</sup> <a name=\"function\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.function\"></a>\n\n```typescript\npublic readonly function: FunctionSlotOverride;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a>\n\nThe overridden behavior for this slot.\n\n---\n\n##### `slotIndex`<sup>Required</sup> <a name=\"slotIndex\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.slotIndex\"></a>\n\n```typescript\npublic readonly slotIndex: number;\n```\n\n- _Type:_ number\n\nThe slot index to use to inject this into the execution pipeline.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n##### `slotName`<sup>Required</sup> <a name=\"slotName\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.slotName\"></a>\n\n```typescript\npublic readonly slotName: string;\n```\n\n- _Type:_ string\n\nThe slot name to inject this behavior into.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n##### `typeName`<sup>Required</sup> <a name=\"typeName\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.typeName\"></a>\n\n```typescript\npublic readonly typeName: string;\n```\n\n- _Type:_ string\n\nThis slot type applies to the Mutation type on the Api definition.\n\n---\n\n### OIDCAuthorizationConfig <a name=\"OIDCAuthorizationConfig\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig\"></a>\n\nConfiguration for OpenId Connect Authorization on the Graphql Api.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.Initializer\"></a>\n\n```typescript\nimport { OIDCAuthorizationConfig } from '@aws-amplify/graphql-api-construct'\n\nconst oIDCAuthorizationConfig: OIDCAuthorizationConfig = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ----------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.oidcIssuerUrl\">oidcIssuerUrl</a></code> | <code>string</code> | Url for the OIDC token issuer. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.oidcProviderName\">oidcProviderName</a></code> | <code>string</code> | The issuer for the OIDC configuration. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.tokenExpiryFromAuth\">tokenExpiryFromAuth</a></code> | <code>aws-cdk-lib.Duration</code> | The duration an OIDC token is valid after being authenticated by OIDC provider. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.tokenExpiryFromIssue\">tokenExpiryFromIssue</a></code> | <code>aws-cdk-lib.Duration</code> | The duration an OIDC token is valid after being issued to a user. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.clientId\">clientId</a></code> | <code>string</code> | The client identifier of the Relying party at the OpenID identity provider. |\n\n---\n\n##### `oidcIssuerUrl`<sup>Required</sup> <a name=\"oidcIssuerUrl\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.oidcIssuerUrl\"></a>\n\n```typescript\npublic readonly oidcIssuerUrl: string;\n```\n\n- _Type:_ string\n\nUrl for the OIDC token issuer.\n\n---\n\n##### `oidcProviderName`<sup>Required</sup> <a name=\"oidcProviderName\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.oidcProviderName\"></a>\n\n```typescript\npublic readonly oidcProviderName: string;\n```\n\n- _Type:_ string\n\nThe issuer for the OIDC configuration.\n\n---\n\n##### `tokenExpiryFromAuth`<sup>Required</sup> <a name=\"tokenExpiryFromAuth\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.tokenExpiryFromAuth\"></a>\n\n```typescript\npublic readonly tokenExpiryFromAuth: Duration;\n```\n\n- _Type:_ aws-cdk-lib.Duration\n\nThe duration an OIDC token is valid after being authenticated by OIDC provider.\n\nauth_time claim in OIDC token is required for this validation to work.\n\n---\n\n##### `tokenExpiryFromIssue`<sup>Required</sup> <a name=\"tokenExpiryFromIssue\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.tokenExpiryFromIssue\"></a>\n\n```typescript\npublic readonly tokenExpiryFromIssue: Duration;\n```\n\n- _Type:_ aws-cdk-lib.Duration\n\nThe duration an OIDC token is valid after being issued to a user.\n\nThis validation uses iat claim of OIDC token.\n\n---\n\n##### `clientId`<sup>Optional</sup> <a name=\"clientId\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.clientId\"></a>\n\n```typescript\npublic readonly clientId: string;\n```\n\n- _Type:_ string\n\nThe client identifier of the Relying party at the OpenID identity provider.\n\nA regular expression can be specified so AppSync can validate against multiple client identifiers at a time. Example\n\n---\n\n### OptimisticConflictResolutionStrategy <a name=\"OptimisticConflictResolutionStrategy\" id=\"@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy\"></a>\n\nEnable automerge on the project.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy.Initializer\"></a>\n\n```typescript\nimport { OptimisticConflictResolutionStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst optimisticConflictResolutionStrategy: OptimisticConflictResolutionStrategy = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | ---------------------------------------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy.property.detectionType\">detectionType</a></code> | <code>string</code> | The conflict detection type used for resolution. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy.property.handlerType\">handlerType</a></code> | <code>string</code> | This conflict resolution strategy the \\_version to perform optimistic concurrency. |\n\n---\n\n##### `detectionType`<sup>Required</sup> <a name=\"detectionType\" id=\"@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy.property.detectionType\"></a>\n\n```typescript\npublic readonly detectionType: string;\n```\n\n- _Type:_ string\n\nThe conflict detection type used for resolution.\n\n---\n\n##### `handlerType`<sup>Required</sup> <a name=\"handlerType\" id=\"@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy.property.handlerType\"></a>\n\n```typescript\npublic readonly handlerType: string;\n```\n\n- _Type:_ string\n\nThis conflict resolution strategy the \\_version to perform optimistic concurrency.\n\nFor more information, refer to https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html#conflict-detection-and-resolution\n\n---\n\n### PartialTranslationBehavior <a name=\"PartialTranslationBehavior\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior\"></a>\n\nA utility interface equivalent to Partial<TranslationBehavior>.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.Initializer\"></a>\n\n```typescript\nimport { PartialTranslationBehavior } from '@aws-amplify/graphql-api-construct'\n\nconst partialTranslationBehavior: PartialTranslationBehavior = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| <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. |\n| <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. |\n| <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). |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.enableTransformerCfnOutputs\">enableTransformerCfnOutputs</a></code> | <code>boolean</code> | When enabled, internal cfn outputs which existed in Amplify-generated apps will continue to be emitted. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.sandboxModeEnabled\">sandboxModeEnabled</a></code> | <code>boolean</code> | Enabling sandbox mode will enable api key auth on all models in the transformed schema. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.secondaryKeyAsGSI\">secondaryKeyAsGSI</a></code> | <code>boolean</code> | If disabled, generated. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.shouldDeepMergeDirectiveConfigDefaults\">shouldDeepMergeDirectiveConfigDefaults</a></code> | <code>boolean</code> | Restore parity w/ GQLv1. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.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. |\n\n---\n\n##### `disableResolverDeduping`<sup>Optional</sup> <a name=\"disableResolverDeduping\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.disableResolverDeduping\"></a>\n\n```typescript\npublic readonly disableResolverDeduping: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nDisable 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.\n\n---\n\n##### `enableAutoIndexQueryNames`<sup>Optional</sup> <a name=\"enableAutoIndexQueryNames\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.enableAutoIndexQueryNames\"></a>\n\n```typescript\npublic readonly enableAutoIndexQueryNames: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nAutomate generation of query names, and as a result attaching all indexes as queries to the generated Api.\n\nIf enabled,\n\n---\n\n##### `enableSearchNodeToNodeEncryption`<sup>Optional</sup> <a name=\"enableSearchNodeToNodeEncryption\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.enableSearchNodeToNodeEncryption\"></a>\n\n```typescript\npublic readonly enableSearchNodeToNodeEncryption: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ false\n\nIf enabled, set nodeToNodeEncryption on the searchable domain (if one exists).\n\nNot recommended for use, prefer\nto use `Object.values(resources.additionalResources['AWS::Elasticsearch::Domain']).forEach((domain: CfnDomain) => {\ndomain.NodeToNodeEncryptionOptions = { Enabled: True };\n});\n\n---\n\n##### `enableTransformerCfnOutputs`<sup>Optional</sup> <a name=\"enableTransformerCfnOutputs\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.enableTransformerCfnOutputs\"></a>\n\n```typescript\npublic readonly enableTransformerCfnOutputs: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ false\n\nWhen enabled, internal cfn outputs which existed in Amplify-generated apps will continue to be emitted.\n\n---\n\n##### `populateOwnerFieldForStaticGroupAuth`<sup>Optional</sup> <a name=\"populateOwnerFieldForStaticGroupAuth\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.populateOwnerFieldForStaticGroupAuth\"></a>\n\n```typescript\npublic readonly populateOwnerFieldForStaticGroupAuth: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nEnsure that the owner field is still populated even if a static iam or group authorization applies.\n\n---\n\n##### `respectPrimaryKeyAttributesOnConnectionField`<sup>Optional</sup> <a name=\"respectPrimaryKeyAttributesOnConnectionField\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.respectPrimaryKeyAttributesOnConnectionField\"></a>\n\n```typescript\npublic readonly respectPrimaryKeyAttributesOnConnectionField: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nEnable custom primary key support, there's no good reason to disable this unless trying not to update a legacy app.\n\n---\n\n##### `sandboxModeEnabled`<sup>Optional</sup> <a name=\"sandboxModeEnabled\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.sandboxModeEnabled\"></a>\n\n```typescript\npublic readonly sandboxModeEnabled: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ false\n\nEnabling sandbox mode will enable api key auth on all models in the transformed schema.\n\n---\n\n##### `secondaryKeyAsGSI`<sup>Optional</sup> <a name=\"secondaryKeyAsGSI\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.secondaryKeyAsGSI\"></a>\n\n```typescript\npublic readonly secondaryKeyAsGSI: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nIf disabled, generated.\n\n---\n\n##### `shouldDeepMergeDirectiveConfigDefaults`<sup>Optional</sup> <a name=\"shouldDeepMergeDirectiveConfigDefaults\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.shouldDeepMergeDirectiveConfigDefaults\"></a>\n\n```typescript\npublic readonly shouldDeepMergeDirectiveConfigDefaults: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nRestore parity w/ GQLv1.\n\n---\n\n##### `suppressApiKeyGeneration`<sup>Optional</sup> <a name=\"suppressApiKeyGeneration\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.suppressApiKeyGeneration\"></a>\n\n```typescript\npublic readonly suppressApiKeyGeneration: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ false\n\nIf enabled, disable api key resource generation even if specified as an auth rule on the construct.\n\nThis is a legacy parameter from the Graphql Transformer existing in Amplify CLI, not recommended to change.\n\n---\n\n##### `useSubUsernameForDefaultIdentityClaim`<sup>Optional</sup> <a name=\"useSubUsernameForDefaultIdentityClaim\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.useSubUsernameForDefaultIdentityClaim\"></a>\n\n```typescript\npublic readonly useSubUsernameForDefaultIdentityClaim: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nEnsure 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.\n\n---\n\n### QueryFunctionSlot <a name=\"QueryFunctionSlot\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot\"></a>\n\nSlot types for Query Resolvers.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot.Initializer\"></a>\n\n```typescript\nimport { QueryFunctionSlot } from '@aws-amplify/graphql-api-construct'\n\nconst queryFunctionSlot: QueryFunctionSlot = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.fieldName\">fieldName</a></code> | <code>string</code> | The field to attach this function to on the Api definition. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.function\">function</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a></code> | The overridden behavior for this slot. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.slotIndex\">slotIndex</a></code> | <code>number</code> | The slot index to use to inject this into the execution pipeline. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.slotName\">slotName</a></code> | <code>string</code> | The slot name to inject this behavior into. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.typeName\">typeName</a></code> | <code>string</code> | This slot type applies to the Query type on the Api definition. |\n\n---\n\n##### `fieldName`<sup>Required</sup> <a name=\"fieldName\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.fieldName\"></a>\n\n```typescript\npublic readonly fieldName: string;\n```\n\n- _Type:_ string\n\nThe field to attach this function to on the Api definition.\n\n---\n\n##### `function`<sup>Required</sup> <a name=\"function\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.function\"></a>\n\n```typescript\npublic readonly function: FunctionSlotOverride;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a>\n\nThe overridden behavior for this slot.\n\n---\n\n##### `slotIndex`<sup>Required</sup> <a name=\"slotIndex\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.slotIndex\"></a>\n\n```typescript\npublic readonly slotIndex: number;\n```\n\n- _Type:_ number\n\nThe slot index to use to inject this into the execution pipeline.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n##### `slotName`<sup>Required</sup> <a name=\"slotName\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.slotName\"></a>\n\n```typescript\npublic readonly slotName: string;\n```\n\n- _Type:_ string\n\nThe slot name to inject this behavior into.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n##### `typeName`<sup>Required</sup> <a name=\"typeName\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.typeName\"></a>\n\n```typescript\npublic readonly typeName: string;\n```\n\n- _Type:_ string\n\nThis slot type applies to the Query type on the Api definition.\n\n---\n\n### SubscriptionFunctionSlot <a name=\"SubscriptionFunctionSlot\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot\"></a>\n\nSlot types for Subscription Resolvers.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.Initializer\"></a>\n\n```typescript\nimport { SubscriptionFunctionSlot } from '@aws-amplify/graphql-api-construct'\n\nconst subscriptionFunctionSlot: SubscriptionFunctionSlot = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |\n| <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. |\n| <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. |\n| <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. |\n| <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. |\n| <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. |\n\n---\n\n##### `fieldName`<sup>Required</sup> <a name=\"fieldName\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.fieldName\"></a>\n\n```typescript\npublic readonly fieldName: string;\n```\n\n- _Type:_ string\n\nThe field to attach this function to on the Api definition.\n\n---\n\n##### `function`<sup>Required</sup> <a name=\"function\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.function\"></a>\n\n```typescript\npublic readonly function: FunctionSlotOverride;\n```\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a>\n\nThe overridden behavior for this slot.\n\n---\n\n##### `slotIndex`<sup>Required</sup> <a name=\"slotIndex\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.slotIndex\"></a>\n\n```typescript\npublic readonly slotIndex: number;\n```\n\n- _Type:_ number\n\nThe slot index to use to inject this into the execution pipeline.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n##### `slotName`<sup>Required</sup> <a name=\"slotName\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.slotName\"></a>\n\n```typescript\npublic readonly slotName: string;\n```\n\n- _Type:_ string\n\nThe slot name to inject this behavior into.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n##### `typeName`<sup>Required</sup> <a name=\"typeName\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.typeName\"></a>\n\n```typescript\npublic readonly typeName: string;\n```\n\n- _Type:_ string\n\nThis slot type applies to the Subscription type on the Api definition.\n\n---\n\n### TranslationBehavior <a name=\"TranslationBehavior\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior\"></a>\n\nStrongly typed set of shared parameters for all transformers, and core layer.\n\nThis is intended to replace feature flags, to ensure param coercion happens in\na single location, and isn't spread around the transformers, where they can\nhave different default behaviors.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.Initializer\"></a>\n\n```typescript\nimport { TranslationBehavior } from '@aws-amplify/graphql-api-construct'\n\nconst translationBehavior: TranslationBehavior = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| <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. |\n| <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. |\n| <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). |\n| <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. |\n| <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. |\n| <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. |\n| <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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.TranslationBehavior.property.secondaryKeyAsGSI\">secondaryKeyAsGSI</a></code> | <code>boolean</code> | If disabled, generated. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.TranslationBehavior.property.shouldDeepMergeDirectiveConfigDefaults\">shouldDeepMergeDirectiveConfigDefaults</a></code> | <code>boolean</code> | Restore parity w/ GQLv1. |\n| <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. |\n| <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. |\n\n---\n\n##### `disableResolverDeduping`<sup>Required</sup> <a name=\"disableResolverDeduping\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.disableResolverDeduping\"></a>\n\n```typescript\npublic readonly disableResolverDeduping: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nDisable 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.\n\n---\n\n##### `enableAutoIndexQueryNames`<sup>Required</sup> <a name=\"enableAutoIndexQueryNames\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableAutoIndexQueryNames\"></a>\n\n```typescript\npublic readonly enableAutoIndexQueryNames: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nAutomate generation of query names, and as a result attaching all indexes as queries to the generated Api.\n\nIf enabled,\n\n---\n\n##### `enableSearchNodeToNodeEncryption`<sup>Required</sup> <a name=\"enableSearchNodeToNodeEncryption\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableSearchNodeToNodeEncryption\"></a>\n\n```typescript\npublic readonly enableSearchNodeToNodeEncryption: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ false\n\nIf enabled, set nodeToNodeEncryption on the searchable domain (if one exists).\n\nNot recommended for use, prefer\nto use `Object.values(resources.additionalResources['AWS::Elasticsearch::Domain']).forEach((domain: CfnDomain) => {\ndomain.NodeToNodeEncryptionOptions = { Enabled: True };\n});\n\n---\n\n##### `enableTransformerCfnOutputs`<sup>Required</sup> <a name=\"enableTransformerCfnOutputs\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableTransformerCfnOutputs\"></a>\n\n```typescript\npublic readonly enableTransformerCfnOutputs: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ false\n\nWhen enabled, internal cfn outputs which existed in Amplify-generated apps will continue to be emitted.\n\n---\n\n##### `populateOwnerFieldForStaticGroupAuth`<sup>Required</sup> <a name=\"populateOwnerFieldForStaticGroupAuth\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.populateOwnerFieldForStaticGroupAuth\"></a>\n\n```typescript\npublic readonly populateOwnerFieldForStaticGroupAuth: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nEnsure that the owner field is still populated even if a static iam or group authorization applies.\n\n---\n\n##### `respectPrimaryKeyAttributesOnConnectionField`<sup>Required</sup> <a name=\"respectPrimaryKeyAttributesOnConnectionField\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.respectPrimaryKeyAttributesOnConnectionField\"></a>\n\n```typescript\npublic readonly respectPrimaryKeyAttributesOnConnectionField: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nEnable custom primary key support, there's no good reason to disable this unless trying not to update a legacy app.\n\n---\n\n##### `sandboxModeEnabled`<sup>Required</sup> <a name=\"sandboxModeEnabled\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.sandboxModeEnabled\"></a>\n\n```typescript\npublic readonly sandboxModeEnabled: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ false\n\nEnabling sandbox mode will enable api key auth on all models in the transformed schema.\n\n---\n\n##### `secondaryKeyAsGSI`<sup>Required</sup> <a name=\"secondaryKeyAsGSI\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.secondaryKeyAsGSI\"></a>\n\n```typescript\npublic readonly secondaryKeyAsGSI: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nIf disabled, generated.\n\n---\n\n##### `shouldDeepMergeDirectiveConfigDefaults`<sup>Required</sup> <a name=\"shouldDeepMergeDirectiveConfigDefaults\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.shouldDeepMergeDirectiveConfigDefaults\"></a>\n\n```typescript\npublic readonly shouldDeepMergeDirectiveConfigDefaults: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nRestore parity w/ GQLv1.\n\n---\n\n##### `suppressApiKeyGeneration`<sup>Required</sup> <a name=\"suppressApiKeyGeneration\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.suppressApiKeyGeneration\"></a>\n\n```typescript\npublic readonly suppressApiKeyGeneration: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ false\n\nIf enabled, disable api key resource generation even if specified as an auth rule on the construct.\n\nThis is a legacy parameter from the Graphql Transformer existing in Amplify CLI, not recommended to change.\n\n---\n\n##### `useSubUsernameForDefaultIdentityClaim`<sup>Required</sup> <a name=\"useSubUsernameForDefaultIdentityClaim\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.useSubUsernameForDefaultIdentityClaim\"></a>\n\n```typescript\npublic readonly useSubUsernameForDefaultIdentityClaim: boolean;\n```\n\n- _Type:_ boolean\n- _Default:_ true\n\nEnsure 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.\n\n---\n\n### UserPoolAuthorizationConfig <a name=\"UserPoolAuthorizationConfig\" id=\"@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig\"></a>\n\nConfiguration for Cognito UserPool Authorization on the Graphql Api.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig.Initializer\"></a>\n\n```typescript\nimport { UserPoolAuthorizationConfig } from '@aws-amplify/graphql-api-construct'\n\nconst userPoolAuthorizationConfig: UserPoolAuthorizationConfig = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------ |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig.property.userPool\">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | The Cognito User Pool which is used to authenticated JWT tokens, and vends group and user information. |\n\n---\n\n##### `userPool`<sup>Required</sup> <a name=\"userPool\" id=\"@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig.property.userPool\"></a>\n\n```typescript\npublic readonly userPool: IUserPool;\n```\n\n- _Type:_ aws-cdk-lib.aws_cognito.IUserPool\n\nThe Cognito User Pool which is used to authenticated JWT tokens, and vends group and user information.\n\n---\n\n## Classes <a name=\"Classes\" id=\"Classes\"></a>\n\n### AmplifyGraphqlDefinition <a name=\"AmplifyGraphqlDefinition\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition\"></a>\n\nClass exposing utilities to produce IAmplifyGraphqlDefinition objects given various inputs.\n\n#### Initializers <a name=\"Initializers\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.Initializer\"></a>\n\n```typescript\nimport { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct';\n\nnew AmplifyGraphqlDefinition();\n```\n\n| **Name** | **Type** | **Description** |\n| -------- | -------- | --------------- |\n\n---\n\n#### Static Functions <a name=\"Static Functions\" id=\"Static Functions\"></a>\n\n| **Name** | **Description** |\n| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |\n| <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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString\">fromString</a></code> | Produce a schema definition from a string input. |\n\n---\n\n##### `fromFiles` <a name=\"fromFiles\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFiles\"></a>\n\n```typescript\nimport { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'\n\nAmplifyGraphqlDefinition.fromFiles(filePaths: string)\n```\n\nConvert one or more appsync SchemaFile objects into an Amplify Graphql Schema.\n\n###### `filePaths`<sup>Required</sup> <a name=\"filePaths\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFiles.parameter.filePaths\"></a>\n\n- _Type:_ string\n\none or more paths to the graphql files to process.\n\n---\n\n##### `fromString` <a name=\"fromString\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString\"></a>\n\n```typescript\nimport { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'\n\nAmplifyGraphqlDefinition.fromString(schema: string)\n```\n\nProduce a schema definition from a string input.\n\n###### `schema`<sup>Required</sup> <a name=\"schema\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString.parameter.schema\"></a>\n\n- _Type:_ string\n\nthe graphql input as a string.\n\n---\n\n## Protocols <a name=\"Protocols\" id=\"Protocols\"></a>\n\n### IAmplifyGraphqlDefinition <a name=\"IAmplifyGraphqlDefinition\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition\"></a>\n\n- _Implemented By:_ <a href=\"#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition\">IAmplifyGraphqlDefinition</a>\n\nGraphql Api definition, which can be implemented in multiple ways.\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ----------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |\n| <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. |\n| <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. |\n\n---\n\n##### `functionSlots`<sup>Required</sup> <a name=\"functionSlots\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.functionSlots\"></a>\n\n```typescript\npublic readonly functionSlots: MutationFunctionSlot | QueryFunctionSlot | SubscriptionFunctionSlot[];\n```\n\n- _Type:_ <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>[]\n\nRetrieve any function slots defined explicitly in the Api definition.\n\n---\n\n##### `schema`<sup>Required</sup> <a name=\"schema\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.schema\"></a>\n\n```typescript\npublic readonly schema: string;\n```\n\n- _Type:_ string\n\nReturn the schema definition as a graphql string, with amplify directives allowed.\n\n---\n\n### IBackendOutputEntry <a name=\"IBackendOutputEntry\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputEntry\"></a>\n\n- _Implemented By:_ <a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputEntry\">IBackendOutputEntry</a>\n\nEntry representing the required output from the backend for codegen generate commands to work.\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| ----------------------------------------------------------------------------------------------------------- | -------------------------------------- | -------------------------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputEntry.property.payload\">payload</a></code> | <code>{[ key: string ]: string}</code> | The string-map payload of generated config values. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputEntry.property.version\">version</a></code> | <code>string</code> | The protocol version for this backend output. |\n\n---\n\n##### `payload`<sup>Required</sup> <a name=\"payload\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputEntry.property.payload\"></a>\n\n```typescript\npublic readonly payload: {[ key: string ]: string};\n```\n\n- _Type:_ {[ key: string ]: string}\n\nThe string-map payload of generated config values.\n\n---\n\n##### `version`<sup>Required</sup> <a name=\"version\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputEntry.property.version\"></a>\n\n```typescript\npublic readonly version: string;\n```\n\n- _Type:_ string\n\nThe protocol version for this backend output.\n\n---\n\n### IBackendOutputStorageStrategy <a name=\"IBackendOutputStorageStrategy\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy\"></a>\n\n- _Implemented By:_ <a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy\">IBackendOutputStorageStrategy</a>\n\nBackend output strategy used to write config required for codegen tasks.\n\n#### Methods <a name=\"Methods\" id=\"Methods\"></a>\n\n| **Name** | **Description** |\n| ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy.addBackendOutputEntry\">addBackendOutputEntry</a></code> | Add an entry to backend output. |\n\n---\n\n##### `addBackendOutputEntry` <a name=\"addBackendOutputEntry\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy.addBackendOutputEntry\"></a>\n\n```typescript\npublic addBackendOutputEntry(keyName: string, backendOutputEntry: IBackendOutputEntry): void\n```\n\nAdd an entry to backend output.\n\n###### `keyName`<sup>Required</sup> <a name=\"keyName\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy.addBackendOutputEntry.parameter.keyName\"></a>\n\n- _Type:_ string\n\nthe key.\n\n---\n\n###### `backendOutputEntry`<sup>Required</sup> <a name=\"backendOutputEntry\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy.addBackendOutputEntry.parameter.backendOutputEntry\"></a>\n\n- _Type:_ <a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputEntry\">IBackendOutputEntry</a>\n\nthe record to store in the backend output.\n\n---\n"
|
3513
|
+
"markdown": "# Amplify Graphql API Construct\n\n[![View on Construct Hub](https://constructs.dev/badge?package=%40aws-amplify%2Fgraphql-construct-alpha)](https://constructs.dev/packages/@aws-amplify/graphql-api-construct)\n\nThis 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/).\n\nThe primary way to use this construct is to invoke it with a provided schema (either as an inline graphql string, or as one or more `appsync.SchemaFile`) objects, and with authorization config provided. There are 5 supported methods for authorization of an AppSync API, all of which are supported by this construct. For more information on authorization rule definitions in Amplify, refer to the [authorization docs](https://docs.amplify.aws/cli/graphql/authorization-rules/). Note: currently at least one authorization rule is required, and if multiple are specified, a `defaultAuthorizationMode` must be specified on the api as well. Specified authorization modes must be a superset of those configured in the graphql schema.\n\nNote: only a single instance of the `AmplifyGraphqlApi` construct can be invoked within a CDK synthesis at this point in time.\n\n## Examples\n\n### Simple Todo List With Cognito Userpool-based Owner Authorization\n\nIn this example, we create a single model, which will use `user pool` auth in order to allow logged in users to create and manage their own `todos` privately.\n\nWe create a cdk App and Stack, though you may be deploying this to a custom stack, this is purely illustrative for a concise demo.\n\nWe then wire this through to import a user pool which was already deployed (creating and deploying is out of scope for this example).\n\n```ts\nimport { App, Stack } from 'aws-cdk-lib';\nimport { UserPool } from 'aws-cdk-lib/aws-cognito';\nimport { AmplifyGraphqlApi, AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct';\n\nconst app = new App();\nconst stack = new Stack(app, 'TodoStack');\n\nnew AmplifyGraphqlApi(stack, 'TodoApp', {\n definition: AmplifyGraphqlDefinition.fromString(/* GraphQL */ `\n type Todo @model @auth(rules: [{ allow: owner }]) {\n description: String!\n completed: Boolean\n }\n `),\n authorizationModes: {\n userPoolConfig: {\n userPool: UserPool.fromUserPoolId(stack, 'ImportedUserPool', '<YOUR_USER_POOL_ID>'),\n },\n },\n});\n```\n\n### Multiple related models, with public read access, and admin read/write access\n\nIn this example, we create a two related models, which will use which logged in users in the 'Author' and 'Admin' user groups will have\nfull access to, and customers requesting with api key will only have read permissions on.\n\n```ts\nimport { App, Stack } from 'aws-cdk-lib';\nimport { UserPool } from 'aws-cdk-lib/aws-cognito';\nimport { AmplifyGraphqlApi, AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct';\n\nconst app = new App();\nconst stack = new Stack(app, 'BlogStack');\n\nnew AmplifyGraphqlApi(stack, 'BlogApp', {\n definition: AmplifyGraphqlDefinition.fromString(/* GraphQL */ `\n type Blog @model @auth(rules: [{ allow: public, operations: [read] }, { allow: groups, groups: [\"Author\", \"Admin\"] }]) {\n title: String!\n description: String\n posts: [Post] @hasMany\n }\n\n type Post @model @auth(rules: [{ allow: public, operations: [read] }, { allow: groups, groups: [\"Author\", \"Admin\"] }]) {\n title: String!\n content: [String]\n blog: Blog @belongsTo\n }\n `),\n authorizationModes: {\n defaultAuthorizationMode: 'API_KEY',\n apiKeyConfig: {\n description: 'Api Key for public access',\n expires: cdk.Duration.days(7),\n },\n userPoolConfig: {\n userPool: UserPool.fromUserPoolId(stack, 'ImportedUserPool', '<YOUR_USER_POOL_ID>'),\n },\n },\n});\n```\n\n### Import GraphQL Schema from files, instead of inline.\n\nIn this example, we import the schema definition itself from one or more local file, rather than an inline graphql string.\n\n```graphql\n# todo.graphql\ntype Todo @model @auth(rules: [{ allow: owner }]) {\n content: String!\n done: Boolean\n}\n```\n\n```graphql\n# blog.graphql\ntype Blog @model @auth(rules: [{ allow: owner }, { allow: public, operations: [read] }]) {\n title: String!\n description: String\n posts: [Post] @hasMany\n}\n\ntype Post @model @auth(rules: [{ allow: owner }, { allow: public, operations: [read] }]) {\n title: String!\n content: [String]\n blog: Blog @belongsTo\n}\n```\n\n```ts\n// app.ts\nimport { App, Stack } from 'aws-cdk-lib';\nimport { UserPool } from 'aws-cdk-lib/aws-cognito';\nimport { AmplifyGraphqlApi, AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct';\n\nconst app = new App();\nconst stack = new Stack(app, 'MultiFileStack');\n\nnew AmplifyGraphqlApi(stack, 'MultiFileDefinition', {\n definition: AmplifyGraphqlDefinition.fromFiles(path.join(__dirname, 'todo.graphql'), path.join(__dirname, 'blog.graphql')),\n authorizationModes: {\n defaultAuthorizationMode: 'API_KEY',\n apiKeyConfig: {\n description: 'Api Key for public access',\n expires: cdk.Duration.days(7),\n },\n userPoolConfig: {\n userPool: UserPool.fromUserPoolId(stack, 'ImportedUserPool', '<YOUR_USER_POOL_ID>'),\n },\n },\n});\n```\n\n# API Reference <a name=\"API Reference\" id=\"api-reference\"></a>\n\n## Constructs <a name=\"Constructs\" id=\"Constructs\"></a>\n\n### AmplifyGraphqlApi <a name=\"AmplifyGraphqlApi\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi\"></a>\n\nL3 Construct which invokes the Amplify Transformer Pattern over an input Graphql Schema.\n\nThis can be used to quickly define appsync apis which support full CRUD+List and Subscriptions, relationships,\nauth, search over data, the ability to inject custom business logic and query/mutation operations, and connect to ML services.\n\nFor more information, refer to the docs links below:\nData Modeling - https://docs.amplify.aws/cli/graphql/data-modeling/\nAuthorization - https://docs.amplify.aws/cli/graphql/authorization-rules/\nCustom Business Logic - https://docs.amplify.aws/cli/graphql/custom-business-logic/\nSearch - https://docs.amplify.aws/cli/graphql/search-and-result-aggregations/\nML Services - https://docs.amplify.aws/cli/graphql/connect-to-machine-learning-services/\n\nFor a full reference of the supported custom graphql directives - https://docs.amplify.aws/cli/graphql/directives-reference/\n\nThe output of this construct is a mapping of L2 or L1 resources generated by the transformer, which generally follow the access pattern\n\n```typescript\n const api = new AmplifyGraphQlApi(this, 'api', { <params> });\n // Access L2 resources under `.resources`\n api.resources.tables[\"Todo\"].tableArn;\n\n // Access L1 resources under `.resources.cfnResources`\n api.resources.cfnResources.cfnGraphqlApi.xrayEnabled = true;\n Object.values(api.resources.cfnResources.cfnTables).forEach(table => {\n table.pointInTimeRecoverySpecification = { pointInTimeRecoveryEnabled: false };\n });\n```\n`resources.<ResourceType>.<ResourceName>` - you can then perform any CDK action on these resulting resoureces.\n\n#### Initializers <a name=\"Initializers\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer\"></a>\n\n```typescript\nimport { AmplifyGraphqlApi } from '@aws-amplify/graphql-api-construct'\n\nnew AmplifyGraphqlApi(scope: Construct, id: string, props: AmplifyGraphqlApiProps)\n```\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.scope\">scope</a></code> | <code>constructs.Construct</code> | the scope to create this construct within. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.id\">id</a></code> | <code>string</code> | the id to use for this api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.props\">props</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps\">AmplifyGraphqlApiProps</a></code> | the properties used to configure the generated api. |\n\n---\n\n##### `scope`<sup>Required</sup> <a name=\"scope\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.scope\"></a>\n\n- *Type:* constructs.Construct\n\nthe scope to create this construct within.\n\n---\n\n##### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.id\"></a>\n\n- *Type:* string\n\nthe id to use for this api.\n\n---\n\n##### `props`<sup>Required</sup> <a name=\"props\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.Initializer.parameter.props\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps\">AmplifyGraphqlApiProps</a>\n\nthe properties used to configure the generated api.\n\n---\n\n#### Methods <a name=\"Methods\" id=\"Methods\"></a>\n\n| **Name** | **Description** |\n| --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.toString\">toString</a></code> | Returns a string representation of this construct. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addDynamoDbDataSource\">addDynamoDbDataSource</a></code> | Add a new DynamoDB data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addElasticsearchDataSource\">addElasticsearchDataSource</a></code> | Add a new elasticsearch data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addEventBridgeDataSource\">addEventBridgeDataSource</a></code> | Add an EventBridge data source to this api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addFunction\">addFunction</a></code> | Add an appsync function to the api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addHttpDataSource\">addHttpDataSource</a></code> | Add a new http data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addLambdaDataSource\">addLambdaDataSource</a></code> | Add a new Lambda data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addNoneDataSource\">addNoneDataSource</a></code> | Add a new dummy data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addOpenSearchDataSource\">addOpenSearchDataSource</a></code> | dd a new OpenSearch data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource\">addRdsDataSource</a></code> | Add a new Rds data source to this API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addResolver\">addResolver</a></code> | Add a resolver to the api. |\n\n---\n\n##### `toString` <a name=\"toString\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.toString\"></a>\n\n```typescript\npublic toString(): string\n```\n\nReturns a string representation of this construct.\n\n##### `addDynamoDbDataSource` <a name=\"addDynamoDbDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addDynamoDbDataSource\"></a>\n\n```typescript\npublic addDynamoDbDataSource(id: string, table: ITable, options?: DataSourceOptions): DynamoDbDataSource\n```\n\nAdd a new DynamoDB data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addDynamoDbDataSource.parameter.id\"></a>\n\n- *Type:* string\n\nThe data source's id.\n\n---\n\n###### `table`<sup>Required</sup> <a name=\"table\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addDynamoDbDataSource.parameter.table\"></a>\n\n- *Type:* aws-cdk-lib.aws_dynamodb.ITable\n\nThe DynamoDB table backing this data source.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addDynamoDbDataSource.parameter.options\"></a>\n\n- *Type:* aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### ~~`addElasticsearchDataSource`~~ <a name=\"addElasticsearchDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addElasticsearchDataSource\"></a>\n\n```typescript\npublic addElasticsearchDataSource(id: string, domain: IDomain, options?: DataSourceOptions): ElasticsearchDataSource\n```\n\nAdd a new elasticsearch data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addElasticsearchDataSource.parameter.id\"></a>\n\n- *Type:* string\n\nThe data source's id.\n\n---\n\n###### `domain`<sup>Required</sup> <a name=\"domain\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addElasticsearchDataSource.parameter.domain\"></a>\n\n- *Type:* aws-cdk-lib.aws_elasticsearch.IDomain\n\nThe elasticsearch domain for this data source.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addElasticsearchDataSource.parameter.options\"></a>\n\n- *Type:* aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addEventBridgeDataSource` <a name=\"addEventBridgeDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addEventBridgeDataSource\"></a>\n\n```typescript\npublic addEventBridgeDataSource(id: string, eventBus: IEventBus, options?: DataSourceOptions): EventBridgeDataSource\n```\n\nAdd an EventBridge data source to this api.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addEventBridgeDataSource.parameter.id\"></a>\n\n- *Type:* string\n\nThe data source's id.\n\n---\n\n###### `eventBus`<sup>Required</sup> <a name=\"eventBus\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addEventBridgeDataSource.parameter.eventBus\"></a>\n\n- *Type:* aws-cdk-lib.aws_events.IEventBus\n\nThe EventBridge EventBus on which to put events.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addEventBridgeDataSource.parameter.options\"></a>\n\n- *Type:* aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addFunction` <a name=\"addFunction\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addFunction\"></a>\n\n```typescript\npublic addFunction(id: string, props: AddFunctionProps): AppsyncFunction\n```\n\nAdd an appsync function to the api.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addFunction.parameter.id\"></a>\n\n- *Type:* string\n\nthe function's id.\n\n---\n\n###### `props`<sup>Required</sup> <a name=\"props\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addFunction.parameter.props\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps\">AddFunctionProps</a>\n\n---\n\n##### `addHttpDataSource` <a name=\"addHttpDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addHttpDataSource\"></a>\n\n```typescript\npublic addHttpDataSource(id: string, endpoint: string, options?: HttpDataSourceOptions): HttpDataSource\n```\n\nAdd a new http data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addHttpDataSource.parameter.id\"></a>\n\n- *Type:* string\n\nThe data source's id.\n\n---\n\n###### `endpoint`<sup>Required</sup> <a name=\"endpoint\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addHttpDataSource.parameter.endpoint\"></a>\n\n- *Type:* string\n\nThe http endpoint.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addHttpDataSource.parameter.options\"></a>\n\n- *Type:* aws-cdk-lib.aws_appsync.HttpDataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addLambdaDataSource` <a name=\"addLambdaDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addLambdaDataSource\"></a>\n\n```typescript\npublic addLambdaDataSource(id: string, lambdaFunction: IFunction, options?: DataSourceOptions): LambdaDataSource\n```\n\nAdd a new Lambda data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addLambdaDataSource.parameter.id\"></a>\n\n- *Type:* string\n\nThe data source's id.\n\n---\n\n###### `lambdaFunction`<sup>Required</sup> <a name=\"lambdaFunction\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addLambdaDataSource.parameter.lambdaFunction\"></a>\n\n- *Type:* aws-cdk-lib.aws_lambda.IFunction\n\nThe Lambda function to call to interact with this data source.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addLambdaDataSource.parameter.options\"></a>\n\n- *Type:* aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addNoneDataSource` <a name=\"addNoneDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addNoneDataSource\"></a>\n\n```typescript\npublic addNoneDataSource(id: string, options?: DataSourceOptions): NoneDataSource\n```\n\nAdd a new dummy data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\nUseful for pipeline resolvers and for backend changes that don't require a data source.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addNoneDataSource.parameter.id\"></a>\n\n- *Type:* string\n\nThe data source's id.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addNoneDataSource.parameter.options\"></a>\n\n- *Type:* aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addOpenSearchDataSource` <a name=\"addOpenSearchDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addOpenSearchDataSource\"></a>\n\n```typescript\npublic addOpenSearchDataSource(id: string, domain: IDomain, options?: DataSourceOptions): OpenSearchDataSource\n```\n\ndd a new OpenSearch data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addOpenSearchDataSource.parameter.id\"></a>\n\n- *Type:* string\n\nThe data source's id.\n\n---\n\n###### `domain`<sup>Required</sup> <a name=\"domain\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addOpenSearchDataSource.parameter.domain\"></a>\n\n- *Type:* aws-cdk-lib.aws_opensearchservice.IDomain\n\nThe OpenSearch domain for this data source.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addOpenSearchDataSource.parameter.options\"></a>\n\n- *Type:* aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addRdsDataSource` <a name=\"addRdsDataSource\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource\"></a>\n\n```typescript\npublic addRdsDataSource(id: string, serverlessCluster: IServerlessCluster, secretStore: ISecret, databaseName?: string, options?: DataSourceOptions): RdsDataSource\n```\n\nAdd a new Rds data source to this API.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource.parameter.id\"></a>\n\n- *Type:* string\n\nThe data source's id.\n\n---\n\n###### `serverlessCluster`<sup>Required</sup> <a name=\"serverlessCluster\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource.parameter.serverlessCluster\"></a>\n\n- *Type:* aws-cdk-lib.aws_rds.IServerlessCluster\n\nThe serverless cluster to interact with this data source.\n\n---\n\n###### `secretStore`<sup>Required</sup> <a name=\"secretStore\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource.parameter.secretStore\"></a>\n\n- *Type:* aws-cdk-lib.aws_secretsmanager.ISecret\n\nThe secret store that contains the username and password for the serverless cluster.\n\n---\n\n###### `databaseName`<sup>Optional</sup> <a name=\"databaseName\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource.parameter.databaseName\"></a>\n\n- *Type:* string\n\nThe optional name of the database to use within the cluster.\n\n---\n\n###### `options`<sup>Optional</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addRdsDataSource.parameter.options\"></a>\n\n- *Type:* aws-cdk-lib.aws_appsync.DataSourceOptions\n\nThe optional configuration for this data source.\n\n---\n\n##### `addResolver` <a name=\"addResolver\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addResolver\"></a>\n\n```typescript\npublic addResolver(id: string, props: ExtendedResolverProps): Resolver\n```\n\nAdd a resolver to the api.\n\nThis is a proxy method to the L2 GraphqlApi Construct.\n\n###### `id`<sup>Required</sup> <a name=\"id\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addResolver.parameter.id\"></a>\n\n- *Type:* string\n\nThe resolver's id.\n\n---\n\n###### `props`<sup>Required</sup> <a name=\"props\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.addResolver.parameter.props\"></a>\n\n- *Type:* aws-cdk-lib.aws_appsync.ExtendedResolverProps\n\nthe resolver properties.\n\n---\n\n#### Static Functions <a name=\"Static Functions\" id=\"Static Functions\"></a>\n\n| **Name** | **Description** |\n| --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.isConstruct\">isConstruct</a></code> | Checks if `x` is a construct. |\n\n---\n\n##### ~~`isConstruct`~~ <a name=\"isConstruct\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.isConstruct\"></a>\n\n```typescript\nimport { AmplifyGraphqlApi } from '@aws-amplify/graphql-api-construct'\n\nAmplifyGraphqlApi.isConstruct(x: any)\n```\n\nChecks if `x` is a construct.\n\n###### `x`<sup>Required</sup> <a name=\"x\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.isConstruct.parameter.x\"></a>\n\n- *Type:* any\n\nAny object.\n\n---\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.node\">node</a></code> | <code>constructs.Node</code> | The tree node. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.apiId\">apiId</a></code> | <code>string</code> | Generated Api Id. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.generatedFunctionSlots\">generatedFunctionSlots</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> | Resolvers generated by the transform process, persisted on the side in order to facilitate pulling a manifest for the purposes of inspecting and producing overrides. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.graphqlUrl\">graphqlUrl</a></code> | <code>string</code> | Graphql URL For the generated API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.realtimeUrl\">realtimeUrl</a></code> | <code>string</code> | Realtime URL For the generated API. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.resources\">resources</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources\">AmplifyGraphqlApiResources</a></code> | Generated L1 and L2 CDK resources. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.apiKey\">apiKey</a></code> | <code>string</code> | Generated Api Key if generated. |\n\n---\n\n##### `node`<sup>Required</sup> <a name=\"node\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.node\"></a>\n\n```typescript\npublic readonly node: Node;\n```\n\n- *Type:* constructs.Node\n\nThe tree node.\n\n---\n\n##### `apiId`<sup>Required</sup> <a name=\"apiId\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.apiId\"></a>\n\n```typescript\npublic readonly apiId: string;\n```\n\n- *Type:* string\n\nGenerated Api Id.\n\nMay be a CDK Token.\n\n---\n\n##### `generatedFunctionSlots`<sup>Required</sup> <a name=\"generatedFunctionSlots\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.generatedFunctionSlots\"></a>\n\n```typescript\npublic readonly generatedFunctionSlots: MutationFunctionSlot | QueryFunctionSlot | SubscriptionFunctionSlot[];\n```\n\n- *Type:* <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>[]\n\nResolvers generated by the transform process, persisted on the side in order to facilitate pulling a manifest for the purposes of inspecting and producing overrides.\n\n---\n\n##### `graphqlUrl`<sup>Required</sup> <a name=\"graphqlUrl\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.graphqlUrl\"></a>\n\n```typescript\npublic readonly graphqlUrl: string;\n```\n\n- *Type:* string\n\nGraphql URL For the generated API.\n\nMay be a CDK Token.\n\n---\n\n##### `realtimeUrl`<sup>Required</sup> <a name=\"realtimeUrl\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.realtimeUrl\"></a>\n\n```typescript\npublic readonly realtimeUrl: string;\n```\n\n- *Type:* string\n\nRealtime URL For the generated API.\n\nMay be a CDK Token.\n\n---\n\n##### `resources`<sup>Required</sup> <a name=\"resources\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.resources\"></a>\n\n```typescript\npublic readonly resources: AmplifyGraphqlApiResources;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources\">AmplifyGraphqlApiResources</a>\n\nGenerated L1 and L2 CDK resources.\n\n---\n\n##### `apiKey`<sup>Optional</sup> <a name=\"apiKey\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi.property.apiKey\"></a>\n\n```typescript\npublic readonly apiKey: string;\n```\n\n- *Type:* string\n\nGenerated Api Key if generated.\n\nMay be a CDK Token.\n\n---\n\n\n## Structs <a name=\"Structs\" id=\"Structs\"></a>\n\n### AddFunctionProps <a name=\"AddFunctionProps\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps\"></a>\n\nInput type properties when adding a new appsync.AppsyncFunction to the generated API. This is equivalent to the Omit<appsync.AppsyncFunctionProps, 'api'>.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.Initializer\"></a>\n\n```typescript\nimport { AddFunctionProps } from '@aws-amplify/graphql-api-construct'\n\nconst addFunctionProps: AddFunctionProps = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.dataSource\">dataSource</a></code> | <code>aws-cdk-lib.aws_appsync.BaseDataSource</code> | the data source linked to this AppSync Function. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.name\">name</a></code> | <code>string</code> | the name of the AppSync Function. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.code\">code</a></code> | <code>aws-cdk-lib.aws_appsync.Code</code> | The function code. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.description\">description</a></code> | <code>string</code> | the description for this AppSync Function. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.requestMappingTemplate\">requestMappingTemplate</a></code> | <code>aws-cdk-lib.aws_appsync.MappingTemplate</code> | the request mapping template for the AppSync Function. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.responseMappingTemplate\">responseMappingTemplate</a></code> | <code>aws-cdk-lib.aws_appsync.MappingTemplate</code> | the response mapping template for the AppSync Function. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AddFunctionProps.property.runtime\">runtime</a></code> | <code>aws-cdk-lib.aws_appsync.FunctionRuntime</code> | The functions runtime. |\n\n---\n\n##### `dataSource`<sup>Required</sup> <a name=\"dataSource\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.dataSource\"></a>\n\n```typescript\npublic readonly dataSource: BaseDataSource;\n```\n\n- *Type:* aws-cdk-lib.aws_appsync.BaseDataSource\n\nthe data source linked to this AppSync Function.\n\n---\n\n##### `name`<sup>Required</sup> <a name=\"name\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.name\"></a>\n\n```typescript\npublic readonly name: string;\n```\n\n- *Type:* string\n\nthe name of the AppSync Function.\n\n---\n\n##### `code`<sup>Optional</sup> <a name=\"code\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.code\"></a>\n\n```typescript\npublic readonly code: Code;\n```\n\n- *Type:* aws-cdk-lib.aws_appsync.Code\n- *Default:* no code is used\n\nThe function code.\n\n---\n\n##### `description`<sup>Optional</sup> <a name=\"description\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.description\"></a>\n\n```typescript\npublic readonly description: string;\n```\n\n- *Type:* string\n- *Default:* no description\n\nthe description for this AppSync Function.\n\n---\n\n##### `requestMappingTemplate`<sup>Optional</sup> <a name=\"requestMappingTemplate\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.requestMappingTemplate\"></a>\n\n```typescript\npublic readonly requestMappingTemplate: MappingTemplate;\n```\n\n- *Type:* aws-cdk-lib.aws_appsync.MappingTemplate\n- *Default:* no request mapping template\n\nthe request mapping template for the AppSync Function.\n\n---\n\n##### `responseMappingTemplate`<sup>Optional</sup> <a name=\"responseMappingTemplate\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.responseMappingTemplate\"></a>\n\n```typescript\npublic readonly responseMappingTemplate: MappingTemplate;\n```\n\n- *Type:* aws-cdk-lib.aws_appsync.MappingTemplate\n- *Default:* no response mapping template\n\nthe response mapping template for the AppSync Function.\n\n---\n\n##### `runtime`<sup>Optional</sup> <a name=\"runtime\" id=\"@aws-amplify/graphql-api-construct.AddFunctionProps.property.runtime\"></a>\n\n```typescript\npublic readonly runtime: FunctionRuntime;\n```\n\n- *Type:* aws-cdk-lib.aws_appsync.FunctionRuntime\n- *Default:* no function runtime, VTL mapping templates used\n\nThe functions runtime.\n\n---\n\n### AmplifyDynamoDbModelDataSourceDefinitionStrategy <a name=\"AmplifyDynamoDbModelDataSourceDefinitionStrategy\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceDefinitionStrategy\"></a>\n\nUse custom resource type 'Custom::AmplifyDynamoDBTable' to provision table.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceDefinitionStrategy.Initializer\"></a>\n\n```typescript\nimport { AmplifyDynamoDbModelDataSourceDefinitionStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst amplifyDynamoDbModelDataSourceDefinitionStrategy: AmplifyDynamoDbModelDataSourceDefinitionStrategy = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceDefinitionStrategy.property.dbType\">dbType</a></code> | <code>string</code> | *No description.* |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceDefinitionStrategy.property.provisionStrategy\">provisionStrategy</a></code> | <code>string</code> | *No description.* |\n\n---\n\n##### `dbType`<sup>Required</sup> <a name=\"dbType\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceDefinitionStrategy.property.dbType\"></a>\n\n```typescript\npublic readonly dbType: string;\n```\n\n- *Type:* string\n\n---\n\n##### `provisionStrategy`<sup>Required</sup> <a name=\"provisionStrategy\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceDefinitionStrategy.property.provisionStrategy\"></a>\n\n```typescript\npublic readonly provisionStrategy: string;\n```\n\n- *Type:* string\n\n---\n\n### AmplifyGraphqlApiCfnResources <a name=\"AmplifyGraphqlApiCfnResources\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources\"></a>\n\nL1 CDK resources from the Api which were generated as part of the transform.\n\nThese are potentially stored under nested stacks, but presented organized by type instead.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.Initializer\"></a>\n\n```typescript\nimport { AmplifyGraphqlApiCfnResources } from '@aws-amplify/graphql-api-construct'\n\nconst amplifyGraphqlApiCfnResources: AmplifyGraphqlApiCfnResources = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.additionalCfnResources\">additionalCfnResources</a></code> | <code>{[ key: string ]: aws-cdk-lib.CfnResource}</code> | Remaining L1 resources generated, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnDataSources\">cfnDataSources</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_appsync.CfnDataSource}</code> | The Generated AppSync DataSource L1 Resources, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnFunctionConfigurations\">cfnFunctionConfigurations</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_appsync.CfnFunctionConfiguration}</code> | The Generated AppSync Function L1 Resources, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnFunctions\">cfnFunctions</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_lambda.CfnFunction}</code> | The Generated Lambda Function L1 Resources, keyed by function name. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnGraphqlApi\">cfnGraphqlApi</a></code> | <code>aws-cdk-lib.aws_appsync.CfnGraphQLApi</code> | The Generated AppSync Api L1 Resource. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnGraphqlSchema\">cfnGraphqlSchema</a></code> | <code>aws-cdk-lib.aws_appsync.CfnGraphQLSchema</code> | The Generated AppSync Schema L1 Resource. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnResolvers\">cfnResolvers</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_appsync.CfnResolver}</code> | The Generated AppSync Resolver L1 Resources, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnRoles\">cfnRoles</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_iam.CfnRole}</code> | The Generated IAM Role L1 Resources, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnTables\">cfnTables</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_dynamodb.CfnTable}</code> | The Generated DynamoDB Table L1 Resources, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnApiKey\">cfnApiKey</a></code> | <code>aws-cdk-lib.aws_appsync.CfnApiKey</code> | The Generated AppSync Api Key L1 Resource. |\n\n---\n\n##### `additionalCfnResources`<sup>Required</sup> <a name=\"additionalCfnResources\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.additionalCfnResources\"></a>\n\n```typescript\npublic readonly additionalCfnResources: {[ key: string ]: CfnResource};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.CfnResource}\n\nRemaining L1 resources generated, keyed by logicalId.\n\n---\n\n##### `cfnDataSources`<sup>Required</sup> <a name=\"cfnDataSources\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnDataSources\"></a>\n\n```typescript\npublic readonly cfnDataSources: {[ key: string ]: CfnDataSource};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.aws_appsync.CfnDataSource}\n\nThe Generated AppSync DataSource L1 Resources, keyed by logicalId.\n\n---\n\n##### `cfnFunctionConfigurations`<sup>Required</sup> <a name=\"cfnFunctionConfigurations\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnFunctionConfigurations\"></a>\n\n```typescript\npublic readonly cfnFunctionConfigurations: {[ key: string ]: CfnFunctionConfiguration};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.aws_appsync.CfnFunctionConfiguration}\n\nThe Generated AppSync Function L1 Resources, keyed by logicalId.\n\n---\n\n##### `cfnFunctions`<sup>Required</sup> <a name=\"cfnFunctions\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnFunctions\"></a>\n\n```typescript\npublic readonly cfnFunctions: {[ key: string ]: CfnFunction};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.aws_lambda.CfnFunction}\n\nThe Generated Lambda Function L1 Resources, keyed by function name.\n\n---\n\n##### `cfnGraphqlApi`<sup>Required</sup> <a name=\"cfnGraphqlApi\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnGraphqlApi\"></a>\n\n```typescript\npublic readonly cfnGraphqlApi: CfnGraphQLApi;\n```\n\n- *Type:* aws-cdk-lib.aws_appsync.CfnGraphQLApi\n\nThe Generated AppSync Api L1 Resource.\n\n---\n\n##### `cfnGraphqlSchema`<sup>Required</sup> <a name=\"cfnGraphqlSchema\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnGraphqlSchema\"></a>\n\n```typescript\npublic readonly cfnGraphqlSchema: CfnGraphQLSchema;\n```\n\n- *Type:* aws-cdk-lib.aws_appsync.CfnGraphQLSchema\n\nThe Generated AppSync Schema L1 Resource.\n\n---\n\n##### `cfnResolvers`<sup>Required</sup> <a name=\"cfnResolvers\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnResolvers\"></a>\n\n```typescript\npublic readonly cfnResolvers: {[ key: string ]: CfnResolver};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.aws_appsync.CfnResolver}\n\nThe Generated AppSync Resolver L1 Resources, keyed by logicalId.\n\n---\n\n##### `cfnRoles`<sup>Required</sup> <a name=\"cfnRoles\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnRoles\"></a>\n\n```typescript\npublic readonly cfnRoles: {[ key: string ]: CfnRole};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.aws_iam.CfnRole}\n\nThe Generated IAM Role L1 Resources, keyed by logicalId.\n\n---\n\n##### `cfnTables`<sup>Required</sup> <a name=\"cfnTables\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnTables\"></a>\n\n```typescript\npublic readonly cfnTables: {[ key: string ]: CfnTable};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.aws_dynamodb.CfnTable}\n\nThe Generated DynamoDB Table L1 Resources, keyed by logicalId.\n\n---\n\n##### `cfnApiKey`<sup>Optional</sup> <a name=\"cfnApiKey\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources.property.cfnApiKey\"></a>\n\n```typescript\npublic readonly cfnApiKey: CfnApiKey;\n```\n\n- *Type:* aws-cdk-lib.aws_appsync.CfnApiKey\n\nThe Generated AppSync Api Key L1 Resource.\n\n---\n\n### AmplifyGraphqlApiProps <a name=\"AmplifyGraphqlApiProps\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps\"></a>\n\nInput props for the AmplifyGraphqlApi construct.\n\nSpecifies what the input to transform into an Api, and configurations for\nthe transformation process.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.Initializer\"></a>\n\n```typescript\nimport { AmplifyGraphqlApiProps } from '@aws-amplify/graphql-api-construct'\n\nconst amplifyGraphqlApiProps: AmplifyGraphqlApiProps = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.authorizationModes\">authorizationModes</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes\">AuthorizationModes</a></code> | Required auth modes for the Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.definition\">definition</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition\">IAmplifyGraphqlDefinition</a></code> | The definition to transform in a full Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.apiName\">apiName</a></code> | <code>string</code> | Name to be used for the AppSync Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.conflictResolution\">conflictResolution</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.ConflictResolution\">ConflictResolution</a></code> | Configure conflict resolution on the Api, which is required to enable DataStore Api functionality. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.functionNameMap\">functionNameMap</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}</code> | Lambda functions referenced in the definitions's. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.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> | Overrides for a given slot in the generated resolver pipelines. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.outputStorageStrategy\">outputStorageStrategy</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy\">IBackendOutputStorageStrategy</a></code> | Strategy to store construct outputs. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.predictionsBucket\">predictionsBucket</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | If using predictions, a bucket must be provided which will be used to search for assets. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.stackMappings\">stackMappings</a></code> | <code>{[ key: string ]: string}</code> | StackMappings override the assigned nested stack on a per-resource basis. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.transformerPlugins\">transformerPlugins</a></code> | <code>any[]</code> | Provide a list of additional custom transformers which are injected into the transform process. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.translationBehavior\">translationBehavior</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior\">PartialTranslationBehavior</a></code> | This replaces feature flags from the Api construct, for general information on what these parameters do, refer to https://docs.amplify.aws/cli/reference/feature-flags/#graphQLTransformer. |\n\n---\n\n##### `authorizationModes`<sup>Required</sup> <a name=\"authorizationModes\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.authorizationModes\"></a>\n\n```typescript\npublic readonly authorizationModes: AuthorizationModes;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes\">AuthorizationModes</a>\n\nRequired auth modes for the Api.\n\nThis object must be a superset of the configured auth providers in the Api definition.\nFor more information, refer to https://docs.amplify.aws/cli/graphql/authorization-rules/\n\n---\n\n##### `definition`<sup>Required</sup> <a name=\"definition\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.definition\"></a>\n\n```typescript\npublic readonly definition: IAmplifyGraphqlDefinition;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition\">IAmplifyGraphqlDefinition</a>\n\nThe definition to transform in a full Api.\n\nCan be constructed via the AmplifyGraphqlDefinition class.\n\n---\n\n##### `apiName`<sup>Optional</sup> <a name=\"apiName\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.apiName\"></a>\n\n```typescript\npublic readonly apiName: string;\n```\n\n- *Type:* string\n\nName to be used for the AppSync Api.\n\nDefault: construct id.\n\n---\n\n##### `conflictResolution`<sup>Optional</sup> <a name=\"conflictResolution\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.conflictResolution\"></a>\n\n```typescript\npublic readonly conflictResolution: ConflictResolution;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.ConflictResolution\">ConflictResolution</a>\n\nConfigure conflict resolution on the Api, which is required to enable DataStore Api functionality.\n\nFor more information, refer to https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/\n\n---\n\n##### `functionNameMap`<sup>Optional</sup> <a name=\"functionNameMap\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.functionNameMap\"></a>\n\n```typescript\npublic readonly functionNameMap: {[ key: string ]: IFunction};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}\n\nLambda functions referenced in the definitions's.\n\n---\n\n##### `functionSlots`<sup>Optional</sup> <a name=\"functionSlots\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.functionSlots\"></a>\n\n```typescript\npublic readonly functionSlots: MutationFunctionSlot | QueryFunctionSlot | SubscriptionFunctionSlot[];\n```\n\n- *Type:* <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>[]\n\nOverrides for a given slot in the generated resolver pipelines.\n\nFor more information about what slots are available,\nrefer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#override-amplify-generated-resolvers.\n\n---\n\n##### `outputStorageStrategy`<sup>Optional</sup> <a name=\"outputStorageStrategy\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.outputStorageStrategy\"></a>\n\n```typescript\npublic readonly outputStorageStrategy: IBackendOutputStorageStrategy;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy\">IBackendOutputStorageStrategy</a>\n\nStrategy to store construct outputs.\n\nIf no outputStorageStrategey is provided a default strategy will be used.\n\n---\n\n##### `predictionsBucket`<sup>Optional</sup> <a name=\"predictionsBucket\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.predictionsBucket\"></a>\n\n```typescript\npublic readonly predictionsBucket: IBucket;\n```\n\n- *Type:* aws-cdk-lib.aws_s3.IBucket\n\nIf using predictions, a bucket must be provided which will be used to search for assets.\n\n---\n\n##### `stackMappings`<sup>Optional</sup> <a name=\"stackMappings\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.stackMappings\"></a>\n\n```typescript\npublic readonly stackMappings: {[ key: string ]: string};\n```\n\n- *Type:* {[ key: string ]: string}\n\nStackMappings override the assigned nested stack on a per-resource basis.\n\nOnly applies to resolvers, and takes the form\n{ <logicalId>: <stackName> }\nIt is not recommended to use this parameter unless you are encountering stack resource count limits, and worth noting that\nafter initial deployment AppSync resolvers cannot be moved between nested stacks, they will need to be removed from the app,\nthen re-added from a new stack.\n\n---\n\n##### `transformerPlugins`<sup>Optional</sup> <a name=\"transformerPlugins\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.transformerPlugins\"></a>\n\n```typescript\npublic readonly transformerPlugins: any[];\n```\n\n- *Type:* any[]\n\nProvide a list of additional custom transformers which are injected into the transform process.\n\nThese custom transformers must be implemented with aws-cdk-lib >=2.80.0, and\n\n---\n\n##### `translationBehavior`<sup>Optional</sup> <a name=\"translationBehavior\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiProps.property.translationBehavior\"></a>\n\n```typescript\npublic readonly translationBehavior: PartialTranslationBehavior;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior\">PartialTranslationBehavior</a>\n\nThis replaces feature flags from the Api construct, for general information on what these parameters do, refer to https://docs.amplify.aws/cli/reference/feature-flags/#graphQLTransformer.\n\n---\n\n### AmplifyGraphqlApiResources <a name=\"AmplifyGraphqlApiResources\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources\"></a>\n\nAccessible resources from the Api which were generated as part of the transform.\n\nThese are potentially stored under nested stacks, but presented organized by type instead.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.Initializer\"></a>\n\n```typescript\nimport { AmplifyGraphqlApiResources } from '@aws-amplify/graphql-api-construct'\n\nconst amplifyGraphqlApiResources: AmplifyGraphqlApiResources = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <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. |\n| <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. |\n| <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. |\n| <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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.nestedStacks\">nestedStacks</a></code> | <code>{[ key: string ]: aws-cdk-lib.NestedStack}</code> | Nested Stacks generated by the Api Construct. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.roles\">roles</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_iam.IRole}</code> | The Generated IAM Role L2 Resources, keyed by logicalId. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.tables\">tables</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_dynamodb.ITable}</code> | The Generated DynamoDB Table L2 Resources, keyed by logicalId. |\n\n---\n\n##### `amplifyDynamoDbTables`<sup>Required</sup> <a name=\"amplifyDynamoDbTables\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.amplifyDynamoDbTables\"></a>\n\n```typescript\npublic readonly amplifyDynamoDbTables: {[ key: string ]: AmplifyDynamoDbTableWrapper};\n```\n\n- *Type:* {[ key: string ]: <a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper\">AmplifyDynamoDbTableWrapper</a>}\n\nThe Generated Amplify DynamoDb Table wrapped if produced, keyed by name.\n\n---\n\n##### `cfnResources`<sup>Required</sup> <a name=\"cfnResources\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.cfnResources\"></a>\n\n```typescript\npublic readonly cfnResources: AmplifyGraphqlApiCfnResources;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlApiCfnResources\">AmplifyGraphqlApiCfnResources</a>\n\nL1 Cfn Resources, for when dipping down a level of abstraction is desirable.\n\n---\n\n##### `functions`<sup>Required</sup> <a name=\"functions\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.functions\"></a>\n\n```typescript\npublic readonly functions: {[ key: string ]: IFunction};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}\n\nThe Generated Lambda Function L1 Resources, keyed by function name.\n\n---\n\n##### `graphqlApi`<sup>Required</sup> <a name=\"graphqlApi\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.graphqlApi\"></a>\n\n```typescript\npublic readonly graphqlApi: IGraphqlApi;\n```\n\n- *Type:* aws-cdk-lib.aws_appsync.IGraphqlApi\n\nThe Generated AppSync Api L2 Resource, includes the Schema.\n\n---\n\n##### `nestedStacks`<sup>Required</sup> <a name=\"nestedStacks\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.nestedStacks\"></a>\n\n```typescript\npublic readonly nestedStacks: {[ key: string ]: NestedStack};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.NestedStack}\n\nNested Stacks generated by the Api Construct.\n\n---\n\n##### `roles`<sup>Required</sup> <a name=\"roles\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.roles\"></a>\n\n```typescript\npublic readonly roles: {[ key: string ]: IRole};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.aws_iam.IRole}\n\nThe Generated IAM Role L2 Resources, keyed by logicalId.\n\n---\n\n##### `tables`<sup>Required</sup> <a name=\"tables\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlApiResources.property.tables\"></a>\n\n```typescript\npublic readonly tables: {[ key: string ]: ITable};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.aws_dynamodb.ITable}\n\nThe Generated DynamoDB Table L2 Resources, keyed by logicalId.\n\n---\n\n### ApiKeyAuthorizationConfig <a name=\"ApiKeyAuthorizationConfig\" id=\"@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig\"></a>\n\nConfiguration for Api Keys on the Graphql Api.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig.Initializer\"></a>\n\n```typescript\nimport { ApiKeyAuthorizationConfig } from '@aws-amplify/graphql-api-construct'\n\nconst apiKeyAuthorizationConfig: ApiKeyAuthorizationConfig = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig.property.expires\">expires</a></code> | <code>aws-cdk-lib.Duration</code> | A duration representing the time from Cloudformation deploy until expiry. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig.property.description\">description</a></code> | <code>string</code> | Optional description for the Api Key to attach to the Api. |\n\n---\n\n##### `expires`<sup>Required</sup> <a name=\"expires\" id=\"@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig.property.expires\"></a>\n\n```typescript\npublic readonly expires: Duration;\n```\n\n- *Type:* aws-cdk-lib.Duration\n\nA duration representing the time from Cloudformation deploy until expiry.\n\n---\n\n##### `description`<sup>Optional</sup> <a name=\"description\" id=\"@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig.property.description\"></a>\n\n```typescript\npublic readonly description: string;\n```\n\n- *Type:* string\n\nOptional description for the Api Key to attach to the Api.\n\n---\n\n### AuthorizationModes <a name=\"AuthorizationModes\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes\"></a>\n\nAuthorization Modes to apply to the Api.\n\nAt least one modes must be provided, and if more than one are provided a defaultAuthorizationMode must be specified.\nFor more information on Amplify Api auth, refer to https://docs.amplify.aws/cli/graphql/authorization-rules/#authorization-strategies\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.Initializer\"></a>\n\n```typescript\nimport { AuthorizationModes } from '@aws-amplify/graphql-api-construct'\n\nconst authorizationModes: AuthorizationModes = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.adminRoles\">adminRoles</a></code> | <code>aws-cdk-lib.aws_iam.IRole[]</code> | A list of roles granted full R/W access to the Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.apiKeyConfig\">apiKeyConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig\">ApiKeyAuthorizationConfig</a></code> | AppSync Api Key config, required if a 'apiKey' auth provider is specified in the Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.defaultAuthorizationMode\">defaultAuthorizationMode</a></code> | <code>string</code> | Default auth mode to provide to the Api, required if more than one config type is specified. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.iamConfig\">iamConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.IAMAuthorizationConfig\">IAMAuthorizationConfig</a></code> | IAM Auth config, required if an 'iam' auth provider is specified in the Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.lambdaConfig\">lambdaConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig\">LambdaAuthorizationConfig</a></code> | Lambda config, required if a 'function' auth provider is specified in the Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.oidcConfig\">oidcConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig\">OIDCAuthorizationConfig</a></code> | Cognito OIDC config, required if a 'oidc' auth provider is specified in the Api. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AuthorizationModes.property.userPoolConfig\">userPoolConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig\">UserPoolAuthorizationConfig</a></code> | Cognito UserPool config, required if a 'userPools' auth provider is specified in the Api. |\n\n---\n\n##### ~~`adminRoles`~~<sup>Optional</sup> <a name=\"adminRoles\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.adminRoles\"></a>\n\n- *Deprecated:* , use iamConfig.allowListedRoles instead.\n\n```typescript\npublic readonly adminRoles: IRole[];\n```\n\n- *Type:* aws-cdk-lib.aws_iam.IRole[]\n\nA list of roles granted full R/W access to the Api.\n\n---\n\n##### `apiKeyConfig`<sup>Optional</sup> <a name=\"apiKeyConfig\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.apiKeyConfig\"></a>\n\n```typescript\npublic readonly apiKeyConfig: ApiKeyAuthorizationConfig;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.ApiKeyAuthorizationConfig\">ApiKeyAuthorizationConfig</a>\n\nAppSync Api Key config, required if a 'apiKey' auth provider is specified in the Api.\n\nApplies to 'public' auth strategy.\n\n---\n\n##### `defaultAuthorizationMode`<sup>Optional</sup> <a name=\"defaultAuthorizationMode\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.defaultAuthorizationMode\"></a>\n\n```typescript\npublic readonly defaultAuthorizationMode: string;\n```\n\n- *Type:* string\n\nDefault auth mode to provide to the Api, required if more than one config type is specified.\n\n---\n\n##### `iamConfig`<sup>Optional</sup> <a name=\"iamConfig\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.iamConfig\"></a>\n\n```typescript\npublic readonly iamConfig: IAMAuthorizationConfig;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.IAMAuthorizationConfig\">IAMAuthorizationConfig</a>\n\nIAM Auth config, required if an 'iam' auth provider is specified in the Api.\n\nApplies to 'public' and 'private' auth strategies.\n\n---\n\n##### `lambdaConfig`<sup>Optional</sup> <a name=\"lambdaConfig\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.lambdaConfig\"></a>\n\n```typescript\npublic readonly lambdaConfig: LambdaAuthorizationConfig;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig\">LambdaAuthorizationConfig</a>\n\nLambda config, required if a 'function' auth provider is specified in the Api.\n\nApplies to 'custom' auth strategy.\n\n---\n\n##### `oidcConfig`<sup>Optional</sup> <a name=\"oidcConfig\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.oidcConfig\"></a>\n\n```typescript\npublic readonly oidcConfig: OIDCAuthorizationConfig;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig\">OIDCAuthorizationConfig</a>\n\nCognito OIDC config, required if a 'oidc' auth provider is specified in the Api.\n\nApplies to 'owner', 'private', and 'group' auth strategies.\n\n---\n\n##### `userPoolConfig`<sup>Optional</sup> <a name=\"userPoolConfig\" id=\"@aws-amplify/graphql-api-construct.AuthorizationModes.property.userPoolConfig\"></a>\n\n```typescript\npublic readonly userPoolConfig: UserPoolAuthorizationConfig;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig\">UserPoolAuthorizationConfig</a>\n\nCognito UserPool config, required if a 'userPools' auth provider is specified in the Api.\n\nApplies to 'owner', 'private', and 'group' auth strategies.\n\n---\n\n### AutomergeConflictResolutionStrategy <a name=\"AutomergeConflictResolutionStrategy\" id=\"@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy\"></a>\n\nEnable optimistic concurrency on the project.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy.Initializer\"></a>\n\n```typescript\nimport { AutomergeConflictResolutionStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst automergeConflictResolutionStrategy: AutomergeConflictResolutionStrategy = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy.property.detectionType\">detectionType</a></code> | <code>string</code> | The conflict detection type used for resolution. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy.property.handlerType\">handlerType</a></code> | <code>string</code> | This conflict resolution strategy executes an auto-merge. |\n\n---\n\n##### `detectionType`<sup>Required</sup> <a name=\"detectionType\" id=\"@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy.property.detectionType\"></a>\n\n```typescript\npublic readonly detectionType: string;\n```\n\n- *Type:* string\n\nThe conflict detection type used for resolution.\n\n---\n\n##### `handlerType`<sup>Required</sup> <a name=\"handlerType\" id=\"@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy.property.handlerType\"></a>\n\n```typescript\npublic readonly handlerType: string;\n```\n\n- *Type:* string\n\nThis conflict resolution strategy executes an auto-merge.\n\nFor more information, refer to https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html#conflict-detection-and-resolution\n\n---\n\n### ConflictResolution <a name=\"ConflictResolution\" id=\"@aws-amplify/graphql-api-construct.ConflictResolution\"></a>\n\nProject level configuration for conflict resolution.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.ConflictResolution.Initializer\"></a>\n\n```typescript\nimport { ConflictResolution } from '@aws-amplify/graphql-api-construct'\n\nconst conflictResolution: ConflictResolution = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.ConflictResolution.property.models\">models</a></code> | <code>{[ key: string ]: <a href=\"#@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy\">AutomergeConflictResolutionStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy\">OptimisticConflictResolutionStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy\">CustomConflictResolutionStrategy</a>}</code> | Model-specific conflict resolution overrides. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.ConflictResolution.property.project\">project</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy\">AutomergeConflictResolutionStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy\">OptimisticConflictResolutionStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy\">CustomConflictResolutionStrategy</a></code> | Project-wide config for conflict resolution. |\n\n---\n\n##### `models`<sup>Optional</sup> <a name=\"models\" id=\"@aws-amplify/graphql-api-construct.ConflictResolution.property.models\"></a>\n\n```typescript\npublic readonly models: {[ key: string ]: AutomergeConflictResolutionStrategy | OptimisticConflictResolutionStrategy | CustomConflictResolutionStrategy};\n```\n\n- *Type:* {[ key: string ]: <a href=\"#@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy\">AutomergeConflictResolutionStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy\">OptimisticConflictResolutionStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy\">CustomConflictResolutionStrategy</a>}\n\nModel-specific conflict resolution overrides.\n\n---\n\n##### `project`<sup>Optional</sup> <a name=\"project\" id=\"@aws-amplify/graphql-api-construct.ConflictResolution.property.project\"></a>\n\n```typescript\npublic readonly project: AutomergeConflictResolutionStrategy | OptimisticConflictResolutionStrategy | CustomConflictResolutionStrategy;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy\">AutomergeConflictResolutionStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy\">OptimisticConflictResolutionStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy\">CustomConflictResolutionStrategy</a>\n\nProject-wide config for conflict resolution.\n\nApplies to all non-overridden models.\n\n---\n\n### ConflictResolutionStrategyBase <a name=\"ConflictResolutionStrategyBase\" id=\"@aws-amplify/graphql-api-construct.ConflictResolutionStrategyBase\"></a>\n\nCommon parameters for conflict resolution.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.ConflictResolutionStrategyBase.Initializer\"></a>\n\n```typescript\nimport { ConflictResolutionStrategyBase } from '@aws-amplify/graphql-api-construct'\n\nconst conflictResolutionStrategyBase: ConflictResolutionStrategyBase = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.ConflictResolutionStrategyBase.property.detectionType\">detectionType</a></code> | <code>string</code> | The conflict detection type used for resolution. |\n\n---\n\n##### `detectionType`<sup>Required</sup> <a name=\"detectionType\" id=\"@aws-amplify/graphql-api-construct.ConflictResolutionStrategyBase.property.detectionType\"></a>\n\n```typescript\npublic readonly detectionType: string;\n```\n\n- *Type:* string\n\nThe conflict detection type used for resolution.\n\n---\n\n### CustomConflictResolutionStrategy <a name=\"CustomConflictResolutionStrategy\" id=\"@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy\"></a>\n\nEnable custom sync on the project, powered by a lambda.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.Initializer\"></a>\n\n```typescript\nimport { CustomConflictResolutionStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst customConflictResolutionStrategy: CustomConflictResolutionStrategy = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.property.detectionType\">detectionType</a></code> | <code>string</code> | The conflict detection type used for resolution. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.property.conflictHandler\">conflictHandler</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | The function which will be invoked for conflict resolution. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.property.handlerType\">handlerType</a></code> | <code>string</code> | This conflict resolution strategy uses a lambda handler type. |\n\n---\n\n##### `detectionType`<sup>Required</sup> <a name=\"detectionType\" id=\"@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.property.detectionType\"></a>\n\n```typescript\npublic readonly detectionType: string;\n```\n\n- *Type:* string\n\nThe conflict detection type used for resolution.\n\n---\n\n##### `conflictHandler`<sup>Required</sup> <a name=\"conflictHandler\" id=\"@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.property.conflictHandler\"></a>\n\n```typescript\npublic readonly conflictHandler: IFunction;\n```\n\n- *Type:* aws-cdk-lib.aws_lambda.IFunction\n\nThe function which will be invoked for conflict resolution.\n\n---\n\n##### `handlerType`<sup>Required</sup> <a name=\"handlerType\" id=\"@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy.property.handlerType\"></a>\n\n```typescript\npublic readonly handlerType: string;\n```\n\n- *Type:* string\n\nThis conflict resolution strategy uses a lambda handler type.\n\nFor more information, refer to https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html#conflict-detection-and-resolution\n\n---\n\n### DefaultDynamoDbModelDataSourceDefinitionStrategy <a name=\"DefaultDynamoDbModelDataSourceDefinitionStrategy\" id=\"@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceDefinitionStrategy\"></a>\n\nUse default CloudFormation type 'AWS::DynamoDB::Table' to provision table.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceDefinitionStrategy.Initializer\"></a>\n\n```typescript\nimport { DefaultDynamoDbModelDataSourceDefinitionStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst defaultDynamoDbModelDataSourceDefinitionStrategy: DefaultDynamoDbModelDataSourceDefinitionStrategy = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceDefinitionStrategy.property.dbType\">dbType</a></code> | <code>string</code> | *No description.* |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceDefinitionStrategy.property.provisionStrategy\">provisionStrategy</a></code> | <code>string</code> | *No description.* |\n\n---\n\n##### `dbType`<sup>Required</sup> <a name=\"dbType\" id=\"@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceDefinitionStrategy.property.dbType\"></a>\n\n```typescript\npublic readonly dbType: string;\n```\n\n- *Type:* string\n\n---\n\n##### `provisionStrategy`<sup>Required</sup> <a name=\"provisionStrategy\" id=\"@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceDefinitionStrategy.property.provisionStrategy\"></a>\n\n```typescript\npublic readonly provisionStrategy: string;\n```\n\n- *Type:* string\n\n---\n\n### FunctionSlotBase <a name=\"FunctionSlotBase\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotBase\"></a>\n\nCommon slot parameters.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotBase.Initializer\"></a>\n\n```typescript\nimport { FunctionSlotBase } from '@aws-amplify/graphql-api-construct'\n\nconst functionSlotBase: FunctionSlotBase = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotBase.property.fieldName\">fieldName</a></code> | <code>string</code> | The field to attach this function to on the Api definition. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotBase.property.function\">function</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a></code> | The overridden behavior for this slot. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotBase.property.slotIndex\">slotIndex</a></code> | <code>number</code> | The slot index to use to inject this into the execution pipeline. |\n\n---\n\n##### `fieldName`<sup>Required</sup> <a name=\"fieldName\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotBase.property.fieldName\"></a>\n\n```typescript\npublic readonly fieldName: string;\n```\n\n- *Type:* string\n\nThe field to attach this function to on the Api definition.\n\n---\n\n##### `function`<sup>Required</sup> <a name=\"function\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotBase.property.function\"></a>\n\n```typescript\npublic readonly function: FunctionSlotOverride;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a>\n\nThe overridden behavior for this slot.\n\n---\n\n##### `slotIndex`<sup>Required</sup> <a name=\"slotIndex\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotBase.property.slotIndex\"></a>\n\n```typescript\npublic readonly slotIndex: number;\n```\n\n- *Type:* number\n\nThe slot index to use to inject this into the execution pipeline.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n### FunctionSlotOverride <a name=\"FunctionSlotOverride\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotOverride\"></a>\n\nParams exposed to support configuring and overriding pipelined slots.\n\nThis allows configuration of the underlying function,\nincluding the request and response mapping templates.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotOverride.Initializer\"></a>\n\n```typescript\nimport { FunctionSlotOverride } from '@aws-amplify/graphql-api-construct'\n\nconst functionSlotOverride: FunctionSlotOverride = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride.property.requestMappingTemplate\">requestMappingTemplate</a></code> | <code>aws-cdk-lib.aws_appsync.MappingTemplate</code> | Override request mapping template for the function slot. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride.property.responseMappingTemplate\">responseMappingTemplate</a></code> | <code>aws-cdk-lib.aws_appsync.MappingTemplate</code> | Override response mapping template for the function slot. |\n\n---\n\n##### `requestMappingTemplate`<sup>Optional</sup> <a name=\"requestMappingTemplate\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotOverride.property.requestMappingTemplate\"></a>\n\n```typescript\npublic readonly requestMappingTemplate: MappingTemplate;\n```\n\n- *Type:* aws-cdk-lib.aws_appsync.MappingTemplate\n\nOverride request mapping template for the function slot.\n\nExecuted before the datasource is invoked.\n\n---\n\n##### `responseMappingTemplate`<sup>Optional</sup> <a name=\"responseMappingTemplate\" id=\"@aws-amplify/graphql-api-construct.FunctionSlotOverride.property.responseMappingTemplate\"></a>\n\n```typescript\npublic readonly responseMappingTemplate: MappingTemplate;\n```\n\n- *Type:* aws-cdk-lib.aws_appsync.MappingTemplate\n\nOverride response mapping template for the function slot.\n\nExecuted after the datasource is invoked.\n\n---\n\n### IAMAuthorizationConfig <a name=\"IAMAuthorizationConfig\" id=\"@aws-amplify/graphql-api-construct.IAMAuthorizationConfig\"></a>\n\nConfiguration for IAM Authorization on the Graphql Api.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.Initializer\"></a>\n\n```typescript\nimport { IAMAuthorizationConfig } from '@aws-amplify/graphql-api-construct'\n\nconst iAMAuthorizationConfig: IAMAuthorizationConfig = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.authenticatedUserRole\">authenticatedUserRole</a></code> | <code>aws-cdk-lib.aws_iam.IRole</code> | Authenticated user role, applies to { provider: iam, allow: private } access. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.identityPoolId\">identityPoolId</a></code> | <code>string</code> | ID for the Cognito Identity Pool vending auth and unauth roles. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.unauthenticatedUserRole\">unauthenticatedUserRole</a></code> | <code>aws-cdk-lib.aws_iam.IRole</code> | Unauthenticated user role, applies to { provider: iam, allow: public } access. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.allowListedRoles\">allowListedRoles</a></code> | <code>string \\| aws-cdk-lib.aws_iam.IRole[]</code> | A list of IAM roles which will be granted full read/write access to the generated model if IAM auth is enabled. |\n\n---\n\n##### `authenticatedUserRole`<sup>Required</sup> <a name=\"authenticatedUserRole\" id=\"@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.authenticatedUserRole\"></a>\n\n```typescript\npublic readonly authenticatedUserRole: IRole;\n```\n\n- *Type:* aws-cdk-lib.aws_iam.IRole\n\nAuthenticated user role, applies to { provider: iam, allow: private } access.\n\n---\n\n##### `identityPoolId`<sup>Required</sup> <a name=\"identityPoolId\" id=\"@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.identityPoolId\"></a>\n\n```typescript\npublic readonly identityPoolId: string;\n```\n\n- *Type:* string\n\nID for the Cognito Identity Pool vending auth and unauth roles.\n\nFormat: `<region>:<id string>`\n\n---\n\n##### `unauthenticatedUserRole`<sup>Required</sup> <a name=\"unauthenticatedUserRole\" id=\"@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.unauthenticatedUserRole\"></a>\n\n```typescript\npublic readonly unauthenticatedUserRole: IRole;\n```\n\n- *Type:* aws-cdk-lib.aws_iam.IRole\n\nUnauthenticated user role, applies to { provider: iam, allow: public } access.\n\n---\n\n##### `allowListedRoles`<sup>Optional</sup> <a name=\"allowListedRoles\" id=\"@aws-amplify/graphql-api-construct.IAMAuthorizationConfig.property.allowListedRoles\"></a>\n\n```typescript\npublic readonly allowListedRoles: string | IRole[];\n```\n\n- *Type:* string | aws-cdk-lib.aws_iam.IRole[]\n\nA list of IAM roles which will be granted full read/write access to the generated model if IAM auth is enabled.\n\nIf an IRole is provided, the role `name` will be used for matching.\nIf a string is provided, the raw value will be used for matching.\n\n---\n\n### LambdaAuthorizationConfig <a name=\"LambdaAuthorizationConfig\" id=\"@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig\"></a>\n\nConfiguration for Custom Lambda authorization on the Graphql Api.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig.Initializer\"></a>\n\n```typescript\nimport { LambdaAuthorizationConfig } from '@aws-amplify/graphql-api-construct'\n\nconst lambdaAuthorizationConfig: LambdaAuthorizationConfig = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig.property.function\">function</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | The authorizer lambda function. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig.property.ttl\">ttl</a></code> | <code>aws-cdk-lib.Duration</code> | How long the results are cached. |\n\n---\n\n##### `function`<sup>Required</sup> <a name=\"function\" id=\"@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig.property.function\"></a>\n\n```typescript\npublic readonly function: IFunction;\n```\n\n- *Type:* aws-cdk-lib.aws_lambda.IFunction\n\nThe authorizer lambda function.\n\n---\n\n##### `ttl`<sup>Required</sup> <a name=\"ttl\" id=\"@aws-amplify/graphql-api-construct.LambdaAuthorizationConfig.property.ttl\"></a>\n\n```typescript\npublic readonly ttl: Duration;\n```\n\n- *Type:* aws-cdk-lib.Duration\n\nHow long the results are cached.\n\n---\n\n### ModelDataSourceDefinition <a name=\"ModelDataSourceDefinition\" id=\"@aws-amplify/graphql-api-construct.ModelDataSourceDefinition\"></a>\n\nDefines a datasource for resolving GraphQL operations against `@model` types in a GraphQL schema.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.ModelDataSourceDefinition.Initializer\"></a>\n\n```typescript\nimport { ModelDataSourceDefinition } from '@aws-amplify/graphql-api-construct'\n\nconst modelDataSourceDefinition: ModelDataSourceDefinition = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.ModelDataSourceDefinition.property.name\">name</a></code> | <code>string</code> | The name of the ModelDataSource. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.ModelDataSourceDefinition.property.strategy\">strategy</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceDefinitionStrategy\">DefaultDynamoDbModelDataSourceDefinitionStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceDefinitionStrategy\">AmplifyDynamoDbModelDataSourceDefinitionStrategy</a></code> | The ModelDataSourceDefinitionStrategy. |\n\n---\n\n##### `name`<sup>Required</sup> <a name=\"name\" id=\"@aws-amplify/graphql-api-construct.ModelDataSourceDefinition.property.name\"></a>\n\n```typescript\npublic readonly name: string;\n```\n\n- *Type:* string\n\nThe name of the ModelDataSource.\n\nThis will be used to name the AppSynce DataSource itself, plus any associated resources like resolver\nLambdas, custom CDK resources. This name must be unique across all schema definitions in a GraphQL API.\n\n---\n\n##### `strategy`<sup>Required</sup> <a name=\"strategy\" id=\"@aws-amplify/graphql-api-construct.ModelDataSourceDefinition.property.strategy\"></a>\n\n```typescript\npublic readonly strategy: DefaultDynamoDbModelDataSourceDefinitionStrategy | AmplifyDynamoDbModelDataSourceDefinitionStrategy;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceDefinitionStrategy\">DefaultDynamoDbModelDataSourceDefinitionStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceDefinitionStrategy\">AmplifyDynamoDbModelDataSourceDefinitionStrategy</a>\n\nThe ModelDataSourceDefinitionStrategy.\n\n---\n\n### MutationFunctionSlot <a name=\"MutationFunctionSlot\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot\"></a>\n\nSlot types for Mutation Resolvers.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot.Initializer\"></a>\n\n```typescript\nimport { MutationFunctionSlot } from '@aws-amplify/graphql-api-construct'\n\nconst mutationFunctionSlot: MutationFunctionSlot = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.fieldName\">fieldName</a></code> | <code>string</code> | The field to attach this function to on the Api definition. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.function\">function</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a></code> | The overridden behavior for this slot. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.slotIndex\">slotIndex</a></code> | <code>number</code> | The slot index to use to inject this into the execution pipeline. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.slotName\">slotName</a></code> | <code>string</code> | The slot name to inject this behavior into. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.typeName\">typeName</a></code> | <code>string</code> | This slot type applies to the Mutation type on the Api definition. |\n\n---\n\n##### `fieldName`<sup>Required</sup> <a name=\"fieldName\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.fieldName\"></a>\n\n```typescript\npublic readonly fieldName: string;\n```\n\n- *Type:* string\n\nThe field to attach this function to on the Api definition.\n\n---\n\n##### `function`<sup>Required</sup> <a name=\"function\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.function\"></a>\n\n```typescript\npublic readonly function: FunctionSlotOverride;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a>\n\nThe overridden behavior for this slot.\n\n---\n\n##### `slotIndex`<sup>Required</sup> <a name=\"slotIndex\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.slotIndex\"></a>\n\n```typescript\npublic readonly slotIndex: number;\n```\n\n- *Type:* number\n\nThe slot index to use to inject this into the execution pipeline.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n##### `slotName`<sup>Required</sup> <a name=\"slotName\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.slotName\"></a>\n\n```typescript\npublic readonly slotName: string;\n```\n\n- *Type:* string\n\nThe slot name to inject this behavior into.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n##### `typeName`<sup>Required</sup> <a name=\"typeName\" id=\"@aws-amplify/graphql-api-construct.MutationFunctionSlot.property.typeName\"></a>\n\n```typescript\npublic readonly typeName: string;\n```\n\n- *Type:* string\n\nThis slot type applies to the Mutation type on the Api definition.\n\n---\n\n### OIDCAuthorizationConfig <a name=\"OIDCAuthorizationConfig\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig\"></a>\n\nConfiguration for OpenId Connect Authorization on the Graphql Api.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.Initializer\"></a>\n\n```typescript\nimport { OIDCAuthorizationConfig } from '@aws-amplify/graphql-api-construct'\n\nconst oIDCAuthorizationConfig: OIDCAuthorizationConfig = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.oidcIssuerUrl\">oidcIssuerUrl</a></code> | <code>string</code> | Url for the OIDC token issuer. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.oidcProviderName\">oidcProviderName</a></code> | <code>string</code> | The issuer for the OIDC configuration. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.tokenExpiryFromAuth\">tokenExpiryFromAuth</a></code> | <code>aws-cdk-lib.Duration</code> | The duration an OIDC token is valid after being authenticated by OIDC provider. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.tokenExpiryFromIssue\">tokenExpiryFromIssue</a></code> | <code>aws-cdk-lib.Duration</code> | The duration an OIDC token is valid after being issued to a user. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.clientId\">clientId</a></code> | <code>string</code> | The client identifier of the Relying party at the OpenID identity provider. |\n\n---\n\n##### `oidcIssuerUrl`<sup>Required</sup> <a name=\"oidcIssuerUrl\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.oidcIssuerUrl\"></a>\n\n```typescript\npublic readonly oidcIssuerUrl: string;\n```\n\n- *Type:* string\n\nUrl for the OIDC token issuer.\n\n---\n\n##### `oidcProviderName`<sup>Required</sup> <a name=\"oidcProviderName\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.oidcProviderName\"></a>\n\n```typescript\npublic readonly oidcProviderName: string;\n```\n\n- *Type:* string\n\nThe issuer for the OIDC configuration.\n\n---\n\n##### `tokenExpiryFromAuth`<sup>Required</sup> <a name=\"tokenExpiryFromAuth\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.tokenExpiryFromAuth\"></a>\n\n```typescript\npublic readonly tokenExpiryFromAuth: Duration;\n```\n\n- *Type:* aws-cdk-lib.Duration\n\nThe duration an OIDC token is valid after being authenticated by OIDC provider.\n\nauth_time claim in OIDC token is required for this validation to work.\n\n---\n\n##### `tokenExpiryFromIssue`<sup>Required</sup> <a name=\"tokenExpiryFromIssue\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.tokenExpiryFromIssue\"></a>\n\n```typescript\npublic readonly tokenExpiryFromIssue: Duration;\n```\n\n- *Type:* aws-cdk-lib.Duration\n\nThe duration an OIDC token is valid after being issued to a user.\n\nThis validation uses iat claim of OIDC token.\n\n---\n\n##### `clientId`<sup>Optional</sup> <a name=\"clientId\" id=\"@aws-amplify/graphql-api-construct.OIDCAuthorizationConfig.property.clientId\"></a>\n\n```typescript\npublic readonly clientId: string;\n```\n\n- *Type:* string\n\nThe client identifier of the Relying party at the OpenID identity provider.\n\nA regular expression can be specified so AppSync can validate against multiple client identifiers at a time. Example\n\n---\n\n### OptimisticConflictResolutionStrategy <a name=\"OptimisticConflictResolutionStrategy\" id=\"@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy\"></a>\n\nEnable automerge on the project.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy.Initializer\"></a>\n\n```typescript\nimport { OptimisticConflictResolutionStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst optimisticConflictResolutionStrategy: OptimisticConflictResolutionStrategy = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy.property.detectionType\">detectionType</a></code> | <code>string</code> | The conflict detection type used for resolution. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy.property.handlerType\">handlerType</a></code> | <code>string</code> | This conflict resolution strategy the _version to perform optimistic concurrency. |\n\n---\n\n##### `detectionType`<sup>Required</sup> <a name=\"detectionType\" id=\"@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy.property.detectionType\"></a>\n\n```typescript\npublic readonly detectionType: string;\n```\n\n- *Type:* string\n\nThe conflict detection type used for resolution.\n\n---\n\n##### `handlerType`<sup>Required</sup> <a name=\"handlerType\" id=\"@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy.property.handlerType\"></a>\n\n```typescript\npublic readonly handlerType: string;\n```\n\n- *Type:* string\n\nThis conflict resolution strategy the _version to perform optimistic concurrency.\n\nFor more information, refer to https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html#conflict-detection-and-resolution\n\n---\n\n### PartialTranslationBehavior <a name=\"PartialTranslationBehavior\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior\"></a>\n\nA utility interface equivalent to Partial<TranslationBehavior>.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.Initializer\"></a>\n\n```typescript\nimport { PartialTranslationBehavior } from '@aws-amplify/graphql-api-construct'\n\nconst partialTranslationBehavior: PartialTranslationBehavior = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <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. |\n| <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. |\n| <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). |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.enableTransformerCfnOutputs\">enableTransformerCfnOutputs</a></code> | <code>boolean</code> | When enabled, internal cfn outputs which existed in Amplify-generated apps will continue to be emitted. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.sandboxModeEnabled\">sandboxModeEnabled</a></code> | <code>boolean</code> | Enabling sandbox mode will enable api key auth on all models in the transformed schema. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.secondaryKeyAsGSI\">secondaryKeyAsGSI</a></code> | <code>boolean</code> | If disabled, generated. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.shouldDeepMergeDirectiveConfigDefaults\">shouldDeepMergeDirectiveConfigDefaults</a></code> | <code>boolean</code> | Restore parity w/ GQLv1. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.PartialTranslationBehavior.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. |\n\n---\n\n##### `disableResolverDeduping`<sup>Optional</sup> <a name=\"disableResolverDeduping\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.disableResolverDeduping\"></a>\n\n```typescript\npublic readonly disableResolverDeduping: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nDisable 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.\n\n---\n\n##### `enableAutoIndexQueryNames`<sup>Optional</sup> <a name=\"enableAutoIndexQueryNames\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.enableAutoIndexQueryNames\"></a>\n\n```typescript\npublic readonly enableAutoIndexQueryNames: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nAutomate generation of query names, and as a result attaching all indexes as queries to the generated Api.\n\nIf enabled,\n\n---\n\n##### `enableSearchNodeToNodeEncryption`<sup>Optional</sup> <a name=\"enableSearchNodeToNodeEncryption\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.enableSearchNodeToNodeEncryption\"></a>\n\n```typescript\npublic readonly enableSearchNodeToNodeEncryption: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nIf enabled, set nodeToNodeEncryption on the searchable domain (if one exists).\n\nNot recommended for use, prefer\nto use `Object.values(resources.additionalResources['AWS::Elasticsearch::Domain']).forEach((domain: CfnDomain) => {\n domain.NodeToNodeEncryptionOptions = { Enabled: True };\n});\n\n---\n\n##### `enableTransformerCfnOutputs`<sup>Optional</sup> <a name=\"enableTransformerCfnOutputs\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.enableTransformerCfnOutputs\"></a>\n\n```typescript\npublic readonly enableTransformerCfnOutputs: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nWhen enabled, internal cfn outputs which existed in Amplify-generated apps will continue to be emitted.\n\n---\n\n##### `populateOwnerFieldForStaticGroupAuth`<sup>Optional</sup> <a name=\"populateOwnerFieldForStaticGroupAuth\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.populateOwnerFieldForStaticGroupAuth\"></a>\n\n```typescript\npublic readonly populateOwnerFieldForStaticGroupAuth: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nEnsure that the owner field is still populated even if a static iam or group authorization applies.\n\n---\n\n##### `respectPrimaryKeyAttributesOnConnectionField`<sup>Optional</sup> <a name=\"respectPrimaryKeyAttributesOnConnectionField\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.respectPrimaryKeyAttributesOnConnectionField\"></a>\n\n```typescript\npublic readonly respectPrimaryKeyAttributesOnConnectionField: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nEnable custom primary key support, there's no good reason to disable this unless trying not to update a legacy app.\n\n---\n\n##### `sandboxModeEnabled`<sup>Optional</sup> <a name=\"sandboxModeEnabled\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.sandboxModeEnabled\"></a>\n\n```typescript\npublic readonly sandboxModeEnabled: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nEnabling sandbox mode will enable api key auth on all models in the transformed schema.\n\n---\n\n##### `secondaryKeyAsGSI`<sup>Optional</sup> <a name=\"secondaryKeyAsGSI\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.secondaryKeyAsGSI\"></a>\n\n```typescript\npublic readonly secondaryKeyAsGSI: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nIf disabled, generated.\n\n---\n\n##### `shouldDeepMergeDirectiveConfigDefaults`<sup>Optional</sup> <a name=\"shouldDeepMergeDirectiveConfigDefaults\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.shouldDeepMergeDirectiveConfigDefaults\"></a>\n\n```typescript\npublic readonly shouldDeepMergeDirectiveConfigDefaults: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nRestore parity w/ GQLv1.\n\n---\n\n##### `suppressApiKeyGeneration`<sup>Optional</sup> <a name=\"suppressApiKeyGeneration\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.suppressApiKeyGeneration\"></a>\n\n```typescript\npublic readonly suppressApiKeyGeneration: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nIf enabled, disable api key resource generation even if specified as an auth rule on the construct.\n\nThis is a legacy parameter from the Graphql Transformer existing in Amplify CLI, not recommended to change.\n\n---\n\n##### `useSubUsernameForDefaultIdentityClaim`<sup>Optional</sup> <a name=\"useSubUsernameForDefaultIdentityClaim\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.useSubUsernameForDefaultIdentityClaim\"></a>\n\n```typescript\npublic readonly useSubUsernameForDefaultIdentityClaim: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nEnsure 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.\n\n---\n\n### ProvisionedThroughput <a name=\"ProvisionedThroughput\" id=\"@aws-amplify/graphql-api-construct.ProvisionedThroughput\"></a>\n\nWrapper for provisioned throughput config in DDB.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.ProvisionedThroughput.Initializer\"></a>\n\n```typescript\nimport { ProvisionedThroughput } from '@aws-amplify/graphql-api-construct'\n\nconst provisionedThroughput: ProvisionedThroughput = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <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. |\n| <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. |\n\n---\n\n##### `readCapacityUnits`<sup>Required</sup> <a name=\"readCapacityUnits\" id=\"@aws-amplify/graphql-api-construct.ProvisionedThroughput.property.readCapacityUnits\"></a>\n\n```typescript\npublic readonly readCapacityUnits: number;\n```\n\n- *Type:* number\n\nThe read capacity units on the table or index.\n\n---\n\n##### `writeCapacityUnits`<sup>Required</sup> <a name=\"writeCapacityUnits\" id=\"@aws-amplify/graphql-api-construct.ProvisionedThroughput.property.writeCapacityUnits\"></a>\n\n```typescript\npublic readonly writeCapacityUnits: number;\n```\n\n- *Type:* number\n\nThe write capacity units on the table or index.\n\n---\n\n### QueryFunctionSlot <a name=\"QueryFunctionSlot\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot\"></a>\n\nSlot types for Query Resolvers.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot.Initializer\"></a>\n\n```typescript\nimport { QueryFunctionSlot } from '@aws-amplify/graphql-api-construct'\n\nconst queryFunctionSlot: QueryFunctionSlot = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.fieldName\">fieldName</a></code> | <code>string</code> | The field to attach this function to on the Api definition. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.function\">function</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a></code> | The overridden behavior for this slot. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.slotIndex\">slotIndex</a></code> | <code>number</code> | The slot index to use to inject this into the execution pipeline. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.slotName\">slotName</a></code> | <code>string</code> | The slot name to inject this behavior into. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.typeName\">typeName</a></code> | <code>string</code> | This slot type applies to the Query type on the Api definition. |\n\n---\n\n##### `fieldName`<sup>Required</sup> <a name=\"fieldName\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.fieldName\"></a>\n\n```typescript\npublic readonly fieldName: string;\n```\n\n- *Type:* string\n\nThe field to attach this function to on the Api definition.\n\n---\n\n##### `function`<sup>Required</sup> <a name=\"function\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.function\"></a>\n\n```typescript\npublic readonly function: FunctionSlotOverride;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a>\n\nThe overridden behavior for this slot.\n\n---\n\n##### `slotIndex`<sup>Required</sup> <a name=\"slotIndex\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.slotIndex\"></a>\n\n```typescript\npublic readonly slotIndex: number;\n```\n\n- *Type:* number\n\nThe slot index to use to inject this into the execution pipeline.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n##### `slotName`<sup>Required</sup> <a name=\"slotName\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.slotName\"></a>\n\n```typescript\npublic readonly slotName: string;\n```\n\n- *Type:* string\n\nThe slot name to inject this behavior into.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n##### `typeName`<sup>Required</sup> <a name=\"typeName\" id=\"@aws-amplify/graphql-api-construct.QueryFunctionSlot.property.typeName\"></a>\n\n```typescript\npublic readonly typeName: string;\n```\n\n- *Type:* string\n\nThis slot type applies to the Query type on the Api definition.\n\n---\n\n### SSESpecification <a name=\"SSESpecification\" id=\"@aws-amplify/graphql-api-construct.SSESpecification\"></a>\n\nRepresents the settings used to enable server-side encryption.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.SSESpecification.Initializer\"></a>\n\n```typescript\nimport { SSESpecification } from '@aws-amplify/graphql-api-construct'\n\nconst sSESpecification: SSESpecification = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <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. |\n| <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. |\n| <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. |\n\n---\n\n##### `sseEnabled`<sup>Required</sup> <a name=\"sseEnabled\" id=\"@aws-amplify/graphql-api-construct.SSESpecification.property.sseEnabled\"></a>\n\n```typescript\npublic readonly sseEnabled: boolean;\n```\n\n- *Type:* boolean\n\nIndicates whether server-side encryption is done using an AWS managed key or an AWS owned key.\n\nIf enabled (true), server-side encryption type is set to `KMS` and an AWS managed key is used ( AWS KMS charges apply).\nIf disabled (false) or not specified, server-side encryption is set to AWS owned key.\n\n---\n\n##### `kmsMasterKeyId`<sup>Optional</sup> <a name=\"kmsMasterKeyId\" id=\"@aws-amplify/graphql-api-construct.SSESpecification.property.kmsMasterKeyId\"></a>\n\n```typescript\npublic readonly kmsMasterKeyId: string;\n```\n\n- *Type:* string\n\nThe AWS KMS key that should be used for the AWS KMS encryption.\n\nTo specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide\nthis parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .\n\n---\n\n##### `sseType`<sup>Optional</sup> <a name=\"sseType\" id=\"@aws-amplify/graphql-api-construct.SSESpecification.property.sseType\"></a>\n\n```typescript\npublic readonly sseType: SSEType;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.SSEType\">SSEType</a>\n\nServer-side encryption type.\n\nThe only supported value is:\n`KMS` Server-side encryption that uses AWS Key Management Service.\n The key is stored in your account and is managed by AWS KMS ( AWS KMS charges apply).\n\n---\n\n### StreamSpecification <a name=\"StreamSpecification\" id=\"@aws-amplify/graphql-api-construct.StreamSpecification\"></a>\n\nRepresents the DynamoDB Streams configuration for a table in DynamoDB.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.StreamSpecification.Initializer\"></a>\n\n```typescript\nimport { StreamSpecification } from '@aws-amplify/graphql-api-construct'\n\nconst streamSpecification: StreamSpecification = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <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. |\n\n---\n\n##### `streamViewType`<sup>Required</sup> <a name=\"streamViewType\" id=\"@aws-amplify/graphql-api-construct.StreamSpecification.property.streamViewType\"></a>\n\n```typescript\npublic readonly streamViewType: StreamViewType;\n```\n\n- *Type:* aws-cdk-lib.aws_dynamodb.StreamViewType\n\nWhen an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table.\n\nValid values for `StreamViewType` are:\n- `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.\n- `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.\n- `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.\n- `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.\n\n---\n\n### SubscriptionFunctionSlot <a name=\"SubscriptionFunctionSlot\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot\"></a>\n\nSlot types for Subscription Resolvers.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.Initializer\"></a>\n\n```typescript\nimport { SubscriptionFunctionSlot } from '@aws-amplify/graphql-api-construct'\n\nconst subscriptionFunctionSlot: SubscriptionFunctionSlot = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <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. |\n| <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. |\n| <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. |\n| <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. |\n| <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. |\n\n---\n\n##### `fieldName`<sup>Required</sup> <a name=\"fieldName\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.fieldName\"></a>\n\n```typescript\npublic readonly fieldName: string;\n```\n\n- *Type:* string\n\nThe field to attach this function to on the Api definition.\n\n---\n\n##### `function`<sup>Required</sup> <a name=\"function\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.function\"></a>\n\n```typescript\npublic readonly function: FunctionSlotOverride;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.FunctionSlotOverride\">FunctionSlotOverride</a>\n\nThe overridden behavior for this slot.\n\n---\n\n##### `slotIndex`<sup>Required</sup> <a name=\"slotIndex\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.slotIndex\"></a>\n\n```typescript\npublic readonly slotIndex: number;\n```\n\n- *Type:* number\n\nThe slot index to use to inject this into the execution pipeline.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n##### `slotName`<sup>Required</sup> <a name=\"slotName\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.slotName\"></a>\n\n```typescript\npublic readonly slotName: string;\n```\n\n- *Type:* string\n\nThe slot name to inject this behavior into.\n\nFor more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers\n\n---\n\n##### `typeName`<sup>Required</sup> <a name=\"typeName\" id=\"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot.property.typeName\"></a>\n\n```typescript\npublic readonly typeName: string;\n```\n\n- *Type:* string\n\nThis slot type applies to the Subscription type on the Api definition.\n\n---\n\n### TimeToLiveSpecification <a name=\"TimeToLiveSpecification\" id=\"@aws-amplify/graphql-api-construct.TimeToLiveSpecification\"></a>\n\nShape for TTL config.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.TimeToLiveSpecification.Initializer\"></a>\n\n```typescript\nimport { TimeToLiveSpecification } from '@aws-amplify/graphql-api-construct'\n\nconst timeToLiveSpecification: TimeToLiveSpecification = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <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. |\n| <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. |\n\n---\n\n##### `enabled`<sup>Required</sup> <a name=\"enabled\" id=\"@aws-amplify/graphql-api-construct.TimeToLiveSpecification.property.enabled\"></a>\n\n```typescript\npublic readonly enabled: boolean;\n```\n\n- *Type:* boolean\n\nBoolean determining if the ttl is enabled or not.\n\n---\n\n##### `attributeName`<sup>Optional</sup> <a name=\"attributeName\" id=\"@aws-amplify/graphql-api-construct.TimeToLiveSpecification.property.attributeName\"></a>\n\n```typescript\npublic readonly attributeName: string;\n```\n\n- *Type:* string\n\nAttribute name to apply to the ttl spec.\n\n---\n\n### TranslationBehavior <a name=\"TranslationBehavior\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior\"></a>\n\nStrongly typed set of shared parameters for all transformers, and core layer.\n\nThis is intended to replace feature flags, to ensure param coercion happens in\na single location, and isn't spread around the transformers, where they can\nhave different default behaviors.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.Initializer\"></a>\n\n```typescript\nimport { TranslationBehavior } from '@aws-amplify/graphql-api-construct'\n\nconst translationBehavior: TranslationBehavior = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <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. |\n| <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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableSearchNodeToNodeEncryption\">enableSearchNodeToNodeEncryption</a></code> | <code>boolean</code> | *No description.* |\n| <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. |\n| <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. |\n| <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. |\n| <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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.TranslationBehavior.property.secondaryKeyAsGSI\">secondaryKeyAsGSI</a></code> | <code>boolean</code> | If disabled, generated. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.TranslationBehavior.property.shouldDeepMergeDirectiveConfigDefaults\">shouldDeepMergeDirectiveConfigDefaults</a></code> | <code>boolean</code> | Restore parity w/ GQLv1. |\n| <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. |\n| <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. |\n\n---\n\n##### `disableResolverDeduping`<sup>Required</sup> <a name=\"disableResolverDeduping\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.disableResolverDeduping\"></a>\n\n```typescript\npublic readonly disableResolverDeduping: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nDisable 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.\n\n---\n\n##### `enableAutoIndexQueryNames`<sup>Required</sup> <a name=\"enableAutoIndexQueryNames\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableAutoIndexQueryNames\"></a>\n\n```typescript\npublic readonly enableAutoIndexQueryNames: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nAutomate generation of query names, and as a result attaching all indexes as queries to the generated Api.\n\nIf enabled,\n\n---\n\n##### `enableSearchNodeToNodeEncryption`<sup>Required</sup> <a name=\"enableSearchNodeToNodeEncryption\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableSearchNodeToNodeEncryption\"></a>\n\n```typescript\npublic readonly enableSearchNodeToNodeEncryption: boolean;\n```\n\n- *Type:* boolean\n\n---\n\n##### `enableTransformerCfnOutputs`<sup>Required</sup> <a name=\"enableTransformerCfnOutputs\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.enableTransformerCfnOutputs\"></a>\n\n```typescript\npublic readonly enableTransformerCfnOutputs: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nWhen enabled, internal cfn outputs which existed in Amplify-generated apps will continue to be emitted.\n\n---\n\n##### `populateOwnerFieldForStaticGroupAuth`<sup>Required</sup> <a name=\"populateOwnerFieldForStaticGroupAuth\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.populateOwnerFieldForStaticGroupAuth\"></a>\n\n```typescript\npublic readonly populateOwnerFieldForStaticGroupAuth: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nEnsure that the owner field is still populated even if a static iam or group authorization applies.\n\n---\n\n##### `respectPrimaryKeyAttributesOnConnectionField`<sup>Required</sup> <a name=\"respectPrimaryKeyAttributesOnConnectionField\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.respectPrimaryKeyAttributesOnConnectionField\"></a>\n\n```typescript\npublic readonly respectPrimaryKeyAttributesOnConnectionField: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nEnable custom primary key support, there's no good reason to disable this unless trying not to update a legacy app.\n\n---\n\n##### `sandboxModeEnabled`<sup>Required</sup> <a name=\"sandboxModeEnabled\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.sandboxModeEnabled\"></a>\n\n```typescript\npublic readonly sandboxModeEnabled: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nEnabling sandbox mode will enable api key auth on all models in the transformed schema.\n\n---\n\n##### `secondaryKeyAsGSI`<sup>Required</sup> <a name=\"secondaryKeyAsGSI\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.secondaryKeyAsGSI\"></a>\n\n```typescript\npublic readonly secondaryKeyAsGSI: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nIf disabled, generated.\n\n---\n\n##### `shouldDeepMergeDirectiveConfigDefaults`<sup>Required</sup> <a name=\"shouldDeepMergeDirectiveConfigDefaults\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.shouldDeepMergeDirectiveConfigDefaults\"></a>\n\n```typescript\npublic readonly shouldDeepMergeDirectiveConfigDefaults: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nRestore parity w/ GQLv1.\n\n---\n\n##### `suppressApiKeyGeneration`<sup>Required</sup> <a name=\"suppressApiKeyGeneration\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.suppressApiKeyGeneration\"></a>\n\n```typescript\npublic readonly suppressApiKeyGeneration: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nIf enabled, disable api key resource generation even if specified as an auth rule on the construct.\n\nThis is a legacy parameter from the Graphql Transformer existing in Amplify CLI, not recommended to change.\n\n---\n\n##### `useSubUsernameForDefaultIdentityClaim`<sup>Required</sup> <a name=\"useSubUsernameForDefaultIdentityClaim\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.useSubUsernameForDefaultIdentityClaim\"></a>\n\n```typescript\npublic readonly useSubUsernameForDefaultIdentityClaim: boolean;\n```\n\n- *Type:* boolean\n- *Default:* true\n\nEnsure 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.\n\n---\n\n### UserPoolAuthorizationConfig <a name=\"UserPoolAuthorizationConfig\" id=\"@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig\"></a>\n\nConfiguration for Cognito UserPool Authorization on the Graphql Api.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig.Initializer\"></a>\n\n```typescript\nimport { UserPoolAuthorizationConfig } from '@aws-amplify/graphql-api-construct'\n\nconst userPoolAuthorizationConfig: UserPoolAuthorizationConfig = { ... }\n```\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig.property.userPool\">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | The Cognito User Pool which is used to authenticated JWT tokens, and vends group and user information. |\n\n---\n\n##### `userPool`<sup>Required</sup> <a name=\"userPool\" id=\"@aws-amplify/graphql-api-construct.UserPoolAuthorizationConfig.property.userPool\"></a>\n\n```typescript\npublic readonly userPool: IUserPool;\n```\n\n- *Type:* aws-cdk-lib.aws_cognito.IUserPool\n\nThe Cognito User Pool which is used to authenticated JWT tokens, and vends group and user information.\n\n---\n\n## Classes <a name=\"Classes\" id=\"Classes\"></a>\n\n### AmplifyDynamoDbTableWrapper <a name=\"AmplifyDynamoDbTableWrapper\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper\"></a>\n\nWrapper class around Custom::AmplifyDynamoDBTable custom resource, to simplify the override experience a bit.\n\nThis is NOT a construct, just an easier way to access\nthe generated construct.\nThis is a wrapper intended to mimic the `aws_cdk_lib.aws_dynamodb.Table` functionality more-or-less.\nNotable differences is the addition of TKTK properties, to account for the fact that they're constructor props\nin the CDK construct, as well as the removal of all from*, grant*, and metric* methods implemented by Table.\n\n#### Initializers <a name=\"Initializers\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.Initializer\"></a>\n\n```typescript\nimport { AmplifyDynamoDbTableWrapper } from '@aws-amplify/graphql-api-construct'\n\nnew AmplifyDynamoDbTableWrapper(resource: CfnResource)\n```\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.Initializer.parameter.resource\">resource</a></code> | <code>aws-cdk-lib.CfnResource</code> | the Cfn resource. |\n\n---\n\n##### `resource`<sup>Required</sup> <a name=\"resource\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.Initializer.parameter.resource\"></a>\n\n- *Type:* aws-cdk-lib.CfnResource\n\nthe Cfn resource.\n\n---\n\n#### Methods <a name=\"Methods\" id=\"Methods\"></a>\n\n| **Name** | **Description** |\n| --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.setGlobalSecondaryIndexProvisionedThroughput\">setGlobalSecondaryIndexProvisionedThroughput</a></code> | Set the provisionedThroughtput for a specified GSI by name. |\n\n---\n\n##### `setGlobalSecondaryIndexProvisionedThroughput` <a name=\"setGlobalSecondaryIndexProvisionedThroughput\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.setGlobalSecondaryIndexProvisionedThroughput\"></a>\n\n```typescript\npublic setGlobalSecondaryIndexProvisionedThroughput(indexName: string, provisionedThroughput: ProvisionedThroughput): void\n```\n\nSet the provisionedThroughtput for a specified GSI by name.\n\n###### `indexName`<sup>Required</sup> <a name=\"indexName\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.setGlobalSecondaryIndexProvisionedThroughput.parameter.indexName\"></a>\n\n- *Type:* string\n\nthe index to specify a provisionedThroughput config for.\n\n---\n\n###### `provisionedThroughput`<sup>Required</sup> <a name=\"provisionedThroughput\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.setGlobalSecondaryIndexProvisionedThroughput.parameter.provisionedThroughput\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.ProvisionedThroughput\">ProvisionedThroughput</a>\n\nthe config to set.\n\n---\n\n#### Static Functions <a name=\"Static Functions\" id=\"Static Functions\"></a>\n\n| **Name** | **Description** |\n| --- | --- |\n| <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. |\n\n---\n\n##### `isAmplifyDynamoDbTableResource` <a name=\"isAmplifyDynamoDbTableResource\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.isAmplifyDynamoDbTableResource\"></a>\n\n```typescript\nimport { AmplifyDynamoDbTableWrapper } from '@aws-amplify/graphql-api-construct'\n\nAmplifyDynamoDbTableWrapper.isAmplifyDynamoDbTableResource(x: any)\n```\n\nReturn true and perform type narrowing if a given input appears to be capable of.\n\n###### `x`<sup>Required</sup> <a name=\"x\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.isAmplifyDynamoDbTableResource.parameter.x\"></a>\n\n- *Type:* any\n\nthe object to check.\n\n---\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.deletionProtectionEnabled\">deletionProtectionEnabled</a></code> | <code>boolean</code> | Set table deletion protection. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.pointInTimeRecoveryEnabled\">pointInTimeRecoveryEnabled</a></code> | <code>boolean</code> | Whether point-in-time recovery is enabled. |\n| <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. |\n| <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. |\n| <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. |\n| <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. |\n\n---\n\n##### `billingMode`<sup>Required</sup> <a name=\"billingMode\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.billingMode\"></a>\n\n```typescript\npublic readonly billingMode: BillingMode;\n```\n\n- *Type:* aws-cdk-lib.aws_dynamodb.BillingMode\n\nSpecify how you are charged for read and write throughput and how you manage capacity.\n\n---\n\n##### `deletionProtectionEnabled`<sup>Required</sup> <a name=\"deletionProtectionEnabled\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.deletionProtectionEnabled\"></a>\n\n```typescript\npublic readonly deletionProtectionEnabled: boolean;\n```\n\n- *Type:* boolean\n\nSet table deletion protection.\n\n---\n\n##### `pointInTimeRecoveryEnabled`<sup>Required</sup> <a name=\"pointInTimeRecoveryEnabled\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.pointInTimeRecoveryEnabled\"></a>\n\n```typescript\npublic readonly pointInTimeRecoveryEnabled: boolean;\n```\n\n- *Type:* boolean\n\nWhether point-in-time recovery is enabled.\n\n---\n\n##### `provisionedThroughput`<sup>Required</sup> <a name=\"provisionedThroughput\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.provisionedThroughput\"></a>\n\n```typescript\npublic readonly provisionedThroughput: ProvisionedThroughput;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.ProvisionedThroughput\">ProvisionedThroughput</a>\n\nUpdate the provisioned throughput for the base table.\n\n---\n\n##### `sseSpecification`<sup>Required</sup> <a name=\"sseSpecification\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.sseSpecification\"></a>\n\n```typescript\npublic readonly sseSpecification: SSESpecification;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.SSESpecification\">SSESpecification</a>\n\nSet the ddb server-side encryption specification on the table.\n\n---\n\n##### `streamSpecification`<sup>Required</sup> <a name=\"streamSpecification\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.streamSpecification\"></a>\n\n```typescript\npublic readonly streamSpecification: StreamSpecification;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.StreamSpecification\">StreamSpecification</a>\n\nSet the ddb stream specification on the table.\n\n---\n\n##### `timeToLiveAttribute`<sup>Required</sup> <a name=\"timeToLiveAttribute\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper.property.timeToLiveAttribute\"></a>\n\n```typescript\npublic readonly timeToLiveAttribute: TimeToLiveSpecification;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.TimeToLiveSpecification\">TimeToLiveSpecification</a>\n\nThe name of TTL attribute.\n\n---\n\n\n### AmplifyGraphqlDefinition <a name=\"AmplifyGraphqlDefinition\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition\"></a>\n\nClass exposing utilities to produce IAmplifyGraphqlDefinition objects given various inputs.\n\n#### Initializers <a name=\"Initializers\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.Initializer\"></a>\n\n```typescript\nimport { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'\n\nnew AmplifyGraphqlDefinition()\n```\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n\n---\n\n\n#### Static Functions <a name=\"Static Functions\" id=\"Static Functions\"></a>\n\n| **Name** | **Description** |\n| --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.combine\">combine</a></code> | Combines multiple IAmplifyGraphqlDefinitions into a single definition. |\n| <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. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndDefinition\">fromFilesAndDefinition</a></code> | Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString\">fromString</a></code> | Produce a schema definition from a string input. |\n\n---\n\n##### `combine` <a name=\"combine\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.combine\"></a>\n\n```typescript\nimport { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'\n\nAmplifyGraphqlDefinition.combine(definitions: IAmplifyGraphqlDefinition[])\n```\n\nCombines multiple IAmplifyGraphqlDefinitions into a single definition.\n\n###### `definitions`<sup>Required</sup> <a name=\"definitions\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.combine.parameter.definitions\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition\">IAmplifyGraphqlDefinition</a>[]\n\nthe definitions to combine.\n\n---\n\n##### `fromFiles` <a name=\"fromFiles\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFiles\"></a>\n\n```typescript\nimport { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'\n\nAmplifyGraphqlDefinition.fromFiles(filePaths: string)\n```\n\nConvert one or more appsync SchemaFile objects into an Amplify Graphql Schema.\n\n###### `filePaths`<sup>Required</sup> <a name=\"filePaths\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFiles.parameter.filePaths\"></a>\n\n- *Type:* string\n\none or more paths to the graphql files to process.\n\n---\n\n##### `fromFilesAndDefinition` <a name=\"fromFilesAndDefinition\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndDefinition\"></a>\n\n```typescript\nimport { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'\n\nAmplifyGraphqlDefinition.fromFilesAndDefinition(filePaths: string | string[], modelDataSourceDefinition?: ModelDataSourceDefinition)\n```\n\nConvert one or more appsync SchemaFile objects into an Amplify Graphql Schema.\n\n###### `filePaths`<sup>Required</sup> <a name=\"filePaths\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndDefinition.parameter.filePaths\"></a>\n\n- *Type:* string | string[]\n\none or more paths to the graphql files to process.\n\n---\n\n###### `modelDataSourceDefinition`<sup>Optional</sup> <a name=\"modelDataSourceDefinition\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndDefinition.parameter.modelDataSourceDefinition\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.ModelDataSourceDefinition\">ModelDataSourceDefinition</a>\n\nthe provision definition for `@model` datasource.\n\nThe DynamoDB from CloudFormation will be used by default.\n\n---\n\n##### `fromString` <a name=\"fromString\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString\"></a>\n\n```typescript\nimport { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'\n\nAmplifyGraphqlDefinition.fromString(schema: string, modelDataSourceDefinition?: ModelDataSourceDefinition)\n```\n\nProduce a schema definition from a string input.\n\n###### `schema`<sup>Required</sup> <a name=\"schema\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString.parameter.schema\"></a>\n\n- *Type:* string\n\nthe graphql input as a string.\n\n---\n\n###### `modelDataSourceDefinition`<sup>Optional</sup> <a name=\"modelDataSourceDefinition\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString.parameter.modelDataSourceDefinition\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.ModelDataSourceDefinition\">ModelDataSourceDefinition</a>\n\nthe provision definition for `@model` datasource.\n\nThe DynamoDB from CloudFormation will be used by default.\n\n---\n\n\n\n## Protocols <a name=\"Protocols\" id=\"Protocols\"></a>\n\n### IAmplifyGraphqlDefinition <a name=\"IAmplifyGraphqlDefinition\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition\"></a>\n\n- *Implemented By:* <a href=\"#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition\">IAmplifyGraphqlDefinition</a>\n\nGraphql Api definition, which can be implemented in multiple ways.\n\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.dataSourceDefinition\">dataSourceDefinition</a></code> | <code>{[ key: string ]: <a href=\"#@aws-amplify/graphql-api-construct.ModelDataSourceDefinition\">ModelDataSourceDefinition</a>}</code> | Retrieve the datasource definition mapping. |\n| <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. |\n| <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. |\n\n---\n\n##### `dataSourceDefinition`<sup>Required</sup> <a name=\"dataSourceDefinition\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.dataSourceDefinition\"></a>\n\n```typescript\npublic readonly dataSourceDefinition: {[ key: string ]: ModelDataSourceDefinition};\n```\n\n- *Type:* {[ key: string ]: <a href=\"#@aws-amplify/graphql-api-construct.ModelDataSourceDefinition\">ModelDataSourceDefinition</a>}\n\nRetrieve the datasource definition mapping.\n\nThe default strategy is to use DynamoDB from CloudFormation.\n\n---\n\n##### `functionSlots`<sup>Required</sup> <a name=\"functionSlots\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.functionSlots\"></a>\n\n```typescript\npublic readonly functionSlots: MutationFunctionSlot | QueryFunctionSlot | SubscriptionFunctionSlot[];\n```\n\n- *Type:* <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>[]\n\nRetrieve any function slots defined explicitly in the Api definition.\n\n---\n\n##### `schema`<sup>Required</sup> <a name=\"schema\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.schema\"></a>\n\n```typescript\npublic readonly schema: string;\n```\n\n- *Type:* string\n\nReturn the schema definition as a graphql string, with amplify directives allowed.\n\n---\n\n### IBackendOutputEntry <a name=\"IBackendOutputEntry\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputEntry\"></a>\n\n- *Implemented By:* <a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputEntry\">IBackendOutputEntry</a>\n\nEntry representing the required output from the backend for codegen generate commands to work.\n\n\n#### Properties <a name=\"Properties\" id=\"Properties\"></a>\n\n| **Name** | **Type** | **Description** |\n| --- | --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputEntry.property.payload\">payload</a></code> | <code>{[ key: string ]: string}</code> | The string-map payload of generated config values. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputEntry.property.version\">version</a></code> | <code>string</code> | The protocol version for this backend output. |\n\n---\n\n##### `payload`<sup>Required</sup> <a name=\"payload\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputEntry.property.payload\"></a>\n\n```typescript\npublic readonly payload: {[ key: string ]: string};\n```\n\n- *Type:* {[ key: string ]: string}\n\nThe string-map payload of generated config values.\n\n---\n\n##### `version`<sup>Required</sup> <a name=\"version\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputEntry.property.version\"></a>\n\n```typescript\npublic readonly version: string;\n```\n\n- *Type:* string\n\nThe protocol version for this backend output.\n\n---\n\n### IBackendOutputStorageStrategy <a name=\"IBackendOutputStorageStrategy\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy\"></a>\n\n- *Implemented By:* <a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy\">IBackendOutputStorageStrategy</a>\n\nBackend output strategy used to write config required for codegen tasks.\n\n#### Methods <a name=\"Methods\" id=\"Methods\"></a>\n\n| **Name** | **Description** |\n| --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy.addBackendOutputEntry\">addBackendOutputEntry</a></code> | Add an entry to backend output. |\n\n---\n\n##### `addBackendOutputEntry` <a name=\"addBackendOutputEntry\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy.addBackendOutputEntry\"></a>\n\n```typescript\npublic addBackendOutputEntry(keyName: string, backendOutputEntry: IBackendOutputEntry): void\n```\n\nAdd an entry to backend output.\n\n###### `keyName`<sup>Required</sup> <a name=\"keyName\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy.addBackendOutputEntry.parameter.keyName\"></a>\n\n- *Type:* string\n\nthe key.\n\n---\n\n###### `backendOutputEntry`<sup>Required</sup> <a name=\"backendOutputEntry\" id=\"@aws-amplify/graphql-api-construct.IBackendOutputStorageStrategy.addBackendOutputEntry.parameter.backendOutputEntry\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.IBackendOutputEntry\">IBackendOutputEntry</a>\n\nthe record to store in the backend output.\n\n---\n\n\n## Enums <a name=\"Enums\" id=\"Enums\"></a>\n\n### SSEType <a name=\"SSEType\" id=\"@aws-amplify/graphql-api-construct.SSEType\"></a>\n\nServer Side Encryption Type Values - `KMS` - Server-side encryption that uses AWS KMS.\n\nThe key is stored in your account and is managed by KMS (AWS KMS charges apply).\n\n#### Members <a name=\"Members\" id=\"Members\"></a>\n\n| **Name** | **Description** |\n| --- | --- |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SSEType.KMS\">KMS</a></code> | *No description.* |\n\n---\n\n##### `KMS` <a name=\"KMS\" id=\"@aws-amplify/graphql-api-construct.SSEType.KMS\"></a>\n\n---\n\n"
|
3513
3514
|
},
|
3514
3515
|
"repository": {
|
3515
3516
|
"directory": "packages/amplify-graphql-api-construct",
|
@@ -3534,7 +3535,7 @@
|
|
3534
3535
|
"kind": "interface",
|
3535
3536
|
"locationInModule": {
|
3536
3537
|
"filename": "src/types.ts",
|
3537
|
-
"line":
|
3538
|
+
"line": 761
|
3538
3539
|
},
|
3539
3540
|
"name": "AddFunctionProps",
|
3540
3541
|
"properties": [
|
@@ -3547,7 +3548,7 @@
|
|
3547
3548
|
"immutable": true,
|
3548
3549
|
"locationInModule": {
|
3549
3550
|
"filename": "src/types.ts",
|
3550
|
-
"line":
|
3551
|
+
"line": 765
|
3551
3552
|
},
|
3552
3553
|
"name": "dataSource",
|
3553
3554
|
"type": {
|
@@ -3563,7 +3564,7 @@
|
|
3563
3564
|
"immutable": true,
|
3564
3565
|
"locationInModule": {
|
3565
3566
|
"filename": "src/types.ts",
|
3566
|
-
"line":
|
3567
|
+
"line": 770
|
3567
3568
|
},
|
3568
3569
|
"name": "name",
|
3569
3570
|
"type": {
|
@@ -3580,7 +3581,7 @@
|
|
3580
3581
|
"immutable": true,
|
3581
3582
|
"locationInModule": {
|
3582
3583
|
"filename": "src/types.ts",
|
3583
|
-
"line":
|
3584
|
+
"line": 805
|
3584
3585
|
},
|
3585
3586
|
"name": "code",
|
3586
3587
|
"optional": true,
|
@@ -3598,7 +3599,7 @@
|
|
3598
3599
|
"immutable": true,
|
3599
3600
|
"locationInModule": {
|
3600
3601
|
"filename": "src/types.ts",
|
3601
|
-
"line":
|
3602
|
+
"line": 777
|
3602
3603
|
},
|
3603
3604
|
"name": "description",
|
3604
3605
|
"optional": true,
|
@@ -3616,7 +3617,7 @@
|
|
3616
3617
|
"immutable": true,
|
3617
3618
|
"locationInModule": {
|
3618
3619
|
"filename": "src/types.ts",
|
3619
|
-
"line":
|
3620
|
+
"line": 784
|
3620
3621
|
},
|
3621
3622
|
"name": "requestMappingTemplate",
|
3622
3623
|
"optional": true,
|
@@ -3634,7 +3635,7 @@
|
|
3634
3635
|
"immutable": true,
|
3635
3636
|
"locationInModule": {
|
3636
3637
|
"filename": "src/types.ts",
|
3637
|
-
"line":
|
3638
|
+
"line": 791
|
3638
3639
|
},
|
3639
3640
|
"name": "responseMappingTemplate",
|
3640
3641
|
"optional": true,
|
@@ -3652,7 +3653,7 @@
|
|
3652
3653
|
"immutable": true,
|
3653
3654
|
"locationInModule": {
|
3654
3655
|
"filename": "src/types.ts",
|
3655
|
-
"line":
|
3656
|
+
"line": 798
|
3656
3657
|
},
|
3657
3658
|
"name": "runtime",
|
3658
3659
|
"optional": true,
|
@@ -3663,6 +3664,253 @@
|
|
3663
3664
|
],
|
3664
3665
|
"symbolId": "src/types:AddFunctionProps"
|
3665
3666
|
},
|
3667
|
+
"@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceDefinitionStrategy": {
|
3668
|
+
"assembly": "@aws-amplify/graphql-api-construct",
|
3669
|
+
"datatype": true,
|
3670
|
+
"docs": {
|
3671
|
+
"stability": "experimental",
|
3672
|
+
"summary": "Use custom resource type 'Custom::AmplifyDynamoDBTable' to provision table."
|
3673
|
+
},
|
3674
|
+
"fqn": "@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceDefinitionStrategy",
|
3675
|
+
"kind": "interface",
|
3676
|
+
"locationInModule": {
|
3677
|
+
"filename": "src/types.ts",
|
3678
|
+
"line": 579
|
3679
|
+
},
|
3680
|
+
"name": "AmplifyDynamoDbModelDataSourceDefinitionStrategy",
|
3681
|
+
"properties": [
|
3682
|
+
{
|
3683
|
+
"abstract": true,
|
3684
|
+
"docs": {
|
3685
|
+
"stability": "experimental"
|
3686
|
+
},
|
3687
|
+
"immutable": true,
|
3688
|
+
"locationInModule": {
|
3689
|
+
"filename": "src/types.ts",
|
3690
|
+
"line": 580
|
3691
|
+
},
|
3692
|
+
"name": "dbType",
|
3693
|
+
"type": {
|
3694
|
+
"primitive": "string"
|
3695
|
+
}
|
3696
|
+
},
|
3697
|
+
{
|
3698
|
+
"abstract": true,
|
3699
|
+
"docs": {
|
3700
|
+
"stability": "experimental"
|
3701
|
+
},
|
3702
|
+
"immutable": true,
|
3703
|
+
"locationInModule": {
|
3704
|
+
"filename": "src/types.ts",
|
3705
|
+
"line": 581
|
3706
|
+
},
|
3707
|
+
"name": "provisionStrategy",
|
3708
|
+
"type": {
|
3709
|
+
"primitive": "string"
|
3710
|
+
}
|
3711
|
+
}
|
3712
|
+
],
|
3713
|
+
"symbolId": "src/types:AmplifyDynamoDbModelDataSourceDefinitionStrategy"
|
3714
|
+
},
|
3715
|
+
"@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper": {
|
3716
|
+
"assembly": "@aws-amplify/graphql-api-construct",
|
3717
|
+
"docs": {
|
3718
|
+
"remarks": "This is NOT a construct, just an easier way to access\nthe generated construct.\nThis is a wrapper intended to mimic the `aws_cdk_lib.aws_dynamodb.Table` functionality more-or-less.\nNotable differences is the addition of TKTK properties, to account for the fact that they're constructor props\nin the CDK construct, as well as the removal of all from*, grant*, and metric* methods implemented by Table.",
|
3719
|
+
"stability": "stable",
|
3720
|
+
"summary": "Wrapper class around Custom::AmplifyDynamoDBTable custom resource, to simplify the override experience a bit."
|
3721
|
+
},
|
3722
|
+
"fqn": "@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper",
|
3723
|
+
"initializer": {
|
3724
|
+
"docs": {
|
3725
|
+
"stability": "stable",
|
3726
|
+
"summary": "Create the wrapper given an underlying CfnResource that is an instance of Custom::AmplifyDynamoDBTable."
|
3727
|
+
},
|
3728
|
+
"locationInModule": {
|
3729
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3730
|
+
"line": 107
|
3731
|
+
},
|
3732
|
+
"parameters": [
|
3733
|
+
{
|
3734
|
+
"docs": {
|
3735
|
+
"summary": "the Cfn resource."
|
3736
|
+
},
|
3737
|
+
"name": "resource",
|
3738
|
+
"type": {
|
3739
|
+
"fqn": "aws-cdk-lib.CfnResource"
|
3740
|
+
}
|
3741
|
+
}
|
3742
|
+
]
|
3743
|
+
},
|
3744
|
+
"kind": "class",
|
3745
|
+
"locationInModule": {
|
3746
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3747
|
+
"line": 93
|
3748
|
+
},
|
3749
|
+
"methods": [
|
3750
|
+
{
|
3751
|
+
"docs": {
|
3752
|
+
"returns": "whether or not the resource is an underlying amplify dynamodb table resource.",
|
3753
|
+
"stability": "stable",
|
3754
|
+
"summary": "Return true and perform type narrowing if a given input appears to be capable of."
|
3755
|
+
},
|
3756
|
+
"locationInModule": {
|
3757
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3758
|
+
"line": 99
|
3759
|
+
},
|
3760
|
+
"name": "isAmplifyDynamoDbTableResource",
|
3761
|
+
"parameters": [
|
3762
|
+
{
|
3763
|
+
"docs": {
|
3764
|
+
"summary": "the object to check."
|
3765
|
+
},
|
3766
|
+
"name": "x",
|
3767
|
+
"type": {
|
3768
|
+
"primitive": "any"
|
3769
|
+
}
|
3770
|
+
}
|
3771
|
+
],
|
3772
|
+
"returns": {
|
3773
|
+
"type": {
|
3774
|
+
"primitive": "boolean"
|
3775
|
+
}
|
3776
|
+
},
|
3777
|
+
"static": true
|
3778
|
+
},
|
3779
|
+
{
|
3780
|
+
"docs": {
|
3781
|
+
"stability": "stable",
|
3782
|
+
"summary": "Set the provisionedThroughtput for a specified GSI by name."
|
3783
|
+
},
|
3784
|
+
"locationInModule": {
|
3785
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3786
|
+
"line": 146
|
3787
|
+
},
|
3788
|
+
"name": "setGlobalSecondaryIndexProvisionedThroughput",
|
3789
|
+
"parameters": [
|
3790
|
+
{
|
3791
|
+
"docs": {
|
3792
|
+
"summary": "the index to specify a provisionedThroughput config for."
|
3793
|
+
},
|
3794
|
+
"name": "indexName",
|
3795
|
+
"type": {
|
3796
|
+
"primitive": "string"
|
3797
|
+
}
|
3798
|
+
},
|
3799
|
+
{
|
3800
|
+
"docs": {
|
3801
|
+
"summary": "the config to set."
|
3802
|
+
},
|
3803
|
+
"name": "provisionedThroughput",
|
3804
|
+
"type": {
|
3805
|
+
"fqn": "@aws-amplify/graphql-api-construct.ProvisionedThroughput"
|
3806
|
+
}
|
3807
|
+
}
|
3808
|
+
]
|
3809
|
+
}
|
3810
|
+
],
|
3811
|
+
"name": "AmplifyDynamoDbTableWrapper",
|
3812
|
+
"properties": [
|
3813
|
+
{
|
3814
|
+
"docs": {
|
3815
|
+
"stability": "stable",
|
3816
|
+
"summary": "Specify how you are charged for read and write throughput and how you manage capacity."
|
3817
|
+
},
|
3818
|
+
"locationInModule": {
|
3819
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3820
|
+
"line": 116
|
3821
|
+
},
|
3822
|
+
"name": "billingMode",
|
3823
|
+
"type": {
|
3824
|
+
"fqn": "aws-cdk-lib.aws_dynamodb.BillingMode"
|
3825
|
+
}
|
3826
|
+
},
|
3827
|
+
{
|
3828
|
+
"docs": {
|
3829
|
+
"stability": "stable",
|
3830
|
+
"summary": "Set table deletion protection."
|
3831
|
+
},
|
3832
|
+
"locationInModule": {
|
3833
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3834
|
+
"line": 174
|
3835
|
+
},
|
3836
|
+
"name": "deletionProtectionEnabled",
|
3837
|
+
"type": {
|
3838
|
+
"primitive": "boolean"
|
3839
|
+
}
|
3840
|
+
},
|
3841
|
+
{
|
3842
|
+
"docs": {
|
3843
|
+
"stability": "stable",
|
3844
|
+
"summary": "Whether point-in-time recovery is enabled."
|
3845
|
+
},
|
3846
|
+
"locationInModule": {
|
3847
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3848
|
+
"line": 130
|
3849
|
+
},
|
3850
|
+
"name": "pointInTimeRecoveryEnabled",
|
3851
|
+
"type": {
|
3852
|
+
"primitive": "boolean"
|
3853
|
+
}
|
3854
|
+
},
|
3855
|
+
{
|
3856
|
+
"docs": {
|
3857
|
+
"stability": "stable",
|
3858
|
+
"summary": "Update the provisioned throughput for the base table."
|
3859
|
+
},
|
3860
|
+
"locationInModule": {
|
3861
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3862
|
+
"line": 137
|
3863
|
+
},
|
3864
|
+
"name": "provisionedThroughput",
|
3865
|
+
"type": {
|
3866
|
+
"fqn": "@aws-amplify/graphql-api-construct.ProvisionedThroughput"
|
3867
|
+
}
|
3868
|
+
},
|
3869
|
+
{
|
3870
|
+
"docs": {
|
3871
|
+
"stability": "stable",
|
3872
|
+
"summary": "Set the ddb server-side encryption specification on the table."
|
3873
|
+
},
|
3874
|
+
"locationInModule": {
|
3875
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3876
|
+
"line": 167
|
3877
|
+
},
|
3878
|
+
"name": "sseSpecification",
|
3879
|
+
"type": {
|
3880
|
+
"fqn": "@aws-amplify/graphql-api-construct.SSESpecification"
|
3881
|
+
}
|
3882
|
+
},
|
3883
|
+
{
|
3884
|
+
"docs": {
|
3885
|
+
"stability": "stable",
|
3886
|
+
"summary": "Set the ddb stream specification on the table."
|
3887
|
+
},
|
3888
|
+
"locationInModule": {
|
3889
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3890
|
+
"line": 160
|
3891
|
+
},
|
3892
|
+
"name": "streamSpecification",
|
3893
|
+
"type": {
|
3894
|
+
"fqn": "@aws-amplify/graphql-api-construct.StreamSpecification"
|
3895
|
+
}
|
3896
|
+
},
|
3897
|
+
{
|
3898
|
+
"docs": {
|
3899
|
+
"stability": "stable",
|
3900
|
+
"summary": "The name of TTL attribute."
|
3901
|
+
},
|
3902
|
+
"locationInModule": {
|
3903
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3904
|
+
"line": 123
|
3905
|
+
},
|
3906
|
+
"name": "timeToLiveAttribute",
|
3907
|
+
"type": {
|
3908
|
+
"fqn": "@aws-amplify/graphql-api-construct.TimeToLiveSpecification"
|
3909
|
+
}
|
3910
|
+
}
|
3911
|
+
],
|
3912
|
+
"symbolId": "src/amplify-dynamodb-table-wrapper:AmplifyDynamoDbTableWrapper"
|
3913
|
+
},
|
3666
3914
|
"@aws-amplify/graphql-api-construct.AmplifyGraphqlApi": {
|
3667
3915
|
"assembly": "@aws-amplify/graphql-api-construct",
|
3668
3916
|
"base": "constructs.Construct",
|
@@ -3679,7 +3927,7 @@
|
|
3679
3927
|
},
|
3680
3928
|
"locationInModule": {
|
3681
3929
|
"filename": "src/amplify-graphql-api.ts",
|
3682
|
-
"line":
|
3930
|
+
"line": 138
|
3683
3931
|
},
|
3684
3932
|
"parameters": [
|
3685
3933
|
{
|
@@ -3714,7 +3962,7 @@
|
|
3714
3962
|
"kind": "class",
|
3715
3963
|
"locationInModule": {
|
3716
3964
|
"filename": "src/amplify-graphql-api.ts",
|
3717
|
-
"line":
|
3965
|
+
"line": 84
|
3718
3966
|
},
|
3719
3967
|
"methods": [
|
3720
3968
|
{
|
@@ -3726,7 +3974,7 @@
|
|
3726
3974
|
},
|
3727
3975
|
"locationInModule": {
|
3728
3976
|
"filename": "src/amplify-graphql-api.ts",
|
3729
|
-
"line":
|
3977
|
+
"line": 264
|
3730
3978
|
},
|
3731
3979
|
"name": "addDynamoDbDataSource",
|
3732
3980
|
"parameters": [
|
@@ -3775,7 +4023,7 @@
|
|
3775
4023
|
},
|
3776
4024
|
"locationInModule": {
|
3777
4025
|
"filename": "src/amplify-graphql-api.ts",
|
3778
|
-
"line":
|
4026
|
+
"line": 276
|
3779
4027
|
},
|
3780
4028
|
"name": "addElasticsearchDataSource",
|
3781
4029
|
"parameters": [
|
@@ -3822,7 +4070,7 @@
|
|
3822
4070
|
},
|
3823
4071
|
"locationInModule": {
|
3824
4072
|
"filename": "src/amplify-graphql-api.ts",
|
3825
|
-
"line":
|
4073
|
+
"line": 286
|
3826
4074
|
},
|
3827
4075
|
"name": "addEventBridgeDataSource",
|
3828
4076
|
"parameters": [
|
@@ -3869,7 +4117,7 @@
|
|
3869
4117
|
},
|
3870
4118
|
"locationInModule": {
|
3871
4119
|
"filename": "src/amplify-graphql-api.ts",
|
3872
|
-
"line":
|
4120
|
+
"line": 368
|
3873
4121
|
},
|
3874
4122
|
"name": "addFunction",
|
3875
4123
|
"parameters": [
|
@@ -3904,7 +4152,7 @@
|
|
3904
4152
|
},
|
3905
4153
|
"locationInModule": {
|
3906
4154
|
"filename": "src/amplify-graphql-api.ts",
|
3907
|
-
"line":
|
4155
|
+
"line": 297
|
3908
4156
|
},
|
3909
4157
|
"name": "addHttpDataSource",
|
3910
4158
|
"parameters": [
|
@@ -3952,7 +4200,7 @@
|
|
3952
4200
|
},
|
3953
4201
|
"locationInModule": {
|
3954
4202
|
"filename": "src/amplify-graphql-api.ts",
|
3955
|
-
"line":
|
4203
|
+
"line": 308
|
3956
4204
|
},
|
3957
4205
|
"name": "addLambdaDataSource",
|
3958
4206
|
"parameters": [
|
@@ -4000,7 +4248,7 @@
|
|
4000
4248
|
},
|
4001
4249
|
"locationInModule": {
|
4002
4250
|
"filename": "src/amplify-graphql-api.ts",
|
4003
|
-
"line":
|
4251
|
+
"line": 319
|
4004
4252
|
},
|
4005
4253
|
"name": "addNoneDataSource",
|
4006
4254
|
"parameters": [
|
@@ -4039,7 +4287,7 @@
|
|
4039
4287
|
},
|
4040
4288
|
"locationInModule": {
|
4041
4289
|
"filename": "src/amplify-graphql-api.ts",
|
4042
|
-
"line":
|
4290
|
+
"line": 330
|
4043
4291
|
},
|
4044
4292
|
"name": "addOpenSearchDataSource",
|
4045
4293
|
"parameters": [
|
@@ -4087,7 +4335,7 @@
|
|
4087
4335
|
},
|
4088
4336
|
"locationInModule": {
|
4089
4337
|
"filename": "src/amplify-graphql-api.ts",
|
4090
|
-
"line":
|
4338
|
+
"line": 343
|
4091
4339
|
},
|
4092
4340
|
"name": "addRdsDataSource",
|
4093
4341
|
"parameters": [
|
@@ -4154,7 +4402,7 @@
|
|
4154
4402
|
},
|
4155
4403
|
"locationInModule": {
|
4156
4404
|
"filename": "src/amplify-graphql-api.ts",
|
4157
|
-
"line":
|
4405
|
+
"line": 359
|
4158
4406
|
},
|
4159
4407
|
"name": "addResolver",
|
4160
4408
|
"parameters": [
|
@@ -4195,7 +4443,7 @@
|
|
4195
4443
|
"immutable": true,
|
4196
4444
|
"locationInModule": {
|
4197
4445
|
"filename": "src/amplify-graphql-api.ts",
|
4198
|
-
"line":
|
4446
|
+
"line": 119
|
4199
4447
|
},
|
4200
4448
|
"name": "apiId",
|
4201
4449
|
"type": {
|
@@ -4210,7 +4458,7 @@
|
|
4210
4458
|
"immutable": true,
|
4211
4459
|
"locationInModule": {
|
4212
4460
|
"filename": "src/amplify-graphql-api.ts",
|
4213
|
-
"line":
|
4461
|
+
"line": 99
|
4214
4462
|
},
|
4215
4463
|
"name": "generatedFunctionSlots",
|
4216
4464
|
"type": {
|
@@ -4243,7 +4491,7 @@
|
|
4243
4491
|
"immutable": true,
|
4244
4492
|
"locationInModule": {
|
4245
4493
|
"filename": "src/amplify-graphql-api.ts",
|
4246
|
-
"line":
|
4494
|
+
"line": 104
|
4247
4495
|
},
|
4248
4496
|
"name": "graphqlUrl",
|
4249
4497
|
"type": {
|
@@ -4259,7 +4507,7 @@
|
|
4259
4507
|
"immutable": true,
|
4260
4508
|
"locationInModule": {
|
4261
4509
|
"filename": "src/amplify-graphql-api.ts",
|
4262
|
-
"line":
|
4510
|
+
"line": 109
|
4263
4511
|
},
|
4264
4512
|
"name": "realtimeUrl",
|
4265
4513
|
"type": {
|
@@ -4274,7 +4522,7 @@
|
|
4274
4522
|
"immutable": true,
|
4275
4523
|
"locationInModule": {
|
4276
4524
|
"filename": "src/amplify-graphql-api.ts",
|
4277
|
-
"line":
|
4525
|
+
"line": 88
|
4278
4526
|
},
|
4279
4527
|
"name": "resources",
|
4280
4528
|
"type": {
|
@@ -4290,7 +4538,7 @@
|
|
4290
4538
|
"immutable": true,
|
4291
4539
|
"locationInModule": {
|
4292
4540
|
"filename": "src/amplify-graphql-api.ts",
|
4293
|
-
"line":
|
4541
|
+
"line": 114
|
4294
4542
|
},
|
4295
4543
|
"name": "apiKey",
|
4296
4544
|
"optional": true,
|
@@ -4313,7 +4561,7 @@
|
|
4313
4561
|
"kind": "interface",
|
4314
4562
|
"locationInModule": {
|
4315
4563
|
"filename": "src/types.ts",
|
4316
|
-
"line":
|
4564
|
+
"line": 664
|
4317
4565
|
},
|
4318
4566
|
"name": "AmplifyGraphqlApiCfnResources",
|
4319
4567
|
"properties": [
|
@@ -4326,7 +4574,7 @@
|
|
4326
4574
|
"immutable": true,
|
4327
4575
|
"locationInModule": {
|
4328
4576
|
"filename": "src/types.ts",
|
4329
|
-
"line":
|
4577
|
+
"line": 713
|
4330
4578
|
},
|
4331
4579
|
"name": "additionalCfnResources",
|
4332
4580
|
"type": {
|
@@ -4347,7 +4595,7 @@
|
|
4347
4595
|
"immutable": true,
|
4348
4596
|
"locationInModule": {
|
4349
4597
|
"filename": "src/types.ts",
|
4350
|
-
"line":
|
4598
|
+
"line": 693
|
4351
4599
|
},
|
4352
4600
|
"name": "cfnDataSources",
|
4353
4601
|
"type": {
|
@@ -4368,7 +4616,7 @@
|
|
4368
4616
|
"immutable": true,
|
4369
4617
|
"locationInModule": {
|
4370
4618
|
"filename": "src/types.ts",
|
4371
|
-
"line":
|
4619
|
+
"line": 688
|
4372
4620
|
},
|
4373
4621
|
"name": "cfnFunctionConfigurations",
|
4374
4622
|
"type": {
|
@@ -4389,7 +4637,7 @@
|
|
4389
4637
|
"immutable": true,
|
4390
4638
|
"locationInModule": {
|
4391
4639
|
"filename": "src/types.ts",
|
4392
|
-
"line":
|
4640
|
+
"line": 708
|
4393
4641
|
},
|
4394
4642
|
"name": "cfnFunctions",
|
4395
4643
|
"type": {
|
@@ -4410,7 +4658,7 @@
|
|
4410
4658
|
"immutable": true,
|
4411
4659
|
"locationInModule": {
|
4412
4660
|
"filename": "src/types.ts",
|
4413
|
-
"line":
|
4661
|
+
"line": 668
|
4414
4662
|
},
|
4415
4663
|
"name": "cfnGraphqlApi",
|
4416
4664
|
"type": {
|
@@ -4426,7 +4674,7 @@
|
|
4426
4674
|
"immutable": true,
|
4427
4675
|
"locationInModule": {
|
4428
4676
|
"filename": "src/types.ts",
|
4429
|
-
"line":
|
4677
|
+
"line": 673
|
4430
4678
|
},
|
4431
4679
|
"name": "cfnGraphqlSchema",
|
4432
4680
|
"type": {
|
@@ -4442,7 +4690,7 @@
|
|
4442
4690
|
"immutable": true,
|
4443
4691
|
"locationInModule": {
|
4444
4692
|
"filename": "src/types.ts",
|
4445
|
-
"line":
|
4693
|
+
"line": 683
|
4446
4694
|
},
|
4447
4695
|
"name": "cfnResolvers",
|
4448
4696
|
"type": {
|
@@ -4463,7 +4711,7 @@
|
|
4463
4711
|
"immutable": true,
|
4464
4712
|
"locationInModule": {
|
4465
4713
|
"filename": "src/types.ts",
|
4466
|
-
"line":
|
4714
|
+
"line": 703
|
4467
4715
|
},
|
4468
4716
|
"name": "cfnRoles",
|
4469
4717
|
"type": {
|
@@ -4484,7 +4732,7 @@
|
|
4484
4732
|
"immutable": true,
|
4485
4733
|
"locationInModule": {
|
4486
4734
|
"filename": "src/types.ts",
|
4487
|
-
"line":
|
4735
|
+
"line": 698
|
4488
4736
|
},
|
4489
4737
|
"name": "cfnTables",
|
4490
4738
|
"type": {
|
@@ -4505,7 +4753,7 @@
|
|
4505
4753
|
"immutable": true,
|
4506
4754
|
"locationInModule": {
|
4507
4755
|
"filename": "src/types.ts",
|
4508
|
-
"line":
|
4756
|
+
"line": 678
|
4509
4757
|
},
|
4510
4758
|
"name": "cfnApiKey",
|
4511
4759
|
"optional": true,
|
@@ -4528,7 +4776,7 @@
|
|
4528
4776
|
"kind": "interface",
|
4529
4777
|
"locationInModule": {
|
4530
4778
|
"filename": "src/types.ts",
|
4531
|
-
"line":
|
4779
|
+
"line": 588
|
4532
4780
|
},
|
4533
4781
|
"name": "AmplifyGraphqlApiProps",
|
4534
4782
|
"properties": [
|
@@ -4542,7 +4790,7 @@
|
|
4542
4790
|
"immutable": true,
|
4543
4791
|
"locationInModule": {
|
4544
4792
|
"filename": "src/types.ts",
|
4545
|
-
"line":
|
4793
|
+
"line": 605
|
4546
4794
|
},
|
4547
4795
|
"name": "authorizationModes",
|
4548
4796
|
"type": {
|
@@ -4559,7 +4807,7 @@
|
|
4559
4807
|
"immutable": true,
|
4560
4808
|
"locationInModule": {
|
4561
4809
|
"filename": "src/types.ts",
|
4562
|
-
"line":
|
4810
|
+
"line": 593
|
4563
4811
|
},
|
4564
4812
|
"name": "definition",
|
4565
4813
|
"type": {
|
@@ -4576,7 +4824,7 @@
|
|
4576
4824
|
"immutable": true,
|
4577
4825
|
"locationInModule": {
|
4578
4826
|
"filename": "src/types.ts",
|
4579
|
-
"line":
|
4827
|
+
"line": 599
|
4580
4828
|
},
|
4581
4829
|
"name": "apiName",
|
4582
4830
|
"optional": true,
|
@@ -4594,7 +4842,7 @@
|
|
4594
4842
|
"immutable": true,
|
4595
4843
|
"locationInModule": {
|
4596
4844
|
"filename": "src/types.ts",
|
4597
|
-
"line":
|
4845
|
+
"line": 619
|
4598
4846
|
},
|
4599
4847
|
"name": "conflictResolution",
|
4600
4848
|
"optional": true,
|
@@ -4614,7 +4862,7 @@
|
|
4614
4862
|
"immutable": true,
|
4615
4863
|
"locationInModule": {
|
4616
4864
|
"filename": "src/types.ts",
|
4617
|
-
"line":
|
4865
|
+
"line": 613
|
4618
4866
|
},
|
4619
4867
|
"name": "functionNameMap",
|
4620
4868
|
"optional": true,
|
@@ -4637,7 +4885,7 @@
|
|
4637
4885
|
"immutable": true,
|
4638
4886
|
"locationInModule": {
|
4639
4887
|
"filename": "src/types.ts",
|
4640
|
-
"line":
|
4888
|
+
"line": 634
|
4641
4889
|
},
|
4642
4890
|
"name": "functionSlots",
|
4643
4891
|
"optional": true,
|
@@ -4672,7 +4920,7 @@
|
|
4672
4920
|
"immutable": true,
|
4673
4921
|
"locationInModule": {
|
4674
4922
|
"filename": "src/types.ts",
|
4675
|
-
"line":
|
4923
|
+
"line": 657
|
4676
4924
|
},
|
4677
4925
|
"name": "outputStorageStrategy",
|
4678
4926
|
"optional": true,
|
@@ -4689,7 +4937,7 @@
|
|
4689
4937
|
"immutable": true,
|
4690
4938
|
"locationInModule": {
|
4691
4939
|
"filename": "src/types.ts",
|
4692
|
-
"line":
|
4940
|
+
"line": 646
|
4693
4941
|
},
|
4694
4942
|
"name": "predictionsBucket",
|
4695
4943
|
"optional": true,
|
@@ -4707,7 +4955,7 @@
|
|
4707
4955
|
"immutable": true,
|
4708
4956
|
"locationInModule": {
|
4709
4957
|
"filename": "src/types.ts",
|
4710
|
-
"line":
|
4958
|
+
"line": 628
|
4711
4959
|
},
|
4712
4960
|
"name": "stackMappings",
|
4713
4961
|
"optional": true,
|
@@ -4733,7 +4981,7 @@
|
|
4733
4981
|
"immutable": true,
|
4734
4982
|
"locationInModule": {
|
4735
4983
|
"filename": "src/types.ts",
|
4736
|
-
"line":
|
4984
|
+
"line": 641
|
4737
4985
|
},
|
4738
4986
|
"name": "transformerPlugins",
|
4739
4987
|
"optional": true,
|
@@ -4755,7 +5003,7 @@
|
|
4755
5003
|
"immutable": true,
|
4756
5004
|
"locationInModule": {
|
4757
5005
|
"filename": "src/types.ts",
|
4758
|
-
"line":
|
5006
|
+
"line": 652
|
4759
5007
|
},
|
4760
5008
|
"name": "translationBehavior",
|
4761
5009
|
"optional": true,
|
@@ -4778,10 +5026,31 @@
|
|
4778
5026
|
"kind": "interface",
|
4779
5027
|
"locationInModule": {
|
4780
5028
|
"filename": "src/types.ts",
|
4781
|
-
"line":
|
5029
|
+
"line": 720
|
4782
5030
|
},
|
4783
5031
|
"name": "AmplifyGraphqlApiResources",
|
4784
5032
|
"properties": [
|
5033
|
+
{
|
5034
|
+
"abstract": true,
|
5035
|
+
"docs": {
|
5036
|
+
"stability": "stable",
|
5037
|
+
"summary": "The Generated Amplify DynamoDb Table wrapped if produced, keyed by name."
|
5038
|
+
},
|
5039
|
+
"immutable": true,
|
5040
|
+
"locationInModule": {
|
5041
|
+
"filename": "src/types.ts",
|
5042
|
+
"line": 734
|
5043
|
+
},
|
5044
|
+
"name": "amplifyDynamoDbTables",
|
5045
|
+
"type": {
|
5046
|
+
"collection": {
|
5047
|
+
"elementtype": {
|
5048
|
+
"fqn": "@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper"
|
5049
|
+
},
|
5050
|
+
"kind": "map"
|
5051
|
+
}
|
5052
|
+
}
|
5053
|
+
},
|
4785
5054
|
{
|
4786
5055
|
"abstract": true,
|
4787
5056
|
"docs": {
|
@@ -4791,7 +5060,7 @@
|
|
4791
5060
|
"immutable": true,
|
4792
5061
|
"locationInModule": {
|
4793
5062
|
"filename": "src/types.ts",
|
4794
|
-
"line":
|
5063
|
+
"line": 749
|
4795
5064
|
},
|
4796
5065
|
"name": "cfnResources",
|
4797
5066
|
"type": {
|
@@ -4807,7 +5076,7 @@
|
|
4807
5076
|
"immutable": true,
|
4808
5077
|
"locationInModule": {
|
4809
5078
|
"filename": "src/types.ts",
|
4810
|
-
"line":
|
5079
|
+
"line": 744
|
4811
5080
|
},
|
4812
5081
|
"name": "functions",
|
4813
5082
|
"type": {
|
@@ -4828,7 +5097,7 @@
|
|
4828
5097
|
"immutable": true,
|
4829
5098
|
"locationInModule": {
|
4830
5099
|
"filename": "src/types.ts",
|
4831
|
-
"line":
|
5100
|
+
"line": 724
|
4832
5101
|
},
|
4833
5102
|
"name": "graphqlApi",
|
4834
5103
|
"type": {
|
@@ -4844,7 +5113,7 @@
|
|
4844
5113
|
"immutable": true,
|
4845
5114
|
"locationInModule": {
|
4846
5115
|
"filename": "src/types.ts",
|
4847
|
-
"line":
|
5116
|
+
"line": 754
|
4848
5117
|
},
|
4849
5118
|
"name": "nestedStacks",
|
4850
5119
|
"type": {
|
@@ -4865,7 +5134,7 @@
|
|
4865
5134
|
"immutable": true,
|
4866
5135
|
"locationInModule": {
|
4867
5136
|
"filename": "src/types.ts",
|
4868
|
-
"line":
|
5137
|
+
"line": 739
|
4869
5138
|
},
|
4870
5139
|
"name": "roles",
|
4871
5140
|
"type": {
|
@@ -4886,7 +5155,7 @@
|
|
4886
5155
|
"immutable": true,
|
4887
5156
|
"locationInModule": {
|
4888
5157
|
"filename": "src/types.ts",
|
4889
|
-
"line":
|
5158
|
+
"line": 729
|
4890
5159
|
},
|
4891
5160
|
"name": "tables",
|
4892
5161
|
"type": {
|
@@ -4916,18 +5185,51 @@
|
|
4916
5185
|
"kind": "class",
|
4917
5186
|
"locationInModule": {
|
4918
5187
|
"filename": "src/amplify-graphql-definition.ts",
|
4919
|
-
"line":
|
5188
|
+
"line": 16
|
4920
5189
|
},
|
4921
5190
|
"methods": [
|
4922
5191
|
{
|
4923
5192
|
"docs": {
|
4924
|
-
"
|
5193
|
+
"stability": "experimental",
|
5194
|
+
"summary": "Combines multiple IAmplifyGraphqlDefinitions into a single definition."
|
5195
|
+
},
|
5196
|
+
"locationInModule": {
|
5197
|
+
"filename": "src/amplify-graphql-definition.ts",
|
5198
|
+
"line": 79
|
5199
|
+
},
|
5200
|
+
"name": "combine",
|
5201
|
+
"parameters": [
|
5202
|
+
{
|
5203
|
+
"docs": {
|
5204
|
+
"summary": "the definitions to combine."
|
5205
|
+
},
|
5206
|
+
"name": "definitions",
|
5207
|
+
"type": {
|
5208
|
+
"collection": {
|
5209
|
+
"elementtype": {
|
5210
|
+
"fqn": "@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition"
|
5211
|
+
},
|
5212
|
+
"kind": "array"
|
5213
|
+
}
|
5214
|
+
}
|
5215
|
+
}
|
5216
|
+
],
|
5217
|
+
"returns": {
|
5218
|
+
"type": {
|
5219
|
+
"fqn": "@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition"
|
5220
|
+
}
|
5221
|
+
},
|
5222
|
+
"static": true
|
5223
|
+
},
|
5224
|
+
{
|
5225
|
+
"docs": {
|
5226
|
+
"returns": "a fully formed amplify graphql definition",
|
4925
5227
|
"stability": "stable",
|
4926
|
-
"summary": "Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
|
5228
|
+
"summary": "Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema."
|
4927
5229
|
},
|
4928
5230
|
"locationInModule": {
|
4929
5231
|
"filename": "src/amplify-graphql-definition.ts",
|
4930
|
-
"line":
|
5232
|
+
"line": 40
|
4931
5233
|
},
|
4932
5234
|
"name": "fromFiles",
|
4933
5235
|
"parameters": [
|
@@ -4952,65 +5254,67 @@
|
|
4952
5254
|
},
|
4953
5255
|
{
|
4954
5256
|
"docs": {
|
4955
|
-
"returns": "a fully formed amplify graphql definition
|
5257
|
+
"returns": "a fully formed amplify graphql definition",
|
4956
5258
|
"stability": "experimental",
|
4957
|
-
"summary": "Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema
|
5259
|
+
"summary": "Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema."
|
4958
5260
|
},
|
4959
5261
|
"locationInModule": {
|
4960
5262
|
"filename": "src/amplify-graphql-definition.ts",
|
4961
|
-
"line":
|
5263
|
+
"line": 59
|
4962
5264
|
},
|
4963
|
-
"name": "
|
5265
|
+
"name": "fromFilesAndDefinition",
|
4964
5266
|
"parameters": [
|
4965
5267
|
{
|
4966
5268
|
"docs": {
|
4967
5269
|
"summary": "one or more paths to the graphql files to process."
|
4968
5270
|
},
|
4969
5271
|
"name": "filePaths",
|
4970
|
-
"type": {
|
4971
|
-
"collection": {
|
4972
|
-
"elementtype": {
|
4973
|
-
"primitive": "string"
|
4974
|
-
},
|
4975
|
-
"kind": "array"
|
4976
|
-
}
|
4977
|
-
}
|
4978
|
-
},
|
4979
|
-
{
|
4980
|
-
"docs": {
|
4981
|
-
"summary": "the ModelDataSourceBinding to use for the schema."
|
4982
|
-
},
|
4983
|
-
"name": "modelDataSourceBinding",
|
4984
5272
|
"type": {
|
4985
5273
|
"union": {
|
4986
5274
|
"types": [
|
4987
5275
|
{
|
4988
|
-
"
|
5276
|
+
"primitive": "string"
|
4989
5277
|
},
|
4990
5278
|
{
|
4991
|
-
"
|
5279
|
+
"collection": {
|
5280
|
+
"elementtype": {
|
5281
|
+
"primitive": "string"
|
5282
|
+
},
|
5283
|
+
"kind": "array"
|
5284
|
+
}
|
4992
5285
|
}
|
4993
5286
|
]
|
4994
5287
|
}
|
4995
5288
|
}
|
4996
|
-
}
|
4997
|
-
|
4998
|
-
|
4999
|
-
|
5000
|
-
|
5289
|
+
},
|
5290
|
+
{
|
5291
|
+
"docs": {
|
5292
|
+
"remarks": "The DynamoDB from CloudFormation will be used by default.",
|
5293
|
+
"summary": "the provision definition for `@model` datasource."
|
5294
|
+
},
|
5295
|
+
"name": "modelDataSourceDefinition",
|
5296
|
+
"optional": true,
|
5297
|
+
"type": {
|
5298
|
+
"fqn": "@aws-amplify/graphql-api-construct.ModelDataSourceDefinition"
|
5299
|
+
}
|
5300
|
+
}
|
5301
|
+
],
|
5302
|
+
"returns": {
|
5303
|
+
"type": {
|
5304
|
+
"fqn": "@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition"
|
5001
5305
|
}
|
5002
5306
|
},
|
5003
5307
|
"static": true
|
5004
5308
|
},
|
5005
5309
|
{
|
5006
5310
|
"docs": {
|
5007
|
-
"returns": "a fully formed amplify graphql definition
|
5311
|
+
"returns": "a fully formed amplify graphql definition",
|
5008
5312
|
"stability": "experimental",
|
5009
5313
|
"summary": "Produce a schema definition from a string input."
|
5010
5314
|
},
|
5011
5315
|
"locationInModule": {
|
5012
5316
|
"filename": "src/amplify-graphql-definition.ts",
|
5013
|
-
"line":
|
5317
|
+
"line": 24
|
5014
5318
|
},
|
5015
5319
|
"name": "fromString",
|
5016
5320
|
"parameters": [
|
@@ -5025,22 +5329,13 @@
|
|
5025
5329
|
},
|
5026
5330
|
{
|
5027
5331
|
"docs": {
|
5028
|
-
"remarks": "
|
5029
|
-
"summary": "the
|
5332
|
+
"remarks": "The DynamoDB from CloudFormation will be used by default.",
|
5333
|
+
"summary": "the provision definition for `@model` datasource."
|
5030
5334
|
},
|
5031
|
-
"name": "
|
5335
|
+
"name": "modelDataSourceDefinition",
|
5032
5336
|
"optional": true,
|
5033
5337
|
"type": {
|
5034
|
-
"
|
5035
|
-
"types": [
|
5036
|
-
{
|
5037
|
-
"fqn": "@aws-amplify/graphql-api-construct.DynamoModelDataSourceBinding"
|
5038
|
-
},
|
5039
|
-
{
|
5040
|
-
"fqn": "@aws-amplify/graphql-api-construct.SqlModelDataSourceBinding"
|
5041
|
-
}
|
5042
|
-
]
|
5043
|
-
}
|
5338
|
+
"fqn": "@aws-amplify/graphql-api-construct.ModelDataSourceDefinition"
|
5044
5339
|
}
|
5045
5340
|
}
|
5046
5341
|
],
|
@@ -5066,7 +5361,7 @@
|
|
5066
5361
|
"kind": "interface",
|
5067
5362
|
"locationInModule": {
|
5068
5363
|
"filename": "src/types.ts",
|
5069
|
-
"line":
|
5364
|
+
"line": 97
|
5070
5365
|
},
|
5071
5366
|
"name": "ApiKeyAuthorizationConfig",
|
5072
5367
|
"properties": [
|
@@ -5079,7 +5374,7 @@
|
|
5079
5374
|
"immutable": true,
|
5080
5375
|
"locationInModule": {
|
5081
5376
|
"filename": "src/types.ts",
|
5082
|
-
"line":
|
5377
|
+
"line": 106
|
5083
5378
|
},
|
5084
5379
|
"name": "expires",
|
5085
5380
|
"type": {
|
@@ -5095,7 +5390,7 @@
|
|
5095
5390
|
"immutable": true,
|
5096
5391
|
"locationInModule": {
|
5097
5392
|
"filename": "src/types.ts",
|
5098
|
-
"line":
|
5393
|
+
"line": 101
|
5099
5394
|
},
|
5100
5395
|
"name": "description",
|
5101
5396
|
"optional": true,
|
@@ -5118,20 +5413,21 @@
|
|
5118
5413
|
"kind": "interface",
|
5119
5414
|
"locationInModule": {
|
5120
5415
|
"filename": "src/types.ts",
|
5121
|
-
"line":
|
5416
|
+
"line": 129
|
5122
5417
|
},
|
5123
5418
|
"name": "AuthorizationModes",
|
5124
5419
|
"properties": [
|
5125
5420
|
{
|
5126
5421
|
"abstract": true,
|
5127
5422
|
"docs": {
|
5128
|
-
"
|
5423
|
+
"deprecated": ", use iamConfig.allowListedRoles instead.",
|
5424
|
+
"stability": "deprecated",
|
5129
5425
|
"summary": "A list of roles granted full R/W access to the Api."
|
5130
5426
|
},
|
5131
5427
|
"immutable": true,
|
5132
5428
|
"locationInModule": {
|
5133
5429
|
"filename": "src/types.ts",
|
5134
|
-
"line":
|
5430
|
+
"line": 169
|
5135
5431
|
},
|
5136
5432
|
"name": "adminRoles",
|
5137
5433
|
"optional": true,
|
@@ -5154,7 +5450,7 @@
|
|
5154
5450
|
"immutable": true,
|
5155
5451
|
"locationInModule": {
|
5156
5452
|
"filename": "src/types.ts",
|
5157
|
-
"line":
|
5453
|
+
"line": 157
|
5158
5454
|
},
|
5159
5455
|
"name": "apiKeyConfig",
|
5160
5456
|
"optional": true,
|
@@ -5171,7 +5467,7 @@
|
|
5171
5467
|
"immutable": true,
|
5172
5468
|
"locationInModule": {
|
5173
5469
|
"filename": "src/types.ts",
|
5174
|
-
"line":
|
5470
|
+
"line": 133
|
5175
5471
|
},
|
5176
5472
|
"name": "defaultAuthorizationMode",
|
5177
5473
|
"optional": true,
|
@@ -5189,7 +5485,7 @@
|
|
5189
5485
|
"immutable": true,
|
5190
5486
|
"locationInModule": {
|
5191
5487
|
"filename": "src/types.ts",
|
5192
|
-
"line":
|
5488
|
+
"line": 139
|
5193
5489
|
},
|
5194
5490
|
"name": "iamConfig",
|
5195
5491
|
"optional": true,
|
@@ -5207,7 +5503,7 @@
|
|
5207
5503
|
"immutable": true,
|
5208
5504
|
"locationInModule": {
|
5209
5505
|
"filename": "src/types.ts",
|
5210
|
-
"line":
|
5506
|
+
"line": 163
|
5211
5507
|
},
|
5212
5508
|
"name": "lambdaConfig",
|
5213
5509
|
"optional": true,
|
@@ -5225,7 +5521,7 @@
|
|
5225
5521
|
"immutable": true,
|
5226
5522
|
"locationInModule": {
|
5227
5523
|
"filename": "src/types.ts",
|
5228
|
-
"line":
|
5524
|
+
"line": 151
|
5229
5525
|
},
|
5230
5526
|
"name": "oidcConfig",
|
5231
5527
|
"optional": true,
|
@@ -5243,7 +5539,7 @@
|
|
5243
5539
|
"immutable": true,
|
5244
5540
|
"locationInModule": {
|
5245
5541
|
"filename": "src/types.ts",
|
5246
|
-
"line":
|
5542
|
+
"line": 145
|
5247
5543
|
},
|
5248
5544
|
"name": "userPoolConfig",
|
5249
5545
|
"optional": true,
|
@@ -5268,7 +5564,7 @@
|
|
5268
5564
|
"kind": "interface",
|
5269
5565
|
"locationInModule": {
|
5270
5566
|
"filename": "src/types.ts",
|
5271
|
-
"line":
|
5567
|
+
"line": 190
|
5272
5568
|
},
|
5273
5569
|
"name": "AutomergeConflictResolutionStrategy",
|
5274
5570
|
"properties": [
|
@@ -5282,7 +5578,7 @@
|
|
5282
5578
|
"immutable": true,
|
5283
5579
|
"locationInModule": {
|
5284
5580
|
"filename": "src/types.ts",
|
5285
|
-
"line":
|
5581
|
+
"line": 195
|
5286
5582
|
},
|
5287
5583
|
"name": "handlerType",
|
5288
5584
|
"type": {
|
@@ -5303,7 +5599,7 @@
|
|
5303
5599
|
"kind": "interface",
|
5304
5600
|
"locationInModule": {
|
5305
5601
|
"filename": "src/types.ts",
|
5306
|
-
"line":
|
5602
|
+
"line": 237
|
5307
5603
|
},
|
5308
5604
|
"name": "ConflictResolution",
|
5309
5605
|
"properties": [
|
@@ -5316,7 +5612,7 @@
|
|
5316
5612
|
"immutable": true,
|
5317
5613
|
"locationInModule": {
|
5318
5614
|
"filename": "src/types.ts",
|
5319
|
-
"line":
|
5615
|
+
"line": 246
|
5320
5616
|
},
|
5321
5617
|
"name": "models",
|
5322
5618
|
"optional": true,
|
@@ -5351,7 +5647,7 @@
|
|
5351
5647
|
"immutable": true,
|
5352
5648
|
"locationInModule": {
|
5353
5649
|
"filename": "src/types.ts",
|
5354
|
-
"line":
|
5650
|
+
"line": 241
|
5355
5651
|
},
|
5356
5652
|
"name": "project",
|
5357
5653
|
"optional": true,
|
@@ -5385,7 +5681,7 @@
|
|
5385
5681
|
"kind": "interface",
|
5386
5682
|
"locationInModule": {
|
5387
5683
|
"filename": "src/types.ts",
|
5388
|
-
"line":
|
5684
|
+
"line": 180
|
5389
5685
|
},
|
5390
5686
|
"name": "ConflictResolutionStrategyBase",
|
5391
5687
|
"properties": [
|
@@ -5398,7 +5694,7 @@
|
|
5398
5694
|
"immutable": true,
|
5399
5695
|
"locationInModule": {
|
5400
5696
|
"filename": "src/types.ts",
|
5401
|
-
"line":
|
5697
|
+
"line": 184
|
5402
5698
|
},
|
5403
5699
|
"name": "detectionType",
|
5404
5700
|
"type": {
|
@@ -5422,7 +5718,7 @@
|
|
5422
5718
|
"kind": "interface",
|
5423
5719
|
"locationInModule": {
|
5424
5720
|
"filename": "src/types.ts",
|
5425
|
-
"line":
|
5721
|
+
"line": 212
|
5426
5722
|
},
|
5427
5723
|
"name": "CustomConflictResolutionStrategy",
|
5428
5724
|
"properties": [
|
@@ -5435,7 +5731,7 @@
|
|
5435
5731
|
"immutable": true,
|
5436
5732
|
"locationInModule": {
|
5437
5733
|
"filename": "src/types.ts",
|
5438
|
-
"line":
|
5734
|
+
"line": 223
|
5439
5735
|
},
|
5440
5736
|
"name": "conflictHandler",
|
5441
5737
|
"type": {
|
@@ -5452,7 +5748,7 @@
|
|
5452
5748
|
"immutable": true,
|
5453
5749
|
"locationInModule": {
|
5454
5750
|
"filename": "src/types.ts",
|
5455
|
-
"line":
|
5751
|
+
"line": 218
|
5456
5752
|
},
|
5457
5753
|
"name": "handlerType",
|
5458
5754
|
"type": {
|
@@ -5462,40 +5758,53 @@
|
|
5462
5758
|
],
|
5463
5759
|
"symbolId": "src/types:CustomConflictResolutionStrategy"
|
5464
5760
|
},
|
5465
|
-
"@aws-amplify/graphql-api-construct.
|
5761
|
+
"@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceDefinitionStrategy": {
|
5466
5762
|
"assembly": "@aws-amplify/graphql-api-construct",
|
5467
5763
|
"datatype": true,
|
5468
5764
|
"docs": {
|
5469
5765
|
"stability": "experimental",
|
5470
|
-
"summary": "
|
5766
|
+
"summary": "Use default CloudFormation type 'AWS::DynamoDB::Table' to provision table."
|
5471
5767
|
},
|
5472
|
-
"fqn": "@aws-amplify/graphql-api-construct.
|
5768
|
+
"fqn": "@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceDefinitionStrategy",
|
5473
5769
|
"kind": "interface",
|
5474
5770
|
"locationInModule": {
|
5475
5771
|
"filename": "src/types.ts",
|
5476
|
-
"line":
|
5772
|
+
"line": 571
|
5477
5773
|
},
|
5478
|
-
"name": "
|
5774
|
+
"name": "DefaultDynamoDbModelDataSourceDefinitionStrategy",
|
5479
5775
|
"properties": [
|
5480
5776
|
{
|
5481
5777
|
"abstract": true,
|
5482
5778
|
"docs": {
|
5483
|
-
"
|
5484
|
-
"stability": "experimental",
|
5485
|
-
"summary": "The type of the data source used to process model operations for this definition."
|
5779
|
+
"stability": "experimental"
|
5486
5780
|
},
|
5487
5781
|
"immutable": true,
|
5488
5782
|
"locationInModule": {
|
5489
5783
|
"filename": "src/types.ts",
|
5490
|
-
"line":
|
5784
|
+
"line": 572
|
5491
5785
|
},
|
5492
|
-
"name": "
|
5786
|
+
"name": "dbType",
|
5787
|
+
"type": {
|
5788
|
+
"primitive": "string"
|
5789
|
+
}
|
5790
|
+
},
|
5791
|
+
{
|
5792
|
+
"abstract": true,
|
5793
|
+
"docs": {
|
5794
|
+
"stability": "experimental"
|
5795
|
+
},
|
5796
|
+
"immutable": true,
|
5797
|
+
"locationInModule": {
|
5798
|
+
"filename": "src/types.ts",
|
5799
|
+
"line": 573
|
5800
|
+
},
|
5801
|
+
"name": "provisionStrategy",
|
5493
5802
|
"type": {
|
5494
5803
|
"primitive": "string"
|
5495
5804
|
}
|
5496
5805
|
}
|
5497
5806
|
],
|
5498
|
-
"symbolId": "src/types:
|
5807
|
+
"symbolId": "src/types:DefaultDynamoDbModelDataSourceDefinitionStrategy"
|
5499
5808
|
},
|
5500
5809
|
"@aws-amplify/graphql-api-construct.FunctionSlotBase": {
|
5501
5810
|
"assembly": "@aws-amplify/graphql-api-construct",
|
@@ -5508,7 +5817,7 @@
|
|
5508
5817
|
"kind": "interface",
|
5509
5818
|
"locationInModule": {
|
5510
5819
|
"filename": "src/types.ts",
|
5511
|
-
"line":
|
5820
|
+
"line": 268
|
5512
5821
|
},
|
5513
5822
|
"name": "FunctionSlotBase",
|
5514
5823
|
"properties": [
|
@@ -5521,7 +5830,7 @@
|
|
5521
5830
|
"immutable": true,
|
5522
5831
|
"locationInModule": {
|
5523
5832
|
"filename": "src/types.ts",
|
5524
|
-
"line":
|
5833
|
+
"line": 272
|
5525
5834
|
},
|
5526
5835
|
"name": "fieldName",
|
5527
5836
|
"type": {
|
@@ -5537,7 +5846,7 @@
|
|
5537
5846
|
"immutable": true,
|
5538
5847
|
"locationInModule": {
|
5539
5848
|
"filename": "src/types.ts",
|
5540
|
-
"line":
|
5849
|
+
"line": 283
|
5541
5850
|
},
|
5542
5851
|
"name": "function",
|
5543
5852
|
"type": {
|
@@ -5554,7 +5863,7 @@
|
|
5554
5863
|
"immutable": true,
|
5555
5864
|
"locationInModule": {
|
5556
5865
|
"filename": "src/types.ts",
|
5557
|
-
"line":
|
5866
|
+
"line": 278
|
5558
5867
|
},
|
5559
5868
|
"name": "slotIndex",
|
5560
5869
|
"type": {
|
@@ -5576,7 +5885,7 @@
|
|
5576
5885
|
"kind": "interface",
|
5577
5886
|
"locationInModule": {
|
5578
5887
|
"filename": "src/types.ts",
|
5579
|
-
"line":
|
5888
|
+
"line": 253
|
5580
5889
|
},
|
5581
5890
|
"name": "FunctionSlotOverride",
|
5582
5891
|
"properties": [
|
@@ -5590,7 +5899,7 @@
|
|
5590
5899
|
"immutable": true,
|
5591
5900
|
"locationInModule": {
|
5592
5901
|
"filename": "src/types.ts",
|
5593
|
-
"line":
|
5902
|
+
"line": 257
|
5594
5903
|
},
|
5595
5904
|
"name": "requestMappingTemplate",
|
5596
5905
|
"optional": true,
|
@@ -5608,7 +5917,7 @@
|
|
5608
5917
|
"immutable": true,
|
5609
5918
|
"locationInModule": {
|
5610
5919
|
"filename": "src/types.ts",
|
5611
|
-
"line":
|
5920
|
+
"line": 262
|
5612
5921
|
},
|
5613
5922
|
"name": "responseMappingTemplate",
|
5614
5923
|
"optional": true,
|
@@ -5682,6 +5991,38 @@
|
|
5682
5991
|
"type": {
|
5683
5992
|
"fqn": "aws-cdk-lib.aws_iam.IRole"
|
5684
5993
|
}
|
5994
|
+
},
|
5995
|
+
{
|
5996
|
+
"abstract": true,
|
5997
|
+
"docs": {
|
5998
|
+
"remarks": "If an IRole is provided, the role `name` will be used for matching.\nIf a string is provided, the raw value will be used for matching.",
|
5999
|
+
"stability": "stable",
|
6000
|
+
"summary": "A list of IAM roles which will be granted full read/write access to the generated model if IAM auth is enabled."
|
6001
|
+
},
|
6002
|
+
"immutable": true,
|
6003
|
+
"locationInModule": {
|
6004
|
+
"filename": "src/types.ts",
|
6005
|
+
"line": 48
|
6006
|
+
},
|
6007
|
+
"name": "allowListedRoles",
|
6008
|
+
"optional": true,
|
6009
|
+
"type": {
|
6010
|
+
"collection": {
|
6011
|
+
"elementtype": {
|
6012
|
+
"union": {
|
6013
|
+
"types": [
|
6014
|
+
{
|
6015
|
+
"primitive": "string"
|
6016
|
+
},
|
6017
|
+
{
|
6018
|
+
"fqn": "aws-cdk-lib.aws_iam.IRole"
|
6019
|
+
}
|
6020
|
+
]
|
6021
|
+
}
|
6022
|
+
},
|
6023
|
+
"kind": "array"
|
6024
|
+
}
|
6025
|
+
}
|
5685
6026
|
}
|
5686
6027
|
],
|
5687
6028
|
"symbolId": "src/types:IAMAuthorizationConfig"
|
@@ -5696,10 +6037,33 @@
|
|
5696
6037
|
"kind": "interface",
|
5697
6038
|
"locationInModule": {
|
5698
6039
|
"filename": "src/types.ts",
|
5699
|
-
"line":
|
6040
|
+
"line": 494
|
5700
6041
|
},
|
5701
6042
|
"name": "IAmplifyGraphqlDefinition",
|
5702
6043
|
"properties": [
|
6044
|
+
{
|
6045
|
+
"abstract": true,
|
6046
|
+
"docs": {
|
6047
|
+
"remarks": "The default strategy is to use DynamoDB from CloudFormation.",
|
6048
|
+
"returns": "datasource definition mapping",
|
6049
|
+
"stability": "stable",
|
6050
|
+
"summary": "Retrieve the datasource definition mapping."
|
6051
|
+
},
|
6052
|
+
"immutable": true,
|
6053
|
+
"locationInModule": {
|
6054
|
+
"filename": "src/types.ts",
|
6055
|
+
"line": 511
|
6056
|
+
},
|
6057
|
+
"name": "dataSourceDefinition",
|
6058
|
+
"type": {
|
6059
|
+
"collection": {
|
6060
|
+
"elementtype": {
|
6061
|
+
"fqn": "@aws-amplify/graphql-api-construct.ModelDataSourceDefinition"
|
6062
|
+
},
|
6063
|
+
"kind": "map"
|
6064
|
+
}
|
6065
|
+
}
|
6066
|
+
},
|
5703
6067
|
{
|
5704
6068
|
"abstract": true,
|
5705
6069
|
"docs": {
|
@@ -5710,7 +6074,7 @@
|
|
5710
6074
|
"immutable": true,
|
5711
6075
|
"locationInModule": {
|
5712
6076
|
"filename": "src/types.ts",
|
5713
|
-
"line":
|
6077
|
+
"line": 505
|
5714
6078
|
},
|
5715
6079
|
"name": "functionSlots",
|
5716
6080
|
"type": {
|
@@ -5734,31 +6098,6 @@
|
|
5734
6098
|
}
|
5735
6099
|
}
|
5736
6100
|
},
|
5737
|
-
{
|
5738
|
-
"abstract": true,
|
5739
|
-
"docs": {
|
5740
|
-
"stability": "stable",
|
5741
|
-
"summary": "Return the DataSource binding information for models defined in `schema`."
|
5742
|
-
},
|
5743
|
-
"immutable": true,
|
5744
|
-
"locationInModule": {
|
5745
|
-
"filename": "src/types.ts",
|
5746
|
-
"line": 509
|
5747
|
-
},
|
5748
|
-
"name": "modelDataSourceBinding",
|
5749
|
-
"type": {
|
5750
|
-
"union": {
|
5751
|
-
"types": [
|
5752
|
-
{
|
5753
|
-
"fqn": "@aws-amplify/graphql-api-construct.DynamoModelDataSourceBinding"
|
5754
|
-
},
|
5755
|
-
{
|
5756
|
-
"fqn": "@aws-amplify/graphql-api-construct.SqlModelDataSourceBinding"
|
5757
|
-
}
|
5758
|
-
]
|
5759
|
-
}
|
5760
|
-
}
|
5761
|
-
},
|
5762
6101
|
{
|
5763
6102
|
"abstract": true,
|
5764
6103
|
"docs": {
|
@@ -5769,7 +6108,7 @@
|
|
5769
6108
|
"immutable": true,
|
5770
6109
|
"locationInModule": {
|
5771
6110
|
"filename": "src/types.ts",
|
5772
|
-
"line":
|
6111
|
+
"line": 499
|
5773
6112
|
},
|
5774
6113
|
"name": "schema",
|
5775
6114
|
"type": {
|
@@ -5789,7 +6128,7 @@
|
|
5789
6128
|
"kind": "interface",
|
5790
6129
|
"locationInModule": {
|
5791
6130
|
"filename": "src/types.ts",
|
5792
|
-
"line":
|
6131
|
+
"line": 517
|
5793
6132
|
},
|
5794
6133
|
"name": "IBackendOutputEntry",
|
5795
6134
|
"properties": [
|
@@ -5802,7 +6141,7 @@
|
|
5802
6141
|
"immutable": true,
|
5803
6142
|
"locationInModule": {
|
5804
6143
|
"filename": "src/types.ts",
|
5805
|
-
"line":
|
6144
|
+
"line": 526
|
5806
6145
|
},
|
5807
6146
|
"name": "payload",
|
5808
6147
|
"type": {
|
@@ -5823,7 +6162,7 @@
|
|
5823
6162
|
"immutable": true,
|
5824
6163
|
"locationInModule": {
|
5825
6164
|
"filename": "src/types.ts",
|
5826
|
-
"line":
|
6165
|
+
"line": 521
|
5827
6166
|
},
|
5828
6167
|
"name": "version",
|
5829
6168
|
"type": {
|
@@ -5843,7 +6182,7 @@
|
|
5843
6182
|
"kind": "interface",
|
5844
6183
|
"locationInModule": {
|
5845
6184
|
"filename": "src/types.ts",
|
5846
|
-
"line":
|
6185
|
+
"line": 532
|
5847
6186
|
},
|
5848
6187
|
"methods": [
|
5849
6188
|
{
|
@@ -5854,7 +6193,7 @@
|
|
5854
6193
|
},
|
5855
6194
|
"locationInModule": {
|
5856
6195
|
"filename": "src/types.ts",
|
5857
|
-
"line":
|
6196
|
+
"line": 539
|
5858
6197
|
},
|
5859
6198
|
"name": "addBackendOutputEntry",
|
5860
6199
|
"parameters": [
|
@@ -5893,7 +6232,7 @@
|
|
5893
6232
|
"kind": "interface",
|
5894
6233
|
"locationInModule": {
|
5895
6234
|
"filename": "src/types.ts",
|
5896
|
-
"line":
|
6235
|
+
"line": 112
|
5897
6236
|
},
|
5898
6237
|
"name": "LambdaAuthorizationConfig",
|
5899
6238
|
"properties": [
|
@@ -5906,7 +6245,7 @@
|
|
5906
6245
|
"immutable": true,
|
5907
6246
|
"locationInModule": {
|
5908
6247
|
"filename": "src/types.ts",
|
5909
|
-
"line":
|
6248
|
+
"line": 116
|
5910
6249
|
},
|
5911
6250
|
"name": "function",
|
5912
6251
|
"type": {
|
@@ -5922,7 +6261,7 @@
|
|
5922
6261
|
"immutable": true,
|
5923
6262
|
"locationInModule": {
|
5924
6263
|
"filename": "src/types.ts",
|
5925
|
-
"line":
|
6264
|
+
"line": 121
|
5926
6265
|
},
|
5927
6266
|
"name": "ttl",
|
5928
6267
|
"type": {
|
@@ -5932,6 +6271,66 @@
|
|
5932
6271
|
],
|
5933
6272
|
"symbolId": "src/types:LambdaAuthorizationConfig"
|
5934
6273
|
},
|
6274
|
+
"@aws-amplify/graphql-api-construct.ModelDataSourceDefinition": {
|
6275
|
+
"assembly": "@aws-amplify/graphql-api-construct",
|
6276
|
+
"datatype": true,
|
6277
|
+
"docs": {
|
6278
|
+
"stability": "experimental",
|
6279
|
+
"summary": "Defines a datasource for resolving GraphQL operations against `@model` types in a GraphQL schema."
|
6280
|
+
},
|
6281
|
+
"fqn": "@aws-amplify/graphql-api-construct.ModelDataSourceDefinition",
|
6282
|
+
"kind": "interface",
|
6283
|
+
"locationInModule": {
|
6284
|
+
"filename": "src/types.ts",
|
6285
|
+
"line": 546
|
6286
|
+
},
|
6287
|
+
"name": "ModelDataSourceDefinition",
|
6288
|
+
"properties": [
|
6289
|
+
{
|
6290
|
+
"abstract": true,
|
6291
|
+
"docs": {
|
6292
|
+
"remarks": "This will be used to name the AppSynce DataSource itself, plus any associated resources like resolver\nLambdas, custom CDK resources. This name must be unique across all schema definitions in a GraphQL API.",
|
6293
|
+
"stability": "experimental",
|
6294
|
+
"summary": "The name of the ModelDataSource."
|
6295
|
+
},
|
6296
|
+
"immutable": true,
|
6297
|
+
"locationInModule": {
|
6298
|
+
"filename": "src/types.ts",
|
6299
|
+
"line": 551
|
6300
|
+
},
|
6301
|
+
"name": "name",
|
6302
|
+
"type": {
|
6303
|
+
"primitive": "string"
|
6304
|
+
}
|
6305
|
+
},
|
6306
|
+
{
|
6307
|
+
"abstract": true,
|
6308
|
+
"docs": {
|
6309
|
+
"stability": "experimental",
|
6310
|
+
"summary": "The ModelDataSourceDefinitionStrategy."
|
6311
|
+
},
|
6312
|
+
"immutable": true,
|
6313
|
+
"locationInModule": {
|
6314
|
+
"filename": "src/types.ts",
|
6315
|
+
"line": 555
|
6316
|
+
},
|
6317
|
+
"name": "strategy",
|
6318
|
+
"type": {
|
6319
|
+
"union": {
|
6320
|
+
"types": [
|
6321
|
+
{
|
6322
|
+
"fqn": "@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceDefinitionStrategy"
|
6323
|
+
},
|
6324
|
+
{
|
6325
|
+
"fqn": "@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceDefinitionStrategy"
|
6326
|
+
}
|
6327
|
+
]
|
6328
|
+
}
|
6329
|
+
}
|
6330
|
+
}
|
6331
|
+
],
|
6332
|
+
"symbolId": "src/types:ModelDataSourceDefinition"
|
6333
|
+
},
|
5935
6334
|
"@aws-amplify/graphql-api-construct.MutationFunctionSlot": {
|
5936
6335
|
"assembly": "@aws-amplify/graphql-api-construct",
|
5937
6336
|
"datatype": true,
|
@@ -5946,7 +6345,7 @@
|
|
5946
6345
|
"kind": "interface",
|
5947
6346
|
"locationInModule": {
|
5948
6347
|
"filename": "src/types.ts",
|
5949
|
-
"line":
|
6348
|
+
"line": 289
|
5950
6349
|
},
|
5951
6350
|
"name": "MutationFunctionSlot",
|
5952
6351
|
"properties": [
|
@@ -5960,7 +6359,7 @@
|
|
5960
6359
|
"immutable": true,
|
5961
6360
|
"locationInModule": {
|
5962
6361
|
"filename": "src/types.ts",
|
5963
|
-
"line":
|
6362
|
+
"line": 299
|
5964
6363
|
},
|
5965
6364
|
"name": "slotName",
|
5966
6365
|
"type": {
|
@@ -5976,7 +6375,7 @@
|
|
5976
6375
|
"immutable": true,
|
5977
6376
|
"locationInModule": {
|
5978
6377
|
"filename": "src/types.ts",
|
5979
|
-
"line":
|
6378
|
+
"line": 293
|
5980
6379
|
},
|
5981
6380
|
"name": "typeName",
|
5982
6381
|
"type": {
|
@@ -5997,7 +6396,7 @@
|
|
5997
6396
|
"kind": "interface",
|
5998
6397
|
"locationInModule": {
|
5999
6398
|
"filename": "src/types.ts",
|
6000
|
-
"line":
|
6399
|
+
"line": 64
|
6001
6400
|
},
|
6002
6401
|
"name": "OIDCAuthorizationConfig",
|
6003
6402
|
"properties": [
|
@@ -6010,7 +6409,7 @@
|
|
6010
6409
|
"immutable": true,
|
6011
6410
|
"locationInModule": {
|
6012
6411
|
"filename": "src/types.ts",
|
6013
|
-
"line":
|
6412
|
+
"line": 73
|
6014
6413
|
},
|
6015
6414
|
"name": "oidcIssuerUrl",
|
6016
6415
|
"type": {
|
@@ -6026,7 +6425,7 @@
|
|
6026
6425
|
"immutable": true,
|
6027
6426
|
"locationInModule": {
|
6028
6427
|
"filename": "src/types.ts",
|
6029
|
-
"line":
|
6428
|
+
"line": 68
|
6030
6429
|
},
|
6031
6430
|
"name": "oidcProviderName",
|
6032
6431
|
"type": {
|
@@ -6043,7 +6442,7 @@
|
|
6043
6442
|
"immutable": true,
|
6044
6443
|
"locationInModule": {
|
6045
6444
|
"filename": "src/types.ts",
|
6046
|
-
"line":
|
6445
|
+
"line": 85
|
6047
6446
|
},
|
6048
6447
|
"name": "tokenExpiryFromAuth",
|
6049
6448
|
"type": {
|
@@ -6060,7 +6459,7 @@
|
|
6060
6459
|
"immutable": true,
|
6061
6460
|
"locationInModule": {
|
6062
6461
|
"filename": "src/types.ts",
|
6063
|
-
"line":
|
6462
|
+
"line": 91
|
6064
6463
|
},
|
6065
6464
|
"name": "tokenExpiryFromIssue",
|
6066
6465
|
"type": {
|
@@ -6077,7 +6476,7 @@
|
|
6077
6476
|
"immutable": true,
|
6078
6477
|
"locationInModule": {
|
6079
6478
|
"filename": "src/types.ts",
|
6080
|
-
"line":
|
6479
|
+
"line": 79
|
6081
6480
|
},
|
6082
6481
|
"name": "clientId",
|
6083
6482
|
"optional": true,
|
@@ -6102,7 +6501,7 @@
|
|
6102
6501
|
"kind": "interface",
|
6103
6502
|
"locationInModule": {
|
6104
6503
|
"filename": "src/types.ts",
|
6105
|
-
"line":
|
6504
|
+
"line": 201
|
6106
6505
|
},
|
6107
6506
|
"name": "OptimisticConflictResolutionStrategy",
|
6108
6507
|
"properties": [
|
@@ -6116,7 +6515,7 @@
|
|
6116
6515
|
"immutable": true,
|
6117
6516
|
"locationInModule": {
|
6118
6517
|
"filename": "src/types.ts",
|
6119
|
-
"line":
|
6518
|
+
"line": 206
|
6120
6519
|
},
|
6121
6520
|
"name": "handlerType",
|
6122
6521
|
"type": {
|
@@ -6137,7 +6536,7 @@
|
|
6137
6536
|
"kind": "interface",
|
6138
6537
|
"locationInModule": {
|
6139
6538
|
"filename": "src/types.ts",
|
6140
|
-
"line":
|
6539
|
+
"line": 416
|
6141
6540
|
},
|
6142
6541
|
"name": "PartialTranslationBehavior",
|
6143
6542
|
"properties": [
|
@@ -6151,7 +6550,7 @@
|
|
6151
6550
|
"immutable": true,
|
6152
6551
|
"locationInModule": {
|
6153
6552
|
"filename": "src/types.ts",
|
6154
|
-
"line":
|
6553
|
+
"line": 428
|
6155
6554
|
},
|
6156
6555
|
"name": "disableResolverDeduping",
|
6157
6556
|
"optional": true,
|
@@ -6173,7 +6572,7 @@
|
|
6173
6572
|
"immutable": true,
|
6174
6573
|
"locationInModule": {
|
6175
6574
|
"filename": "src/types.ts",
|
6176
|
-
"line":
|
6575
|
+
"line": 467
|
6177
6576
|
},
|
6178
6577
|
"name": "enableAutoIndexQueryNames",
|
6179
6578
|
"optional": true,
|
@@ -6192,7 +6591,7 @@
|
|
6192
6591
|
"immutable": true,
|
6193
6592
|
"locationInModule": {
|
6194
6593
|
"filename": "src/types.ts",
|
6195
|
-
"line":
|
6594
|
+
"line": 482
|
6196
6595
|
},
|
6197
6596
|
"name": "enableSearchNodeToNodeEncryption",
|
6198
6597
|
"optional": true,
|
@@ -6210,7 +6609,7 @@
|
|
6210
6609
|
"immutable": true,
|
6211
6610
|
"locationInModule": {
|
6212
6611
|
"filename": "src/types.ts",
|
6213
|
-
"line":
|
6612
|
+
"line": 488
|
6214
6613
|
},
|
6215
6614
|
"name": "enableTransformerCfnOutputs",
|
6216
6615
|
"optional": true,
|
@@ -6228,7 +6627,7 @@
|
|
6228
6627
|
"immutable": true,
|
6229
6628
|
"locationInModule": {
|
6230
6629
|
"filename": "src/types.ts",
|
6231
|
-
"line":
|
6630
|
+
"line": 447
|
6232
6631
|
},
|
6233
6632
|
"name": "populateOwnerFieldForStaticGroupAuth",
|
6234
6633
|
"optional": true,
|
@@ -6246,7 +6645,7 @@
|
|
6246
6645
|
"immutable": true,
|
6247
6646
|
"locationInModule": {
|
6248
6647
|
"filename": "src/types.ts",
|
6249
|
-
"line":
|
6648
|
+
"line": 473
|
6250
6649
|
},
|
6251
6650
|
"name": "respectPrimaryKeyAttributesOnConnectionField",
|
6252
6651
|
"optional": true,
|
@@ -6264,7 +6663,7 @@
|
|
6264
6663
|
"immutable": true,
|
6265
6664
|
"locationInModule": {
|
6266
6665
|
"filename": "src/types.ts",
|
6267
|
-
"line":
|
6666
|
+
"line": 434
|
6268
6667
|
},
|
6269
6668
|
"name": "sandboxModeEnabled",
|
6270
6669
|
"optional": true,
|
@@ -6285,7 +6684,7 @@
|
|
6285
6684
|
"immutable": true,
|
6286
6685
|
"locationInModule": {
|
6287
6686
|
"filename": "src/types.ts",
|
6288
|
-
"line":
|
6687
|
+
"line": 460
|
6289
6688
|
},
|
6290
6689
|
"name": "secondaryKeyAsGSI",
|
6291
6690
|
"optional": true,
|
@@ -6306,7 +6705,7 @@
|
|
6306
6705
|
"immutable": true,
|
6307
6706
|
"locationInModule": {
|
6308
6707
|
"filename": "src/types.ts",
|
6309
|
-
"line":
|
6708
|
+
"line": 421
|
6310
6709
|
},
|
6311
6710
|
"name": "shouldDeepMergeDirectiveConfigDefaults",
|
6312
6711
|
"optional": true,
|
@@ -6325,7 +6724,7 @@
|
|
6325
6724
|
"immutable": true,
|
6326
6725
|
"locationInModule": {
|
6327
6726
|
"filename": "src/types.ts",
|
6328
|
-
"line":
|
6727
|
+
"line": 454
|
6329
6728
|
},
|
6330
6729
|
"name": "suppressApiKeyGeneration",
|
6331
6730
|
"optional": true,
|
@@ -6343,7 +6742,7 @@
|
|
6343
6742
|
"immutable": true,
|
6344
6743
|
"locationInModule": {
|
6345
6744
|
"filename": "src/types.ts",
|
6346
|
-
"line":
|
6745
|
+
"line": 441
|
6347
6746
|
},
|
6348
6747
|
"name": "useSubUsernameForDefaultIdentityClaim",
|
6349
6748
|
"optional": true,
|
@@ -6354,88 +6753,87 @@
|
|
6354
6753
|
],
|
6355
6754
|
"symbolId": "src/types:PartialTranslationBehavior"
|
6356
6755
|
},
|
6357
|
-
"@aws-amplify/graphql-api-construct.
|
6756
|
+
"@aws-amplify/graphql-api-construct.ProvisionedThroughput": {
|
6358
6757
|
"assembly": "@aws-amplify/graphql-api-construct",
|
6359
6758
|
"datatype": true,
|
6360
6759
|
"docs": {
|
6361
6760
|
"stability": "stable",
|
6362
|
-
"summary": "
|
6761
|
+
"summary": "Wrapper for provisioned throughput config in DDB."
|
6363
6762
|
},
|
6364
|
-
"fqn": "@aws-amplify/graphql-api-construct.
|
6365
|
-
"interfaces": [
|
6366
|
-
"@aws-amplify/graphql-api-construct.FunctionSlotBase"
|
6367
|
-
],
|
6763
|
+
"fqn": "@aws-amplify/graphql-api-construct.ProvisionedThroughput",
|
6368
6764
|
"kind": "interface",
|
6369
6765
|
"locationInModule": {
|
6370
|
-
"filename": "src/
|
6371
|
-
"line":
|
6766
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
6767
|
+
"line": 24
|
6372
6768
|
},
|
6373
|
-
"name": "
|
6769
|
+
"name": "ProvisionedThroughput",
|
6374
6770
|
"properties": [
|
6375
6771
|
{
|
6376
6772
|
"abstract": true,
|
6377
6773
|
"docs": {
|
6378
|
-
"remarks": "For more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers",
|
6379
6774
|
"stability": "stable",
|
6380
|
-
"summary": "The
|
6775
|
+
"summary": "The read capacity units on the table or index."
|
6381
6776
|
},
|
6382
6777
|
"immutable": true,
|
6383
6778
|
"locationInModule": {
|
6384
|
-
"filename": "src/
|
6385
|
-
"line":
|
6779
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
6780
|
+
"line": 28
|
6386
6781
|
},
|
6387
|
-
"name": "
|
6782
|
+
"name": "readCapacityUnits",
|
6388
6783
|
"type": {
|
6389
|
-
"primitive": "
|
6784
|
+
"primitive": "number"
|
6390
6785
|
}
|
6391
6786
|
},
|
6392
6787
|
{
|
6393
6788
|
"abstract": true,
|
6394
6789
|
"docs": {
|
6395
6790
|
"stability": "stable",
|
6396
|
-
"summary": "
|
6791
|
+
"summary": "The write capacity units on the table or index."
|
6397
6792
|
},
|
6398
6793
|
"immutable": true,
|
6399
6794
|
"locationInModule": {
|
6400
|
-
"filename": "src/
|
6401
|
-
"line":
|
6795
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
6796
|
+
"line": 33
|
6402
6797
|
},
|
6403
|
-
"name": "
|
6798
|
+
"name": "writeCapacityUnits",
|
6404
6799
|
"type": {
|
6405
|
-
"primitive": "
|
6800
|
+
"primitive": "number"
|
6406
6801
|
}
|
6407
6802
|
}
|
6408
6803
|
],
|
6409
|
-
"symbolId": "src/
|
6804
|
+
"symbolId": "src/amplify-dynamodb-table-wrapper:ProvisionedThroughput"
|
6410
6805
|
},
|
6411
|
-
"@aws-amplify/graphql-api-construct.
|
6806
|
+
"@aws-amplify/graphql-api-construct.QueryFunctionSlot": {
|
6412
6807
|
"assembly": "@aws-amplify/graphql-api-construct",
|
6413
6808
|
"datatype": true,
|
6414
6809
|
"docs": {
|
6415
|
-
"
|
6416
|
-
"
|
6417
|
-
"summary": "Additional binding configurations used to connect an AmplifyGraphqlApi to a SQL-based data source using a Lambda."
|
6810
|
+
"stability": "stable",
|
6811
|
+
"summary": "Slot types for Query Resolvers."
|
6418
6812
|
},
|
6419
|
-
"fqn": "@aws-amplify/graphql-api-construct.
|
6813
|
+
"fqn": "@aws-amplify/graphql-api-construct.QueryFunctionSlot",
|
6814
|
+
"interfaces": [
|
6815
|
+
"@aws-amplify/graphql-api-construct.FunctionSlotBase"
|
6816
|
+
],
|
6420
6817
|
"kind": "interface",
|
6421
6818
|
"locationInModule": {
|
6422
6819
|
"filename": "src/types.ts",
|
6423
|
-
"line":
|
6820
|
+
"line": 305
|
6424
6821
|
},
|
6425
|
-
"name": "
|
6822
|
+
"name": "QueryFunctionSlot",
|
6426
6823
|
"properties": [
|
6427
6824
|
{
|
6428
6825
|
"abstract": true,
|
6429
6826
|
"docs": {
|
6430
|
-
"
|
6431
|
-
"
|
6827
|
+
"remarks": "For more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers",
|
6828
|
+
"stability": "stable",
|
6829
|
+
"summary": "The slot name to inject this behavior into."
|
6432
6830
|
},
|
6433
6831
|
"immutable": true,
|
6434
6832
|
"locationInModule": {
|
6435
6833
|
"filename": "src/types.ts",
|
6436
|
-
"line":
|
6834
|
+
"line": 315
|
6437
6835
|
},
|
6438
|
-
"name": "
|
6836
|
+
"name": "slotName",
|
6439
6837
|
"type": {
|
6440
6838
|
"primitive": "string"
|
6441
6839
|
}
|
@@ -6443,122 +6841,68 @@
|
|
6443
6841
|
{
|
6444
6842
|
"abstract": true,
|
6445
6843
|
"docs": {
|
6446
|
-
"stability": "
|
6447
|
-
"summary": "
|
6448
|
-
},
|
6449
|
-
"immutable": true,
|
6450
|
-
"locationInModule": {
|
6451
|
-
"filename": "src/types.ts",
|
6452
|
-
"line": 806
|
6453
|
-
},
|
6454
|
-
"name": "dbConnectionConfig",
|
6455
|
-
"type": {
|
6456
|
-
"fqn": "@aws-amplify/graphql-api-construct.SqlModelDataSourceBindingDbConnectionConfig"
|
6457
|
-
}
|
6458
|
-
},
|
6459
|
-
{
|
6460
|
-
"abstract": true,
|
6461
|
-
"docs": {
|
6462
|
-
"stability": "experimental",
|
6463
|
-
"summary": "The configuration of the VPC into which to install the Lambda."
|
6464
|
-
},
|
6465
|
-
"immutable": true,
|
6466
|
-
"locationInModule": {
|
6467
|
-
"filename": "src/types.ts",
|
6468
|
-
"line": 795
|
6469
|
-
},
|
6470
|
-
"name": "vpcConfiguration",
|
6471
|
-
"type": {
|
6472
|
-
"fqn": "@aws-amplify/graphql-api-construct.SqlModelDataSourceBindingVpcConfig"
|
6473
|
-
}
|
6474
|
-
},
|
6475
|
-
{
|
6476
|
-
"abstract": true,
|
6477
|
-
"docs": {
|
6478
|
-
"remarks": "The key is the value of the `references` attribute of the `@sql` directive in the `schema`; the value is the SQL\nto be executed.",
|
6479
|
-
"stability": "experimental",
|
6480
|
-
"summary": "Custom SQL statements."
|
6844
|
+
"stability": "stable",
|
6845
|
+
"summary": "This slot type applies to the Query type on the Api definition."
|
6481
6846
|
},
|
6482
6847
|
"immutable": true,
|
6483
6848
|
"locationInModule": {
|
6484
6849
|
"filename": "src/types.ts",
|
6485
|
-
"line":
|
6850
|
+
"line": 309
|
6486
6851
|
},
|
6487
|
-
"name": "
|
6488
|
-
"optional": true,
|
6852
|
+
"name": "typeName",
|
6489
6853
|
"type": {
|
6490
|
-
"
|
6491
|
-
"elementtype": {
|
6492
|
-
"primitive": "string"
|
6493
|
-
},
|
6494
|
-
"kind": "map"
|
6495
|
-
}
|
6854
|
+
"primitive": "string"
|
6496
6855
|
}
|
6497
6856
|
}
|
6498
6857
|
],
|
6499
|
-
"symbolId": "src/types:
|
6858
|
+
"symbolId": "src/types:QueryFunctionSlot"
|
6500
6859
|
},
|
6501
|
-
"@aws-amplify/graphql-api-construct.
|
6860
|
+
"@aws-amplify/graphql-api-construct.SSESpecification": {
|
6502
6861
|
"assembly": "@aws-amplify/graphql-api-construct",
|
6503
6862
|
"datatype": true,
|
6504
6863
|
"docs": {
|
6505
|
-
"
|
6506
|
-
"
|
6507
|
-
"summary": "The Secure Systems Manager parameter paths the Lambda data source will use to connect to the database."
|
6864
|
+
"stability": "stable",
|
6865
|
+
"summary": "Represents the settings used to enable server-side encryption."
|
6508
6866
|
},
|
6509
|
-
"fqn": "@aws-amplify/graphql-api-construct.
|
6867
|
+
"fqn": "@aws-amplify/graphql-api-construct.SSESpecification",
|
6510
6868
|
"kind": "interface",
|
6511
6869
|
"locationInModule": {
|
6512
|
-
"filename": "src/
|
6513
|
-
"line":
|
6870
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
6871
|
+
"line": 47
|
6514
6872
|
},
|
6515
|
-
"name": "
|
6873
|
+
"name": "SSESpecification",
|
6516
6874
|
"properties": [
|
6517
6875
|
{
|
6518
6876
|
"abstract": true,
|
6519
6877
|
"docs": {
|
6520
|
-
"
|
6521
|
-
"
|
6878
|
+
"remarks": "If enabled (true), server-side encryption type is set to `KMS` and an AWS managed key is used ( AWS KMS charges apply).\nIf disabled (false) or not specified, server-side encryption is set to AWS owned key.",
|
6879
|
+
"stability": "stable",
|
6880
|
+
"summary": "Indicates whether server-side encryption is done using an AWS managed key or an AWS owned key."
|
6522
6881
|
},
|
6523
6882
|
"immutable": true,
|
6524
6883
|
"locationInModule": {
|
6525
|
-
"filename": "src/
|
6526
|
-
"line":
|
6884
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
6885
|
+
"line": 53
|
6527
6886
|
},
|
6528
|
-
"name": "
|
6887
|
+
"name": "sseEnabled",
|
6529
6888
|
"type": {
|
6530
|
-
"primitive": "
|
6889
|
+
"primitive": "boolean"
|
6531
6890
|
}
|
6532
6891
|
},
|
6533
6892
|
{
|
6534
6893
|
"abstract": true,
|
6535
6894
|
"docs": {
|
6536
|
-
"remarks": "
|
6537
|
-
"stability": "
|
6538
|
-
"summary": "The
|
6895
|
+
"remarks": "To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide\nthis parameter if the key is different from the default DynamoDB key `alias/aws/dynamodb` .",
|
6896
|
+
"stability": "stable",
|
6897
|
+
"summary": "The AWS KMS key that should be used for the AWS KMS encryption."
|
6539
6898
|
},
|
6540
6899
|
"immutable": true,
|
6541
6900
|
"locationInModule": {
|
6542
|
-
"filename": "src/
|
6543
|
-
"line":
|
6901
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
6902
|
+
"line": 60
|
6544
6903
|
},
|
6545
|
-
"name": "
|
6546
|
-
"
|
6547
|
-
"primitive": "string"
|
6548
|
-
}
|
6549
|
-
},
|
6550
|
-
{
|
6551
|
-
"abstract": true,
|
6552
|
-
"docs": {
|
6553
|
-
"stability": "experimental",
|
6554
|
-
"summary": "The Secure Systems Manager parameter containing the password to use when connecting to the database."
|
6555
|
-
},
|
6556
|
-
"immutable": true,
|
6557
|
-
"locationInModule": {
|
6558
|
-
"filename": "src/types.ts",
|
6559
|
-
"line": 861
|
6560
|
-
},
|
6561
|
-
"name": "passwordSsmPath",
|
6904
|
+
"name": "kmsMasterKeyId",
|
6905
|
+
"optional": true,
|
6562
6906
|
"type": {
|
6563
6907
|
"primitive": "string"
|
6564
6908
|
}
|
@@ -6566,143 +6910,114 @@
|
|
6566
6910
|
{
|
6567
6911
|
"abstract": true,
|
6568
6912
|
"docs": {
|
6569
|
-
"
|
6570
|
-
"
|
6913
|
+
"remarks": "The only supported value is:\n`KMS` Server-side encryption that uses AWS Key Management Service.\n The key is stored in your account and is managed by AWS KMS ( AWS KMS charges apply).",
|
6914
|
+
"stability": "stable",
|
6915
|
+
"summary": "Server-side encryption type."
|
6571
6916
|
},
|
6572
6917
|
"immutable": true,
|
6573
6918
|
"locationInModule": {
|
6574
|
-
"filename": "src/
|
6575
|
-
"line":
|
6919
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
6920
|
+
"line": 67
|
6576
6921
|
},
|
6577
|
-
"name": "
|
6922
|
+
"name": "sseType",
|
6923
|
+
"optional": true,
|
6578
6924
|
"type": {
|
6579
|
-
"
|
6925
|
+
"fqn": "@aws-amplify/graphql-api-construct.SSEType"
|
6580
6926
|
}
|
6581
|
-
}
|
6927
|
+
}
|
6928
|
+
],
|
6929
|
+
"symbolId": "src/amplify-dynamodb-table-wrapper:SSESpecification"
|
6930
|
+
},
|
6931
|
+
"@aws-amplify/graphql-api-construct.SSEType": {
|
6932
|
+
"assembly": "@aws-amplify/graphql-api-construct",
|
6933
|
+
"docs": {
|
6934
|
+
"remarks": "The key is stored in your account and is managed by KMS (AWS KMS charges apply).",
|
6935
|
+
"stability": "stable",
|
6936
|
+
"summary": "Server Side Encryption Type Values - `KMS` - Server-side encryption that uses AWS KMS."
|
6937
|
+
},
|
6938
|
+
"fqn": "@aws-amplify/graphql-api-construct.SSEType",
|
6939
|
+
"kind": "enum",
|
6940
|
+
"locationInModule": {
|
6941
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
6942
|
+
"line": 40
|
6943
|
+
},
|
6944
|
+
"members": [
|
6582
6945
|
{
|
6583
|
-
"abstract": true,
|
6584
6946
|
"docs": {
|
6585
|
-
"stability": "
|
6586
|
-
"summary": "The Secure Systems Manager parameter containing the username to use when connecting to the database."
|
6587
|
-
},
|
6588
|
-
"immutable": true,
|
6589
|
-
"locationInModule": {
|
6590
|
-
"filename": "src/types.ts",
|
6591
|
-
"line": 858
|
6947
|
+
"stability": "stable"
|
6592
6948
|
},
|
6593
|
-
"name": "
|
6594
|
-
"type": {
|
6595
|
-
"primitive": "string"
|
6596
|
-
}
|
6949
|
+
"name": "KMS"
|
6597
6950
|
}
|
6598
6951
|
],
|
6599
|
-
"
|
6952
|
+
"name": "SSEType",
|
6953
|
+
"symbolId": "src/amplify-dynamodb-table-wrapper:SSEType"
|
6600
6954
|
},
|
6601
|
-
"@aws-amplify/graphql-api-construct.
|
6955
|
+
"@aws-amplify/graphql-api-construct.StreamSpecification": {
|
6602
6956
|
"assembly": "@aws-amplify/graphql-api-construct",
|
6603
6957
|
"datatype": true,
|
6604
6958
|
"docs": {
|
6605
|
-
"
|
6606
|
-
"
|
6607
|
-
"summary": "Configuration of the VPC in which to install a Lambda to resolve queries against a SQL-based data source."
|
6959
|
+
"stability": "stable",
|
6960
|
+
"summary": "Represents the DynamoDB Streams configuration for a table in DynamoDB."
|
6608
6961
|
},
|
6609
|
-
"fqn": "@aws-amplify/graphql-api-construct.
|
6962
|
+
"fqn": "@aws-amplify/graphql-api-construct.StreamSpecification",
|
6610
6963
|
"kind": "interface",
|
6611
6964
|
"locationInModule": {
|
6612
|
-
"filename": "src/
|
6613
|
-
"line":
|
6965
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
6966
|
+
"line": 73
|
6614
6967
|
},
|
6615
|
-
"name": "
|
6968
|
+
"name": "StreamSpecification",
|
6616
6969
|
"properties": [
|
6617
6970
|
{
|
6618
6971
|
"abstract": true,
|
6619
6972
|
"docs": {
|
6620
|
-
"
|
6621
|
-
"
|
6622
|
-
|
6623
|
-
"immutable": true,
|
6624
|
-
"locationInModule": {
|
6625
|
-
"filename": "src/types.ts",
|
6626
|
-
"line": 822
|
6627
|
-
},
|
6628
|
-
"name": "securityGroupIds",
|
6629
|
-
"type": {
|
6630
|
-
"collection": {
|
6631
|
-
"elementtype": {
|
6632
|
-
"primitive": "string"
|
6633
|
-
},
|
6634
|
-
"kind": "array"
|
6635
|
-
}
|
6636
|
-
}
|
6637
|
-
},
|
6638
|
-
{
|
6639
|
-
"abstract": true,
|
6640
|
-
"docs": {
|
6641
|
-
"stability": "experimental",
|
6642
|
-
"summary": "The subnets to install the Lambda data source in, one per availability zone."
|
6643
|
-
},
|
6644
|
-
"immutable": true,
|
6645
|
-
"locationInModule": {
|
6646
|
-
"filename": "src/types.ts",
|
6647
|
-
"line": 825
|
6648
|
-
},
|
6649
|
-
"name": "subnetAvailabilityZones",
|
6650
|
-
"type": {
|
6651
|
-
"collection": {
|
6652
|
-
"elementtype": {
|
6653
|
-
"fqn": "@aws-amplify/graphql-api-construct.SubnetAvailabilityZone"
|
6654
|
-
},
|
6655
|
-
"kind": "array"
|
6656
|
-
}
|
6657
|
-
}
|
6658
|
-
},
|
6659
|
-
{
|
6660
|
-
"abstract": true,
|
6661
|
-
"docs": {
|
6662
|
-
"stability": "experimental",
|
6663
|
-
"summary": "The VPC to install the Lambda data source in."
|
6973
|
+
"remarks": "Valid values for `StreamViewType` are:\n- `KEYS_ONLY` - Only the key attributes of the modified item are written to the stream.\n- `NEW_IMAGE` - The entire item, as it appears after it was modified, is written to the stream.\n- `OLD_IMAGE` - The entire item, as it appeared before it was modified, is written to the stream.\n- `NEW_AND_OLD_IMAGES` - Both the new and the old item images of the item are written to the stream.",
|
6974
|
+
"stability": "stable",
|
6975
|
+
"summary": "When an item in the table is modified, `StreamViewType` determines what information is written to the stream for this table."
|
6664
6976
|
},
|
6665
6977
|
"immutable": true,
|
6666
6978
|
"locationInModule": {
|
6667
|
-
"filename": "src/
|
6668
|
-
"line":
|
6979
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
6980
|
+
"line": 82
|
6669
6981
|
},
|
6670
|
-
"name": "
|
6982
|
+
"name": "streamViewType",
|
6671
6983
|
"type": {
|
6672
|
-
"
|
6984
|
+
"fqn": "aws-cdk-lib.aws_dynamodb.StreamViewType"
|
6673
6985
|
}
|
6674
6986
|
}
|
6675
6987
|
],
|
6676
|
-
"symbolId": "src/
|
6988
|
+
"symbolId": "src/amplify-dynamodb-table-wrapper:StreamSpecification"
|
6677
6989
|
},
|
6678
|
-
"@aws-amplify/graphql-api-construct.
|
6990
|
+
"@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot": {
|
6679
6991
|
"assembly": "@aws-amplify/graphql-api-construct",
|
6680
6992
|
"datatype": true,
|
6681
6993
|
"docs": {
|
6682
|
-
"
|
6683
|
-
"
|
6684
|
-
"summary": "Subnet configuration for VPC endpoints used by a Lambda resolver for a SQL-based data source."
|
6994
|
+
"stability": "stable",
|
6995
|
+
"summary": "Slot types for Subscription Resolvers."
|
6685
6996
|
},
|
6686
|
-
"fqn": "@aws-amplify/graphql-api-construct.
|
6997
|
+
"fqn": "@aws-amplify/graphql-api-construct.SubscriptionFunctionSlot",
|
6998
|
+
"interfaces": [
|
6999
|
+
"@aws-amplify/graphql-api-construct.FunctionSlotBase"
|
7000
|
+
],
|
6687
7001
|
"kind": "interface",
|
6688
7002
|
"locationInModule": {
|
6689
7003
|
"filename": "src/types.ts",
|
6690
|
-
"line":
|
7004
|
+
"line": 321
|
6691
7005
|
},
|
6692
|
-
"name": "
|
7006
|
+
"name": "SubscriptionFunctionSlot",
|
6693
7007
|
"properties": [
|
6694
7008
|
{
|
6695
7009
|
"abstract": true,
|
6696
7010
|
"docs": {
|
6697
|
-
"
|
6698
|
-
"
|
7011
|
+
"remarks": "For more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers",
|
7012
|
+
"stability": "stable",
|
7013
|
+
"summary": "The slot name to inject this behavior into."
|
6699
7014
|
},
|
6700
7015
|
"immutable": true,
|
6701
7016
|
"locationInModule": {
|
6702
7017
|
"filename": "src/types.ts",
|
6703
|
-
"line":
|
7018
|
+
"line": 331
|
6704
7019
|
},
|
6705
|
-
"name": "
|
7020
|
+
"name": "slotName",
|
6706
7021
|
"type": {
|
6707
7022
|
"primitive": "string"
|
6708
7023
|
}
|
@@ -6710,75 +7025,72 @@
|
|
6710
7025
|
{
|
6711
7026
|
"abstract": true,
|
6712
7027
|
"docs": {
|
6713
|
-
"stability": "
|
6714
|
-
"summary": "
|
7028
|
+
"stability": "stable",
|
7029
|
+
"summary": "This slot type applies to the Subscription type on the Api definition."
|
6715
7030
|
},
|
6716
7031
|
"immutable": true,
|
6717
7032
|
"locationInModule": {
|
6718
7033
|
"filename": "src/types.ts",
|
6719
|
-
"line":
|
7034
|
+
"line": 325
|
6720
7035
|
},
|
6721
|
-
"name": "
|
7036
|
+
"name": "typeName",
|
6722
7037
|
"type": {
|
6723
7038
|
"primitive": "string"
|
6724
7039
|
}
|
6725
7040
|
}
|
6726
7041
|
],
|
6727
|
-
"symbolId": "src/types:
|
7042
|
+
"symbolId": "src/types:SubscriptionFunctionSlot"
|
6728
7043
|
},
|
6729
|
-
"@aws-amplify/graphql-api-construct.
|
7044
|
+
"@aws-amplify/graphql-api-construct.TimeToLiveSpecification": {
|
6730
7045
|
"assembly": "@aws-amplify/graphql-api-construct",
|
6731
7046
|
"datatype": true,
|
6732
7047
|
"docs": {
|
6733
7048
|
"stability": "stable",
|
6734
|
-
"summary": "
|
7049
|
+
"summary": "Shape for TTL config."
|
6735
7050
|
},
|
6736
|
-
"fqn": "@aws-amplify/graphql-api-construct.
|
6737
|
-
"interfaces": [
|
6738
|
-
"@aws-amplify/graphql-api-construct.FunctionSlotBase"
|
6739
|
-
],
|
7051
|
+
"fqn": "@aws-amplify/graphql-api-construct.TimeToLiveSpecification",
|
6740
7052
|
"kind": "interface",
|
6741
7053
|
"locationInModule": {
|
6742
|
-
"filename": "src/
|
6743
|
-
"line":
|
7054
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
7055
|
+
"line": 9
|
6744
7056
|
},
|
6745
|
-
"name": "
|
7057
|
+
"name": "TimeToLiveSpecification",
|
6746
7058
|
"properties": [
|
6747
7059
|
{
|
6748
7060
|
"abstract": true,
|
6749
7061
|
"docs": {
|
6750
|
-
"remarks": "For more information on slotting, refer to https://docs.amplify.aws/cli/graphql/custom-business-logic/#extend-amplify-generated-resolvers",
|
6751
7062
|
"stability": "stable",
|
6752
|
-
"summary": "
|
7063
|
+
"summary": "Boolean determining if the ttl is enabled or not."
|
6753
7064
|
},
|
6754
7065
|
"immutable": true,
|
6755
7066
|
"locationInModule": {
|
6756
|
-
"filename": "src/
|
6757
|
-
"line":
|
7067
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
7068
|
+
"line": 13
|
6758
7069
|
},
|
6759
|
-
"name": "
|
7070
|
+
"name": "enabled",
|
6760
7071
|
"type": {
|
6761
|
-
"primitive": "
|
7072
|
+
"primitive": "boolean"
|
6762
7073
|
}
|
6763
7074
|
},
|
6764
7075
|
{
|
6765
7076
|
"abstract": true,
|
6766
7077
|
"docs": {
|
6767
7078
|
"stability": "stable",
|
6768
|
-
"summary": "
|
7079
|
+
"summary": "Attribute name to apply to the ttl spec."
|
6769
7080
|
},
|
6770
7081
|
"immutable": true,
|
6771
7082
|
"locationInModule": {
|
6772
|
-
"filename": "src/
|
6773
|
-
"line":
|
7083
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
7084
|
+
"line": 18
|
6774
7085
|
},
|
6775
|
-
"name": "
|
7086
|
+
"name": "attributeName",
|
7087
|
+
"optional": true,
|
6776
7088
|
"type": {
|
6777
7089
|
"primitive": "string"
|
6778
7090
|
}
|
6779
7091
|
}
|
6780
7092
|
],
|
6781
|
-
"symbolId": "src/
|
7093
|
+
"symbolId": "src/amplify-dynamodb-table-wrapper:TimeToLiveSpecification"
|
6782
7094
|
},
|
6783
7095
|
"@aws-amplify/graphql-api-construct.TranslationBehavior": {
|
6784
7096
|
"assembly": "@aws-amplify/graphql-api-construct",
|
@@ -6792,7 +7104,7 @@
|
|
6792
7104
|
"kind": "interface",
|
6793
7105
|
"locationInModule": {
|
6794
7106
|
"filename": "src/types.ts",
|
6795
|
-
"line":
|
7107
|
+
"line": 345
|
6796
7108
|
},
|
6797
7109
|
"name": "TranslationBehavior",
|
6798
7110
|
"properties": [
|
@@ -6806,7 +7118,7 @@
|
|
6806
7118
|
"immutable": true,
|
6807
7119
|
"locationInModule": {
|
6808
7120
|
"filename": "src/types.ts",
|
6809
|
-
"line":
|
7121
|
+
"line": 357
|
6810
7122
|
},
|
6811
7123
|
"name": "disableResolverDeduping",
|
6812
7124
|
"type": {
|
@@ -6827,7 +7139,7 @@
|
|
6827
7139
|
"immutable": true,
|
6828
7140
|
"locationInModule": {
|
6829
7141
|
"filename": "src/types.ts",
|
6830
|
-
"line":
|
7142
|
+
"line": 396
|
6831
7143
|
},
|
6832
7144
|
"name": "enableAutoIndexQueryNames",
|
6833
7145
|
"type": {
|
@@ -6837,15 +7149,12 @@
|
|
6837
7149
|
{
|
6838
7150
|
"abstract": true,
|
6839
7151
|
"docs": {
|
6840
|
-
"
|
6841
|
-
"remarks": "Not recommended for use, prefer\nto use `Object.values(resources.additionalResources['AWS::Elasticsearch::Domain']).forEach((domain: CfnDomain) => {\n domain.NodeToNodeEncryptionOptions = { Enabled: True };\n});",
|
6842
|
-
"stability": "stable",
|
6843
|
-
"summary": "If enabled, set nodeToNodeEncryption on the searchable domain (if one exists)."
|
7152
|
+
"stability": "stable"
|
6844
7153
|
},
|
6845
7154
|
"immutable": true,
|
6846
7155
|
"locationInModule": {
|
6847
7156
|
"filename": "src/types.ts",
|
6848
|
-
"line":
|
7157
|
+
"line": 404
|
6849
7158
|
},
|
6850
7159
|
"name": "enableSearchNodeToNodeEncryption",
|
6851
7160
|
"type": {
|
@@ -6862,7 +7171,7 @@
|
|
6862
7171
|
"immutable": true,
|
6863
7172
|
"locationInModule": {
|
6864
7173
|
"filename": "src/types.ts",
|
6865
|
-
"line":
|
7174
|
+
"line": 410
|
6866
7175
|
},
|
6867
7176
|
"name": "enableTransformerCfnOutputs",
|
6868
7177
|
"type": {
|
@@ -6879,7 +7188,7 @@
|
|
6879
7188
|
"immutable": true,
|
6880
7189
|
"locationInModule": {
|
6881
7190
|
"filename": "src/types.ts",
|
6882
|
-
"line":
|
7191
|
+
"line": 376
|
6883
7192
|
},
|
6884
7193
|
"name": "populateOwnerFieldForStaticGroupAuth",
|
6885
7194
|
"type": {
|
@@ -6896,7 +7205,7 @@
|
|
6896
7205
|
"immutable": true,
|
6897
7206
|
"locationInModule": {
|
6898
7207
|
"filename": "src/types.ts",
|
6899
|
-
"line":
|
7208
|
+
"line": 402
|
6900
7209
|
},
|
6901
7210
|
"name": "respectPrimaryKeyAttributesOnConnectionField",
|
6902
7211
|
"type": {
|
@@ -6913,7 +7222,7 @@
|
|
6913
7222
|
"immutable": true,
|
6914
7223
|
"locationInModule": {
|
6915
7224
|
"filename": "src/types.ts",
|
6916
|
-
"line":
|
7225
|
+
"line": 363
|
6917
7226
|
},
|
6918
7227
|
"name": "sandboxModeEnabled",
|
6919
7228
|
"type": {
|
@@ -6933,7 +7242,7 @@
|
|
6933
7242
|
"immutable": true,
|
6934
7243
|
"locationInModule": {
|
6935
7244
|
"filename": "src/types.ts",
|
6936
|
-
"line":
|
7245
|
+
"line": 389
|
6937
7246
|
},
|
6938
7247
|
"name": "secondaryKeyAsGSI",
|
6939
7248
|
"type": {
|
@@ -6953,7 +7262,7 @@
|
|
6953
7262
|
"immutable": true,
|
6954
7263
|
"locationInModule": {
|
6955
7264
|
"filename": "src/types.ts",
|
6956
|
-
"line":
|
7265
|
+
"line": 350
|
6957
7266
|
},
|
6958
7267
|
"name": "shouldDeepMergeDirectiveConfigDefaults",
|
6959
7268
|
"type": {
|
@@ -6971,7 +7280,7 @@
|
|
6971
7280
|
"immutable": true,
|
6972
7281
|
"locationInModule": {
|
6973
7282
|
"filename": "src/types.ts",
|
6974
|
-
"line":
|
7283
|
+
"line": 383
|
6975
7284
|
},
|
6976
7285
|
"name": "suppressApiKeyGeneration",
|
6977
7286
|
"type": {
|
@@ -6988,7 +7297,7 @@
|
|
6988
7297
|
"immutable": true,
|
6989
7298
|
"locationInModule": {
|
6990
7299
|
"filename": "src/types.ts",
|
6991
|
-
"line":
|
7300
|
+
"line": 370
|
6992
7301
|
},
|
6993
7302
|
"name": "useSubUsernameForDefaultIdentityClaim",
|
6994
7303
|
"type": {
|
@@ -7009,7 +7318,7 @@
|
|
7009
7318
|
"kind": "interface",
|
7010
7319
|
"locationInModule": {
|
7011
7320
|
"filename": "src/types.ts",
|
7012
|
-
"line":
|
7321
|
+
"line": 54
|
7013
7322
|
},
|
7014
7323
|
"name": "UserPoolAuthorizationConfig",
|
7015
7324
|
"properties": [
|
@@ -7022,7 +7331,7 @@
|
|
7022
7331
|
"immutable": true,
|
7023
7332
|
"locationInModule": {
|
7024
7333
|
"filename": "src/types.ts",
|
7025
|
-
"line":
|
7334
|
+
"line": 58
|
7026
7335
|
},
|
7027
7336
|
"name": "userPool",
|
7028
7337
|
"type": {
|
@@ -7033,6 +7342,6 @@
|
|
7033
7342
|
"symbolId": "src/types:UserPoolAuthorizationConfig"
|
7034
7343
|
}
|
7035
7344
|
},
|
7036
|
-
"version": "1.
|
7037
|
-
"fingerprint": "
|
7345
|
+
"version": "1.4.0-construct-publish-test.0",
|
7346
|
+
"fingerprint": "f+WLTLO9TSIAngCUB2GRL8PnHlX1EOMfBODOZLVe49U="
|
7038
7347
|
}
|