Files
smom-dbis-138/terraform/modules/management-groups/main.tf
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control.
- Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities.
- Created .gitmodules to include OpenZeppelin contracts as a submodule.
- Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment.
- Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks.
- Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring.
- Created scripts for resource import and usage validation across non-US regions.
- Added tests for CCIP error handling and integration to ensure robust functionality.
- Included various new files and directories for the orchestration portal and deployment scripts.
2025-12-12 14:57:48 -08:00

62 lines
1.8 KiB
HCL

# Management Groups Module
# Creates Azure Management Groups hierarchy according to Well-Architected Framework
# Root Management Group (assumes it exists)
data "azurerm_management_group" "root" {
name = var.root_management_group_id
}
# Production Management Group
resource "azurerm_management_group" "production" {
name = "Production"
display_name = "Production"
parent_management_group_id = data.azurerm_management_group.root.id
subscription_ids = var.production_subscription_ids
}
# Non-Production Management Group
resource "azurerm_management_group" "non_production" {
name = "Non-Production"
display_name = "Non-Production"
parent_management_group_id = data.azurerm_management_group.root.id
subscription_ids = var.non_production_subscription_ids
}
# Shared Services Management Group
resource "azurerm_management_group" "shared_services" {
name = "SharedServices"
display_name = "Shared Services"
parent_management_group_id = data.azurerm_management_group.root.id
subscription_ids = var.shared_services_subscription_ids
}
# Sandbox Management Group
resource "azurerm_management_group" "sandbox" {
name = "Sandbox"
display_name = "Sandbox"
parent_management_group_id = data.azurerm_management_group.root.id
subscription_ids = var.sandbox_subscription_ids
}
# Outputs
output "production_management_group_id" {
value = azurerm_management_group.production.id
}
output "non_production_management_group_id" {
value = azurerm_management_group.non_production.id
}
output "shared_services_management_group_id" {
value = azurerm_management_group.shared_services.id
}
output "sandbox_management_group_id" {
value = azurerm_management_group.sandbox.id
}