cloud-foundation-fabric/modules/endpoints
Wiktor Niesiobędzki 1a657b31d3 Bump beta provider to 4.48
This is the first version that supports `gateway_api_config` block
2023-01-29 15:50:24 +01:00
..
README.md Make directive for supporting files in examples more explicit 2022-12-18 14:00:19 +01:00
main.tf Copyright bump (#410) 2022-01-01 15:52:31 +01:00
outputs.tf Copyright bump (#410) 2022-01-01 15:52:31 +01:00
variables.tf Copyright bump (#410) 2022-01-01 15:52:31 +01:00
versions.tf Bump beta provider to 4.48 2023-01-29 15:50:24 +01:00

README.md

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

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