From 5b16dd2fab2ad8a32195d8e4b947001aeeaba0f0 Mon Sep 17 00:00:00 2001 From: Byungjin Park Date: Wed, 10 Sep 2025 23:51:02 +0900 Subject: [PATCH] feat: improve how to use resource_group in modules --- modules/dns-firewall-domain-list/outputs.tf | 16 +++++++++ .../resource-group.tf | 10 +++--- modules/dns-firewall-domain-list/variables.tf | 32 ++++++++--------- modules/dns-firewall-rule-group/outputs.tf | 16 +++++++++ .../dns-firewall-rule-group/resource-group.tf | 10 +++--- modules/dns-firewall-rule-group/variables.tf | 34 +++++++++---------- modules/dns-firewall/outputs.tf | 16 +++++++++ modules/dns-firewall/resource-group.tf | 10 +++--- modules/dns-firewall/variables.tf | 32 ++++++++--------- modules/fms-dns-firewall-policy/outputs.tf | 16 +++++++++ .../fms-dns-firewall-policy/resource-group.tf | 10 +++--- modules/fms-dns-firewall-policy/variables.tf | 32 ++++++++--------- modules/waf-ip-set/outputs.tf | 16 +++++++++ modules/waf-ip-set/resource-group.tf | 10 +++--- modules/waf-ip-set/variables.tf | 32 ++++++++--------- 15 files changed, 181 insertions(+), 111 deletions(-) diff --git a/modules/dns-firewall-domain-list/outputs.tf b/modules/dns-firewall-domain-list/outputs.tf index c766fad..de3a55f 100644 --- a/modules/dns-firewall-domain-list/outputs.tf +++ b/modules/dns-firewall-domain-list/outputs.tf @@ -17,3 +17,19 @@ output "domains" { description = "The list of domains from the firewall domain list." value = aws_route53_resolver_firewall_domain_list.this.domains } + +output "resource_group" { + description = "The resource group created to manage resources in this module." + value = merge( + { + enabled = var.resource_group.enabled && var.module_tags_enabled + }, + (var.resource_group.enabled && var.module_tags_enabled + ? { + arn = module.resource_group[0].arn + name = module.resource_group[0].name + } + : {} + ) + ) +} diff --git a/modules/dns-firewall-domain-list/resource-group.tf b/modules/dns-firewall-domain-list/resource-group.tf index 7487ba0..85c4fb0 100644 --- a/modules/dns-firewall-domain-list/resource-group.tf +++ b/modules/dns-firewall-domain-list/resource-group.tf @@ -1,6 +1,6 @@ locals { - resource_group_name = (var.resource_group_name != "" - ? var.resource_group_name + resource_group_name = (var.resource_group.name != "" + ? var.resource_group.name : join(".", [ local.metadata.package, local.metadata.module, @@ -12,12 +12,12 @@ locals { module "resource_group" { source = "tedilabs/misc/aws//modules/resource-group" - version = "~> 0.10.0" + version = "~> 0.12.0" - count = (var.resource_group_enabled && var.module_tags_enabled) ? 1 : 0 + count = (var.resource_group.enabled && var.module_tags_enabled) ? 1 : 0 name = local.resource_group_name - description = var.resource_group_description + description = var.resource_group.description query = { resource_tags = local.module_tags diff --git a/modules/dns-firewall-domain-list/variables.tf b/modules/dns-firewall-domain-list/variables.tf index 4d34579..8827392 100644 --- a/modules/dns-firewall-domain-list/variables.tf +++ b/modules/dns-firewall-domain-list/variables.tf @@ -37,23 +37,21 @@ variable "module_tags_enabled" { # Resource Group ################################################### -variable "resource_group_enabled" { - description = "(Optional) Whether to create Resource Group to find and group AWS resources which are created by this module." - type = bool - default = true - nullable = false -} -variable "resource_group_name" { - description = "(Optional) The name of Resource Group. A Resource Group name can have a maximum of 127 characters, including letters, numbers, hyphens, dots, and underscores. The name cannot start with `AWS` or `aws`." - type = string - default = "" - nullable = false -} -variable "resource_group_description" { - description = "(Optional) The description of Resource Group." - type = string - default = "Managed by Terraform." - nullable = false + +variable "resource_group" { + description = <