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 = "../../modules/endpoint"
project_id = "my-project"
service_name = "YOUR-API.endpoints.YOUR-PROJECT-ID.cloud.goog"
openapi_config = { "yaml_path" = "openapi.yaml" }
grpc_config = null
iam_roles = ["servicemanagement.serviceController"]
iam_members = {
"servicemanagement.serviceController" = ["serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com"]
}
}
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 |
grpc_config |
The configuration for a gRPC enpoint. Either this or openapi_config must be specified. |
object({...}) |
✓ |
|
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 |
✓ |
|
iam_members |
Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the instance are preserved. |
map(list(string)) |
|
{} |
iam_roles |
Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. |
list(string) |
|
[] |
project_id |
The project ID that the service belongs to. |
string |
|
null |
Outputs
name |
description |
sensitive |
endpoints |
A list of Endpoint objects. |
|
endpoints_service |
The Endpoint service resource. |
|
service_name |
The name of the service.. |
|