Google Cloud Endpoints
This module allows simple management of 'Google Cloud Endpoints' services. It supports creating 'OpenAPI' or 'gRPC' endpoints.
Examples
OpenAPI
module "endpoint" {
source = "./fabric/modules/endpoints"
project_id = "my-project"
service_name = "YOUR-API.endpoints.YOUR-PROJECT-ID.cloud.goog"
openapi_config = { "yaml_path" = "configs/endpoints/openapi.yaml" }
iam = {
"servicemanagement.serviceController" = [
"serviceAccount:123456890-compute@developer.gserviceaccount.com"
]
}
}
# tftest modules=1 resources=2 files=openapi
# tftest-file id=openapi path=configs/endpoints/openapi.yaml
swagger: "2.0"
info:
description: "A simple Google Cloud Endpoints API example."
title: "Endpoints Example"
version: "1.0.0"
host: "echo-api.endpoints.YOUR-PROJECT-ID.cloud.goog"
Here you can find an example of an openapi.yaml file. Once created the endpoint, remember to activate the service at project level.
Variables
name |
description |
type |
required |
default |
openapi_config |
The configuration for an OpenAPI endopoint. Either this or grpc_config must be specified. |
object({…}) |
✓ |
|
service_name |
The name of the service. Usually of the form '$apiname.endpoints.$projectid.cloud.goog'. |
string |
✓ |
|
grpc_config |
The configuration for a gRPC enpoint. Either this or openapi_config must be specified. |
object({…}) |
|
null |
iam |
IAM bindings for topic in {ROLE => [MEMBERS]} format. |
map(list(string)) |
|
{} |
project_id |
The project ID that the service belongs to. |
string |
|
null |
Outputs