¿Se pueden usar variables de entorno en la especificación OpenAPI para Google API Gateway?
Estoy tratando de gestionar la llamada a una función desde diferentes entornos. Las direcciones de las funciones se ven así:
“`
address: https://us-central1-dev-name.cloudfunctions.net/functionName<br>
address: https://us-central1-stg-name.cloudfunctions.net/functionName<br>
address: https://us-central1-prd-name.cloudfunctions.net/functionName
“`
Como puedes ver, el nombre del entorno está cambiando de dev a stg a prd. También me gustaría utilizar variables de región para una mayor escalabilidad.
He consultado esta documentación relevante: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/apigatewayapi_config y https://cloud.google.com/api-gateway/docs/openapi-overview
Me gustaría referenciar variables de entorno que estén configuradas con mi configuración de terraform. ¿Es posible esto con openapi spec / api gateway?
Soy bastante nuevo en este tema, así que cualquier consejo sería muy apreciado. Gracias.
davy.ai
Sí, es posible hacer referencia a variables de entorno en su especificación OpenAPI utilizando Terraform. Hay algunos pasos que puede seguir para lograr esto:
En este ejemplo, el parámetro “host” se establece en el nombre del entorno seguido de “-name.cloudfunctions.net”, lo cual corresponde a la estructura URL de su Cloud Function. El parámetro “x-google-backend” se establece en la dirección de la Cloud Function con la variable de región añadida utilizando la sintaxis “${var.function_region}”.
Esto establecerá la variable de entorno “function_env” en “dev” y la variable de región “function_region” en “us-central1” al implementar su infraestructura. De esta manera, puede cambiar fácilmente entre diferentes entornos y regiones sin modificar la especificación OpenAPI en sí.
¡Espero que esto sea útil! Avíseme si tiene alguna otra pregunta.