Patrick de Ruiter f06308bdfd
Some checks failed
Code Quality & Security Scan / TFLint (push) Successful in 20s
Code Quality & Security Scan / Terraform Destroy (push) Has been skipped
Code Quality & Security Scan / Tfsec Security Scan (push) Successful in 25s
Code Quality & Security Scan / Checkov Security Scan (push) Successful in 37s
Code Quality & Security Scan / Terraform Tests (push) Failing after 24s
Code Quality & Security Scan / SonarQube Trigger (push) Has been skipped
Code Quality & Security Scan / Terraform Init (push) Has been skipped
Code Quality & Security Scan / Terraform Apply (push) Has been skipped
fixed Terraform formating
2025-11-09 09:49:48 +01:00

64 lines
1.6 KiB
HCL

locals {
shares_mapping = {
"low" = 500
"normal" = 1000
"high" = 2000
}
}
resource "vsphere_resource_pool" "resource_groups" {
for_each = var.resource_groups
name = each.value.name
parent_resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
cpu_reservation = each.value.cpu_reservation
cpu_expandable = each.value.cpu_expandable
cpu_limit = each.value.cpu_limit
cpu_shares = lookup(local.shares_mapping, each.value.cpu_shares, 1000)
memory_reservation = each.value.memory_reservation
memory_expandable = each.value.memory_expandable
memory_limit = each.value.memory_limit
memory_shares = lookup(local.shares_mapping, each.value.memory_shares, 1000)
tags = [
vsphere_tag.environment.id,
vsphere_tag.resource_group[each.key].id
]
}
resource "vsphere_tag_category" "environment" {
name = "Environment"
description = "Environment category for resource groups"
cardinality = "SINGLE"
associable_types = [
"ResourcePool",
]
}
resource "vsphere_tag" "environment" {
name = var.environment
category_id = vsphere_tag_category.environment.id
description = "Environment tag for ${var.environment}"
}
resource "vsphere_tag_category" "resource_group_type" {
name = "ResourceGroupType"
description = "Resource group type category"
cardinality = "SINGLE"
associable_types = [
"ResourcePool",
]
}
resource "vsphere_tag" "resource_group" {
for_each = var.resource_groups
name = each.key
category_id = vsphere_tag_category.resource_group_type.id
description = "Resource group tag for ${each.value.name}"
}