Compare commits
5 Commits
master
...
301-hub-sp
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c08405c06a | ||
![]() |
ff0b2795ab | ||
![]() |
dcca3ba6ef | ||
![]() |
86b15f1a9f | ||
![]() |
ddfedda590 |
@ -4,8 +4,14 @@ locals {
|
|||||||
hub-nva-resource-group = "hub-nva-rg"
|
hub-nva-resource-group = "hub-nva-rg"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resource "random_string" "suffix" {
|
||||||
|
length = 5
|
||||||
|
special = false
|
||||||
|
upper = false
|
||||||
|
}
|
||||||
|
|
||||||
resource "azurerm_resource_group" "hub-nva-rg" {
|
resource "azurerm_resource_group" "hub-nva-rg" {
|
||||||
name = "${local.prefix-hub-nva}-rg"
|
name = "${local.prefix-hub-nva}-rg-${random_string.suffix.result}"
|
||||||
location = local.hub-nva-location
|
location = local.hub-nva-location
|
||||||
|
|
||||||
tags = {
|
tags = {
|
||||||
@ -55,7 +61,7 @@ resource "azurerm_virtual_machine" "hub-nva-vm" {
|
|||||||
os_profile {
|
os_profile {
|
||||||
computer_name = "${local.prefix-hub-nva}-vm"
|
computer_name = "${local.prefix-hub-nva}-vm"
|
||||||
admin_username = var.username
|
admin_username = var.username
|
||||||
admin_password = var.password
|
admin_password = local.password
|
||||||
}
|
}
|
||||||
|
|
||||||
os_profile_linux_config {
|
os_profile_linux_config {
|
||||||
@ -78,7 +84,7 @@ resource "azurerm_virtual_machine_extension" "enable-routes" {
|
|||||||
settings = <<SETTINGS
|
settings = <<SETTINGS
|
||||||
{
|
{
|
||||||
"fileUris": [
|
"fileUris": [
|
||||||
"https://raw.githubusercontent.com/mspnp/reference-architectures/master/scripts/linux/enable-ip-forwarding.sh"
|
"https://raw.githubusercontent.com/lonegunmanb/reference-architectures/refs/heads/master/scripts/linux/enable-ip-forwarding.sh"
|
||||||
],
|
],
|
||||||
"commandToExecute": "bash enable-ip-forwarding.sh"
|
"commandToExecute": "bash enable-ip-forwarding.sh"
|
||||||
}
|
}
|
||||||
@ -142,7 +148,7 @@ resource "azurerm_route_table" "spoke1-rt" {
|
|||||||
route {
|
route {
|
||||||
name = "default"
|
name = "default"
|
||||||
address_prefix = "0.0.0.0/0"
|
address_prefix = "0.0.0.0/0"
|
||||||
next_hop_type = "vnetlocal"
|
next_hop_type = "VnetLocal"
|
||||||
}
|
}
|
||||||
|
|
||||||
tags = {
|
tags = {
|
||||||
@ -178,7 +184,7 @@ resource "azurerm_route_table" "spoke2-rt" {
|
|||||||
route {
|
route {
|
||||||
name = "default"
|
name = "default"
|
||||||
address_prefix = "0.0.0.0/0"
|
address_prefix = "0.0.0.0/0"
|
||||||
next_hop_type = "vnetlocal"
|
next_hop_type = "VnetLocal"
|
||||||
}
|
}
|
||||||
|
|
||||||
tags = {
|
tags = {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
locals {
|
locals {
|
||||||
prefix-hub = "hub"
|
prefix-hub = "hub"
|
||||||
hub-location = "eastus"
|
hub-location = "eastus"
|
||||||
hub-resource-group = "hub-vnet-rg"
|
hub-resource-group = "hub-vnet-rg-${random_string.suffix.result}"
|
||||||
shared-key = "4-v3ry-53cr37-1p53c-5h4r3d-k3y"
|
shared-key = "4-v3ry-53cr37-1p53c-5h4r3d-k3y"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ resource "azurerm_virtual_machine" "hub-vm" {
|
|||||||
os_profile {
|
os_profile {
|
||||||
computer_name = "${local.prefix-hub}-vm"
|
computer_name = "${local.prefix-hub}-vm"
|
||||||
admin_username = var.username
|
admin_username = var.username
|
||||||
admin_password = var.password
|
admin_password = local.password
|
||||||
}
|
}
|
||||||
|
|
||||||
os_profile_linux_config {
|
os_profile_linux_config {
|
||||||
|
@ -5,11 +5,24 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
azurerm = {
|
azurerm = {
|
||||||
source = "hashicorp/azurerm"
|
source = "hashicorp/azurerm"
|
||||||
version = "~>2.0"
|
version = "~> 3.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
provider "azurerm" {
|
provider "azurerm" {
|
||||||
features {}
|
features {
|
||||||
|
resource_group {
|
||||||
|
prevent_deletion_if_contains_resources = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "random_password" "password" {
|
||||||
|
count = var.password == null ? 1 : 0
|
||||||
|
length = 20
|
||||||
|
}
|
||||||
|
|
||||||
|
locals {
|
||||||
|
password = try(random_password.password[0].result, var.password)
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
locals {
|
locals {
|
||||||
onprem-location = "eastus"
|
onprem-location = "eastus"
|
||||||
onprem-resource-group = "onprem-vnet-rg"
|
onprem-resource-group = "onprem-vnet-rg-${random_string.suffix.result}"
|
||||||
prefix-onprem = "onprem"
|
prefix-onprem = "onprem"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,7 +111,7 @@ resource "azurerm_virtual_machine" "onprem-vm" {
|
|||||||
os_profile {
|
os_profile {
|
||||||
computer_name = "${local.prefix-onprem}-vm"
|
computer_name = "${local.prefix-onprem}-vm"
|
||||||
admin_username = var.username
|
admin_username = var.username
|
||||||
admin_password = var.password
|
admin_password = local.password
|
||||||
}
|
}
|
||||||
|
|
||||||
os_profile_linux_config {
|
os_profile_linux_config {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
locals {
|
locals {
|
||||||
spoke1-location = "eastus"
|
spoke1-location = "eastus"
|
||||||
spoke1-resource-group = "spoke1-vnet-rg"
|
spoke1-resource-group = "spoke1-vnet-rg-${random_string.suffix.result}"
|
||||||
prefix-spoke1 = "spoke1"
|
prefix-spoke1 = "spoke1"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ resource "azurerm_virtual_network_peering" "spoke1-hub-peer" {
|
|||||||
allow_forwarded_traffic = true
|
allow_forwarded_traffic = true
|
||||||
allow_gateway_transit = false
|
allow_gateway_transit = false
|
||||||
use_remote_gateways = true
|
use_remote_gateways = true
|
||||||
depends_on = [azurerm_virtual_network.spoke1-vnet, azurerm_virtual_network.hub-vnet , azurerm_virtual_network_gateway.hub-vnet-gateway]
|
depends_on = [azurerm_virtual_network.spoke1-vnet, azurerm_virtual_network.hub-vnet, azurerm_virtual_network_gateway.hub-vnet-gateway]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "azurerm_network_interface" "spoke1-nic" {
|
resource "azurerm_network_interface" "spoke1-nic" {
|
||||||
@ -84,7 +84,7 @@ resource "azurerm_virtual_machine" "spoke1-vm" {
|
|||||||
os_profile {
|
os_profile {
|
||||||
computer_name = "${local.prefix-spoke1}-vm"
|
computer_name = "${local.prefix-spoke1}-vm"
|
||||||
admin_username = var.username
|
admin_username = var.username
|
||||||
admin_password = var.password
|
admin_password = local.password
|
||||||
}
|
}
|
||||||
|
|
||||||
os_profile_linux_config {
|
os_profile_linux_config {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
locals {
|
locals {
|
||||||
spoke2-location = "eastus"
|
spoke2-location = "eastus"
|
||||||
spoke2-resource-group = "spoke2-vnet-rg"
|
spoke2-resource-group = "spoke2-vnet-rg-${random_string.suffix.result}"
|
||||||
prefix-spoke2 = "spoke2"
|
prefix-spoke2 = "spoke2"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ resource "azurerm_virtual_machine" "spoke2-vm" {
|
|||||||
os_profile {
|
os_profile {
|
||||||
computer_name = "${local.prefix-spoke2}-vm"
|
computer_name = "${local.prefix-spoke2}-vm"
|
||||||
admin_username = var.username
|
admin_username = var.username
|
||||||
admin_password = var.password
|
admin_password = local.password
|
||||||
}
|
}
|
||||||
|
|
||||||
os_profile_linux_config {
|
os_profile_linux_config {
|
||||||
|
@ -10,6 +10,8 @@ variable "username" {
|
|||||||
|
|
||||||
variable "password" {
|
variable "password" {
|
||||||
description = "Password for Virtual Machines"
|
description = "Password for Virtual Machines"
|
||||||
|
sensitive = true
|
||||||
|
default = null
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "vmsize" {
|
variable "vmsize" {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user