<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Debug School: Loni Hatimuria</title>
    <description>The latest articles on Debug School by Loni Hatimuria (@loni_hatimuria_48462a7278).</description>
    <link>https://www.debug.school/loni_hatimuria_48462a7278</link>
    <image>
      <url>https://www.debug.school/images/U7B8HmPYoKVgTmEW4J-AXH5xko1KiKupl2Aef_zurdI/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly93d3cu/ZGVidWcuc2Nob29s/L3VwbG9hZHMvdXNl/ci9wcm9maWxlX2lt/YWdlLzkxMS8zYTg2/Y2M2OC1jMzQwLTQ2/NmMtYWQ5Yy1iZmI2/ZjJjNzg5MjYucG5n</url>
      <title>Debug School: Loni Hatimuria</title>
      <link>https://www.debug.school/loni_hatimuria_48462a7278</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://www.debug.school/feed/loni_hatimuria_48462a7278"/>
    <language>en</language>
    <item>
      <title>Day 1 : Assignment</title>
      <dc:creator>Loni Hatimuria</dc:creator>
      <pubDate>Mon, 12 Oct 2026 16:18:03 +0000</pubDate>
      <link>https://www.debug.school/loni_hatimuria_48462a7278/day-1-assignment-2a5k</link>
      <guid>https://www.debug.school/loni_hatimuria_48462a7278/day-1-assignment-2a5k</guid>
      <description>&lt;p&gt;Assignment 1&lt;br&gt;
main.tf&lt;br&gt;
terraform {&lt;br&gt;
  required_providers {&lt;br&gt;
    azurerm = {&lt;br&gt;
      source  = "hashicorp/azurerm"&lt;br&gt;
      version = "~&amp;gt; 5.9.0"&lt;br&gt;
    }&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;provider "azurerm" {&lt;br&gt;
  features {}&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  Create Resource Group
&lt;/h1&gt;

&lt;p&gt;resource "azurerm_resource_group" "rg-lb" {&lt;br&gt;
  name     = "rg-terraform-lab-westus-lb"&lt;br&gt;
  location = "West US 3"&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  Create Virtual Network
&lt;/h1&gt;

&lt;p&gt;resource "azurerm_virtual_network" "vnet" {&lt;br&gt;
  name                = "vnet-terraform-lab-westus-lb"&lt;br&gt;
  location            = azurerm_resource_group.rg-lb.location&lt;br&gt;
  resource_group_name = azurerm_resource_group.rg-lb.name&lt;br&gt;
  address_space       = ["10.20.0.0/16"]&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  Create two subnets using count
&lt;/h1&gt;

&lt;p&gt;resource "azurerm_subnet" "subnets" {&lt;br&gt;
  count = length(var.subnet_cidrs)&lt;/p&gt;

&lt;p&gt;name                 = "subnet-${count.index + 1}"&lt;br&gt;
  resource_group_name  = azurerm_resource_group.rg-lb.name&lt;br&gt;
  virtual_network_name = azurerm_virtual_network.vnet.name&lt;br&gt;
  address_prefixes     = [var.subnet_cidrs[count.index]]&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;variables.tf&lt;br&gt;
variable "subnet_cidrs" {&lt;br&gt;
  description = "CIDR ranges for Azure subnets"&lt;br&gt;
  type        = list(string)&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;terraform.tfvars&lt;br&gt;
subnet_cidrs = [&lt;br&gt;
  "10.20.1.0/24",&lt;br&gt;
  "10.20.2.0/24"&lt;br&gt;
]&lt;/p&gt;

&lt;p&gt;Assignment 2:&lt;/p&gt;

&lt;p&gt;main.tf&lt;br&gt;
terraform {&lt;br&gt;
  required_providers {&lt;br&gt;
    azurerm = {&lt;br&gt;
      source  = "hashicorp/azurerm"&lt;br&gt;
      version = "~&amp;gt; 5.9.0"&lt;br&gt;
    }&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;provider "azurerm" {&lt;br&gt;
  features {}&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Create Azure Resource Group
&lt;/h1&gt;

&lt;p&gt;resource "azurerm_resource_group" "rg-lb" {&lt;br&gt;
  name     = "rg-terraform-nsg-westusi-lb"&lt;br&gt;
  location = "West US 3"&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  2. Create Network Security Group
&lt;/h1&gt;

&lt;p&gt;resource "azurerm_network_security_group" "nsg" {&lt;br&gt;
  name                = "nsg-terraform-eastus"&lt;br&gt;
  location            = azurerm_resource_group.rg-lb.location&lt;br&gt;
  resource_group_name = azurerm_resource_group.rg-lb.name&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  3. Create inbound rules dynamically using for_each
&lt;/h1&gt;

&lt;p&gt;resource "azurerm_network_security_rule" "inbound" {&lt;br&gt;
  for_each = var.inbound_rules&lt;/p&gt;

&lt;p&gt;name                        = each.key&lt;br&gt;
  priority                    = each.value.priority&lt;br&gt;
  direction                   = "Inbound"&lt;br&gt;
  access                      = "Allow"&lt;br&gt;
  protocol                    = "Tcp"&lt;/p&gt;

&lt;p&gt;source_port_range           = "&lt;em&gt;"&lt;br&gt;
  destination_port_range      = tostring(each.value.port)&lt;br&gt;
  source_address_prefix       = var.my_public_ip_cidr&lt;br&gt;
  destination_address_prefix  = "&lt;/em&gt;"&lt;/p&gt;

&lt;p&gt;resource_group_name         = azurerm_resource_group.rg-lb.name&lt;br&gt;
  network_security_group_name = azurerm_network_security_group.nsg.name&lt;br&gt;
}&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
