diff --git a/terraform/modules/log_analytics/main.tf b/terraform/modules/log_analytics/main.tf new file mode 100644 index 00000000..9bd8a353 --- /dev/null +++ b/terraform/modules/log_analytics/main.tf @@ -0,0 +1,15 @@ +resource "azurerm_resource_group" "log_workspace" { + name = "${var.name}-${var.environment}-log-workspace" + location = var.region +} + +resource "azurerm_log_analytics_workspace" "log_workspace" { + name = "${var.name}-${var.environment}-log-workspace" + location = azurerm_resource_group.log_workspace.location + resource_group_name = azurerm_resource_group.log_workspace.name + sku = "Premium" + tags = { + environment = var.environment + owner = var.owner + } +} diff --git a/terraform/modules/log_analytics/outputs.tf b/terraform/modules/log_analytics/outputs.tf new file mode 100644 index 00000000..da9abb5b --- /dev/null +++ b/terraform/modules/log_analytics/outputs.tf @@ -0,0 +1,3 @@ +output "workspace_id" { + value = azurerm_log_analytics_workspace.log_workspace.id +} diff --git a/terraform/modules/log_analytics/variables.tf b/terraform/modules/log_analytics/variables.tf new file mode 100644 index 00000000..4721a46a --- /dev/null +++ b/terraform/modules/log_analytics/variables.tf @@ -0,0 +1,19 @@ +variable "region" { + type = string + description = "Region this module and resources will be created in" +} + +variable "name" { + type = string + description = "Unique name for the services in this module" +} + +variable "environment" { + type = string + description = "Environment these resources reside (prod, dev, staging, etc)" +} + +variable "owner" { + type = string + description = "Owner of the environment and resources created in this module" +} diff --git a/terraform/providers/dev/logs.tf b/terraform/providers/dev/logs.tf new file mode 100644 index 00000000..23227066 --- /dev/null +++ b/terraform/providers/dev/logs.tf @@ -0,0 +1,8 @@ +module "logs" { + source = "../../modules/log_analytics" + owner = var.owner + environment = var.environment + region = var.region + name = var.name +} +