diff --git a/AZ104/MicrosoftAureAdministrator/Allfiles/Labs/05/az104-05-vnetvm-loop-parameters.json b/AZ104/MicrosoftAureAdministrator/Allfiles/Labs/05/az104-05-vnetvm-loop-parameters.json new file mode 100644 index 0000000..fabe43e --- /dev/null +++ b/AZ104/MicrosoftAureAdministrator/Allfiles/Labs/05/az104-05-vnetvm-loop-parameters.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "vmSize": { + "value": "Standard_D2s_v3" + }, + "adminUsername": { + "value": "Student" + }, + "adminPassword": { + "value": "Pa55w.rd1234" + } + } +} \ No newline at end of file diff --git a/AZ104/MicrosoftAureAdministrator/Allfiles/Labs/05/az104-05-vnetvm-loop-template.json b/AZ104/MicrosoftAureAdministrator/Allfiles/Labs/05/az104-05-vnetvm-loop-template.json new file mode 100644 index 0000000..1d39b6e --- /dev/null +++ b/AZ104/MicrosoftAureAdministrator/Allfiles/Labs/05/az104-05-vnetvm-loop-template.json @@ -0,0 +1,202 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "vmSize": { + "type": "string", + "defaultValue": "Standard_D2s_v3", + "metadata": { + "description": "Virtual machine size" + } + }, + "location1": { + "type": "string", + "metadata": { + "description": "First Azure Region" + } + }, + "location2": { + "type": "string", + "metadata": { + "description": "Second Azure Region" + } + }, + "adminUsername": { + "type": "string", + "metadata": { + "description": "Admin username" + } + }, + "adminPassword": { + "type": "securestring", + "metadata": { + "description": "Admin password" + } + } + }, + "variables": { + "locationNames": "[createArray(parameters('location1'),parameters('location1'),parameters('location2'))]", + "vmName": "az104-05-vm", + "nicName": "az104-05-nic", + "subnetName": "subnet0", + "VnetName": "az104-05-vnet", + "pipName": "az104-05-pip", + "nsgName": "az104-05-nsg", + "computeApiVersion": "2018-06-01", + "networkApiVersion": "2018-08-01" + }, + "resources": [ + { + "name": "[concat(variables('vmName'),copyIndex())]", + "copy": { + "name": "VMcopy", + "count": "[length(variables('locationNames'))]" + }, + "type": "Microsoft.Compute/virtualMachines", + "apiVersion": "[variables('computeApiVersion')]", + "location": "[variables('locationNames')[copyIndex()]]", + "dependsOn": [ + "[concat(variables('nicName'),copyIndex())]" + ], + "properties": { + "osProfile": { + "computerName": "[concat(variables('vmName'),copyIndex())]", + "adminUsername": "[parameters('adminUsername')]", + "adminPassword": "[parameters('adminPassword')]", + "windowsConfiguration": { + "provisionVmAgent": "true" + } + }, + "hardwareProfile": { + "vmSize": "[parameters('vmSize')]" + }, + "storageProfile": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2019-Datacenter", + "version": "latest" + }, + "osDisk": { + "createOption": "fromImage" + }, + "dataDisks": [] + }, + "networkProfile": { + "networkInterfaces": [ + { + "properties": { + "primary": true + }, + "id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('nicName'),copyIndex()))]" + } + ] + } + } + }, + { + "type": "Microsoft.Network/virtualNetworks", + "name": "[concat(variables('VnetName'),copyIndex())]", + "copy": { + "name": "VNetCopy", + "count": "[length(variables('locationNames'))]" + }, + "apiVersion": "[variables('networkApiVersion')]", + "location": "[variables('locationNames')[copyIndex()]]", + "comments": "Virtual Network", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "[concat('10.5',copyIndex(),'.0.0/22')]" + ] + }, + "subnets": [ + { + "name": "[variables('subnetName')]", + "properties": { + "addressPrefix": "[concat('10.5',copyIndex(),'.0.0/24')]" + } + } + ] + } + }, + { + "name": "[concat(variables('nicName'),copyIndex())]", + "copy": { + "name": "nicCopy", + "count": "[length(variables('locationNames'))]" + }, + "type": "Microsoft.Network/networkInterfaces", + "apiVersion": "[variables('networkApiVersion')]", + "location": "[variables('locationNames')[copyIndex()]]", + "comments": "Primary NIC", + "dependsOn": [ + "[concat(variables('pipName'),copyIndex())]", + "[concat(variables('nsgName'),copyIndex())]", + "[concat(variables('VnetName'),copyIndex())]" + ], + "properties": { + "ipConfigurations": [ + { + "name": "ipconfig1", + "properties": { + "subnet": { + "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', concat(variables('VnetName'),copyIndex()), variables('subnetName'))]" + }, + "privateIPAllocationMethod": "Dynamic", + "publicIpAddress": { + "id": "[resourceId('Microsoft.Network/publicIpAddresses', concat(variables('pipName'),copyIndex()))]" + } + } + } + ], + "networkSecurityGroup": { + "id": "[resourceId('Microsoft.Network/networkSecurityGroups', concat(variables('nsgName'),copyIndex()))]" + } + } + }, + { + "name": "[concat(variables('pipName'),copyIndex())]", + "copy": { + "name": "pipCopy", + "count": "[length(variables('locationNames'))]" + }, + "type": "Microsoft.Network/publicIpAddresses", + "apiVersion": "[variables('networkApiVersion')]", + "location": "[variables('locationNames')[copyIndex()]]", + "comments": "Public IP for Primary NIC", + "properties": { + "publicIpAllocationMethod": "Dynamic" + } + }, + { + "name": "[concat(variables('nsgName'),copyIndex())]", + "copy": { + "name": "nsgCopy", + "count": "[length(variables('locationNames'))]" + }, + "type": "Microsoft.Network/networkSecurityGroups", + "apiVersion": "[variables('networkApiVersion')]", + "location": "[variables('locationNames')[copyIndex()]]", + "comments": "Network Security Group (NSG) for Primary NIC", + "properties": { + "securityRules": [ + { + "name": "default-allow-rdp", + "properties": { + "priority": 1000, + "sourceAddressPrefix": "*", + "protocol": "Tcp", + "destinationPortRange": "3389", + "access": "Allow", + "direction": "Inbound", + "sourcePortRange": "*", + "destinationAddressPrefix": "*" + } + } + ] + } + } + ], + "outputs": {} +} \ No newline at end of file diff --git a/AZ104/MicrosoftAureAdministrator/Allfiles/Labs/05/az104-05-vnetvm-parameters.json b/AZ104/MicrosoftAureAdministrator/Allfiles/Labs/05/az104-05-vnetvm-parameters.json new file mode 100644 index 0000000..fabe43e --- /dev/null +++ b/AZ104/MicrosoftAureAdministrator/Allfiles/Labs/05/az104-05-vnetvm-parameters.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "vmSize": { + "value": "Standard_D2s_v3" + }, + "adminUsername": { + "value": "Student" + }, + "adminPassword": { + "value": "Pa55w.rd1234" + } + } +} \ No newline at end of file diff --git a/AZ104/MicrosoftAureAdministrator/Allfiles/Labs/05/az104-05-vnetvm-template.json b/AZ104/MicrosoftAureAdministrator/Allfiles/Labs/05/az104-05-vnetvm-template.json new file mode 100644 index 0000000..6dadf37 --- /dev/null +++ b/AZ104/MicrosoftAureAdministrator/Allfiles/Labs/05/az104-05-vnetvm-template.json @@ -0,0 +1,183 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "vmSize": { + "type": "string", + "defaultValue": "Standard_D2s_v3", + "metadata": { + "description": "Virtual machine size" + } + }, + "nameSuffix": { + "type": "string", + "allowedValues": [ + "0", + "1", + "2" + ], + "metadata": { + "description": "Naming suffix" + } + }, + "adminUsername": { + "type": "string", + "metadata": { + "description": "Admin username" + } + }, + "adminPassword": { + "type": "securestring", + "metadata": { + "description": "Admin password" + } + } + }, + "variables": { + "vmName": "[concat('az104-05-vm',parameters('nameSuffix'))]", + "nicName": "[concat('az104-05-nic',parameters('nameSuffix'))]", + "virtualNetworkName": "[concat('az104-05-vnet',parameters('nameSuffix'))]", + "publicIPAddressName": "[concat('az104-05-pip',parameters('nameSuffix'))]", + "nsgName": "[concat('az104-05-nsg',parameters('nameSuffix'))]", + "vnetIpPrefix": "[concat('10.5',parameters('nameSuffix'),'.0.0/22')]", + "subnetIpPrefix": "[concat('10.5',parameters('nameSuffix'),'.0.0/24')]", + "subnetName": "subnet0", + "subnetRef": "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('virtualNetworkName'), variables('subnetName'))]", + "computeApiVersion": "2018-06-01", + "networkApiVersion": "2018-08-01" + }, + "resources": [ + { + "name": "[variables('vmName')]", + "type": "Microsoft.Compute/virtualMachines", + "apiVersion": "[variables('computeApiVersion')]", + "location": "[resourceGroup().location]", + "dependsOn": [ + "[variables('nicName')]" + ], + "properties": { + "osProfile": { + "computerName": "[variables('vmName')]", + "adminUsername": "[parameters('adminUsername')]", + "adminPassword": "[parameters('adminPassword')]", + "windowsConfiguration": { + "provisionVmAgent": "true" + } + }, + "hardwareProfile": { + "vmSize": "[parameters('vmSize')]" + }, + "storageProfile": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2019-Datacenter", + "version": "latest" + }, + "osDisk": { + "createOption": "fromImage" + }, + "dataDisks": [] + }, + "networkProfile": { + "networkInterfaces": [ + { + "properties": { + "primary": true + }, + "id": "[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]" + } + ] + } + } + }, + { + "type": "Microsoft.Network/virtualNetworks", + "name": "[variables('virtualNetworkName')]", + "apiVersion": "[variables('networkApiVersion')]", + "location": "[resourceGroup().location]", + "comments": "Virtual Network", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "[variables('vnetIpPrefix')]" + ] + }, + "subnets": [ + { + "name": "[variables('subnetName')]", + "properties": { + "addressPrefix": "[variables('subnetIpPrefix')]" + } + } + ] + } + }, + { + "name": "[variables('nicName')]", + "type": "Microsoft.Network/networkInterfaces", + "apiVersion": "[variables('networkApiVersion')]", + "location": "[resourceGroup().location]", + "comments": "Primary NIC", + "dependsOn": [ + "[variables('publicIpAddressName')]", + "[variables('nsgName')]", + "[variables('virtualNetworkName')]" + ], + "properties": { + "ipConfigurations": [ + { + "name": "ipconfig1", + "properties": { + "subnet": { + "id": "[variables('subnetRef')]" + }, + "privateIPAllocationMethod": "Dynamic", + "publicIpAddress": { + "id": "[resourceId('Microsoft.Network/publicIpAddresses', variables('publicIpAddressName'))]" + } + } + } + ], + "networkSecurityGroup": { + "id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('nsgName'))]" + } + } + }, + { + "name": "[variables('publicIpAddressName')]", + "type": "Microsoft.Network/publicIpAddresses", + "apiVersion": "[variables('networkApiVersion')]", + "location": "[resourceGroup().location]", + "comments": "Public IP for Primary NIC", + "properties": { + "publicIpAllocationMethod": "Dynamic" + } + }, + { + "name": "[variables('nsgName')]", + "type": "Microsoft.Network/networkSecurityGroups", + "apiVersion": "[variables('networkApiVersion')]", + "location": "[resourceGroup().location]", + "comments": "Network Security Group (NSG) for Primary NIC", + "properties": { + "securityRules": [ + { + "name": "default-allow-rdp", + "properties": { + "priority": 1000, + "sourceAddressPrefix": "*", + "protocol": "Tcp", + "destinationPortRange": "3389", + "access": "Allow", + "direction": "Inbound", + "sourcePortRange": "*", + "destinationAddressPrefix": "*" + } + } + ] + } + } + ], + "outputs": {} +} \ No newline at end of file