Module library

AppSync

Terraform module to create AWS AWS AppSync resources

Inputs

40 / 50
additional_authentication_provideroptionalany

One or more additional authentication providers for the GraphqlApi.

Default{}
api_keysoptionalmap(string)

Map of API keys to create

Default{}
authentication_typeoptionalstring

The authentication type to use by GraphQL API

DefaultAPI_KEY
cache_at_rest_encryption_enabledoptionalbool

At-rest encryption flag for cache.

Defaultfalse
cache_transit_encryption_enabledoptionalbool

Transit encryption flag when connecting to cache.

Defaultfalse
cache_ttloptionalnumber

TTL in seconds for cache entries

Default1
cache_typeoptionalstring

The cache instance type.

DefaultSMALL
caching_behavioroptionalstring

Caching behavior.

DefaultFULL_REQUEST_CACHING
caching_enabledoptionalbool

Whether caching with Elasticache is enabled.

Defaultfalse
certificate_arnoptionalstring

The Amazon Resource Name (ARN) of the certificate.

Default""
create_graphql_apioptionalbool

Whether to create GraphQL API

Defaulttrue
create_logs_roleoptionalbool

Whether to create service role for Cloudwatch logs

Defaulttrue
datasourcesoptionalany

Map of datasources to create

Default{}
direct_lambda_request_templateoptionalstring

VTL request template for the direct lambda integrations

Default{ "version" : "2017-02-28", "operation": "Invoke", "payload": { "arguments": $util.toJson($ctx.arguments), "identity": $util.toJson($ctx.identity), "source": $util.toJson($ctx.source), "request": $util.toJson($ctx.request), "prev": $util.toJson($ctx.prev), "info": { "selectionSetList": $util.toJson($ctx.info.selectionSetList), "selectionSetGraphQL": $util.toJson($ctx.info.selectionSetGraphQL), "parentTypeName": $util.toJson($ctx.info.parentTypeName), "fieldName": $util.toJson($ctx.info.fieldName), "variables": $util.toJson($ctx.info.variables) }, "stash": $util.toJson($ctx.stash) } }
direct_lambda_response_templateoptionalstring

VTL response template for the direct lambda integrations

Default$util.toJson($ctx.result)
domain_nameoptionalstring

The domain name that AppSync gets associated with.

Default""
domain_name_association_enabledoptionalbool

Whether to enable domain name association on GraphQL API

Defaultfalse
domain_name_descriptionoptionalstring

A description of the Domain Name.

Defaultnull
dynamodb_allowed_actionsoptionallist(string)

List of allowed IAM actions for datasources type AMAZON_DYNAMODB

Default[…]
elasticsearch_allowed_actionsoptionallist(string)

List of allowed IAM actions for datasources type AMAZON_ELASTICSEARCH

Default[…]
enhanced_metrics_configoptionalmap(string)

Nested argument containing Lambda Ehanced metrics configuration.

Default{}
eventbridge_allowed_actionsoptionallist(string)

List of allowed IAM actions for datasources type AMAZON_EVENTBRIDGE

Default[…]
functionsoptionalany

Map of functions to create

Default{}
graphql_api_tagsoptionalmap(string)

Map of tags to add to GraphQL API

Default{}
iam_permissions_boundaryoptionalstring

ARN for iam permissions boundary

Defaultnull
introspection_configoptionalstring

Whether to enable or disable introspection of the GraphQL API.

Defaultnull
lambda_allowed_actionsoptionallist(string)

List of allowed IAM actions for datasources type AWS_LAMBDA

Default[…]
lambda_authorizer_configoptionalmap(string)

Nested argument containing Lambda authorizer configuration.

Default{}
log_cloudwatch_logs_role_arnoptionalstring

Amazon Resource Name of the service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in your account.

Defaultnull
log_exclude_verbose_contentoptionalbool

Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level.

Defaultfalse
log_field_log_leveloptionalstring

Field logging level. Valid values: ALL, ERROR, NONE.

Defaultnull
logging_enabledoptionalbool

Whether to enable Cloudwatch logging on GraphQL API

Defaultfalse
logs_role_descriptionoptionalstring

Description for the IAM role to create for Cloudwatch logs

Defaultnull
logs_role_nameoptionalstring

Name of IAM role to create for Cloudwatch logs

Defaultnull
logs_role_tagsoptionalmap(string)

Map of tags to add to Cloudwatch logs IAM role

Default{}
nameoptionalstring

Name of GraphQL API

Default""
openid_connect_configoptionalmap(string)

Nested argument containing OpenID Connect configuration.

Default{}
opensearchservice_allowed_actionsoptionallist(string)

List of allowed IAM actions for datasources type AMAZON_OPENSEARCH_SERVICE

Default[…]
query_depth_limitoptionalnumber

The maximum depth a query can have in a single request.

Defaultnull
regionoptionalstring

Region where the resource(s) will be managed. Defaults to the region set in the provider configuration

Defaultnull

All 50 are optional — the module deploys with none of them set. Showing 40, so the site stays a static download — the remaining 10 are in the source.

Outputs

14
appsync_api_key_id

Map of API Key ID (Formatted as ApiId:Key)

appsync_api_key_key

Map of API Keys

appsync_datasource_arn

Map of ARNs of datasources

appsync_domain_hosted_zone_id

The ID of your Amazon Route 53 hosted zone.

appsync_domain_id

The Appsync Domain Name.

appsync_domain_name

The domain name that AppSync provides.

appsync_function_arn

Map of ARNs of functions

appsync_function_function_id

Map of function IDs of functions

appsync_function_id

Map of IDs of functions

appsync_graphql_api_arn

ARN of GraphQL API

appsync_graphql_api_fqdns

Map of FQDNs associated with the API (no protocol and path)

appsync_graphql_api_id

ID of GraphQL API

appsync_graphql_api_uris

Map of URIs associated with the API

appsync_resolver_arn

Map of ARNs of resolvers

What the agent wires into the next module. An edge on the architecture diagram is one of these consumed by something else.