Provides an AppSync DataSource.
resource "aws_dynamodb_table" "example" { name = "example" read_capacity = 1 write_capacity = 1 hash_key = "UserId" attribute { name = "UserId" type = "S" } } resource "aws_iam_role" "example" { name = "example" assume_role_policy = <<EOF { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Principal": { "Service": "appsync.amazonaws.com" }, "Effect": "Allow" } ] } EOF } resource "aws_iam_role_policy" "example" { name = "example" role = "${aws_iam_role.example.id}" policy = <<EOF { "Version": "2012-10-17", "Statement": [ { "Action": [ "dynamodb:*" ], "Effect": "Allow", "Resource": [ "${aws_dynamodb_table.example.arn}" ] } ] } EOF } resource "aws_appsync_graphql_api" "example" { authentication_type = "API_KEY" name = "tf_appsync_example" } resource "aws_appsync_datasource" "example" { api_id = "${aws_appsync_graphql_api.example.id}" name = "tf_appsync_example" type = "AMAZON_DYNAMODB" dynamodb_config { region = "us-west-2" table_name = "${aws_dynamodb_table.example.name}" } service_role_arn = "${aws_iam_role.example.arn}" }
The following arguments are supported:
api_id
- (Required) The API ID for the GraphQL API for the DataSource. name
- (Required) A user-supplied name for the DataSource. type
- (Required) The type of the DataSource. Valid values: AWS_LAMBDA
, AMAZON_DYNAMODB
and AMAZON_ELASTICSEARCH
, NONE
. description
- (Optional) A description of the DataSource. service_role_arn
- (Optional) The IAM service role ARN for the data source. dynamodb_config
- (Optional) DynamoDB settings. See below elasticsearch_config
- (Optional) Amazon Elasticsearch settings. See below lambda_config
- (Optional) AWS Lambda settings. See below The following arguments are supported:
region
- (Required) The AWS region. table_name
- (Required) The table name. use_caller_credentials
- (Optional) Set to TRUE to use Amazon Cognito credentials with this data source. The following arguments are supported:
The following arguments are supported:
function_arn
- (Required) The ARN for the Lambda function. In addition to all arguments above, the following attributes are exported:
arn
- The ARN
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/aws/r/appsync_datasource.html