@@ -4,8 +4,15 @@ terraform {
4
4
}
5
5
6
6
locals {
7
- create_log_group = var. logging_level != " OFF"
8
- log_group_arn = local. create_log_group ? module. cloudwatch_log_group . log_group_arn : null
7
+ create_log_group = var. logging_level != " OFF"
8
+ log_group_arn = local. create_log_group ? module. cloudwatch_log_group . log_group_arn : null
9
+ stage_name = var. stage_name != " " ? var. stage_name : module. name . environment
10
+ }
11
+
12
+ data "template_file" "this" {
13
+ template = var. api_template
14
+
15
+ vars = var. api_template_vars
9
16
}
10
17
11
18
module "name" {
@@ -20,7 +27,7 @@ module "name" {
20
27
21
28
resource "aws_api_gateway_rest_api" "this" {
22
29
name = module. name . id
23
- body = jsonencode (var . openapi_config )
30
+ body = data . template_file . this . rendered
24
31
tags = module. name . tags
25
32
26
33
endpoint_configuration {
@@ -51,7 +58,7 @@ resource "aws_api_gateway_deployment" "this" {
51
58
resource "aws_api_gateway_stage" "this" {
52
59
deployment_id = aws_api_gateway_deployment. this . id
53
60
rest_api_id = aws_api_gateway_rest_api. this . id
54
- stage_name = var . stage_name != " " ? var . stage_name : module . this . stage
61
+ stage_name = local . stage_name
55
62
xray_tracing_enabled = var. xray_tracing_enabled
56
63
tags = module. name . tags
57
64
@@ -68,7 +75,7 @@ resource "aws_api_gateway_stage" "this" {
68
75
resource "aws_cloudwatch_log_group" "this" {
69
76
count = local. create_log_group ? 1 : 0
70
77
71
- name = " ${ aws_api_gateway_rest_api . this . id } /${ var . stage_name } "
78
+ name = " ${ aws_api_gateway_rest_api . this . id } /${ local . stage_name } "
72
79
retention_in_days = var. cloudwatch_logs_retention_in_days
73
80
}
74
81
0 commit comments