cloud-foundation-fabric/modules/endpoints
Ludovico Magnocavallo f6775aca1b
Use the same versions file everywhere, pin to tf 1.0+ provider 4.0+ (#355)
* add default versions file, remove old providers and versions

* use default versions file everywhere

* fix kms module

* re-add provider configuration for data platform step 2

* update kms module outputs sorting

* update kms documentation

* fix data solutions tests

* fix GKE workload identity attribute name

* work around firewall provider issue in datafusion example
2021-11-03 15:05:43 +01:00
..
README.md Make examples in READMEs runnable and testable 2020-11-07 10:28:33 +01:00
main.tf Update copyright to 2021 2021-02-15 09:38:10 +01:00
outputs.tf Add more validations to linter 2021-10-08 18:26:04 +02:00
variables.tf Update copyright to 2021 2021-02-15 09:38:10 +01:00
versions.tf Use the same versions file everywhere, pin to tf 1.0+ provider 4.0+ (#355) 2021-11-03 15:05:43 +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         = "./modules/endpoints"
  project_id     = "my-project"
  service_name   = "YOUR-API.endpoints.YOUR-PROJECT-ID.cloud.goog"
  openapi_config = { "yaml_path" = "openapi.yaml" }
  iam = {
    "servicemanagement.serviceController" = [
      "serviceAccount:123456890-compute@developer.gserviceaccount.com"
    ]
  }
}
# tftest:skip

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