* factories refactor doc * Adds file schema and filesystem organization * Update 20231106-factories.md * move factories out of blueprints and create new factories README * align factory in billing-account module * align factory in dataplex-datascan module * align factory in billing-account module * align factory in net-firewall-policy module * align factory in dns-response-policy module * align factory in net-vpc-firewall module * align factory in net-vpc module * align factory variable names in FAST * remove decentralized firewall blueprint * bump terraform version * bump module versions * update top-level READMEs * move project factory to modules * fix variable names and tests * tfdoc * remove changelog link * add project factory to top-level README * fix cludrun eventarc diff * fix README * fix cludrun eventarc diff --------- Co-authored-by: Simone Ruffilli <sruffilli@google.com>
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 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.. |