This module allows simple management of 'Google Cloud Endpoints' services. It supports creating 'OpenAPI' or 'gRPC' endpoints.
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:[email protected]"
]
}
}
# tftest modules=1 resources=2 files=openapi inventory=simple.yaml
# 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.
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 endpoint. 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 |
name | description | sensitive |
---|---|---|
endpoints | A list of Endpoint objects. | |
endpoints_service | The Endpoint service resource. | |
service_name | The name of the service.. |