Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

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:[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.

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 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

Outputs

name description sensitive
endpoints A list of Endpoint objects.
endpoints_service The Endpoint service resource.
service_name The name of the service..