- 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.
62 lines
1.8 KiB
HCL
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
|
|
}
|
|
|