Skip to content

Commit 856e3dd

Browse files
authored
feat(distribution): improve how to use resource_group in module (#38)
1 parent 8528410 commit 856e3dd

File tree

3 files changed

+35
-24
lines changed

3 files changed

+35
-24
lines changed

modules/distribution/outputs.tf

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,3 +279,19 @@ output "monitoring" {
279279
# value = aws_cloudfront_distribution.this.trusted_key_groups
280280
# }
281281
#
282+
283+
output "resource_group" {
284+
description = "The resource group created to manage resources in this module."
285+
value = merge(
286+
{
287+
enabled = var.resource_group.enabled && var.module_tags_enabled
288+
},
289+
(var.resource_group.enabled && var.module_tags_enabled
290+
? {
291+
arn = module.resource_group[0].arn
292+
name = module.resource_group[0].name
293+
}
294+
: {}
295+
)
296+
)
297+
}

modules/distribution/resource-group.tf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
locals {
2-
resource_group_name = (var.resource_group_name != ""
3-
? var.resource_group_name
2+
resource_group_name = (var.resource_group.name != ""
3+
? var.resource_group.name
44
: join(".", [
55
local.metadata.package,
66
local.metadata.module,
@@ -12,12 +12,12 @@ locals {
1212

1313
module "resource_group" {
1414
source = "tedilabs/misc/aws//modules/resource-group"
15-
version = "~> 0.10.0"
15+
version = "~> 0.12.0"
1616

17-
count = (var.resource_group_enabled && var.module_tags_enabled) ? 1 : 0
17+
count = (var.resource_group.enabled && var.module_tags_enabled) ? 1 : 0
1818

1919
name = local.resource_group_name
20-
description = var.resource_group_description
20+
description = var.resource_group.description
2121

2222
query = {
2323
resource_tags = local.module_tags

modules/distribution/variables.tf

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -741,23 +741,18 @@ variable "module_tags_enabled" {
741741
# Resource Group
742742
###################################################
743743

744-
variable "resource_group_enabled" {
745-
description = "(Optional) Whether to create Resource Group to find and group AWS resources which are created by this module."
746-
type = bool
747-
default = true
748-
nullable = false
749-
}
750-
751-
variable "resource_group_name" {
752-
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`."
753-
type = string
754-
default = ""
755-
nullable = false
756-
}
757-
758-
variable "resource_group_description" {
759-
description = "(Optional) The description of Resource Group."
760-
type = string
761-
default = "Managed by Terraform."
762-
nullable = false
744+
variable "resource_group" {
745+
description = <<EOF
746+
(Optional) A configurations of Resource Group for this module. `resource_group` as defined below.
747+
(Optional) `enabled` - Whether to create Resource Group to find and group AWS resources which are created by this module. Defaults to `true`.
748+
(Optional) `name` - 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`. If not provided, a name will be generated using the module name and instance name.
749+
(Optional) `description` - The description of Resource Group. Defaults to `Managed by Terraform.`.
750+
EOF
751+
type = object({
752+
enabled = optional(bool, true)
753+
name = optional(string, "")
754+
description = optional(string, "Managed by Terraform.")
755+
})
756+
default = {}
757+
nullable = false
763758
}

0 commit comments

Comments
 (0)