AppSync
Terraform module to create AWS AWS AppSync resources
Inputs
40 / 50
additional_authentication_provideroptionalanyOne or more additional authentication providers for the GraphqlApi.
{}api_keysoptionalmap(string)Map of API keys to create
{}authentication_typeoptionalstringThe authentication type to use by GraphQL API
API_KEYcache_at_rest_encryption_enabledoptionalboolAt-rest encryption flag for cache.
falsecache_transit_encryption_enabledoptionalboolTransit encryption flag when connecting to cache.
falsecache_ttloptionalnumberTTL in seconds for cache entries
1cache_typeoptionalstringThe cache instance type.
SMALLcaching_behavioroptionalstringCaching behavior.
FULL_REQUEST_CACHINGcaching_enabledoptionalboolWhether caching with Elasticache is enabled.
falsecertificate_arnoptionalstringThe Amazon Resource Name (ARN) of the certificate.
""create_graphql_apioptionalboolWhether to create GraphQL API
truecreate_logs_roleoptionalboolWhether to create service role for Cloudwatch logs
truedatasourcesoptionalanyMap of datasources to create
{}direct_lambda_request_templateoptionalstringVTL request template for the direct lambda integrations
{
"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_templateoptionalstringVTL response template for the direct lambda integrations
$util.toJson($ctx.result)
domain_nameoptionalstringThe domain name that AppSync gets associated with.
""domain_name_association_enabledoptionalboolWhether to enable domain name association on GraphQL API
falsedomain_name_descriptionoptionalstringA description of the Domain Name.
nulldynamodb_allowed_actionsoptionallist(string)List of allowed IAM actions for datasources type AMAZON_DYNAMODB
[…]elasticsearch_allowed_actionsoptionallist(string)List of allowed IAM actions for datasources type AMAZON_ELASTICSEARCH
[…]enhanced_metrics_configoptionalmap(string)Nested argument containing Lambda Ehanced metrics configuration.
{}eventbridge_allowed_actionsoptionallist(string)List of allowed IAM actions for datasources type AMAZON_EVENTBRIDGE
[…]functionsoptionalanyMap of functions to create
{}graphql_api_tagsoptionalmap(string)Map of tags to add to GraphQL API
{}iam_permissions_boundaryoptionalstringARN for iam permissions boundary
nullintrospection_configoptionalstringWhether to enable or disable introspection of the GraphQL API.
nulllambda_allowed_actionsoptionallist(string)List of allowed IAM actions for datasources type AWS_LAMBDA
[…]lambda_authorizer_configoptionalmap(string)Nested argument containing Lambda authorizer configuration.
{}log_cloudwatch_logs_role_arnoptionalstringAmazon Resource Name of the service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in your account.
nulllog_exclude_verbose_contentoptionalboolSet to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level.
falselog_field_log_leveloptionalstringField logging level. Valid values: ALL, ERROR, NONE.
nulllogging_enabledoptionalboolWhether to enable Cloudwatch logging on GraphQL API
falselogs_role_descriptionoptionalstringDescription for the IAM role to create for Cloudwatch logs
nulllogs_role_nameoptionalstringName of IAM role to create for Cloudwatch logs
nulllogs_role_tagsoptionalmap(string)Map of tags to add to Cloudwatch logs IAM role
{}nameoptionalstringName of GraphQL API
""openid_connect_configoptionalmap(string)Nested argument containing OpenID Connect configuration.
{}opensearchservice_allowed_actionsoptionallist(string)List of allowed IAM actions for datasources type AMAZON_OPENSEARCH_SERVICE
[…]query_depth_limitoptionalnumberThe maximum depth a query can have in a single request.
nullregionoptionalstringRegion where the resource(s) will be managed. Defaults to the region set in the provider configuration
nullAll 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_idMap of API Key ID (Formatted as ApiId:Key)
appsync_api_key_keyMap of API Keys
appsync_datasource_arnMap of ARNs of datasources
appsync_domain_hosted_zone_idThe ID of your Amazon Route 53 hosted zone.
appsync_domain_idThe Appsync Domain Name.
appsync_domain_nameThe domain name that AppSync provides.
appsync_function_arnMap of ARNs of functions
appsync_function_function_idMap of function IDs of functions
appsync_function_idMap of IDs of functions
appsync_graphql_api_arnARN of GraphQL API
appsync_graphql_api_fqdnsMap of FQDNs associated with the API (no protocol and path)
appsync_graphql_api_idID of GraphQL API
appsync_graphql_api_urisMap of URIs associated with the API
appsync_resolver_arnMap 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.