function/New-DCMSubnet.ps1


function New-DCMSubnet(){
<#
    .SYNOPSIS
    .DESCRIPTION
    .PARAMETER $p
    .PARAMTERS $s
    .INPUTS
    .OUTPUTS
    .EXAMPLE
 
 
 
 
 
#>


[CmdletBinding()]
param(
       [parameter(Mandatory=$false)]
       [string]$CSVPath 
)
                    


$SN=@(Import-Csv -Path $CSVPath)
Write-Output "`nImporting Subnet's from excel sheet" 
Write-Output "Total number of Subnet's found in excel : $($SN.Count) `n"


$SN| ForEach-Object{
$SubnetName=$_.SubnetName
$VnetName=$_.VnetName
$VnetResourceGroupName=$_.VnetResourceGroupName
$SubnetAddressPrefix=$_.SubnetAddressPrefix

$VnetResourceGroup=Get-AzResourceGroup -Name $VnetResourceGroupName -ErrorVariable notPresent -ErrorAction SilentlyContinue
if($notPresent){
Write-Output "Resource Group Does not Exist"
Write-Output "Press 1 to Create Resource Group and Virtual Network"
Write-Output "Press any other key to exit"
[int]$Choice = Read-Host 
Switch($Choice){
1{New-DCMVnet -CSVPath "C:\DCM Module Excel Sheet\Vnet.csv"}
Default{"Exiting...";break}
}
}
else{
Write-Output "Resource Group $($VnetResourceGroupName) exist"
}
$Vnet=Get-AzVirtualNetwork -Name $VnetName -ResourceGroupName $VnetResourceGroupName -ErrorVariable NotPresent -ErrorAction SilentlyContinue
if($notPresent){
Write-Output "Virtual Network Does not exist in the mentioned Resource Group"
Write-Output "Press 1 to Create Virtual Network"
Write-Output "Press any other key to exit"
[int]$Choice1 = Read-Host
Switch($Choice1){
1{
New-DCMVnet -CSVPath "C:\DCM Module Excel Sheet\Vnet.csv";
$Vnet=Get-AzVirtualNetwork -Name $VnetName -ResourceGroupName $VnetResourceGroupName 
 }
Default{"Exiting...";break}
}
}
else{
Write-Output "Virtual Network $($VnetName) exist..."

}

Write-Output "Creating Subnet: $($SubnetName) and adding it to the Virtual Network: $($VnetName) "
$SubnetConfig=Add-AzVirtualNetworkSubnetConfig -Name $SubnetName -VirtualNetwork $Vnet -AddressPrefix $SubnetAddressPrefix
$NewSubnet=$vnet | Set-AzVirtualNetwork 
if($NewSubnet.Subnets.Name -eq $SubnetName)
{ Write-Output "Subnet $($SubnetName) provisioning Succeeded"
}
else{
Write-Output "Subnet $($SubnetName) provisioning is not Succeeded"}
}
}