@aws-amplify/graphql-api-construct 1.6.0-secrets-manager.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.jsii +298 -348
- package/API.md +14 -18
- package/CHANGELOG.md +11 -2
- package/README.md +17 -75
- package/lib/amplify-dynamodb-table-wrapper.d.ts +6 -1
- package/lib/amplify-dynamodb-table-wrapper.js +9 -2
- package/lib/amplify-graphql-api.d.ts +2 -2
- package/lib/amplify-graphql-api.js +10 -7
- package/lib/amplify-graphql-definition.js +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/internal/construct-exports.js +13 -3
- package/lib/internal/data-source-config.js +4 -37
- package/lib/model-datasource-strategy-types.d.ts +1 -25
- package/lib/model-datasource-strategy-types.js +1 -1
- package/lib/sql-model-datasource-strategy.d.ts +1 -13
- package/lib/sql-model-datasource-strategy.js +4 -26
- package/lib/types.d.ts +17 -5
- package/lib/types.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +13 -1
- 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 +34 -1
- 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/utils/validations.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js +0 -3
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/utils/validations.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js +3 -2
- package/node_modules/@aws-amplify/graphql-auth-transformer/lib/vtl-generator/rds/resolvers/query.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +20 -14
- package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +11 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +15 -9
- package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-function-transformer/package.json +14 -9
- package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-http-transformer/package.json +14 -9
- package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +9 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/package.json +15 -9
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +9 -1
- 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/package.json +16 -14
- package/node_modules/@aws-amplify/graphql-model-transformer/API.md +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +12 -3
- 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 +12 -9
- 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/common.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/common.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/graphql-types/mutation.d.ts +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 +9 -1
- 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/rds/resolver.d.ts +1 -5
- 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 +26 -71
- 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.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +1 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -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 +7 -21
- 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 +17 -11
- 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 +14 -9
- package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +11 -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 +13 -3
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/schema.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +17 -11
- package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +11 -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 +15 -9
- package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +9 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +16 -10
- package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +9 -3
- package/node_modules/@aws-amplify/graphql-transformer/package.json +23 -17
- package/node_modules/@aws-amplify/graphql-transformer-core/API.md +12 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +7 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +1 -1
- 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 +6 -2
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/output.d.ts +2 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/output.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/output.js +14 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/output.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/index.d.ts +1 -1
- 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 -1
- 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/model-util.d.ts +4 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js +18 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-util.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/package.json +14 -9
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +5 -27
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +2 -2
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.d.ts +1 -12
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.js +0 -22
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/model-datasource/types.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-output-provider.d.ts +2 -0
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transformer-context-output-provider.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +8 -3
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/model-datasource/types.ts +1 -76
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-output-provider.ts +4 -0
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
- package/node_modules/graphql-mapping-template/CHANGELOG.md +4 -0
- package/node_modules/graphql-mapping-template/package.json +10 -4
- package/node_modules/graphql-transformer-common/API.md +14 -0
- package/node_modules/graphql-transformer-common/CHANGELOG.md +10 -0
- package/node_modules/graphql-transformer-common/lib/TypescriptSchemaConstants.d.ts +13 -0
- package/node_modules/graphql-transformer-common/lib/TypescriptSchemaConstants.d.ts.map +1 -0
- package/node_modules/graphql-transformer-common/lib/TypescriptSchemaConstants.js +16 -0
- package/node_modules/graphql-transformer-common/lib/TypescriptSchemaConstants.js.map +1 -0
- package/node_modules/graphql-transformer-common/lib/index.d.ts +1 -0
- package/node_modules/graphql-transformer-common/lib/index.d.ts.map +1 -1
- package/node_modules/graphql-transformer-common/lib/index.js +1 -0
- package/node_modules/graphql-transformer-common/lib/index.js.map +1 -1
- package/node_modules/graphql-transformer-common/package.json +11 -5
- package/package.json +27 -21
- package/src/amplify-dynamodb-table-wrapper.ts +9 -1
- package/src/amplify-graphql-api.ts +15 -7
- package/src/index.ts +1 -0
- package/src/internal/construct-exports.ts +14 -4
- package/src/internal/data-source-config.ts +9 -42
- package/src/model-datasource-strategy-types.ts +1 -33
- package/src/sql-model-datasource-strategy.ts +1 -32
- package/src/types.ts +19 -6
- package/node_modules/@aws-amplify/graphql-function-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-http-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-predictions-transformer/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-transformer-core/LICENSE +0 -201
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/LICENSE +0 -201
package/.jsii
CHANGED
@@ -8,20 +8,20 @@
|
|
8
8
|
"bundled": {
|
9
9
|
"@aws-amplify/backend-output-schemas": "^0.4.0",
|
10
10
|
"@aws-amplify/backend-output-storage": "^0.2.2",
|
11
|
-
"@aws-amplify/graphql-auth-transformer": "3.
|
12
|
-
"@aws-amplify/graphql-default-value-transformer": "2.
|
13
|
-
"@aws-amplify/graphql-function-transformer": "2.1.
|
14
|
-
"@aws-amplify/graphql-http-transformer": "2.1.
|
15
|
-
"@aws-amplify/graphql-index-transformer": "2.3.
|
16
|
-
"@aws-amplify/graphql-maps-to-transformer": "3.4.
|
17
|
-
"@aws-amplify/graphql-model-transformer": "2.
|
18
|
-
"@aws-amplify/graphql-predictions-transformer": "2.1.
|
19
|
-
"@aws-amplify/graphql-relational-transformer": "2.
|
20
|
-
"@aws-amplify/graphql-searchable-transformer": "2.
|
21
|
-
"@aws-amplify/graphql-sql-transformer": "0.2.
|
22
|
-
"@aws-amplify/graphql-transformer": "1.
|
23
|
-
"@aws-amplify/graphql-transformer-core": "2.
|
24
|
-
"@aws-amplify/graphql-transformer-interfaces": "3.4.0
|
11
|
+
"@aws-amplify/graphql-auth-transformer": "3.4.1",
|
12
|
+
"@aws-amplify/graphql-default-value-transformer": "2.3.1",
|
13
|
+
"@aws-amplify/graphql-function-transformer": "2.1.18",
|
14
|
+
"@aws-amplify/graphql-http-transformer": "2.1.18",
|
15
|
+
"@aws-amplify/graphql-index-transformer": "2.3.7",
|
16
|
+
"@aws-amplify/graphql-maps-to-transformer": "3.4.8",
|
17
|
+
"@aws-amplify/graphql-model-transformer": "2.6.0",
|
18
|
+
"@aws-amplify/graphql-predictions-transformer": "2.1.18",
|
19
|
+
"@aws-amplify/graphql-relational-transformer": "2.4.1",
|
20
|
+
"@aws-amplify/graphql-searchable-transformer": "2.6.1",
|
21
|
+
"@aws-amplify/graphql-sql-transformer": "0.2.7",
|
22
|
+
"@aws-amplify/graphql-transformer": "1.3.12",
|
23
|
+
"@aws-amplify/graphql-transformer-core": "2.5.0",
|
24
|
+
"@aws-amplify/graphql-transformer-interfaces": "3.4.0",
|
25
25
|
"@aws-amplify/platform-core": "^0.2.0",
|
26
26
|
"@aws-amplify/plugin-types": "^0.4.1",
|
27
27
|
"charenc": "^0.0.2",
|
@@ -29,8 +29,8 @@
|
|
29
29
|
"fs-extra": "^8.1.0",
|
30
30
|
"graceful-fs": "^4.2.11",
|
31
31
|
"graphql": "^15.5.0",
|
32
|
-
"graphql-mapping-template": "4.20.
|
33
|
-
"graphql-transformer-common": "4.
|
32
|
+
"graphql-mapping-template": "4.20.15",
|
33
|
+
"graphql-transformer-common": "4.28.1",
|
34
34
|
"hjson": "^3.2.2",
|
35
35
|
"immer": "^9.0.12",
|
36
36
|
"is-buffer": "^2.0.5",
|
@@ -3511,7 +3511,7 @@
|
|
3511
3511
|
},
|
3512
3512
|
"name": "@aws-amplify/graphql-api-construct",
|
3513
3513
|
"readme": {
|
3514
|
-
"markdown": "# Amplify Graphql API Construct\n\n[![View on Construct Hub](https://constructs.dev/badge?package=%40aws-amplify%2Fgraphql-api-construct)](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 files, 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### AmplifyDynamoDbModelDataSourceStrategy <a name=\"AmplifyDynamoDbModelDataSourceStrategy\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy\"></a>\n\nUse custom resource type 'Custom::AmplifyDynamoDBTable' to provision table.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy.Initializer\"></a>\n\n```typescript\nimport { AmplifyDynamoDbModelDataSourceStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst amplifyDynamoDbModelDataSourceStrategy: AmplifyDynamoDbModelDataSourceStrategy = { ... }\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.AmplifyDynamoDbModelDataSourceStrategy.property.dbType\">dbType</a></code> | <code>string</code> | *No description.* |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy.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.AmplifyDynamoDbModelDataSourceStrategy.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.AmplifyDynamoDbModelDataSourceStrategy.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### CustomSqlDataSourceStrategy <a name=\"CustomSqlDataSourceStrategy\" id=\"@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy\"></a>\n\nThe input type for defining a ModelDataSourceStrategy used to resolve a field annotated with a `@sql` directive.\n\nAlthough this is a\npublic type, you should rarely need to use this. The AmplifyGraphqlDefinition factory methods (e.g., `fromString`,\n`fromFilesAndStrategy`) will automatically construct this structure for you.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy.Initializer\"></a>\n\n```typescript\nimport { CustomSqlDataSourceStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst customSqlDataSourceStrategy: CustomSqlDataSourceStrategy = { ... }\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.CustomSqlDataSourceStrategy.property.fieldName\">fieldName</a></code> | <code>string</code> | The field name with which the custom SQL is associated. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy.property.strategy\">strategy</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a></code> | The strategy used to create the datasource that will resolve the custom SQL statement. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy.property.typeName\">typeName</a></code> | <code>string</code> | The built-in type (either \"Query\" or \"Mutation\") with which the custom SQL is associated. |\n\n---\n\n##### `fieldName`<sup>Required</sup> <a name=\"fieldName\" id=\"@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy.property.fieldName\"></a>\n\n```typescript\npublic readonly fieldName: string;\n```\n\n- *Type:* string\n\nThe field name with which the custom SQL is associated.\n\n---\n\n##### `strategy`<sup>Required</sup> <a name=\"strategy\" id=\"@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy.property.strategy\"></a>\n\n```typescript\npublic readonly strategy: SQLLambdaModelDataSourceStrategy;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a>\n\nThe strategy used to create the datasource that will resolve the custom SQL statement.\n\n---\n\n##### `typeName`<sup>Required</sup> <a name=\"typeName\" id=\"@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy.property.typeName\"></a>\n\n```typescript\npublic readonly typeName: string;\n```\n\n- *Type:* string\n\nThe built-in type (either \"Query\" or \"Mutation\") with which the custom SQL is associated.\n\n---\n\n### DefaultDynamoDbModelDataSourceStrategy <a name=\"DefaultDynamoDbModelDataSourceStrategy\" id=\"@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy\"></a>\n\nUse default CloudFormation type 'AWS::DynamoDB::Table' to provision table.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy.Initializer\"></a>\n\n```typescript\nimport { DefaultDynamoDbModelDataSourceStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst defaultDynamoDbModelDataSourceStrategy: DefaultDynamoDbModelDataSourceStrategy = { ... }\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.DefaultDynamoDbModelDataSourceStrategy.property.dbType\">dbType</a></code> | <code>string</code> | *No description.* |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy.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.DefaultDynamoDbModelDataSourceStrategy.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.DefaultDynamoDbModelDataSourceStrategy.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### 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.allowDestructiveGraphqlSchemaUpdates\">allowDestructiveGraphqlSchemaUpdates</a></code> | <code>boolean</code> | The following schema updates require replacement of the underlying DynamoDB table:. |\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.replaceTableUponGsiUpdate\">replaceTableUponGsiUpdate</a></code> | <code>boolean</code> | This behavior will only come into effect when both \"allowDestructiveGraphqlSchemaUpdates\" and this value are set to true. |\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##### `allowDestructiveGraphqlSchemaUpdates`<sup>Optional</sup> <a name=\"allowDestructiveGraphqlSchemaUpdates\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.allowDestructiveGraphqlSchemaUpdates\"></a>\n\n```typescript\npublic readonly allowDestructiveGraphqlSchemaUpdates: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nThe following schema updates require replacement of the underlying DynamoDB table:.\n\nRemoving or renaming a model\n - Modifying the primary key of a model\n - Modifying a Local Secondary Index of a model (only applies to projects with secondaryKeyAsGSI turned off)\n\nALL DATA WILL BE LOST when the table replacement happens. When enabled, destructive updates are allowed.\nThis will only affect DynamoDB tables with provision strategy \"AMPLIFY_TABLE\".\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##### `replaceTableUponGsiUpdate`<sup>Optional</sup> <a name=\"replaceTableUponGsiUpdate\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.replaceTableUponGsiUpdate\"></a>\n\n```typescript\npublic readonly replaceTableUponGsiUpdate: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nThis behavior will only come into effect when both \"allowDestructiveGraphqlSchemaUpdates\" and this value are set to true.\n\nWhen enabled, any global secondary index update operation will replace the table instead of iterative deployment, which will WIPE ALL\nEXISTING DATA but cost much less time for deployment This will only affect DynamoDB tables with provision strategy \"AMPLIFY_TABLE\".\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### ProvisionedConcurrencyConfig <a name=\"ProvisionedConcurrencyConfig\" id=\"@aws-amplify/graphql-api-construct.ProvisionedConcurrencyConfig\"></a>\n\nThe configuration for the provisioned concurrency of the Lambda.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.ProvisionedConcurrencyConfig.Initializer\"></a>\n\n```typescript\nimport { ProvisionedConcurrencyConfig } from '@aws-amplify/graphql-api-construct'\n\nconst provisionedConcurrencyConfig: ProvisionedConcurrencyConfig = { ... }\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.ProvisionedConcurrencyConfig.property.provisionedConcurrentExecutions\">provisionedConcurrentExecutions</a></code> | <code>number</code> | The amount of provisioned concurrency to allocate. |\n\n---\n\n##### `provisionedConcurrentExecutions`<sup>Required</sup> <a name=\"provisionedConcurrentExecutions\" id=\"@aws-amplify/graphql-api-construct.ProvisionedConcurrencyConfig.property.provisionedConcurrentExecutions\"></a>\n\n```typescript\npublic readonly provisionedConcurrentExecutions: number;\n```\n\n- *Type:* number\n\nThe amount of provisioned concurrency to allocate.\n\n*\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### SQLLambdaModelDataSourceStrategy <a name=\"SQLLambdaModelDataSourceStrategy\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\"></a>\n\nA strategy that creates a Lambda to connect to a pre-existing SQL table to resolve model data.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.Initializer\"></a>\n\n```typescript\nimport { SQLLambdaModelDataSourceStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst sQLLambdaModelDataSourceStrategy: SQLLambdaModelDataSourceStrategy = { ... }\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.SQLLambdaModelDataSourceStrategy.property.dbConnectionConfig\">dbConnectionConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceSecretsManagerDbConnectionConfig\">SqlModelDataSourceSecretsManagerDbConnectionConfig</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig\">SqlModelDataSourceSsmDbConnectionConfig</a></code> | The parameters the Lambda data source will use to connect to the database. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.dbType\">dbType</a></code> | <code>string</code> | The type of the SQL database used to process model operations for this definition. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.name\">name</a></code> | <code>string</code> | The name of the strategy. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.customSqlStatements\">customSqlStatements</a></code> | <code>{[ key: string ]: string}</code> | Custom SQL statements. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.sqlLambdaProvisionedConcurrencyConfig\">sqlLambdaProvisionedConcurrencyConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.ProvisionedConcurrencyConfig\">ProvisionedConcurrencyConfig</a></code> | The configuration for the provisioned concurrency of the Lambda. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.vpcConfiguration\">vpcConfiguration</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.VpcConfig\">VpcConfig</a></code> | The configuration of the VPC into which to install the Lambda. |\n\n---\n\n##### `dbConnectionConfig`<sup>Required</sup> <a name=\"dbConnectionConfig\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.dbConnectionConfig\"></a>\n\n```typescript\npublic readonly dbConnectionConfig: SqlModelDataSourceSecretsManagerDbConnectionConfig | SqlModelDataSourceSsmDbConnectionConfig;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceSecretsManagerDbConnectionConfig\">SqlModelDataSourceSecretsManagerDbConnectionConfig</a> | <a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig\">SqlModelDataSourceSsmDbConnectionConfig</a>\n\nThe parameters the Lambda data source will use to connect to the database.\n\n---\n\n##### `dbType`<sup>Required</sup> <a name=\"dbType\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.dbType\"></a>\n\n```typescript\npublic readonly dbType: string;\n```\n\n- *Type:* string\n\nThe type of the SQL database used to process model operations for this definition.\n\n---\n\n##### `name`<sup>Required</sup> <a name=\"name\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.name\"></a>\n\n```typescript\npublic readonly name: string;\n```\n\n- *Type:* string\n\nThe name of the strategy.\n\nThis will be used to name the AppSync DataSource itself, plus any associated resources like resolver Lambdas.\nThis name must be unique across all schema definitions in a GraphQL API.\n\n---\n\n##### `customSqlStatements`<sup>Optional</sup> <a name=\"customSqlStatements\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.customSqlStatements\"></a>\n\n```typescript\npublic readonly customSqlStatements: {[ key: string ]: string};\n```\n\n- *Type:* {[ key: string ]: string}\n\nCustom SQL statements.\n\nThe key is the value of the `references` attribute of the `@sql` directive in the `schema`; the value is the SQL\nto be executed.\n\n---\n\n##### `sqlLambdaProvisionedConcurrencyConfig`<sup>Optional</sup> <a name=\"sqlLambdaProvisionedConcurrencyConfig\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.sqlLambdaProvisionedConcurrencyConfig\"></a>\n\n```typescript\npublic readonly sqlLambdaProvisionedConcurrencyConfig: ProvisionedConcurrencyConfig;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.ProvisionedConcurrencyConfig\">ProvisionedConcurrencyConfig</a>\n\nThe configuration for the provisioned concurrency of the Lambda.\n\n---\n\n##### `vpcConfiguration`<sup>Optional</sup> <a name=\"vpcConfiguration\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.vpcConfiguration\"></a>\n\n```typescript\npublic readonly vpcConfiguration: VpcConfig;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.VpcConfig\">VpcConfig</a>\n\nThe configuration of the VPC into which to install the Lambda.\n\n---\n\n### SqlModelDataSourceSecretsManagerDbConnectionConfig <a name=\"SqlModelDataSourceSecretsManagerDbConnectionConfig\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceSecretsManagerDbConnectionConfig\"></a>\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceSecretsManagerDbConnectionConfig.Initializer\"></a>\n\n```typescript\nimport { SqlModelDataSourceSecretsManagerDbConnectionConfig } from '@aws-amplify/graphql-api-construct'\n\nconst sqlModelDataSourceSecretsManagerDbConnectionConfig: SqlModelDataSourceSecretsManagerDbConnectionConfig = { ... }\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.SqlModelDataSourceSecretsManagerDbConnectionConfig.property.databaseName\">databaseName</a></code> | <code>string</code> | database name. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceSecretsManagerDbConnectionConfig.property.port\">port</a></code> | <code>number</code> | port number of the database proxy, cluster, or instance. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceSecretsManagerDbConnectionConfig.property.secretArn\">secretArn</a></code> | <code>string</code> | The arn of the managed secret with username, password, and hostname to use when connecting to the database. |\n\n---\n\n##### `databaseName`<sup>Required</sup> <a name=\"databaseName\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceSecretsManagerDbConnectionConfig.property.databaseName\"></a>\n\n```typescript\npublic readonly databaseName: string;\n```\n\n- *Type:* string\n\ndatabase name.\n\n---\n\n##### `port`<sup>Required</sup> <a name=\"port\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceSecretsManagerDbConnectionConfig.property.port\"></a>\n\n```typescript\npublic readonly port: number;\n```\n\n- *Type:* number\n\nport number of the database proxy, cluster, or instance.\n\n---\n\n##### `secretArn`<sup>Required</sup> <a name=\"secretArn\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceSecretsManagerDbConnectionConfig.property.secretArn\"></a>\n\n```typescript\npublic readonly secretArn: string;\n```\n\n- *Type:* string\n\nThe arn of the managed secret with username, password, and hostname to use when connecting to the database.\n\n*\n\n---\n\n### SqlModelDataSourceSsmDbConnectionConfig <a name=\"SqlModelDataSourceSsmDbConnectionConfig\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig\"></a>\n\nThe Secure Systems Manager parameter paths the Lambda data source will use to connect to the database.\n\nThese parameters are retrieved from Secure Systems Manager in the same region as the Lambda.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig.Initializer\"></a>\n\n```typescript\nimport { SqlModelDataSourceSsmDbConnectionConfig } from '@aws-amplify/graphql-api-construct'\n\nconst sqlModelDataSourceSsmDbConnectionConfig: SqlModelDataSourceSsmDbConnectionConfig = { ... }\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.SqlModelDataSourceSsmDbConnectionConfig.property.databaseNameSsmPath\">databaseNameSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the database name. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig.property.hostnameSsmPath\">hostnameSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the hostname of the database. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig.property.passwordSsmPath\">passwordSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the password to use when connecting to the database. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig.property.portSsmPath\">portSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the port number of the database proxy, cluster, or instance. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig.property.usernameSsmPath\">usernameSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the username to use when connecting to the database. |\n\n---\n\n##### `databaseNameSsmPath`<sup>Required</sup> <a name=\"databaseNameSsmPath\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig.property.databaseNameSsmPath\"></a>\n\n```typescript\npublic readonly databaseNameSsmPath: string;\n```\n\n- *Type:* string\n\nThe Secure Systems Manager parameter containing the database name.\n\n---\n\n##### `hostnameSsmPath`<sup>Required</sup> <a name=\"hostnameSsmPath\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig.property.hostnameSsmPath\"></a>\n\n```typescript\npublic readonly hostnameSsmPath: string;\n```\n\n- *Type:* string\n\nThe Secure Systems Manager parameter containing the hostname of the database.\n\nFor RDS-based SQL data sources, this can be the hostname\nof a database proxy, cluster, or instance.\n\n---\n\n##### `passwordSsmPath`<sup>Required</sup> <a name=\"passwordSsmPath\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig.property.passwordSsmPath\"></a>\n\n```typescript\npublic readonly passwordSsmPath: string;\n```\n\n- *Type:* string\n\nThe Secure Systems Manager parameter containing the password to use when connecting to the database.\n\n---\n\n##### `portSsmPath`<sup>Required</sup> <a name=\"portSsmPath\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig.property.portSsmPath\"></a>\n\n```typescript\npublic readonly portSsmPath: string;\n```\n\n- *Type:* string\n\nThe Secure Systems Manager parameter containing the port number of the database proxy, cluster, or instance.\n\n---\n\n##### `usernameSsmPath`<sup>Required</sup> <a name=\"usernameSsmPath\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig.property.usernameSsmPath\"></a>\n\n```typescript\npublic readonly usernameSsmPath: string;\n```\n\n- *Type:* string\n\nThe Secure Systems Manager parameter containing the username to use when connecting to the database.\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### SubnetAvailabilityZone <a name=\"SubnetAvailabilityZone\" id=\"@aws-amplify/graphql-api-construct.SubnetAvailabilityZone\"></a>\n\nSubnet configuration for VPC endpoints used by a Lambda resolver for a SQL-based data source.\n\nAlthough it is possible to create multiple\nsubnets in a single availability zone, VPC service endpoints may only be deployed to a single subnet in a given availability zone. This\nstructure ensures that the Lambda function and VPC service endpoints are mutually consistent.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.Initializer\"></a>\n\n```typescript\nimport { SubnetAvailabilityZone } from '@aws-amplify/graphql-api-construct'\n\nconst subnetAvailabilityZone: SubnetAvailabilityZone = { ... }\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.SubnetAvailabilityZone.property.availabilityZone\">availabilityZone</a></code> | <code>string</code> | The availability zone of the subnet. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.property.subnetId\">subnetId</a></code> | <code>string</code> | The subnet ID to install the Lambda data source in. |\n\n---\n\n##### `availabilityZone`<sup>Required</sup> <a name=\"availabilityZone\" id=\"@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.property.availabilityZone\"></a>\n\n```typescript\npublic readonly availabilityZone: string;\n```\n\n- *Type:* string\n\nThe availability zone of the subnet.\n\n---\n\n##### `subnetId`<sup>Required</sup> <a name=\"subnetId\" id=\"@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.property.subnetId\"></a>\n\n```typescript\npublic readonly subnetId: string;\n```\n\n- *Type:* string\n\nThe subnet ID to install the Lambda data source in.\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.allowDestructiveGraphqlSchemaUpdates\">allowDestructiveGraphqlSchemaUpdates</a></code> | <code>boolean</code> | The following schema updates require replacement of the underlying DynamoDB table:. |\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.replaceTableUponGsiUpdate\">replaceTableUponGsiUpdate</a></code> | <code>boolean</code> | This behavior will only come into effect when both \"allowDestructiveGraphqlSchemaUpdates\" and this value are set to true. |\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##### `allowDestructiveGraphqlSchemaUpdates`<sup>Required</sup> <a name=\"allowDestructiveGraphqlSchemaUpdates\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.allowDestructiveGraphqlSchemaUpdates\"></a>\n\n```typescript\npublic readonly allowDestructiveGraphqlSchemaUpdates: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nThe following schema updates require replacement of the underlying DynamoDB table:.\n\nRemoving or renaming a model\n - Modifying the primary key of a model\n - Modifying a Local Secondary Index of a model (only applies to projects with secondaryKeyAsGSI turned off)\n\nALL DATA WILL BE LOST when the table replacement happens. When enabled, destructive updates are allowed.\nThis will only affect DynamoDB tables with provision strategy \"AMPLIFY_TABLE\".\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##### `replaceTableUponGsiUpdate`<sup>Required</sup> <a name=\"replaceTableUponGsiUpdate\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.replaceTableUponGsiUpdate\"></a>\n\n```typescript\npublic readonly replaceTableUponGsiUpdate: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nThis behavior will only come into effect when both \"allowDestructiveGraphqlSchemaUpdates\" and this value are set to true.\n\nWhen enabled, any GSI update operation will replace the table instead of iterative deployment, which will WIPE ALL EXISTING DATA but\ncost much less time for deployment This will only affect DynamoDB tables with provision strategy \"AMPLIFY_TABLE\".\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### VpcConfig <a name=\"VpcConfig\" id=\"@aws-amplify/graphql-api-construct.VpcConfig\"></a>\n\nConfiguration of the VPC in which to install a Lambda to resolve queries against a SQL-based data source.\n\nThe SQL Lambda will be deployed\ninto the specified VPC, subnets, and security groups. The specified subnets and security groups must be in the same VPC. The VPC must\nhave at least one subnet. The construct will also create VPC service endpoints in the specified subnets, as well as inbound security\nrules, to allow traffic on port 443 within each security group. This allows the Lambda to read database connection information from\nSecure Systems Manager.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.VpcConfig.Initializer\"></a>\n\n```typescript\nimport { VpcConfig } from '@aws-amplify/graphql-api-construct'\n\nconst vpcConfig: VpcConfig = { ... }\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.VpcConfig.property.securityGroupIds\">securityGroupIds</a></code> | <code>string[]</code> | The security groups to install the Lambda data source in. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.VpcConfig.property.subnetAvailabilityZoneConfig\">subnetAvailabilityZoneConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.SubnetAvailabilityZone\">SubnetAvailabilityZone</a>[]</code> | The subnets to install the Lambda data source in, one per availability zone. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.VpcConfig.property.vpcId\">vpcId</a></code> | <code>string</code> | The VPC to install the Lambda data source in. |\n\n---\n\n##### `securityGroupIds`<sup>Required</sup> <a name=\"securityGroupIds\" id=\"@aws-amplify/graphql-api-construct.VpcConfig.property.securityGroupIds\"></a>\n\n```typescript\npublic readonly securityGroupIds: string[];\n```\n\n- *Type:* string[]\n\nThe security groups to install the Lambda data source in.\n\n---\n\n##### `subnetAvailabilityZoneConfig`<sup>Required</sup> <a name=\"subnetAvailabilityZoneConfig\" id=\"@aws-amplify/graphql-api-construct.VpcConfig.property.subnetAvailabilityZoneConfig\"></a>\n\n```typescript\npublic readonly subnetAvailabilityZoneConfig: SubnetAvailabilityZone[];\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.SubnetAvailabilityZone\">SubnetAvailabilityZone</a>[]\n\nThe subnets to install the Lambda data source in, one per availability zone.\n\n---\n\n##### `vpcId`<sup>Required</sup> <a name=\"vpcId\" id=\"@aws-amplify/graphql-api-construct.VpcConfig.property.vpcId\"></a>\n\n```typescript\npublic readonly vpcId: string;\n```\n\n- *Type:* string\n\nThe VPC to install the Lambda data source in.\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, binding them to a DynamoDB data source. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndStrategy\">fromFilesAndStrategy</a></code> | Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema. |\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, binding them to a DynamoDB data source.\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##### `fromFilesAndStrategy` <a name=\"fromFilesAndStrategy\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndStrategy\"></a>\n\n```typescript\nimport { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'\n\nAmplifyGraphqlDefinition.fromFilesAndStrategy(filePaths: string | string[], dataSourceStrategy?: DefaultDynamoDbModelDataSourceStrategy | AmplifyDynamoDbModelDataSourceStrategy | SQLLambdaModelDataSourceStrategy)\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.fromFilesAndStrategy.parameter.filePaths\"></a>\n\n- *Type:* string | string[]\n\none or more paths to the graphql files to process.\n\n---\n\n###### `dataSourceStrategy`<sup>Optional</sup> <a name=\"dataSourceStrategy\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndStrategy.parameter.dataSourceStrategy\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy\">DefaultDynamoDbModelDataSourceStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy\">AmplifyDynamoDbModelDataSourceStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a>\n\nthe provisioning definition for datasources that resolve `@model`s in this schema.\n\nThe DynamoDB from\nCloudFormation 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, dataSourceStrategy?: DefaultDynamoDbModelDataSourceStrategy | AmplifyDynamoDbModelDataSourceStrategy | SQLLambdaModelDataSourceStrategy)\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###### `dataSourceStrategy`<sup>Optional</sup> <a name=\"dataSourceStrategy\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString.parameter.dataSourceStrategy\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy\">DefaultDynamoDbModelDataSourceStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy\">AmplifyDynamoDbModelDataSourceStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a>\n\nthe provisioning definition for datasources that resolve `@model`s and custom SQL statements in this schema.\n\nThe DynamoDB from CloudFormation will be used by default.\n\n---\n\n\n\n### SQLLambdaModelDataSourceStrategyFactory <a name=\"SQLLambdaModelDataSourceStrategyFactory\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory\"></a>\n\nClass exposing utilities to produce SQLLambdaModelDataSourceStrategy objects given various inputs.\n\n#### Initializers <a name=\"Initializers\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory.Initializer\"></a>\n\n```typescript\nimport { SQLLambdaModelDataSourceStrategyFactory } from '@aws-amplify/graphql-api-construct'\n\nnew SQLLambdaModelDataSourceStrategyFactory()\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.SQLLambdaModelDataSourceStrategyFactory.fromCustomSqlFiles\">fromCustomSqlFiles</a></code> | Creates a SQLLambdaModelDataSourceStrategy where the binding's `customSqlStatements` are populated from `sqlFiles`. |\n\n---\n\n##### `fromCustomSqlFiles` <a name=\"fromCustomSqlFiles\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory.fromCustomSqlFiles\"></a>\n\n```typescript\nimport { SQLLambdaModelDataSourceStrategyFactory } from '@aws-amplify/graphql-api-construct'\n\nSQLLambdaModelDataSourceStrategyFactory.fromCustomSqlFiles(sqlFiles: string[], options: SQLLambdaModelDataSourceStrategy)\n```\n\nCreates a SQLLambdaModelDataSourceStrategy where the binding's `customSqlStatements` are populated from `sqlFiles`.\n\nThe key\nof the `customSqlStatements` record is the file's base name (that is, the name of the file minus the directory and extension).\n\n###### `sqlFiles`<sup>Required</sup> <a name=\"sqlFiles\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory.fromCustomSqlFiles.parameter.sqlFiles\"></a>\n\n- *Type:* string[]\n\nthe list of files to load SQL statements from.\n\n---\n\n###### `options`<sup>Required</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory.fromCustomSqlFiles.parameter.options\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a>\n\nthe remaining SQLLambdaModelDataSourceStrategy options.\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.dataSourceStrategies\">dataSourceStrategies</a></code> | <code>{[ key: string ]: <a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy\">DefaultDynamoDbModelDataSourceStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy\">AmplifyDynamoDbModelDataSourceStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a>}</code> | Retrieve the datasource strategy mapping. |\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| <code><a href=\"#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.customSqlDataSourceStrategies\">customSqlDataSourceStrategies</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy\">CustomSqlDataSourceStrategy</a>[]</code> | An array of custom Query or Mutation SQL commands to the data sources that resolves them. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.referencedLambdaFunctions\">referencedLambdaFunctions</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}</code> | Retrieve the references to any lambda functions used in the definition. |\n\n---\n\n##### `dataSourceStrategies`<sup>Required</sup> <a name=\"dataSourceStrategies\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.dataSourceStrategies\"></a>\n\n```typescript\npublic readonly dataSourceStrategies: {[ key: string ]: DefaultDynamoDbModelDataSourceStrategy | AmplifyDynamoDbModelDataSourceStrategy | SQLLambdaModelDataSourceStrategy};\n```\n\n- *Type:* {[ key: string ]: <a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy\">DefaultDynamoDbModelDataSourceStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy\">AmplifyDynamoDbModelDataSourceStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a>}\n\nRetrieve the datasource strategy 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##### `customSqlDataSourceStrategies`<sup>Optional</sup> <a name=\"customSqlDataSourceStrategies\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.customSqlDataSourceStrategies\"></a>\n\n```typescript\npublic readonly customSqlDataSourceStrategies: CustomSqlDataSourceStrategy[];\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy\">CustomSqlDataSourceStrategy</a>[]\n\nAn array of custom Query or Mutation SQL commands to the data sources that resolves them.\n\n---\n\n##### `referencedLambdaFunctions`<sup>Optional</sup> <a name=\"referencedLambdaFunctions\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.referencedLambdaFunctions\"></a>\n\n```typescript\npublic readonly referencedLambdaFunctions: {[ key: string ]: IFunction};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}\n\nRetrieve the references to any lambda functions used in the definition.\n\nUseful for wiring through aws_lambda.Function constructs into the definition directly,\nand generated references to invoke them.\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"
|
3514
|
+
"markdown": "# Amplify Graphql API Construct\n\n[![View on Construct Hub](https://constructs.dev/badge?package=%40aws-amplify%2Fgraphql-api-construct)](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 files, 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### AmplifyDynamoDbModelDataSourceStrategy <a name=\"AmplifyDynamoDbModelDataSourceStrategy\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy\"></a>\n\nUse custom resource type 'Custom::AmplifyDynamoDBTable' to provision table.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy.Initializer\"></a>\n\n```typescript\nimport { AmplifyDynamoDbModelDataSourceStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst amplifyDynamoDbModelDataSourceStrategy: AmplifyDynamoDbModelDataSourceStrategy = { ... }\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.AmplifyDynamoDbModelDataSourceStrategy.property.dbType\">dbType</a></code> | <code>string</code> | *No description.* |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy.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.AmplifyDynamoDbModelDataSourceStrategy.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.AmplifyDynamoDbModelDataSourceStrategy.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### CustomSqlDataSourceStrategy <a name=\"CustomSqlDataSourceStrategy\" id=\"@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy\"></a>\n\nThe input type for defining a ModelDataSourceStrategy used to resolve a field annotated with a `@sql` directive.\n\nAlthough this is a\npublic type, you should rarely need to use this. The AmplifyGraphqlDefinition factory methods (e.g., `fromString`,\n`fromFilesAndStrategy`) will automatically construct this structure for you.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy.Initializer\"></a>\n\n```typescript\nimport { CustomSqlDataSourceStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst customSqlDataSourceStrategy: CustomSqlDataSourceStrategy = { ... }\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.CustomSqlDataSourceStrategy.property.fieldName\">fieldName</a></code> | <code>string</code> | The field name with which the custom SQL is associated. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy.property.strategy\">strategy</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a></code> | The strategy used to create the datasource that will resolve the custom SQL statement. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy.property.typeName\">typeName</a></code> | <code>string</code> | The built-in type (either \"Query\" or \"Mutation\") with which the custom SQL is associated. |\n\n---\n\n##### `fieldName`<sup>Required</sup> <a name=\"fieldName\" id=\"@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy.property.fieldName\"></a>\n\n```typescript\npublic readonly fieldName: string;\n```\n\n- *Type:* string\n\nThe field name with which the custom SQL is associated.\n\n---\n\n##### `strategy`<sup>Required</sup> <a name=\"strategy\" id=\"@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy.property.strategy\"></a>\n\n```typescript\npublic readonly strategy: SQLLambdaModelDataSourceStrategy;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a>\n\nThe strategy used to create the datasource that will resolve the custom SQL statement.\n\n---\n\n##### `typeName`<sup>Required</sup> <a name=\"typeName\" id=\"@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy.property.typeName\"></a>\n\n```typescript\npublic readonly typeName: string;\n```\n\n- *Type:* string\n\nThe built-in type (either \"Query\" or \"Mutation\") with which the custom SQL is associated.\n\n---\n\n### DefaultDynamoDbModelDataSourceStrategy <a name=\"DefaultDynamoDbModelDataSourceStrategy\" id=\"@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy\"></a>\n\nUse default CloudFormation type 'AWS::DynamoDB::Table' to provision table.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy.Initializer\"></a>\n\n```typescript\nimport { DefaultDynamoDbModelDataSourceStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst defaultDynamoDbModelDataSourceStrategy: DefaultDynamoDbModelDataSourceStrategy = { ... }\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.DefaultDynamoDbModelDataSourceStrategy.property.dbType\">dbType</a></code> | <code>string</code> | *No description.* |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy.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.DefaultDynamoDbModelDataSourceStrategy.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.DefaultDynamoDbModelDataSourceStrategy.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### 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.allowDestructiveGraphqlSchemaUpdates\">allowDestructiveGraphqlSchemaUpdates</a></code> | <code>boolean</code> | The following schema updates require replacement of the underlying DynamoDB table:. |\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.replaceTableUponGsiUpdate\">replaceTableUponGsiUpdate</a></code> | <code>boolean</code> | This behavior will only come into effect when both \"allowDestructiveGraphqlSchemaUpdates\" and this value are set to true. |\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##### `allowDestructiveGraphqlSchemaUpdates`<sup>Optional</sup> <a name=\"allowDestructiveGraphqlSchemaUpdates\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.allowDestructiveGraphqlSchemaUpdates\"></a>\n\n```typescript\npublic readonly allowDestructiveGraphqlSchemaUpdates: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nThe following schema updates require replacement of the underlying DynamoDB table:.\n\nRemoving or renaming a model\n - Modifying the primary key of a model\n - Modifying a Local Secondary Index of a model (only applies to projects with secondaryKeyAsGSI turned off)\n\nALL DATA WILL BE LOST when the table replacement happens. When enabled, destructive updates are allowed.\nThis will only affect DynamoDB tables with provision strategy \"AMPLIFY_TABLE\".\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##### `replaceTableUponGsiUpdate`<sup>Optional</sup> <a name=\"replaceTableUponGsiUpdate\" id=\"@aws-amplify/graphql-api-construct.PartialTranslationBehavior.property.replaceTableUponGsiUpdate\"></a>\n\n```typescript\npublic readonly replaceTableUponGsiUpdate: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nThis behavior will only come into effect when both \"allowDestructiveGraphqlSchemaUpdates\" and this value are set to true.\n\nWhen enabled, any global secondary index update operation will replace the table instead of iterative deployment, which will WIPE ALL\nEXISTING DATA but cost much less time for deployment This will only affect DynamoDB tables with provision strategy \"AMPLIFY_TABLE\".\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### ProvisionedConcurrencyConfig <a name=\"ProvisionedConcurrencyConfig\" id=\"@aws-amplify/graphql-api-construct.ProvisionedConcurrencyConfig\"></a>\n\nThe configuration for the provisioned concurrency of the Lambda.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.ProvisionedConcurrencyConfig.Initializer\"></a>\n\n```typescript\nimport { ProvisionedConcurrencyConfig } from '@aws-amplify/graphql-api-construct'\n\nconst provisionedConcurrencyConfig: ProvisionedConcurrencyConfig = { ... }\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.ProvisionedConcurrencyConfig.property.provisionedConcurrentExecutions\">provisionedConcurrentExecutions</a></code> | <code>number</code> | The amount of provisioned concurrency to allocate. |\n\n---\n\n##### `provisionedConcurrentExecutions`<sup>Required</sup> <a name=\"provisionedConcurrentExecutions\" id=\"@aws-amplify/graphql-api-construct.ProvisionedConcurrencyConfig.property.provisionedConcurrentExecutions\"></a>\n\n```typescript\npublic readonly provisionedConcurrentExecutions: number;\n```\n\n- *Type:* number\n\nThe amount of provisioned concurrency to allocate.\n\n*\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### SQLLambdaModelDataSourceStrategy <a name=\"SQLLambdaModelDataSourceStrategy\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\"></a>\n\nA strategy that creates a Lambda to connect to a pre-existing SQL table to resolve model data.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.Initializer\"></a>\n\n```typescript\nimport { SQLLambdaModelDataSourceStrategy } from '@aws-amplify/graphql-api-construct'\n\nconst sQLLambdaModelDataSourceStrategy: SQLLambdaModelDataSourceStrategy = { ... }\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.SQLLambdaModelDataSourceStrategy.property.dbConnectionConfig\">dbConnectionConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig\">SqlModelDataSourceDbConnectionConfig</a></code> | The parameters the Lambda data source will use to connect to the database. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.dbType\">dbType</a></code> | <code>string</code> | The type of the SQL database used to process model operations for this definition. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.name\">name</a></code> | <code>string</code> | The name of the strategy. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.customSqlStatements\">customSqlStatements</a></code> | <code>{[ key: string ]: string}</code> | Custom SQL statements. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.sqlLambdaProvisionedConcurrencyConfig\">sqlLambdaProvisionedConcurrencyConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.ProvisionedConcurrencyConfig\">ProvisionedConcurrencyConfig</a></code> | The configuration for the provisioned concurrency of the Lambda. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.vpcConfiguration\">vpcConfiguration</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.VpcConfig\">VpcConfig</a></code> | The configuration of the VPC into which to install the Lambda. |\n\n---\n\n##### `dbConnectionConfig`<sup>Required</sup> <a name=\"dbConnectionConfig\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.dbConnectionConfig\"></a>\n\n```typescript\npublic readonly dbConnectionConfig: SqlModelDataSourceDbConnectionConfig;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig\">SqlModelDataSourceDbConnectionConfig</a>\n\nThe parameters the Lambda data source will use to connect to the database.\n\n---\n\n##### `dbType`<sup>Required</sup> <a name=\"dbType\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.dbType\"></a>\n\n```typescript\npublic readonly dbType: string;\n```\n\n- *Type:* string\n\nThe type of the SQL database used to process model operations for this definition.\n\n---\n\n##### `name`<sup>Required</sup> <a name=\"name\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.name\"></a>\n\n```typescript\npublic readonly name: string;\n```\n\n- *Type:* string\n\nThe name of the strategy.\n\nThis will be used to name the AppSync DataSource itself, plus any associated resources like resolver Lambdas.\nThis name must be unique across all schema definitions in a GraphQL API.\n\n---\n\n##### `customSqlStatements`<sup>Optional</sup> <a name=\"customSqlStatements\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.customSqlStatements\"></a>\n\n```typescript\npublic readonly customSqlStatements: {[ key: string ]: string};\n```\n\n- *Type:* {[ key: string ]: string}\n\nCustom SQL statements.\n\nThe key is the value of the `references` attribute of the `@sql` directive in the `schema`; the value is the SQL\nto be executed.\n\n---\n\n##### `sqlLambdaProvisionedConcurrencyConfig`<sup>Optional</sup> <a name=\"sqlLambdaProvisionedConcurrencyConfig\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.sqlLambdaProvisionedConcurrencyConfig\"></a>\n\n```typescript\npublic readonly sqlLambdaProvisionedConcurrencyConfig: ProvisionedConcurrencyConfig;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.ProvisionedConcurrencyConfig\">ProvisionedConcurrencyConfig</a>\n\nThe configuration for the provisioned concurrency of the Lambda.\n\n---\n\n##### `vpcConfiguration`<sup>Optional</sup> <a name=\"vpcConfiguration\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy.property.vpcConfiguration\"></a>\n\n```typescript\npublic readonly vpcConfiguration: VpcConfig;\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.VpcConfig\">VpcConfig</a>\n\nThe configuration of the VPC into which to install the Lambda.\n\n---\n\n### SqlModelDataSourceDbConnectionConfig <a name=\"SqlModelDataSourceDbConnectionConfig\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig\"></a>\n\nThe Secure Systems Manager parameter paths the Lambda data source will use to connect to the database.\n\nThese parameters are retrieved from Secure Systems Manager in the same region as the Lambda.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.Initializer\"></a>\n\n```typescript\nimport { SqlModelDataSourceDbConnectionConfig } from '@aws-amplify/graphql-api-construct'\n\nconst sqlModelDataSourceDbConnectionConfig: SqlModelDataSourceDbConnectionConfig = { ... }\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.SqlModelDataSourceDbConnectionConfig.property.databaseNameSsmPath\">databaseNameSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the database name. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.hostnameSsmPath\">hostnameSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the hostname of the database. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.passwordSsmPath\">passwordSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the password to use when connecting to the database. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.portSsmPath\">portSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the port number of the database proxy, cluster, or instance. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.usernameSsmPath\">usernameSsmPath</a></code> | <code>string</code> | The Secure Systems Manager parameter containing the username to use when connecting to the database. |\n\n---\n\n##### `databaseNameSsmPath`<sup>Required</sup> <a name=\"databaseNameSsmPath\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.databaseNameSsmPath\"></a>\n\n```typescript\npublic readonly databaseNameSsmPath: string;\n```\n\n- *Type:* string\n\nThe Secure Systems Manager parameter containing the database name.\n\n---\n\n##### `hostnameSsmPath`<sup>Required</sup> <a name=\"hostnameSsmPath\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.hostnameSsmPath\"></a>\n\n```typescript\npublic readonly hostnameSsmPath: string;\n```\n\n- *Type:* string\n\nThe Secure Systems Manager parameter containing the hostname of the database.\n\nFor RDS-based SQL data sources, this can be the hostname\nof a database proxy, cluster, or instance.\n\n---\n\n##### `passwordSsmPath`<sup>Required</sup> <a name=\"passwordSsmPath\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.passwordSsmPath\"></a>\n\n```typescript\npublic readonly passwordSsmPath: string;\n```\n\n- *Type:* string\n\nThe Secure Systems Manager parameter containing the password to use when connecting to the database.\n\n---\n\n##### `portSsmPath`<sup>Required</sup> <a name=\"portSsmPath\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.portSsmPath\"></a>\n\n```typescript\npublic readonly portSsmPath: string;\n```\n\n- *Type:* string\n\nThe Secure Systems Manager parameter containing the port number of the database proxy, cluster, or instance.\n\n---\n\n##### `usernameSsmPath`<sup>Required</sup> <a name=\"usernameSsmPath\" id=\"@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig.property.usernameSsmPath\"></a>\n\n```typescript\npublic readonly usernameSsmPath: string;\n```\n\n- *Type:* string\n\nThe Secure Systems Manager parameter containing the username to use when connecting to the database.\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### SubnetAvailabilityZone <a name=\"SubnetAvailabilityZone\" id=\"@aws-amplify/graphql-api-construct.SubnetAvailabilityZone\"></a>\n\nSubnet configuration for VPC endpoints used by a Lambda resolver for a SQL-based data source.\n\nAlthough it is possible to create multiple\nsubnets in a single availability zone, VPC service endpoints may only be deployed to a single subnet in a given availability zone. This\nstructure ensures that the Lambda function and VPC service endpoints are mutually consistent.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.Initializer\"></a>\n\n```typescript\nimport { SubnetAvailabilityZone } from '@aws-amplify/graphql-api-construct'\n\nconst subnetAvailabilityZone: SubnetAvailabilityZone = { ... }\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.SubnetAvailabilityZone.property.availabilityZone\">availabilityZone</a></code> | <code>string</code> | The availability zone of the subnet. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.property.subnetId\">subnetId</a></code> | <code>string</code> | The subnet ID to install the Lambda data source in. |\n\n---\n\n##### `availabilityZone`<sup>Required</sup> <a name=\"availabilityZone\" id=\"@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.property.availabilityZone\"></a>\n\n```typescript\npublic readonly availabilityZone: string;\n```\n\n- *Type:* string\n\nThe availability zone of the subnet.\n\n---\n\n##### `subnetId`<sup>Required</sup> <a name=\"subnetId\" id=\"@aws-amplify/graphql-api-construct.SubnetAvailabilityZone.property.subnetId\"></a>\n\n```typescript\npublic readonly subnetId: string;\n```\n\n- *Type:* string\n\nThe subnet ID to install the Lambda data source in.\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.allowDestructiveGraphqlSchemaUpdates\">allowDestructiveGraphqlSchemaUpdates</a></code> | <code>boolean</code> | The following schema updates require replacement of the underlying DynamoDB table:. |\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.replaceTableUponGsiUpdate\">replaceTableUponGsiUpdate</a></code> | <code>boolean</code> | This behavior will only come into effect when both \"allowDestructiveGraphqlSchemaUpdates\" and this value are set to true. |\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##### `allowDestructiveGraphqlSchemaUpdates`<sup>Required</sup> <a name=\"allowDestructiveGraphqlSchemaUpdates\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.allowDestructiveGraphqlSchemaUpdates\"></a>\n\n```typescript\npublic readonly allowDestructiveGraphqlSchemaUpdates: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nThe following schema updates require replacement of the underlying DynamoDB table:.\n\nRemoving or renaming a model\n - Modifying the primary key of a model\n - Modifying a Local Secondary Index of a model (only applies to projects with secondaryKeyAsGSI turned off)\n\nALL DATA WILL BE LOST when the table replacement happens. When enabled, destructive updates are allowed.\nThis will only affect DynamoDB tables with provision strategy \"AMPLIFY_TABLE\".\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##### `replaceTableUponGsiUpdate`<sup>Required</sup> <a name=\"replaceTableUponGsiUpdate\" id=\"@aws-amplify/graphql-api-construct.TranslationBehavior.property.replaceTableUponGsiUpdate\"></a>\n\n```typescript\npublic readonly replaceTableUponGsiUpdate: boolean;\n```\n\n- *Type:* boolean\n- *Default:* false\n\nThis behavior will only come into effect when both \"allowDestructiveGraphqlSchemaUpdates\" and this value are set to true.\n\nWhen enabled, any GSI update operation will replace the table instead of iterative deployment, which will WIPE ALL EXISTING DATA but\ncost much less time for deployment This will only affect DynamoDB tables with provision strategy \"AMPLIFY_TABLE\".\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### VpcConfig <a name=\"VpcConfig\" id=\"@aws-amplify/graphql-api-construct.VpcConfig\"></a>\n\nConfiguration of the VPC in which to install a Lambda to resolve queries against a SQL-based data source.\n\nThe SQL Lambda will be deployed\ninto the specified VPC, subnets, and security groups. The specified subnets and security groups must be in the same VPC. The VPC must\nhave at least one subnet. The construct will also create VPC service endpoints in the specified subnets, as well as inbound security\nrules, to allow traffic on port 443 within each security group. This allows the Lambda to read database connection information from\nSecure Systems Manager.\n\n#### Initializer <a name=\"Initializer\" id=\"@aws-amplify/graphql-api-construct.VpcConfig.Initializer\"></a>\n\n```typescript\nimport { VpcConfig } from '@aws-amplify/graphql-api-construct'\n\nconst vpcConfig: VpcConfig = { ... }\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.VpcConfig.property.securityGroupIds\">securityGroupIds</a></code> | <code>string[]</code> | The security groups to install the Lambda data source in. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.VpcConfig.property.subnetAvailabilityZoneConfig\">subnetAvailabilityZoneConfig</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.SubnetAvailabilityZone\">SubnetAvailabilityZone</a>[]</code> | The subnets to install the Lambda data source in, one per availability zone. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.VpcConfig.property.vpcId\">vpcId</a></code> | <code>string</code> | The VPC to install the Lambda data source in. |\n\n---\n\n##### `securityGroupIds`<sup>Required</sup> <a name=\"securityGroupIds\" id=\"@aws-amplify/graphql-api-construct.VpcConfig.property.securityGroupIds\"></a>\n\n```typescript\npublic readonly securityGroupIds: string[];\n```\n\n- *Type:* string[]\n\nThe security groups to install the Lambda data source in.\n\n---\n\n##### `subnetAvailabilityZoneConfig`<sup>Required</sup> <a name=\"subnetAvailabilityZoneConfig\" id=\"@aws-amplify/graphql-api-construct.VpcConfig.property.subnetAvailabilityZoneConfig\"></a>\n\n```typescript\npublic readonly subnetAvailabilityZoneConfig: SubnetAvailabilityZone[];\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.SubnetAvailabilityZone\">SubnetAvailabilityZone</a>[]\n\nThe subnets to install the Lambda data source in, one per availability zone.\n\n---\n\n##### `vpcId`<sup>Required</sup> <a name=\"vpcId\" id=\"@aws-amplify/graphql-api-construct.VpcConfig.property.vpcId\"></a>\n\n```typescript\npublic readonly vpcId: string;\n```\n\n- *Type:* string\n\nThe VPC to install the Lambda data source in.\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, binding them to a DynamoDB data source. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndStrategy\">fromFilesAndStrategy</a></code> | Convert one or more appsync SchemaFile objects into an Amplify Graphql Schema. |\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, binding them to a DynamoDB data source.\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##### `fromFilesAndStrategy` <a name=\"fromFilesAndStrategy\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndStrategy\"></a>\n\n```typescript\nimport { AmplifyGraphqlDefinition } from '@aws-amplify/graphql-api-construct'\n\nAmplifyGraphqlDefinition.fromFilesAndStrategy(filePaths: string | string[], dataSourceStrategy?: DefaultDynamoDbModelDataSourceStrategy | AmplifyDynamoDbModelDataSourceStrategy | SQLLambdaModelDataSourceStrategy)\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.fromFilesAndStrategy.parameter.filePaths\"></a>\n\n- *Type:* string | string[]\n\none or more paths to the graphql files to process.\n\n---\n\n###### `dataSourceStrategy`<sup>Optional</sup> <a name=\"dataSourceStrategy\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromFilesAndStrategy.parameter.dataSourceStrategy\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy\">DefaultDynamoDbModelDataSourceStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy\">AmplifyDynamoDbModelDataSourceStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a>\n\nthe provisioning definition for datasources that resolve `@model`s in this schema.\n\nThe DynamoDB from\nCloudFormation 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, dataSourceStrategy?: DefaultDynamoDbModelDataSourceStrategy | AmplifyDynamoDbModelDataSourceStrategy | SQLLambdaModelDataSourceStrategy)\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###### `dataSourceStrategy`<sup>Optional</sup> <a name=\"dataSourceStrategy\" id=\"@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition.fromString.parameter.dataSourceStrategy\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy\">DefaultDynamoDbModelDataSourceStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy\">AmplifyDynamoDbModelDataSourceStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a>\n\nthe provisioning definition for datasources that resolve `@model`s and custom SQL statements in this schema.\n\nThe DynamoDB from CloudFormation will be used by default.\n\n---\n\n\n\n### SQLLambdaModelDataSourceStrategyFactory <a name=\"SQLLambdaModelDataSourceStrategyFactory\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory\"></a>\n\nClass exposing utilities to produce SQLLambdaModelDataSourceStrategy objects given various inputs.\n\n#### Initializers <a name=\"Initializers\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory.Initializer\"></a>\n\n```typescript\nimport { SQLLambdaModelDataSourceStrategyFactory } from '@aws-amplify/graphql-api-construct'\n\nnew SQLLambdaModelDataSourceStrategyFactory()\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.SQLLambdaModelDataSourceStrategyFactory.fromCustomSqlFiles\">fromCustomSqlFiles</a></code> | Creates a SQLLambdaModelDataSourceStrategy where the binding's `customSqlStatements` are populated from `sqlFiles`. |\n\n---\n\n##### `fromCustomSqlFiles` <a name=\"fromCustomSqlFiles\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory.fromCustomSqlFiles\"></a>\n\n```typescript\nimport { SQLLambdaModelDataSourceStrategyFactory } from '@aws-amplify/graphql-api-construct'\n\nSQLLambdaModelDataSourceStrategyFactory.fromCustomSqlFiles(sqlFiles: string[], options: SQLLambdaModelDataSourceStrategy)\n```\n\nCreates a SQLLambdaModelDataSourceStrategy where the binding's `customSqlStatements` are populated from `sqlFiles`.\n\nThe key\nof the `customSqlStatements` record is the file's base name (that is, the name of the file minus the directory and extension).\n\n###### `sqlFiles`<sup>Required</sup> <a name=\"sqlFiles\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory.fromCustomSqlFiles.parameter.sqlFiles\"></a>\n\n- *Type:* string[]\n\nthe list of files to load SQL statements from.\n\n---\n\n###### `options`<sup>Required</sup> <a name=\"options\" id=\"@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory.fromCustomSqlFiles.parameter.options\"></a>\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a>\n\nthe remaining SQLLambdaModelDataSourceStrategy options.\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.dataSourceStrategies\">dataSourceStrategies</a></code> | <code>{[ key: string ]: <a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy\">DefaultDynamoDbModelDataSourceStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy\">AmplifyDynamoDbModelDataSourceStrategy</a> \\| <a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a>}</code> | Retrieve the datasource strategy mapping. |\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| <code><a href=\"#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.customSqlDataSourceStrategies\">customSqlDataSourceStrategies</a></code> | <code><a href=\"#@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy\">CustomSqlDataSourceStrategy</a>[]</code> | An array of custom Query or Mutation SQL commands to the data sources that resolves them. |\n| <code><a href=\"#@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.referencedLambdaFunctions\">referencedLambdaFunctions</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}</code> | Retrieve the references to any lambda functions used in the definition. |\n\n---\n\n##### `dataSourceStrategies`<sup>Required</sup> <a name=\"dataSourceStrategies\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.dataSourceStrategies\"></a>\n\n```typescript\npublic readonly dataSourceStrategies: {[ key: string ]: DefaultDynamoDbModelDataSourceStrategy | AmplifyDynamoDbModelDataSourceStrategy | SQLLambdaModelDataSourceStrategy};\n```\n\n- *Type:* {[ key: string ]: <a href=\"#@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy\">DefaultDynamoDbModelDataSourceStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.AmplifyDynamoDbModelDataSourceStrategy\">AmplifyDynamoDbModelDataSourceStrategy</a> | <a href=\"#@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategy\">SQLLambdaModelDataSourceStrategy</a>}\n\nRetrieve the datasource strategy 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##### `customSqlDataSourceStrategies`<sup>Optional</sup> <a name=\"customSqlDataSourceStrategies\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.customSqlDataSourceStrategies\"></a>\n\n```typescript\npublic readonly customSqlDataSourceStrategies: CustomSqlDataSourceStrategy[];\n```\n\n- *Type:* <a href=\"#@aws-amplify/graphql-api-construct.CustomSqlDataSourceStrategy\">CustomSqlDataSourceStrategy</a>[]\n\nAn array of custom Query or Mutation SQL commands to the data sources that resolves them.\n\n---\n\n##### `referencedLambdaFunctions`<sup>Optional</sup> <a name=\"referencedLambdaFunctions\" id=\"@aws-amplify/graphql-api-construct.IAmplifyGraphqlDefinition.property.referencedLambdaFunctions\"></a>\n\n```typescript\npublic readonly referencedLambdaFunctions: {[ key: string ]: IFunction};\n```\n\n- *Type:* {[ key: string ]: aws-cdk-lib.aws_lambda.IFunction}\n\nRetrieve the references to any lambda functions used in the definition.\n\nUseful for wiring through aws_lambda.Function constructs into the definition directly,\nand generated references to invoke them.\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"
|
3515
3515
|
},
|
3516
3516
|
"repository": {
|
3517
3517
|
"directory": "packages/amplify-graphql-api-construct",
|
@@ -3536,7 +3536,7 @@
|
|
3536
3536
|
"kind": "interface",
|
3537
3537
|
"locationInModule": {
|
3538
3538
|
"filename": "src/types.ts",
|
3539
|
-
"line":
|
3539
|
+
"line": 795
|
3540
3540
|
},
|
3541
3541
|
"name": "AddFunctionProps",
|
3542
3542
|
"properties": [
|
@@ -3549,7 +3549,7 @@
|
|
3549
3549
|
"immutable": true,
|
3550
3550
|
"locationInModule": {
|
3551
3551
|
"filename": "src/types.ts",
|
3552
|
-
"line":
|
3552
|
+
"line": 799
|
3553
3553
|
},
|
3554
3554
|
"name": "dataSource",
|
3555
3555
|
"type": {
|
@@ -3565,7 +3565,7 @@
|
|
3565
3565
|
"immutable": true,
|
3566
3566
|
"locationInModule": {
|
3567
3567
|
"filename": "src/types.ts",
|
3568
|
-
"line":
|
3568
|
+
"line": 804
|
3569
3569
|
},
|
3570
3570
|
"name": "name",
|
3571
3571
|
"type": {
|
@@ -3582,7 +3582,7 @@
|
|
3582
3582
|
"immutable": true,
|
3583
3583
|
"locationInModule": {
|
3584
3584
|
"filename": "src/types.ts",
|
3585
|
-
"line":
|
3585
|
+
"line": 839
|
3586
3586
|
},
|
3587
3587
|
"name": "code",
|
3588
3588
|
"optional": true,
|
@@ -3600,7 +3600,7 @@
|
|
3600
3600
|
"immutable": true,
|
3601
3601
|
"locationInModule": {
|
3602
3602
|
"filename": "src/types.ts",
|
3603
|
-
"line":
|
3603
|
+
"line": 811
|
3604
3604
|
},
|
3605
3605
|
"name": "description",
|
3606
3606
|
"optional": true,
|
@@ -3618,7 +3618,7 @@
|
|
3618
3618
|
"immutable": true,
|
3619
3619
|
"locationInModule": {
|
3620
3620
|
"filename": "src/types.ts",
|
3621
|
-
"line":
|
3621
|
+
"line": 818
|
3622
3622
|
},
|
3623
3623
|
"name": "requestMappingTemplate",
|
3624
3624
|
"optional": true,
|
@@ -3636,7 +3636,7 @@
|
|
3636
3636
|
"immutable": true,
|
3637
3637
|
"locationInModule": {
|
3638
3638
|
"filename": "src/types.ts",
|
3639
|
-
"line":
|
3639
|
+
"line": 825
|
3640
3640
|
},
|
3641
3641
|
"name": "responseMappingTemplate",
|
3642
3642
|
"optional": true,
|
@@ -3654,7 +3654,7 @@
|
|
3654
3654
|
"immutable": true,
|
3655
3655
|
"locationInModule": {
|
3656
3656
|
"filename": "src/types.ts",
|
3657
|
-
"line":
|
3657
|
+
"line": 832
|
3658
3658
|
},
|
3659
3659
|
"name": "runtime",
|
3660
3660
|
"optional": true,
|
@@ -3777,6 +3777,28 @@
|
|
3777
3777
|
},
|
3778
3778
|
"static": true
|
3779
3779
|
},
|
3780
|
+
{
|
3781
|
+
"docs": {
|
3782
|
+
"stability": "stable",
|
3783
|
+
"summary": "Set the deletion policy of the resource based on the removal policy specified."
|
3784
|
+
},
|
3785
|
+
"locationInModule": {
|
3786
|
+
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3787
|
+
"line": 117
|
3788
|
+
},
|
3789
|
+
"name": "applyRemovalPolicy",
|
3790
|
+
"parameters": [
|
3791
|
+
{
|
3792
|
+
"docs": {
|
3793
|
+
"summary": "removal policy to set."
|
3794
|
+
},
|
3795
|
+
"name": "policy",
|
3796
|
+
"type": {
|
3797
|
+
"fqn": "aws-cdk-lib.RemovalPolicy"
|
3798
|
+
}
|
3799
|
+
}
|
3800
|
+
]
|
3801
|
+
},
|
3780
3802
|
{
|
3781
3803
|
"docs": {
|
3782
3804
|
"stability": "stable",
|
@@ -3784,7 +3806,7 @@
|
|
3784
3806
|
},
|
3785
3807
|
"locationInModule": {
|
3786
3808
|
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3787
|
-
"line":
|
3809
|
+
"line": 154
|
3788
3810
|
},
|
3789
3811
|
"name": "setGlobalSecondaryIndexProvisionedThroughput",
|
3790
3812
|
"parameters": [
|
@@ -3818,7 +3840,7 @@
|
|
3818
3840
|
},
|
3819
3841
|
"locationInModule": {
|
3820
3842
|
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3821
|
-
"line":
|
3843
|
+
"line": 124
|
3822
3844
|
},
|
3823
3845
|
"name": "billingMode",
|
3824
3846
|
"type": {
|
@@ -3832,7 +3854,7 @@
|
|
3832
3854
|
},
|
3833
3855
|
"locationInModule": {
|
3834
3856
|
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3835
|
-
"line":
|
3857
|
+
"line": 182
|
3836
3858
|
},
|
3837
3859
|
"name": "deletionProtectionEnabled",
|
3838
3860
|
"type": {
|
@@ -3846,7 +3868,7 @@
|
|
3846
3868
|
},
|
3847
3869
|
"locationInModule": {
|
3848
3870
|
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3849
|
-
"line":
|
3871
|
+
"line": 138
|
3850
3872
|
},
|
3851
3873
|
"name": "pointInTimeRecoveryEnabled",
|
3852
3874
|
"type": {
|
@@ -3860,7 +3882,7 @@
|
|
3860
3882
|
},
|
3861
3883
|
"locationInModule": {
|
3862
3884
|
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3863
|
-
"line":
|
3885
|
+
"line": 145
|
3864
3886
|
},
|
3865
3887
|
"name": "provisionedThroughput",
|
3866
3888
|
"type": {
|
@@ -3874,7 +3896,7 @@
|
|
3874
3896
|
},
|
3875
3897
|
"locationInModule": {
|
3876
3898
|
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3877
|
-
"line":
|
3899
|
+
"line": 175
|
3878
3900
|
},
|
3879
3901
|
"name": "sseSpecification",
|
3880
3902
|
"type": {
|
@@ -3888,7 +3910,7 @@
|
|
3888
3910
|
},
|
3889
3911
|
"locationInModule": {
|
3890
3912
|
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3891
|
-
"line":
|
3913
|
+
"line": 168
|
3892
3914
|
},
|
3893
3915
|
"name": "streamSpecification",
|
3894
3916
|
"type": {
|
@@ -3902,7 +3924,7 @@
|
|
3902
3924
|
},
|
3903
3925
|
"locationInModule": {
|
3904
3926
|
"filename": "src/amplify-dynamodb-table-wrapper.ts",
|
3905
|
-
"line":
|
3927
|
+
"line": 131
|
3906
3928
|
},
|
3907
3929
|
"name": "timeToLiveAttribute",
|
3908
3930
|
"type": {
|
@@ -3975,7 +3997,7 @@
|
|
3975
3997
|
},
|
3976
3998
|
"locationInModule": {
|
3977
3999
|
"filename": "src/amplify-graphql-api.ts",
|
3978
|
-
"line":
|
4000
|
+
"line": 285
|
3979
4001
|
},
|
3980
4002
|
"name": "addDynamoDbDataSource",
|
3981
4003
|
"parameters": [
|
@@ -4024,7 +4046,7 @@
|
|
4024
4046
|
},
|
4025
4047
|
"locationInModule": {
|
4026
4048
|
"filename": "src/amplify-graphql-api.ts",
|
4027
|
-
"line":
|
4049
|
+
"line": 297
|
4028
4050
|
},
|
4029
4051
|
"name": "addElasticsearchDataSource",
|
4030
4052
|
"parameters": [
|
@@ -4071,7 +4093,7 @@
|
|
4071
4093
|
},
|
4072
4094
|
"locationInModule": {
|
4073
4095
|
"filename": "src/amplify-graphql-api.ts",
|
4074
|
-
"line":
|
4096
|
+
"line": 307
|
4075
4097
|
},
|
4076
4098
|
"name": "addEventBridgeDataSource",
|
4077
4099
|
"parameters": [
|
@@ -4118,7 +4140,7 @@
|
|
4118
4140
|
},
|
4119
4141
|
"locationInModule": {
|
4120
4142
|
"filename": "src/amplify-graphql-api.ts",
|
4121
|
-
"line":
|
4143
|
+
"line": 389
|
4122
4144
|
},
|
4123
4145
|
"name": "addFunction",
|
4124
4146
|
"parameters": [
|
@@ -4153,7 +4175,7 @@
|
|
4153
4175
|
},
|
4154
4176
|
"locationInModule": {
|
4155
4177
|
"filename": "src/amplify-graphql-api.ts",
|
4156
|
-
"line":
|
4178
|
+
"line": 318
|
4157
4179
|
},
|
4158
4180
|
"name": "addHttpDataSource",
|
4159
4181
|
"parameters": [
|
@@ -4201,7 +4223,7 @@
|
|
4201
4223
|
},
|
4202
4224
|
"locationInModule": {
|
4203
4225
|
"filename": "src/amplify-graphql-api.ts",
|
4204
|
-
"line":
|
4226
|
+
"line": 329
|
4205
4227
|
},
|
4206
4228
|
"name": "addLambdaDataSource",
|
4207
4229
|
"parameters": [
|
@@ -4249,7 +4271,7 @@
|
|
4249
4271
|
},
|
4250
4272
|
"locationInModule": {
|
4251
4273
|
"filename": "src/amplify-graphql-api.ts",
|
4252
|
-
"line":
|
4274
|
+
"line": 340
|
4253
4275
|
},
|
4254
4276
|
"name": "addNoneDataSource",
|
4255
4277
|
"parameters": [
|
@@ -4288,7 +4310,7 @@
|
|
4288
4310
|
},
|
4289
4311
|
"locationInModule": {
|
4290
4312
|
"filename": "src/amplify-graphql-api.ts",
|
4291
|
-
"line":
|
4313
|
+
"line": 351
|
4292
4314
|
},
|
4293
4315
|
"name": "addOpenSearchDataSource",
|
4294
4316
|
"parameters": [
|
@@ -4336,7 +4358,7 @@
|
|
4336
4358
|
},
|
4337
4359
|
"locationInModule": {
|
4338
4360
|
"filename": "src/amplify-graphql-api.ts",
|
4339
|
-
"line":
|
4361
|
+
"line": 364
|
4340
4362
|
},
|
4341
4363
|
"name": "addRdsDataSource",
|
4342
4364
|
"parameters": [
|
@@ -4403,7 +4425,7 @@
|
|
4403
4425
|
},
|
4404
4426
|
"locationInModule": {
|
4405
4427
|
"filename": "src/amplify-graphql-api.ts",
|
4406
|
-
"line":
|
4428
|
+
"line": 380
|
4407
4429
|
},
|
4408
4430
|
"name": "addResolver",
|
4409
4431
|
"parameters": [
|
@@ -4562,7 +4584,7 @@
|
|
4562
4584
|
"kind": "interface",
|
4563
4585
|
"locationInModule": {
|
4564
4586
|
"filename": "src/types.ts",
|
4565
|
-
"line":
|
4587
|
+
"line": 698
|
4566
4588
|
},
|
4567
4589
|
"name": "AmplifyGraphqlApiCfnResources",
|
4568
4590
|
"properties": [
|
@@ -4575,7 +4597,7 @@
|
|
4575
4597
|
"immutable": true,
|
4576
4598
|
"locationInModule": {
|
4577
4599
|
"filename": "src/types.ts",
|
4578
|
-
"line":
|
4600
|
+
"line": 752
|
4579
4601
|
},
|
4580
4602
|
"name": "additionalCfnResources",
|
4581
4603
|
"type": {
|
@@ -4587,6 +4609,27 @@
|
|
4587
4609
|
}
|
4588
4610
|
}
|
4589
4611
|
},
|
4612
|
+
{
|
4613
|
+
"abstract": true,
|
4614
|
+
"docs": {
|
4615
|
+
"stability": "stable",
|
4616
|
+
"summary": "The Generated Amplify DynamoDb Table L1 resource wrapper, keyed by model type name."
|
4617
|
+
},
|
4618
|
+
"immutable": true,
|
4619
|
+
"locationInModule": {
|
4620
|
+
"filename": "src/types.ts",
|
4621
|
+
"line": 737
|
4622
|
+
},
|
4623
|
+
"name": "amplifyDynamoDbTables",
|
4624
|
+
"type": {
|
4625
|
+
"collection": {
|
4626
|
+
"elementtype": {
|
4627
|
+
"fqn": "@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper"
|
4628
|
+
},
|
4629
|
+
"kind": "map"
|
4630
|
+
}
|
4631
|
+
}
|
4632
|
+
},
|
4590
4633
|
{
|
4591
4634
|
"abstract": true,
|
4592
4635
|
"docs": {
|
@@ -4596,7 +4639,7 @@
|
|
4596
4639
|
"immutable": true,
|
4597
4640
|
"locationInModule": {
|
4598
4641
|
"filename": "src/types.ts",
|
4599
|
-
"line":
|
4642
|
+
"line": 727
|
4600
4643
|
},
|
4601
4644
|
"name": "cfnDataSources",
|
4602
4645
|
"type": {
|
@@ -4617,7 +4660,7 @@
|
|
4617
4660
|
"immutable": true,
|
4618
4661
|
"locationInModule": {
|
4619
4662
|
"filename": "src/types.ts",
|
4620
|
-
"line":
|
4663
|
+
"line": 722
|
4621
4664
|
},
|
4622
4665
|
"name": "cfnFunctionConfigurations",
|
4623
4666
|
"type": {
|
@@ -4638,7 +4681,7 @@
|
|
4638
4681
|
"immutable": true,
|
4639
4682
|
"locationInModule": {
|
4640
4683
|
"filename": "src/types.ts",
|
4641
|
-
"line":
|
4684
|
+
"line": 747
|
4642
4685
|
},
|
4643
4686
|
"name": "cfnFunctions",
|
4644
4687
|
"type": {
|
@@ -4659,7 +4702,7 @@
|
|
4659
4702
|
"immutable": true,
|
4660
4703
|
"locationInModule": {
|
4661
4704
|
"filename": "src/types.ts",
|
4662
|
-
"line":
|
4705
|
+
"line": 702
|
4663
4706
|
},
|
4664
4707
|
"name": "cfnGraphqlApi",
|
4665
4708
|
"type": {
|
@@ -4675,7 +4718,7 @@
|
|
4675
4718
|
"immutable": true,
|
4676
4719
|
"locationInModule": {
|
4677
4720
|
"filename": "src/types.ts",
|
4678
|
-
"line":
|
4721
|
+
"line": 707
|
4679
4722
|
},
|
4680
4723
|
"name": "cfnGraphqlSchema",
|
4681
4724
|
"type": {
|
@@ -4691,7 +4734,7 @@
|
|
4691
4734
|
"immutable": true,
|
4692
4735
|
"locationInModule": {
|
4693
4736
|
"filename": "src/types.ts",
|
4694
|
-
"line":
|
4737
|
+
"line": 717
|
4695
4738
|
},
|
4696
4739
|
"name": "cfnResolvers",
|
4697
4740
|
"type": {
|
@@ -4712,7 +4755,7 @@
|
|
4712
4755
|
"immutable": true,
|
4713
4756
|
"locationInModule": {
|
4714
4757
|
"filename": "src/types.ts",
|
4715
|
-
"line":
|
4758
|
+
"line": 742
|
4716
4759
|
},
|
4717
4760
|
"name": "cfnRoles",
|
4718
4761
|
"type": {
|
@@ -4733,7 +4776,7 @@
|
|
4733
4776
|
"immutable": true,
|
4734
4777
|
"locationInModule": {
|
4735
4778
|
"filename": "src/types.ts",
|
4736
|
-
"line":
|
4779
|
+
"line": 732
|
4737
4780
|
},
|
4738
4781
|
"name": "cfnTables",
|
4739
4782
|
"type": {
|
@@ -4754,7 +4797,7 @@
|
|
4754
4797
|
"immutable": true,
|
4755
4798
|
"locationInModule": {
|
4756
4799
|
"filename": "src/types.ts",
|
4757
|
-
"line":
|
4800
|
+
"line": 712
|
4758
4801
|
},
|
4759
4802
|
"name": "cfnApiKey",
|
4760
4803
|
"optional": true,
|
@@ -4777,7 +4820,7 @@
|
|
4777
4820
|
"kind": "interface",
|
4778
4821
|
"locationInModule": {
|
4779
4822
|
"filename": "src/types.ts",
|
4780
|
-
"line":
|
4823
|
+
"line": 615
|
4781
4824
|
},
|
4782
4825
|
"name": "AmplifyGraphqlApiProps",
|
4783
4826
|
"properties": [
|
@@ -4791,7 +4834,7 @@
|
|
4791
4834
|
"immutable": true,
|
4792
4835
|
"locationInModule": {
|
4793
4836
|
"filename": "src/types.ts",
|
4794
|
-
"line":
|
4837
|
+
"line": 632
|
4795
4838
|
},
|
4796
4839
|
"name": "authorizationModes",
|
4797
4840
|
"type": {
|
@@ -4808,7 +4851,7 @@
|
|
4808
4851
|
"immutable": true,
|
4809
4852
|
"locationInModule": {
|
4810
4853
|
"filename": "src/types.ts",
|
4811
|
-
"line":
|
4854
|
+
"line": 620
|
4812
4855
|
},
|
4813
4856
|
"name": "definition",
|
4814
4857
|
"type": {
|
@@ -4825,7 +4868,7 @@
|
|
4825
4868
|
"immutable": true,
|
4826
4869
|
"locationInModule": {
|
4827
4870
|
"filename": "src/types.ts",
|
4828
|
-
"line":
|
4871
|
+
"line": 626
|
4829
4872
|
},
|
4830
4873
|
"name": "apiName",
|
4831
4874
|
"optional": true,
|
@@ -4836,14 +4879,15 @@
|
|
4836
4879
|
{
|
4837
4880
|
"abstract": true,
|
4838
4881
|
"docs": {
|
4882
|
+
"deprecated": "use dataStoreConfiguration instead.",
|
4839
4883
|
"remarks": "For more information, refer to https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/",
|
4840
|
-
"stability": "
|
4884
|
+
"stability": "deprecated",
|
4841
4885
|
"summary": "Configure conflict resolution on the Api, which is required to enable DataStore Api functionality."
|
4842
4886
|
},
|
4843
4887
|
"immutable": true,
|
4844
4888
|
"locationInModule": {
|
4845
4889
|
"filename": "src/types.ts",
|
4846
|
-
"line":
|
4890
|
+
"line": 647
|
4847
4891
|
},
|
4848
4892
|
"name": "conflictResolution",
|
4849
4893
|
"optional": true,
|
@@ -4851,6 +4895,24 @@
|
|
4851
4895
|
"fqn": "@aws-amplify/graphql-api-construct.ConflictResolution"
|
4852
4896
|
}
|
4853
4897
|
},
|
4898
|
+
{
|
4899
|
+
"abstract": true,
|
4900
|
+
"docs": {
|
4901
|
+
"remarks": "Conflict resolution is required to enable DataStore Api functionality.\nFor more information, refer to https://docs.amplify.aws/lib/datastore/getting-started/q/platform/js/",
|
4902
|
+
"stability": "stable",
|
4903
|
+
"summary": "Configure DataStore conflict resolution on the Api."
|
4904
|
+
},
|
4905
|
+
"immutable": true,
|
4906
|
+
"locationInModule": {
|
4907
|
+
"filename": "src/types.ts",
|
4908
|
+
"line": 691
|
4909
|
+
},
|
4910
|
+
"name": "dataStoreConfiguration",
|
4911
|
+
"optional": true,
|
4912
|
+
"type": {
|
4913
|
+
"fqn": "@aws-amplify/graphql-api-construct.DataStoreConfiguration"
|
4914
|
+
}
|
4915
|
+
},
|
4854
4916
|
{
|
4855
4917
|
"abstract": true,
|
4856
4918
|
"docs": {
|
@@ -4863,7 +4925,7 @@
|
|
4863
4925
|
"immutable": true,
|
4864
4926
|
"locationInModule": {
|
4865
4927
|
"filename": "src/types.ts",
|
4866
|
-
"line":
|
4928
|
+
"line": 640
|
4867
4929
|
},
|
4868
4930
|
"name": "functionNameMap",
|
4869
4931
|
"optional": true,
|
@@ -4886,7 +4948,7 @@
|
|
4886
4948
|
"immutable": true,
|
4887
4949
|
"locationInModule": {
|
4888
4950
|
"filename": "src/types.ts",
|
4889
|
-
"line":
|
4951
|
+
"line": 662
|
4890
4952
|
},
|
4891
4953
|
"name": "functionSlots",
|
4892
4954
|
"optional": true,
|
@@ -4921,7 +4983,7 @@
|
|
4921
4983
|
"immutable": true,
|
4922
4984
|
"locationInModule": {
|
4923
4985
|
"filename": "src/types.ts",
|
4924
|
-
"line":
|
4986
|
+
"line": 685
|
4925
4987
|
},
|
4926
4988
|
"name": "outputStorageStrategy",
|
4927
4989
|
"optional": true,
|
@@ -4938,7 +5000,7 @@
|
|
4938
5000
|
"immutable": true,
|
4939
5001
|
"locationInModule": {
|
4940
5002
|
"filename": "src/types.ts",
|
4941
|
-
"line":
|
5003
|
+
"line": 674
|
4942
5004
|
},
|
4943
5005
|
"name": "predictionsBucket",
|
4944
5006
|
"optional": true,
|
@@ -4956,7 +5018,7 @@
|
|
4956
5018
|
"immutable": true,
|
4957
5019
|
"locationInModule": {
|
4958
5020
|
"filename": "src/types.ts",
|
4959
|
-
"line":
|
5021
|
+
"line": 656
|
4960
5022
|
},
|
4961
5023
|
"name": "stackMappings",
|
4962
5024
|
"optional": true,
|
@@ -4982,7 +5044,7 @@
|
|
4982
5044
|
"immutable": true,
|
4983
5045
|
"locationInModule": {
|
4984
5046
|
"filename": "src/types.ts",
|
4985
|
-
"line":
|
5047
|
+
"line": 669
|
4986
5048
|
},
|
4987
5049
|
"name": "transformerPlugins",
|
4988
5050
|
"optional": true,
|
@@ -5004,7 +5066,7 @@
|
|
5004
5066
|
"immutable": true,
|
5005
5067
|
"locationInModule": {
|
5006
5068
|
"filename": "src/types.ts",
|
5007
|
-
"line":
|
5069
|
+
"line": 680
|
5008
5070
|
},
|
5009
5071
|
"name": "translationBehavior",
|
5010
5072
|
"optional": true,
|
@@ -5027,31 +5089,10 @@
|
|
5027
5089
|
"kind": "interface",
|
5028
5090
|
"locationInModule": {
|
5029
5091
|
"filename": "src/types.ts",
|
5030
|
-
"line":
|
5092
|
+
"line": 759
|
5031
5093
|
},
|
5032
5094
|
"name": "AmplifyGraphqlApiResources",
|
5033
5095
|
"properties": [
|
5034
|
-
{
|
5035
|
-
"abstract": true,
|
5036
|
-
"docs": {
|
5037
|
-
"stability": "stable",
|
5038
|
-
"summary": "The Generated Amplify DynamoDb Table wrapped if produced, keyed by name."
|
5039
|
-
},
|
5040
|
-
"immutable": true,
|
5041
|
-
"locationInModule": {
|
5042
|
-
"filename": "src/types.ts",
|
5043
|
-
"line": 755
|
5044
|
-
},
|
5045
|
-
"name": "amplifyDynamoDbTables",
|
5046
|
-
"type": {
|
5047
|
-
"collection": {
|
5048
|
-
"elementtype": {
|
5049
|
-
"fqn": "@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper"
|
5050
|
-
},
|
5051
|
-
"kind": "map"
|
5052
|
-
}
|
5053
|
-
}
|
5054
|
-
},
|
5055
5096
|
{
|
5056
5097
|
"abstract": true,
|
5057
5098
|
"docs": {
|
@@ -5061,7 +5102,7 @@
|
|
5061
5102
|
"immutable": true,
|
5062
5103
|
"locationInModule": {
|
5063
5104
|
"filename": "src/types.ts",
|
5064
|
-
"line":
|
5105
|
+
"line": 783
|
5065
5106
|
},
|
5066
5107
|
"name": "cfnResources",
|
5067
5108
|
"type": {
|
@@ -5077,7 +5118,7 @@
|
|
5077
5118
|
"immutable": true,
|
5078
5119
|
"locationInModule": {
|
5079
5120
|
"filename": "src/types.ts",
|
5080
|
-
"line":
|
5121
|
+
"line": 778
|
5081
5122
|
},
|
5082
5123
|
"name": "functions",
|
5083
5124
|
"type": {
|
@@ -5098,7 +5139,7 @@
|
|
5098
5139
|
"immutable": true,
|
5099
5140
|
"locationInModule": {
|
5100
5141
|
"filename": "src/types.ts",
|
5101
|
-
"line":
|
5142
|
+
"line": 763
|
5102
5143
|
},
|
5103
5144
|
"name": "graphqlApi",
|
5104
5145
|
"type": {
|
@@ -5114,7 +5155,7 @@
|
|
5114
5155
|
"immutable": true,
|
5115
5156
|
"locationInModule": {
|
5116
5157
|
"filename": "src/types.ts",
|
5117
|
-
"line":
|
5158
|
+
"line": 788
|
5118
5159
|
},
|
5119
5160
|
"name": "nestedStacks",
|
5120
5161
|
"type": {
|
@@ -5135,7 +5176,7 @@
|
|
5135
5176
|
"immutable": true,
|
5136
5177
|
"locationInModule": {
|
5137
5178
|
"filename": "src/types.ts",
|
5138
|
-
"line":
|
5179
|
+
"line": 773
|
5139
5180
|
},
|
5140
5181
|
"name": "roles",
|
5141
5182
|
"type": {
|
@@ -5156,7 +5197,7 @@
|
|
5156
5197
|
"immutable": true,
|
5157
5198
|
"locationInModule": {
|
5158
5199
|
"filename": "src/types.ts",
|
5159
|
-
"line":
|
5200
|
+
"line": 768
|
5160
5201
|
},
|
5161
5202
|
"name": "tables",
|
5162
5203
|
"type": {
|
@@ -5617,82 +5658,20 @@
|
|
5617
5658
|
"assembly": "@aws-amplify/graphql-api-construct",
|
5618
5659
|
"datatype": true,
|
5619
5660
|
"docs": {
|
5620
|
-
"
|
5661
|
+
"deprecated": "use DataStoreConfiguration instead.",
|
5662
|
+
"stability": "deprecated",
|
5621
5663
|
"summary": "Project level configuration for conflict resolution."
|
5622
5664
|
},
|
5623
5665
|
"fqn": "@aws-amplify/graphql-api-construct.ConflictResolution",
|
5666
|
+
"interfaces": [
|
5667
|
+
"@aws-amplify/graphql-api-construct.DataStoreConfiguration"
|
5668
|
+
],
|
5624
5669
|
"kind": "interface",
|
5625
5670
|
"locationInModule": {
|
5626
5671
|
"filename": "src/types.ts",
|
5627
|
-
"line":
|
5672
|
+
"line": 239
|
5628
5673
|
},
|
5629
5674
|
"name": "ConflictResolution",
|
5630
|
-
"properties": [
|
5631
|
-
{
|
5632
|
-
"abstract": true,
|
5633
|
-
"docs": {
|
5634
|
-
"stability": "stable",
|
5635
|
-
"summary": "Model-specific conflict resolution overrides."
|
5636
|
-
},
|
5637
|
-
"immutable": true,
|
5638
|
-
"locationInModule": {
|
5639
|
-
"filename": "src/types.ts",
|
5640
|
-
"line": 247
|
5641
|
-
},
|
5642
|
-
"name": "models",
|
5643
|
-
"optional": true,
|
5644
|
-
"type": {
|
5645
|
-
"collection": {
|
5646
|
-
"elementtype": {
|
5647
|
-
"union": {
|
5648
|
-
"types": [
|
5649
|
-
{
|
5650
|
-
"fqn": "@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy"
|
5651
|
-
},
|
5652
|
-
{
|
5653
|
-
"fqn": "@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy"
|
5654
|
-
},
|
5655
|
-
{
|
5656
|
-
"fqn": "@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy"
|
5657
|
-
}
|
5658
|
-
]
|
5659
|
-
}
|
5660
|
-
},
|
5661
|
-
"kind": "map"
|
5662
|
-
}
|
5663
|
-
}
|
5664
|
-
},
|
5665
|
-
{
|
5666
|
-
"abstract": true,
|
5667
|
-
"docs": {
|
5668
|
-
"remarks": "Applies to all non-overridden models.",
|
5669
|
-
"stability": "stable",
|
5670
|
-
"summary": "Project-wide config for conflict resolution."
|
5671
|
-
},
|
5672
|
-
"immutable": true,
|
5673
|
-
"locationInModule": {
|
5674
|
-
"filename": "src/types.ts",
|
5675
|
-
"line": 242
|
5676
|
-
},
|
5677
|
-
"name": "project",
|
5678
|
-
"optional": true,
|
5679
|
-
"type": {
|
5680
|
-
"union": {
|
5681
|
-
"types": [
|
5682
|
-
{
|
5683
|
-
"fqn": "@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy"
|
5684
|
-
},
|
5685
|
-
{
|
5686
|
-
"fqn": "@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy"
|
5687
|
-
},
|
5688
|
-
{
|
5689
|
-
"fqn": "@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy"
|
5690
|
-
}
|
5691
|
-
]
|
5692
|
-
}
|
5693
|
-
}
|
5694
|
-
}
|
5695
|
-
],
|
5696
5675
|
"symbolId": "src/types:ConflictResolution"
|
5697
5676
|
},
|
5698
5677
|
"@aws-amplify/graphql-api-construct.ConflictResolutionStrategyBase": {
|
@@ -5795,7 +5774,7 @@
|
|
5795
5774
|
"kind": "interface",
|
5796
5775
|
"locationInModule": {
|
5797
5776
|
"filename": "src/model-datasource-strategy-types.ts",
|
5798
|
-
"line":
|
5777
|
+
"line": 148
|
5799
5778
|
},
|
5800
5779
|
"name": "CustomSqlDataSourceStrategy",
|
5801
5780
|
"properties": [
|
@@ -5808,7 +5787,7 @@
|
|
5808
5787
|
"immutable": true,
|
5809
5788
|
"locationInModule": {
|
5810
5789
|
"filename": "src/model-datasource-strategy-types.ts",
|
5811
|
-
"line":
|
5790
|
+
"line": 153
|
5812
5791
|
},
|
5813
5792
|
"name": "fieldName",
|
5814
5793
|
"type": {
|
@@ -5824,7 +5803,7 @@
|
|
5824
5803
|
"immutable": true,
|
5825
5804
|
"locationInModule": {
|
5826
5805
|
"filename": "src/model-datasource-strategy-types.ts",
|
5827
|
-
"line":
|
5806
|
+
"line": 156
|
5828
5807
|
},
|
5829
5808
|
"name": "strategy",
|
5830
5809
|
"type": {
|
@@ -5840,7 +5819,7 @@
|
|
5840
5819
|
"immutable": true,
|
5841
5820
|
"locationInModule": {
|
5842
5821
|
"filename": "src/model-datasource-strategy-types.ts",
|
5843
|
-
"line":
|
5822
|
+
"line": 150
|
5844
5823
|
},
|
5845
5824
|
"name": "typeName",
|
5846
5825
|
"type": {
|
@@ -5850,6 +5829,88 @@
|
|
5850
5829
|
],
|
5851
5830
|
"symbolId": "src/model-datasource-strategy-types:CustomSqlDataSourceStrategy"
|
5852
5831
|
},
|
5832
|
+
"@aws-amplify/graphql-api-construct.DataStoreConfiguration": {
|
5833
|
+
"assembly": "@aws-amplify/graphql-api-construct",
|
5834
|
+
"datatype": true,
|
5835
|
+
"docs": {
|
5836
|
+
"stability": "stable",
|
5837
|
+
"summary": "Project level configuration for DataStore."
|
5838
|
+
},
|
5839
|
+
"fqn": "@aws-amplify/graphql-api-construct.DataStoreConfiguration",
|
5840
|
+
"kind": "interface",
|
5841
|
+
"locationInModule": {
|
5842
|
+
"filename": "src/types.ts",
|
5843
|
+
"line": 244
|
5844
|
+
},
|
5845
|
+
"name": "DataStoreConfiguration",
|
5846
|
+
"properties": [
|
5847
|
+
{
|
5848
|
+
"abstract": true,
|
5849
|
+
"docs": {
|
5850
|
+
"stability": "stable",
|
5851
|
+
"summary": "Model-specific conflict resolution overrides."
|
5852
|
+
},
|
5853
|
+
"immutable": true,
|
5854
|
+
"locationInModule": {
|
5855
|
+
"filename": "src/types.ts",
|
5856
|
+
"line": 253
|
5857
|
+
},
|
5858
|
+
"name": "models",
|
5859
|
+
"optional": true,
|
5860
|
+
"type": {
|
5861
|
+
"collection": {
|
5862
|
+
"elementtype": {
|
5863
|
+
"union": {
|
5864
|
+
"types": [
|
5865
|
+
{
|
5866
|
+
"fqn": "@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy"
|
5867
|
+
},
|
5868
|
+
{
|
5869
|
+
"fqn": "@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy"
|
5870
|
+
},
|
5871
|
+
{
|
5872
|
+
"fqn": "@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy"
|
5873
|
+
}
|
5874
|
+
]
|
5875
|
+
}
|
5876
|
+
},
|
5877
|
+
"kind": "map"
|
5878
|
+
}
|
5879
|
+
}
|
5880
|
+
},
|
5881
|
+
{
|
5882
|
+
"abstract": true,
|
5883
|
+
"docs": {
|
5884
|
+
"remarks": "Applies to all non-overridden models.",
|
5885
|
+
"stability": "stable",
|
5886
|
+
"summary": "Project-wide config for conflict resolution."
|
5887
|
+
},
|
5888
|
+
"immutable": true,
|
5889
|
+
"locationInModule": {
|
5890
|
+
"filename": "src/types.ts",
|
5891
|
+
"line": 248
|
5892
|
+
},
|
5893
|
+
"name": "project",
|
5894
|
+
"optional": true,
|
5895
|
+
"type": {
|
5896
|
+
"union": {
|
5897
|
+
"types": [
|
5898
|
+
{
|
5899
|
+
"fqn": "@aws-amplify/graphql-api-construct.AutomergeConflictResolutionStrategy"
|
5900
|
+
},
|
5901
|
+
{
|
5902
|
+
"fqn": "@aws-amplify/graphql-api-construct.OptimisticConflictResolutionStrategy"
|
5903
|
+
},
|
5904
|
+
{
|
5905
|
+
"fqn": "@aws-amplify/graphql-api-construct.CustomConflictResolutionStrategy"
|
5906
|
+
}
|
5907
|
+
]
|
5908
|
+
}
|
5909
|
+
}
|
5910
|
+
}
|
5911
|
+
],
|
5912
|
+
"symbolId": "src/types:DataStoreConfiguration"
|
5913
|
+
},
|
5853
5914
|
"@aws-amplify/graphql-api-construct.DefaultDynamoDbModelDataSourceStrategy": {
|
5854
5915
|
"assembly": "@aws-amplify/graphql-api-construct",
|
5855
5916
|
"datatype": true,
|
@@ -5909,7 +5970,7 @@
|
|
5909
5970
|
"kind": "interface",
|
5910
5971
|
"locationInModule": {
|
5911
5972
|
"filename": "src/types.ts",
|
5912
|
-
"line":
|
5973
|
+
"line": 275
|
5913
5974
|
},
|
5914
5975
|
"name": "FunctionSlotBase",
|
5915
5976
|
"properties": [
|
@@ -5922,7 +5983,7 @@
|
|
5922
5983
|
"immutable": true,
|
5923
5984
|
"locationInModule": {
|
5924
5985
|
"filename": "src/types.ts",
|
5925
|
-
"line":
|
5986
|
+
"line": 279
|
5926
5987
|
},
|
5927
5988
|
"name": "fieldName",
|
5928
5989
|
"type": {
|
@@ -5938,7 +5999,7 @@
|
|
5938
5999
|
"immutable": true,
|
5939
6000
|
"locationInModule": {
|
5940
6001
|
"filename": "src/types.ts",
|
5941
|
-
"line":
|
6002
|
+
"line": 290
|
5942
6003
|
},
|
5943
6004
|
"name": "function",
|
5944
6005
|
"type": {
|
@@ -5955,7 +6016,7 @@
|
|
5955
6016
|
"immutable": true,
|
5956
6017
|
"locationInModule": {
|
5957
6018
|
"filename": "src/types.ts",
|
5958
|
-
"line":
|
6019
|
+
"line": 285
|
5959
6020
|
},
|
5960
6021
|
"name": "slotIndex",
|
5961
6022
|
"type": {
|
@@ -5977,7 +6038,7 @@
|
|
5977
6038
|
"kind": "interface",
|
5978
6039
|
"locationInModule": {
|
5979
6040
|
"filename": "src/types.ts",
|
5980
|
-
"line":
|
6041
|
+
"line": 260
|
5981
6042
|
},
|
5982
6043
|
"name": "FunctionSlotOverride",
|
5983
6044
|
"properties": [
|
@@ -5991,7 +6052,7 @@
|
|
5991
6052
|
"immutable": true,
|
5992
6053
|
"locationInModule": {
|
5993
6054
|
"filename": "src/types.ts",
|
5994
|
-
"line":
|
6055
|
+
"line": 264
|
5995
6056
|
},
|
5996
6057
|
"name": "requestMappingTemplate",
|
5997
6058
|
"optional": true,
|
@@ -6009,7 +6070,7 @@
|
|
6009
6070
|
"immutable": true,
|
6010
6071
|
"locationInModule": {
|
6011
6072
|
"filename": "src/types.ts",
|
6012
|
-
"line":
|
6073
|
+
"line": 269
|
6013
6074
|
},
|
6014
6075
|
"name": "responseMappingTemplate",
|
6015
6076
|
"optional": true,
|
@@ -6129,7 +6190,7 @@
|
|
6129
6190
|
"kind": "interface",
|
6130
6191
|
"locationInModule": {
|
6131
6192
|
"filename": "src/types.ts",
|
6132
|
-
"line":
|
6193
|
+
"line": 549
|
6133
6194
|
},
|
6134
6195
|
"name": "IAmplifyGraphqlDefinition",
|
6135
6196
|
"properties": [
|
@@ -6144,7 +6205,7 @@
|
|
6144
6205
|
"immutable": true,
|
6145
6206
|
"locationInModule": {
|
6146
6207
|
"filename": "src/types.ts",
|
6147
|
-
"line":
|
6208
|
+
"line": 574
|
6148
6209
|
},
|
6149
6210
|
"name": "dataSourceStrategies",
|
6150
6211
|
"type": {
|
@@ -6178,7 +6239,7 @@
|
|
6178
6239
|
"immutable": true,
|
6179
6240
|
"locationInModule": {
|
6180
6241
|
"filename": "src/types.ts",
|
6181
|
-
"line":
|
6242
|
+
"line": 560
|
6182
6243
|
},
|
6183
6244
|
"name": "functionSlots",
|
6184
6245
|
"type": {
|
@@ -6212,7 +6273,7 @@
|
|
6212
6273
|
"immutable": true,
|
6213
6274
|
"locationInModule": {
|
6214
6275
|
"filename": "src/types.ts",
|
6215
|
-
"line":
|
6276
|
+
"line": 554
|
6216
6277
|
},
|
6217
6278
|
"name": "schema",
|
6218
6279
|
"type": {
|
@@ -6229,7 +6290,7 @@
|
|
6229
6290
|
"immutable": true,
|
6230
6291
|
"locationInModule": {
|
6231
6292
|
"filename": "src/types.ts",
|
6232
|
-
"line":
|
6293
|
+
"line": 580
|
6233
6294
|
},
|
6234
6295
|
"name": "customSqlDataSourceStrategies",
|
6235
6296
|
"optional": true,
|
@@ -6253,7 +6314,7 @@
|
|
6253
6314
|
"immutable": true,
|
6254
6315
|
"locationInModule": {
|
6255
6316
|
"filename": "src/types.ts",
|
6256
|
-
"line":
|
6317
|
+
"line": 568
|
6257
6318
|
},
|
6258
6319
|
"name": "referencedLambdaFunctions",
|
6259
6320
|
"optional": true,
|
@@ -6279,7 +6340,7 @@
|
|
6279
6340
|
"kind": "interface",
|
6280
6341
|
"locationInModule": {
|
6281
6342
|
"filename": "src/types.ts",
|
6282
|
-
"line":
|
6343
|
+
"line": 586
|
6283
6344
|
},
|
6284
6345
|
"name": "IBackendOutputEntry",
|
6285
6346
|
"properties": [
|
@@ -6292,7 +6353,7 @@
|
|
6292
6353
|
"immutable": true,
|
6293
6354
|
"locationInModule": {
|
6294
6355
|
"filename": "src/types.ts",
|
6295
|
-
"line":
|
6356
|
+
"line": 595
|
6296
6357
|
},
|
6297
6358
|
"name": "payload",
|
6298
6359
|
"type": {
|
@@ -6313,7 +6374,7 @@
|
|
6313
6374
|
"immutable": true,
|
6314
6375
|
"locationInModule": {
|
6315
6376
|
"filename": "src/types.ts",
|
6316
|
-
"line":
|
6377
|
+
"line": 590
|
6317
6378
|
},
|
6318
6379
|
"name": "version",
|
6319
6380
|
"type": {
|
@@ -6333,7 +6394,7 @@
|
|
6333
6394
|
"kind": "interface",
|
6334
6395
|
"locationInModule": {
|
6335
6396
|
"filename": "src/types.ts",
|
6336
|
-
"line":
|
6397
|
+
"line": 601
|
6337
6398
|
},
|
6338
6399
|
"methods": [
|
6339
6400
|
{
|
@@ -6344,7 +6405,7 @@
|
|
6344
6405
|
},
|
6345
6406
|
"locationInModule": {
|
6346
6407
|
"filename": "src/types.ts",
|
6347
|
-
"line":
|
6408
|
+
"line": 608
|
6348
6409
|
},
|
6349
6410
|
"name": "addBackendOutputEntry",
|
6350
6411
|
"parameters": [
|
@@ -6436,7 +6497,7 @@
|
|
6436
6497
|
"kind": "interface",
|
6437
6498
|
"locationInModule": {
|
6438
6499
|
"filename": "src/types.ts",
|
6439
|
-
"line":
|
6500
|
+
"line": 296
|
6440
6501
|
},
|
6441
6502
|
"name": "MutationFunctionSlot",
|
6442
6503
|
"properties": [
|
@@ -6450,7 +6511,7 @@
|
|
6450
6511
|
"immutable": true,
|
6451
6512
|
"locationInModule": {
|
6452
6513
|
"filename": "src/types.ts",
|
6453
|
-
"line":
|
6514
|
+
"line": 306
|
6454
6515
|
},
|
6455
6516
|
"name": "slotName",
|
6456
6517
|
"type": {
|
@@ -6466,7 +6527,7 @@
|
|
6466
6527
|
"immutable": true,
|
6467
6528
|
"locationInModule": {
|
6468
6529
|
"filename": "src/types.ts",
|
6469
|
-
"line":
|
6530
|
+
"line": 300
|
6470
6531
|
},
|
6471
6532
|
"name": "typeName",
|
6472
6533
|
"type": {
|
@@ -6627,7 +6688,7 @@
|
|
6627
6688
|
"kind": "interface",
|
6628
6689
|
"locationInModule": {
|
6629
6690
|
"filename": "src/types.ts",
|
6630
|
-
"line":
|
6691
|
+
"line": 447
|
6631
6692
|
},
|
6632
6693
|
"name": "PartialTranslationBehavior",
|
6633
6694
|
"properties": [
|
@@ -6642,7 +6703,7 @@
|
|
6642
6703
|
"immutable": true,
|
6643
6704
|
"locationInModule": {
|
6644
6705
|
"filename": "src/types.ts",
|
6645
|
-
"line":
|
6706
|
+
"line": 533
|
6646
6707
|
},
|
6647
6708
|
"name": "allowDestructiveGraphqlSchemaUpdates",
|
6648
6709
|
"optional": true,
|
@@ -6660,7 +6721,7 @@
|
|
6660
6721
|
"immutable": true,
|
6661
6722
|
"locationInModule": {
|
6662
6723
|
"filename": "src/types.ts",
|
6663
|
-
"line":
|
6724
|
+
"line": 459
|
6664
6725
|
},
|
6665
6726
|
"name": "disableResolverDeduping",
|
6666
6727
|
"optional": true,
|
@@ -6682,7 +6743,7 @@
|
|
6682
6743
|
"immutable": true,
|
6683
6744
|
"locationInModule": {
|
6684
6745
|
"filename": "src/types.ts",
|
6685
|
-
"line":
|
6746
|
+
"line": 498
|
6686
6747
|
},
|
6687
6748
|
"name": "enableAutoIndexQueryNames",
|
6688
6749
|
"optional": true,
|
@@ -6701,7 +6762,7 @@
|
|
6701
6762
|
"immutable": true,
|
6702
6763
|
"locationInModule": {
|
6703
6764
|
"filename": "src/types.ts",
|
6704
|
-
"line":
|
6765
|
+
"line": 513
|
6705
6766
|
},
|
6706
6767
|
"name": "enableSearchNodeToNodeEncryption",
|
6707
6768
|
"optional": true,
|
@@ -6719,7 +6780,7 @@
|
|
6719
6780
|
"immutable": true,
|
6720
6781
|
"locationInModule": {
|
6721
6782
|
"filename": "src/types.ts",
|
6722
|
-
"line":
|
6783
|
+
"line": 519
|
6723
6784
|
},
|
6724
6785
|
"name": "enableTransformerCfnOutputs",
|
6725
6786
|
"optional": true,
|
@@ -6737,7 +6798,7 @@
|
|
6737
6798
|
"immutable": true,
|
6738
6799
|
"locationInModule": {
|
6739
6800
|
"filename": "src/types.ts",
|
6740
|
-
"line":
|
6801
|
+
"line": 478
|
6741
6802
|
},
|
6742
6803
|
"name": "populateOwnerFieldForStaticGroupAuth",
|
6743
6804
|
"optional": true,
|
@@ -6756,7 +6817,7 @@
|
|
6756
6817
|
"immutable": true,
|
6757
6818
|
"locationInModule": {
|
6758
6819
|
"filename": "src/types.ts",
|
6759
|
-
"line":
|
6820
|
+
"line": 543
|
6760
6821
|
},
|
6761
6822
|
"name": "replaceTableUponGsiUpdate",
|
6762
6823
|
"optional": true,
|
@@ -6774,7 +6835,7 @@
|
|
6774
6835
|
"immutable": true,
|
6775
6836
|
"locationInModule": {
|
6776
6837
|
"filename": "src/types.ts",
|
6777
|
-
"line":
|
6838
|
+
"line": 504
|
6778
6839
|
},
|
6779
6840
|
"name": "respectPrimaryKeyAttributesOnConnectionField",
|
6780
6841
|
"optional": true,
|
@@ -6792,7 +6853,7 @@
|
|
6792
6853
|
"immutable": true,
|
6793
6854
|
"locationInModule": {
|
6794
6855
|
"filename": "src/types.ts",
|
6795
|
-
"line":
|
6856
|
+
"line": 465
|
6796
6857
|
},
|
6797
6858
|
"name": "sandboxModeEnabled",
|
6798
6859
|
"optional": true,
|
@@ -6813,7 +6874,7 @@
|
|
6813
6874
|
"immutable": true,
|
6814
6875
|
"locationInModule": {
|
6815
6876
|
"filename": "src/types.ts",
|
6816
|
-
"line":
|
6877
|
+
"line": 491
|
6817
6878
|
},
|
6818
6879
|
"name": "secondaryKeyAsGSI",
|
6819
6880
|
"optional": true,
|
@@ -6834,7 +6895,7 @@
|
|
6834
6895
|
"immutable": true,
|
6835
6896
|
"locationInModule": {
|
6836
6897
|
"filename": "src/types.ts",
|
6837
|
-
"line":
|
6898
|
+
"line": 452
|
6838
6899
|
},
|
6839
6900
|
"name": "shouldDeepMergeDirectiveConfigDefaults",
|
6840
6901
|
"optional": true,
|
@@ -6853,7 +6914,7 @@
|
|
6853
6914
|
"immutable": true,
|
6854
6915
|
"locationInModule": {
|
6855
6916
|
"filename": "src/types.ts",
|
6856
|
-
"line":
|
6917
|
+
"line": 485
|
6857
6918
|
},
|
6858
6919
|
"name": "suppressApiKeyGeneration",
|
6859
6920
|
"optional": true,
|
@@ -6871,7 +6932,7 @@
|
|
6871
6932
|
"immutable": true,
|
6872
6933
|
"locationInModule": {
|
6873
6934
|
"filename": "src/types.ts",
|
6874
|
-
"line":
|
6935
|
+
"line": 472
|
6875
6936
|
},
|
6876
6937
|
"name": "useSubUsernameForDefaultIdentityClaim",
|
6877
6938
|
"optional": true,
|
@@ -6981,7 +7042,7 @@
|
|
6981
7042
|
"kind": "interface",
|
6982
7043
|
"locationInModule": {
|
6983
7044
|
"filename": "src/types.ts",
|
6984
|
-
"line":
|
7045
|
+
"line": 312
|
6985
7046
|
},
|
6986
7047
|
"name": "QueryFunctionSlot",
|
6987
7048
|
"properties": [
|
@@ -6995,7 +7056,7 @@
|
|
6995
7056
|
"immutable": true,
|
6996
7057
|
"locationInModule": {
|
6997
7058
|
"filename": "src/types.ts",
|
6998
|
-
"line":
|
7059
|
+
"line": 322
|
6999
7060
|
},
|
7000
7061
|
"name": "slotName",
|
7001
7062
|
"type": {
|
@@ -7011,7 +7072,7 @@
|
|
7011
7072
|
"immutable": true,
|
7012
7073
|
"locationInModule": {
|
7013
7074
|
"filename": "src/types.ts",
|
7014
|
-
"line":
|
7075
|
+
"line": 316
|
7015
7076
|
},
|
7016
7077
|
"name": "typeName",
|
7017
7078
|
"type": {
|
@@ -7049,16 +7110,7 @@
|
|
7049
7110
|
},
|
7050
7111
|
"name": "dbConnectionConfig",
|
7051
7112
|
"type": {
|
7052
|
-
"
|
7053
|
-
"types": [
|
7054
|
-
{
|
7055
|
-
"fqn": "@aws-amplify/graphql-api-construct.SqlModelDataSourceSecretsManagerDbConnectionConfig"
|
7056
|
-
},
|
7057
|
-
{
|
7058
|
-
"fqn": "@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig"
|
7059
|
-
}
|
7060
|
-
]
|
7061
|
-
}
|
7113
|
+
"fqn": "@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig"
|
7062
7114
|
}
|
7063
7115
|
},
|
7064
7116
|
{
|
@@ -7169,7 +7221,7 @@
|
|
7169
7221
|
"kind": "class",
|
7170
7222
|
"locationInModule": {
|
7171
7223
|
"filename": "src/sql-model-datasource-strategy.ts",
|
7172
|
-
"line":
|
7224
|
+
"line": 40
|
7173
7225
|
},
|
7174
7226
|
"methods": [
|
7175
7227
|
{
|
@@ -7180,7 +7232,7 @@
|
|
7180
7232
|
},
|
7181
7233
|
"locationInModule": {
|
7182
7234
|
"filename": "src/sql-model-datasource-strategy.ts",
|
7183
|
-
"line":
|
7235
|
+
"line": 47
|
7184
7236
|
},
|
7185
7237
|
"name": "fromCustomSqlFiles",
|
7186
7238
|
"parameters": [
|
@@ -7314,109 +7366,7 @@
|
|
7314
7366
|
"name": "SSEType",
|
7315
7367
|
"symbolId": "src/amplify-dynamodb-table-wrapper:SSEType"
|
7316
7368
|
},
|
7317
|
-
"@aws-amplify/graphql-api-construct.
|
7318
|
-
"assembly": "@aws-amplify/graphql-api-construct",
|
7319
|
-
"datatype": true,
|
7320
|
-
"docs": {
|
7321
|
-
"remarks": "The managed secret should be in the same region as the lambda.",
|
7322
|
-
"stability": "experimental",
|
7323
|
-
"summary": "The credentials stored in Secrets Manager that the lambda data source will use to connect to the database."
|
7324
|
-
},
|
7325
|
-
"fqn": "@aws-amplify/graphql-api-construct.SqlModelDataSourceSecretsManagerDbConnectionConfig",
|
7326
|
-
"kind": "interface",
|
7327
|
-
"locationInModule": {
|
7328
|
-
"filename": "src/model-datasource-strategy-types.ts",
|
7329
|
-
"line": 134
|
7330
|
-
},
|
7331
|
-
"name": "SqlModelDataSourceSecretsManagerDbConnectionConfig",
|
7332
|
-
"properties": [
|
7333
|
-
{
|
7334
|
-
"abstract": true,
|
7335
|
-
"docs": {
|
7336
|
-
"stability": "experimental",
|
7337
|
-
"summary": "The database name."
|
7338
|
-
},
|
7339
|
-
"immutable": true,
|
7340
|
-
"locationInModule": {
|
7341
|
-
"filename": "src/model-datasource-strategy-types.ts",
|
7342
|
-
"line": 145
|
7343
|
-
},
|
7344
|
-
"name": "databaseName",
|
7345
|
-
"type": {
|
7346
|
-
"primitive": "string"
|
7347
|
-
}
|
7348
|
-
},
|
7349
|
-
{
|
7350
|
-
"abstract": true,
|
7351
|
-
"docs": {
|
7352
|
-
"stability": "experimental",
|
7353
|
-
"summary": "The hostame of the database."
|
7354
|
-
},
|
7355
|
-
"immutable": true,
|
7356
|
-
"locationInModule": {
|
7357
|
-
"filename": "src/model-datasource-strategy-types.ts",
|
7358
|
-
"line": 148
|
7359
|
-
},
|
7360
|
-
"name": "hostname",
|
7361
|
-
"type": {
|
7362
|
-
"primitive": "string"
|
7363
|
-
}
|
7364
|
-
},
|
7365
|
-
{
|
7366
|
-
"abstract": true,
|
7367
|
-
"docs": {
|
7368
|
-
"stability": "experimental",
|
7369
|
-
"summary": "The port number of the database proxy, cluster, or instance."
|
7370
|
-
},
|
7371
|
-
"immutable": true,
|
7372
|
-
"locationInModule": {
|
7373
|
-
"filename": "src/model-datasource-strategy-types.ts",
|
7374
|
-
"line": 142
|
7375
|
-
},
|
7376
|
-
"name": "port",
|
7377
|
-
"type": {
|
7378
|
-
"primitive": "number"
|
7379
|
-
}
|
7380
|
-
},
|
7381
|
-
{
|
7382
|
-
"abstract": true,
|
7383
|
-
"docs": {
|
7384
|
-
"remarks": "*",
|
7385
|
-
"stability": "experimental",
|
7386
|
-
"summary": "The ARN of the managed secret with username, password, and hostname to use when connecting to the database."
|
7387
|
-
},
|
7388
|
-
"immutable": true,
|
7389
|
-
"locationInModule": {
|
7390
|
-
"filename": "src/model-datasource-strategy-types.ts",
|
7391
|
-
"line": 136
|
7392
|
-
},
|
7393
|
-
"name": "secretArn",
|
7394
|
-
"type": {
|
7395
|
-
"primitive": "string"
|
7396
|
-
}
|
7397
|
-
},
|
7398
|
-
{
|
7399
|
-
"abstract": true,
|
7400
|
-
"docs": {
|
7401
|
-
"remarks": "If not supplied, the secret is expected to be encrypted with the default AWS-managed key. *",
|
7402
|
-
"stability": "experimental",
|
7403
|
-
"summary": "The ARN of the customer managed encryption key for the secret."
|
7404
|
-
},
|
7405
|
-
"immutable": true,
|
7406
|
-
"locationInModule": {
|
7407
|
-
"filename": "src/model-datasource-strategy-types.ts",
|
7408
|
-
"line": 139
|
7409
|
-
},
|
7410
|
-
"name": "keyArn",
|
7411
|
-
"optional": true,
|
7412
|
-
"type": {
|
7413
|
-
"primitive": "string"
|
7414
|
-
}
|
7415
|
-
}
|
7416
|
-
],
|
7417
|
-
"symbolId": "src/model-datasource-strategy-types:SqlModelDataSourceSecretsManagerDbConnectionConfig"
|
7418
|
-
},
|
7419
|
-
"@aws-amplify/graphql-api-construct.SqlModelDataSourceSsmDbConnectionConfig": {
|
7369
|
+
"@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig": {
|
7420
7370
|
"assembly": "@aws-amplify/graphql-api-construct",
|
7421
7371
|
"datatype": true,
|
7422
7372
|
"docs": {
|
@@ -7424,13 +7374,13 @@
|
|
7424
7374
|
"stability": "stable",
|
7425
7375
|
"summary": "The Secure Systems Manager parameter paths the Lambda data source will use to connect to the database."
|
7426
7376
|
},
|
7427
|
-
"fqn": "@aws-amplify/graphql-api-construct.
|
7377
|
+
"fqn": "@aws-amplify/graphql-api-construct.SqlModelDataSourceDbConnectionConfig",
|
7428
7378
|
"kind": "interface",
|
7429
7379
|
"locationInModule": {
|
7430
7380
|
"filename": "src/model-datasource-strategy-types.ts",
|
7431
|
-
"line":
|
7381
|
+
"line": 124
|
7432
7382
|
},
|
7433
|
-
"name": "
|
7383
|
+
"name": "SqlModelDataSourceDbConnectionConfig",
|
7434
7384
|
"properties": [
|
7435
7385
|
{
|
7436
7386
|
"abstract": true,
|
@@ -7441,7 +7391,7 @@
|
|
7441
7391
|
"immutable": true,
|
7442
7392
|
"locationInModule": {
|
7443
7393
|
"filename": "src/model-datasource-strategy-types.ts",
|
7444
|
-
"line":
|
7394
|
+
"line": 140
|
7445
7395
|
},
|
7446
7396
|
"name": "databaseNameSsmPath",
|
7447
7397
|
"type": {
|
@@ -7458,7 +7408,7 @@
|
|
7458
7408
|
"immutable": true,
|
7459
7409
|
"locationInModule": {
|
7460
7410
|
"filename": "src/model-datasource-strategy-types.ts",
|
7461
|
-
"line":
|
7411
|
+
"line": 128
|
7462
7412
|
},
|
7463
7413
|
"name": "hostnameSsmPath",
|
7464
7414
|
"type": {
|
@@ -7474,7 +7424,7 @@
|
|
7474
7424
|
"immutable": true,
|
7475
7425
|
"locationInModule": {
|
7476
7426
|
"filename": "src/model-datasource-strategy-types.ts",
|
7477
|
-
"line":
|
7427
|
+
"line": 137
|
7478
7428
|
},
|
7479
7429
|
"name": "passwordSsmPath",
|
7480
7430
|
"type": {
|
@@ -7490,7 +7440,7 @@
|
|
7490
7440
|
"immutable": true,
|
7491
7441
|
"locationInModule": {
|
7492
7442
|
"filename": "src/model-datasource-strategy-types.ts",
|
7493
|
-
"line":
|
7443
|
+
"line": 131
|
7494
7444
|
},
|
7495
7445
|
"name": "portSsmPath",
|
7496
7446
|
"type": {
|
@@ -7506,7 +7456,7 @@
|
|
7506
7456
|
"immutable": true,
|
7507
7457
|
"locationInModule": {
|
7508
7458
|
"filename": "src/model-datasource-strategy-types.ts",
|
7509
|
-
"line":
|
7459
|
+
"line": 134
|
7510
7460
|
},
|
7511
7461
|
"name": "usernameSsmPath",
|
7512
7462
|
"type": {
|
@@ -7514,7 +7464,7 @@
|
|
7514
7464
|
}
|
7515
7465
|
}
|
7516
7466
|
],
|
7517
|
-
"symbolId": "src/model-datasource-strategy-types:
|
7467
|
+
"symbolId": "src/model-datasource-strategy-types:SqlModelDataSourceDbConnectionConfig"
|
7518
7468
|
},
|
7519
7469
|
"@aws-amplify/graphql-api-construct.StreamSpecification": {
|
7520
7470
|
"assembly": "@aws-amplify/graphql-api-construct",
|
@@ -7616,7 +7566,7 @@
|
|
7616
7566
|
"kind": "interface",
|
7617
7567
|
"locationInModule": {
|
7618
7568
|
"filename": "src/types.ts",
|
7619
|
-
"line":
|
7569
|
+
"line": 328
|
7620
7570
|
},
|
7621
7571
|
"name": "SubscriptionFunctionSlot",
|
7622
7572
|
"properties": [
|
@@ -7630,7 +7580,7 @@
|
|
7630
7580
|
"immutable": true,
|
7631
7581
|
"locationInModule": {
|
7632
7582
|
"filename": "src/types.ts",
|
7633
|
-
"line":
|
7583
|
+
"line": 338
|
7634
7584
|
},
|
7635
7585
|
"name": "slotName",
|
7636
7586
|
"type": {
|
@@ -7646,7 +7596,7 @@
|
|
7646
7596
|
"immutable": true,
|
7647
7597
|
"locationInModule": {
|
7648
7598
|
"filename": "src/types.ts",
|
7649
|
-
"line":
|
7599
|
+
"line": 332
|
7650
7600
|
},
|
7651
7601
|
"name": "typeName",
|
7652
7602
|
"type": {
|
@@ -7719,7 +7669,7 @@
|
|
7719
7669
|
"kind": "interface",
|
7720
7670
|
"locationInModule": {
|
7721
7671
|
"filename": "src/types.ts",
|
7722
|
-
"line":
|
7672
|
+
"line": 352
|
7723
7673
|
},
|
7724
7674
|
"name": "TranslationBehavior",
|
7725
7675
|
"properties": [
|
@@ -7734,7 +7684,7 @@
|
|
7734
7684
|
"immutable": true,
|
7735
7685
|
"locationInModule": {
|
7736
7686
|
"filename": "src/types.ts",
|
7737
|
-
"line":
|
7687
|
+
"line": 431
|
7738
7688
|
},
|
7739
7689
|
"name": "allowDestructiveGraphqlSchemaUpdates",
|
7740
7690
|
"type": {
|
@@ -7751,7 +7701,7 @@
|
|
7751
7701
|
"immutable": true,
|
7752
7702
|
"locationInModule": {
|
7753
7703
|
"filename": "src/types.ts",
|
7754
|
-
"line":
|
7704
|
+
"line": 364
|
7755
7705
|
},
|
7756
7706
|
"name": "disableResolverDeduping",
|
7757
7707
|
"type": {
|
@@ -7772,7 +7722,7 @@
|
|
7772
7722
|
"immutable": true,
|
7773
7723
|
"locationInModule": {
|
7774
7724
|
"filename": "src/types.ts",
|
7775
|
-
"line":
|
7725
|
+
"line": 403
|
7776
7726
|
},
|
7777
7727
|
"name": "enableAutoIndexQueryNames",
|
7778
7728
|
"type": {
|
@@ -7787,7 +7737,7 @@
|
|
7787
7737
|
"immutable": true,
|
7788
7738
|
"locationInModule": {
|
7789
7739
|
"filename": "src/types.ts",
|
7790
|
-
"line":
|
7740
|
+
"line": 411
|
7791
7741
|
},
|
7792
7742
|
"name": "enableSearchNodeToNodeEncryption",
|
7793
7743
|
"type": {
|
@@ -7804,7 +7754,7 @@
|
|
7804
7754
|
"immutable": true,
|
7805
7755
|
"locationInModule": {
|
7806
7756
|
"filename": "src/types.ts",
|
7807
|
-
"line":
|
7757
|
+
"line": 417
|
7808
7758
|
},
|
7809
7759
|
"name": "enableTransformerCfnOutputs",
|
7810
7760
|
"type": {
|
@@ -7821,7 +7771,7 @@
|
|
7821
7771
|
"immutable": true,
|
7822
7772
|
"locationInModule": {
|
7823
7773
|
"filename": "src/types.ts",
|
7824
|
-
"line":
|
7774
|
+
"line": 383
|
7825
7775
|
},
|
7826
7776
|
"name": "populateOwnerFieldForStaticGroupAuth",
|
7827
7777
|
"type": {
|
@@ -7839,7 +7789,7 @@
|
|
7839
7789
|
"immutable": true,
|
7840
7790
|
"locationInModule": {
|
7841
7791
|
"filename": "src/types.ts",
|
7842
|
-
"line":
|
7792
|
+
"line": 441
|
7843
7793
|
},
|
7844
7794
|
"name": "replaceTableUponGsiUpdate",
|
7845
7795
|
"type": {
|
@@ -7856,7 +7806,7 @@
|
|
7856
7806
|
"immutable": true,
|
7857
7807
|
"locationInModule": {
|
7858
7808
|
"filename": "src/types.ts",
|
7859
|
-
"line":
|
7809
|
+
"line": 409
|
7860
7810
|
},
|
7861
7811
|
"name": "respectPrimaryKeyAttributesOnConnectionField",
|
7862
7812
|
"type": {
|
@@ -7873,7 +7823,7 @@
|
|
7873
7823
|
"immutable": true,
|
7874
7824
|
"locationInModule": {
|
7875
7825
|
"filename": "src/types.ts",
|
7876
|
-
"line":
|
7826
|
+
"line": 370
|
7877
7827
|
},
|
7878
7828
|
"name": "sandboxModeEnabled",
|
7879
7829
|
"type": {
|
@@ -7893,7 +7843,7 @@
|
|
7893
7843
|
"immutable": true,
|
7894
7844
|
"locationInModule": {
|
7895
7845
|
"filename": "src/types.ts",
|
7896
|
-
"line":
|
7846
|
+
"line": 396
|
7897
7847
|
},
|
7898
7848
|
"name": "secondaryKeyAsGSI",
|
7899
7849
|
"type": {
|
@@ -7913,7 +7863,7 @@
|
|
7913
7863
|
"immutable": true,
|
7914
7864
|
"locationInModule": {
|
7915
7865
|
"filename": "src/types.ts",
|
7916
|
-
"line":
|
7866
|
+
"line": 357
|
7917
7867
|
},
|
7918
7868
|
"name": "shouldDeepMergeDirectiveConfigDefaults",
|
7919
7869
|
"type": {
|
@@ -7931,7 +7881,7 @@
|
|
7931
7881
|
"immutable": true,
|
7932
7882
|
"locationInModule": {
|
7933
7883
|
"filename": "src/types.ts",
|
7934
|
-
"line":
|
7884
|
+
"line": 390
|
7935
7885
|
},
|
7936
7886
|
"name": "suppressApiKeyGeneration",
|
7937
7887
|
"type": {
|
@@ -7948,7 +7898,7 @@
|
|
7948
7898
|
"immutable": true,
|
7949
7899
|
"locationInModule": {
|
7950
7900
|
"filename": "src/types.ts",
|
7951
|
-
"line":
|
7901
|
+
"line": 377
|
7952
7902
|
},
|
7953
7903
|
"name": "useSubUsernameForDefaultIdentityClaim",
|
7954
7904
|
"type": {
|
@@ -8070,6 +8020,6 @@
|
|
8070
8020
|
"symbolId": "src/model-datasource-strategy-types:VpcConfig"
|
8071
8021
|
}
|
8072
8022
|
},
|
8073
|
-
"version": "1.6.0
|
8074
|
-
"fingerprint": "
|
8023
|
+
"version": "1.6.0",
|
8024
|
+
"fingerprint": "u5snO8ZPHMiLPk5jyhc3cmp3VfXmaoo01VrGRkW5fwg="
|
8075
8025
|
}
|