Updates to support ESRI Accelerator (#945)

* Moved files to a new folder

* Added files

* Renamed folder

* Renamed folder

* Added required outputs, Compiled bicep changes

* Added params

* Updated deployment URLs

* Updated param descriptions

* GitHub Action: Build Bicep to JSON

---------

Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
Jason Masten 2024-03-29 08:53:38 -04:00 коммит произвёл GitHub
Родитель 3c1851ab17
Коммит 2d28f86a71
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
55 изменённых файлов: 32707 добавлений и 177 удалений

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 103 KiB

После

Ширина:  |  Высота:  |  Размер: 103 KiB

Просмотреть файл

@ -0,0 +1,76 @@
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[ValidateSet('China','Global','USGov','USGovDoD','USNat','USSec')]
[string]$Environment,
[Parameter(Mandatory)]
[string]$SubscriptionId,
[Parameter(Mandatory)]
[string]$TenantId
)
# Install the Microsoft Graph module
if (!$(Get-Module -ListAvailable | Where-Object {$_.Name -eq 'Microsoft.Graph'}))
{
Install-Module -Name 'Microsoft.Graph' -Scope 'CurrentUser'
}
# Connect to Azure AD
Connect-MgGraph `
-Environment $Environment `
-TenantId $TenantId
# Determine the correct application ID for the 'Domain Controller Services' service principal
$ApplicationId = switch($Environment)
{
Global { '2565bd9d-da50-47d4-8b85-4c97f669dc36' }
default { '6ba9a5d4-8456-4118-b521-9c5ca10cdf84' }
}
# Register the 'Domain Controller Services' service principal to the subscription
New-MgServicePrincipal `
-AppId $ApplicationId
# If the group doesn't exist, create it
if (!$(Get-MgGroup -Filter "DisplayName eq 'AAD DC Administrators'"))
{
New-MgGroup `
-DisplayName "AAD DC Administrators" `
-Description "Delegated group to administer Microsoft Entra Domain Services" `
-SecurityEnabled:$true `
-MailEnabled:$false `
-MailNickName "AADDCAdministrators"
}
else
{
Write-Output "Admin group already exists."
}
$AzureEnvironment = switch($Environment)
{
China { 'AzureChinaCloud' }
Global { 'AzureCloud' }
USGov { 'AzureUSGovernment' }
USGovDoD { 'AzureUSGovernment' }
USNat { 'USNat' }
USSec { 'USSec' }
}
# Install the Az module
if (!$(Get-Module -ListAvailable | Where-Object {$_.Name -eq 'Az.Resources'}))
{
Install-Module -Name 'Az.Resources' -Scope 'CurrentUser'
}
# Connect to Azure
Connect-AzAccount `
-Environment $AzureEnvironment `
-Tenant $TenantId `
-Subscription $SubscriptionId
# Register the 'Microsoft.AAD' provider to the subscription, if not already registered
Register-AzResourceProvider `
-ProviderNamespace 'Microsoft.AAD'

Просмотреть файл

@ -0,0 +1,144 @@
[CmdletBinding()]
param (
[Parameter()]
[string]
$Environment,
[Parameter()]
[string]
$NetworkSecurityGroupName,
[Parameter()]
[string]
$NetworkSecurityGroupResourceGroupName,
[Parameter()]
[string]
$SubscriptionId,
[Parameter()]
[string]
$TenantId,
[Parameter()]
[string]
$UserAssignedIdentityClientId
)
Connect-AzAccount `
-Environment $Environment `
-Tenant $TenantId `
-Subscription $SubscriptionId `
-Identity `
-AccountId $UserAssignedIdentityClientId
$Rules = @(
[PSCustomObject]@{
Access = 'Allow'
DestinationAddressPrefix = '*'
DestinationPortRange = '5986'
Direction = 'Inbound'
Name = 'Allow_WinRM_EntraDS'
Priority = '300'
Protocol = 'TCP'
SourceAddressPrefix = 'AzureActiveDirectoryDomainServices'
SourcePortRange = '*'
},
[PSCustomObject]@{
Access = 'Allow'
DestinationAddressPrefix = 'AzureActiveDirectoryDomainServices'
DestinationPortRange = '443'
Direction = 'Outbound'
Name = 'Allow_HTTPS_EntraDS'
Priority = '300'
Protocol = 'TCP'
SourceAddressPrefix = '*'
SourcePortRange = '*'
},
[PSCustomObject]@{
Access = 'Allow'
DestinationAddressPrefix = 'AzureMonitor'
DestinationPortRange = '443'
Direction = 'Outbound'
Name = 'Allow_HTTPS_AzureMonitor'
Priority = '305'
Protocol = 'TCP'
SourceAddressPrefix = '*'
SourcePortRange = '*'
},
[PSCustomObject]@{
Access = 'Allow'
DestinationAddressPrefix = 'Storage'
DestinationPortRange = '443'
Direction = 'Outbound'
Name = 'Allow_HTTPS_Storage'
Priority = '310'
Protocol = 'TCP'
SourceAddressPrefix = '*'
SourcePortRange = '*'
},
[PSCustomObject]@{
Access = 'Allow'
DestinationAddressPrefix = 'AzureActiveDirectory'
DestinationPortRange = '443'
Direction = 'Outbound'
Name = 'Allow_HTTPS_MicrosoftEntraID'
Priority = '315'
Protocol = 'TCP'
SourceAddressPrefix = '*'
SourcePortRange = '*'
},
[PSCustomObject]@{
Access = 'Allow'
DestinationAddressPrefix = 'AzureUpdateDelivery'
DestinationPortRange = '443'
Direction = 'Outbound'
Name = 'Allow_HTTPS_AzureUpdateDelivery'
Priority = '320'
Protocol = 'TCP'
SourceAddressPrefix = '*'
SourcePortRange = '*'
},
[PSCustomObject]@{
Access = 'Allow'
DestinationAddressPrefix = 'AzureFrontDoor.FirstParty'
DestinationPortRange = '443'
Direction = 'Outbound'
Name = 'Allow_HTTPS_AzureFrontDoor'
Priority = '325'
Protocol = 'TCP'
SourceAddressPrefix = '*'
SourcePortRange = '*'
},
[PSCustomObject]@{
Access = 'Allow'
DestinationAddressPrefix = 'GuestAndHybridManagement'
DestinationPortRange = '443'
Direction = 'Outbound'
Name = 'Allow_HTTPS_GuestAndHybridManagement'
Priority = '330'
Protocol = 'TCP'
SourceAddressPrefix = '*'
SourcePortRange = '*'
}
)
$Configuration = Get-AzNetworkSecurityGroup `
-ResourceGroupName $NetworkSecurityGroupResourceGroupName `
-Name $NetworkSecurityGroupName
foreach ($Rule in $Rules)
{
$Configuration | Add-AzNetworkSecurityRuleConfig `
-Name $Rule.Name `
-Access $Rule.Access `
-Protocol $Rule.Protocol `
-Direction $Rule.Direction `
-Priority $Rule.Priority `
-SourceAddressPrefix $Rule.SourceAddressPrefix `
-SourcePortRange $Rule.SourcePortRange `
-DestinationPortRange $Rule.DestinationPortRange `
-DestinationAddressPrefix $Rule.DestinationAddressPrefix
}
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $Configuration

Просмотреть файл

@ -0,0 +1,33 @@
@description('The domain name for the managed domain.')
param domainName string
@description('The location of the managed domain.')
param location string
@description('The resource ID of the subnet for the managed domain.')
param subnetResourceId string
resource domainServices 'Microsoft.AAD/DomainServices@2022-12-01' = {
name: domainName
location: location
properties: {
domainConfigurationType: 'FullySynced'
domainName: domainName
domainSecuritySettings: {
kerberosRc4Encryption: 'Disabled'
}
filteredSync: 'Disabled'
notificationSettings: {
notifyGlobalAdmins: 'Enabled'
notifyDcAdmins: 'Enabled'
additionalRecipients: []
}
replicaSets: [
{
subnetId: subnetResourceId
location: location
}
]
sku: 'Standard'
}
}

Просмотреть файл

@ -0,0 +1,17 @@
targetScope = 'subscription'
param deploymentNameSuffix string
param domainName string
param location string
param resourceGroupName string
param subnetResourceId string
module domainServices '../../active-directory-domain-services/paas/solution.bicep' = {
name: 'domain-services-${deploymentNameSuffix}'
scope: resourceGroup(resourceGroupName)
params: {
domainName: domainName
location: location
subnetResourceId: subnetResourceId
}
}

Просмотреть файл

@ -0,0 +1,175 @@
targetScope = 'subscription'
@description('The file name of the ArcGIS Pro installer in Azure Blobs.')
param arcGisProInstaller string
@description('The blob name of the MSI file for the AVD Agent Boot Loader installer. The file must be hosted in an Azure Blobs container with the other deployment artifacts.')
param avdAgentBootLoaderMsiName string
@description('The blob name of the MSI file for the AVD Agent installer. The file must be hosted in an Azure Blobs container with the other deployment artifacts.')
param avdAgentMsiName string
@description('The object ID for the Azure Virtual Desktop enterprise application in Microsoft Entra ID. The object ID can found by selecting Microsoft Applications using the Application type filter in the Enterprise Applications blade of Microsoft Entra ID.')
param avdObjectId string
@description('The blob name of the MSI file for the Azure PowerShell Module installer. The file must be hosted in an Azure Blobs container with the other deployment artifacts.')
param azurePowerShellModuleMsiName string
@description('The name of the container in the Azure Storage Account containing the deployment artifacts.')
param containerName string
@description('A suffix to use for naming deployments uniquely. It defaults to the Bicep resolution of the "utcNow()" function.')
param deploymentNameSuffix string = utcNow()
@secure()
@description('The password for the domain join account that will be created in Entra Domain Services.')
param domainJoinPassword string
@description('The username for the domain join account that will be created in Entra Domain Services.')
param domainJoinUsername string = 'domainjoin'
@description('The name of the domain to use for Entra Domain Services.')
param domainName string
@description('Email address of the contact, in the form of john@doe.com')
param emailSecurityContact string = ''
@description('Determines whether to use the hybrid use benefit.')
param hybridUseBenefit bool
@minLength(1)
@maxLength(3)
@description('The unique identifier between the business unit or project this solution will support.')
param identifier string
@secure()
@description('The password for the local administrator account on the virtual machines.')
param localAdministratorPassword string
@description('The username for the local administrator account on the virtual machines.')
param localAdministratorUsername string
@description('The region to deploy resources into. It defaults to the deployment location.')
param location string = deployment().location
@minLength(3)
@maxLength(6)
@description('A prefix, 3-6 alphanumeric characters without whitespace, used to prefix resources and generate uniqueness for resources with globally unique naming requirements like Storage Accounts and Log Analytics Workspaces')
param resourcePrefix string
@description('The array of Security Principals with their object IDs and display names to assign to the AVD Application Group and FSLogix Storage.')
param securityPrincipals array
@description('The resource ID of the Azure Storage Account to use for storing artifacts to customize the image.')
param storageAccountResourceId string
@allowed([
'Standard_NV4as_v4'
'Standard_NV8as_v4'
'Standard_NV16as_v4'
'Standard_NV32as_v4'
])
@description('The virtual machine SKU for the AVD session hosts.')
param virtualMachineSize string = 'Standard_NV4as_v4'
module missionLandingZone '../../mlz.bicep' = {
name: 'deploy-mission-landing-zone-${deploymentNameSuffix}'
params: {
environmentAbbreviation: 'dev'
deployIdentity: true
firewallSkuTier: 'Standard'
location: location
resourcePrefix: resourcePrefix
}
}
module domainServices 'modules/domainServices.bicep' = {
name: 'deploy-entra-domain-services-${deploymentNameSuffix}'
params: {
deploymentNameSuffix: deploymentNameSuffix
domainName: domainName
location: location
resourceGroupName: first(filter(missionLandingZone.outputs.networks, network => network.name == 'identity')).resourceGroupName
subnetResourceId: missionLandingZone.outputs.identitySubnetResourceId
}
}
module image '../imaging/solution.bicep' = {
name: 'deploy-image-${deploymentNameSuffix}'
params: {
arcGisProInstaller: arcGisProInstaller
azureFirewallResourceId: missionLandingZone.outputs.azureFirewallResourceId
containerName: containerName
emailSecurityContact: emailSecurityContact
enableBuildAutomation: false
environmentAbbreviation: 'dev'
hubVirtualNetworkResourceId: missionLandingZone.outputs.hubVirtualNetworkResourceId
hybridUseBenefit: hybridUseBenefit
identifier: identifier
imageDefinitionNamePrefix: 'arcgis-pro'
imageMajorVersion: 1
imagePatchVersion: 0
installAccess: false
installArcGisPro: true
installExcel: false
installOneDrive: false
installOneNote: false
installOutlook: false
installPowerPoint: false
installProject: false
installPublisher: false
installSkypeForBusiness: false
installTeams: false
installVirtualDesktopOptimizationTool: false
installVisio: false
installWord: false
localAdministratorPassword: localAdministratorPassword
localAdministratorUsername: localAdministratorUsername
location: location
replicaCount: 1
sourceImageType: 'AzureMarketplace'
spokelogAnalyticsWorkspaceResourceId: missionLandingZone.outputs.logAnalyticsWorkspaceResourceId
storageAccountResourceId: storageAccountResourceId
virtualMachineSize: virtualMachineSize
}
}
module azureVirtualDesktop '../azureVirtualDesktop/solution.bicep' = {
name: 'deploy-azure-virtual-desktop-${deploymentNameSuffix}'
params: {
activeDirectorySolution: 'MicrosoftEntraDomainServices'
artifactsContainerName: containerName
artifactsStorageAccountResourceId: storageAccountResourceId
availability: 'None'
avdAgentBootLoaderMsiName: avdAgentBootLoaderMsiName
avdAgentMsiName: avdAgentMsiName
avdObjectId: avdObjectId
azureNetAppFilesSubnetAddressPrefix: '10.0.140.128/25'
azurePowerShellModuleMsiName: azurePowerShellModuleMsiName
domainJoinPassword: domainJoinPassword
domainJoinUserPrincipalName: '${domainJoinUsername}@${domainName}'
domainName: domainName
environmentAbbreviation: 'dev'
fslogixStorageService: 'AzureNetAppFiles Premium'
hostPoolPublicNetworkAccess: 'Enabled'
hubAzureFirewallResourceId: missionLandingZone.outputs.azureFirewallResourceId
hubSubnetResourceId: missionLandingZone.outputs.hubSubnetResourceId
hubVirtualNetworkResourceId: missionLandingZone.outputs.hubVirtualNetworkResourceId
identifier: identifier
imageDefinitionResourceId: image.outputs.imageDefinitionResourceId
locationControlPlane: location
locationVirtualMachines: location
organizationalUnitPath: 'OU=AADDC Computers,DC=${replace(domainName, '.', ',DC=')}'
securityPrincipals: securityPrincipals
subnetAddressPrefixes: ['10.0.140.0/25']
virtualMachinePassword: localAdministratorPassword
virtualMachineSize: virtualMachineSize
virtualMachineUsername: localAdministratorUsername
virtualMachineVirtualCpuCount: int(replace(replace(virtualMachineSize, 'Standard_NV', ''), 'as_v4', ''))
virtualNetworkAddressPrefixes: ['10.0.140.0/24']
workspacePublicNetworkAccess: 'Enabled'
}
dependsOn: [
domainServices
]
}

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -93,7 +93,7 @@ Get-AzProviderFeature -FeatureName "EncryptionAtHost" -ProviderNamespace "Micros
| Azure Commercial | Azure Government |
| ---------------- | ---------------- |
|[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fmissionlz%2Fmain%2Fsrc%2Fbicep%2Fadd-ons%2FImaging%2Fsolution.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fmissionlz%2Fmain%2Fsrc%2Fbicep%2Fadd-ons%2FImaging%2FuiDefinition.json) | [![Deploy to Azure Gov](https://aka.ms/deploytoazuregovbutton)](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fmissionlz%2Fmain%2Fsrc%2Fbicep%2Fadd-ons%2FImaging%2Fsolution.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fmissionlz%2Fmain%2Fsrc%2Fbicep%2Fadd-ons%2FImaging%2FuiDefinition.json) |
|[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fmissionlz%2Fmain%2Fsrc%2Fbicep%2Fadd-ons%2Fimaging%2Fsolution.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fmissionlz%2Fmain%2Fsrc%2Fbicep%2Fadd-ons%2Fimaging%2FuiDefinition.json) | [![Deploy to Azure Gov](https://aka.ms/deploytoazuregovbutton)](https://portal.azure.us/#blade/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fmissionlz%2Fmain%2Fsrc%2Fbicep%2Fadd-ons%2Fimaging%2Fsolution.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fmissionlz%2Fmain%2Fsrc%2Fbicep%2Fadd-ons%2Fimaging%2FuiDefinition.json) |
<!-- markdownlint-enable MD013 -->
## Creating Template Spec for AirGapped Clouds

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 15 KiB

После

Ширина:  |  Высота:  |  Размер: 15 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 17 KiB

После

Ширина:  |  Высота:  |  Размер: 17 KiB

Просмотреть файл

@ -261,3 +261,5 @@ module removeVirtualMachine 'removeVirtualMachine.bicep' = {
imageVersion
]
}
output imageDefinitionResourceId string = imageVersion.outputs.imageDefinitionResourceId

Просмотреть файл

@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "3799715576984842950"
"version": "0.26.54.24096",
"templateHash": "9174134663226790442"
}
},
"parameters": {
@ -275,8 +275,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16547380297411296093"
"version": "0.26.54.24096",
"templateHash": "12968919444807468891"
}
},
"parameters": {
@ -520,8 +520,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "1728818177596078040"
"version": "0.26.54.24096",
"templateHash": "3416440754020274895"
}
},
"parameters": {
@ -765,8 +765,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "14079819052660871868"
"version": "0.26.54.24096",
"templateHash": "10008712211219806019"
}
},
"parameters": {
@ -1181,8 +1181,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "15652734889958367160"
"version": "0.26.54.24096",
"templateHash": "10420021406848674052"
}
},
"parameters": {
@ -1290,8 +1290,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16972320332893080745"
"version": "0.26.54.24096",
"templateHash": "12095172867813258567"
}
},
"parameters": {
@ -1370,8 +1370,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "15652734889958367160"
"version": "0.26.54.24096",
"templateHash": "10420021406848674052"
}
},
"parameters": {
@ -1472,8 +1472,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "6827990749941898285"
"version": "0.26.54.24096",
"templateHash": "13855748863144258342"
}
},
"parameters": {
@ -1547,8 +1547,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "7984238434227880490"
"version": "0.26.54.24096",
"templateHash": "1408076597272275810"
}
},
"parameters": {
@ -1674,8 +1674,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "12930973001492446080"
"version": "0.26.54.24096",
"templateHash": "5850341894374079914"
}
},
"parameters": {
@ -1775,7 +1775,13 @@
"[resourceId('Microsoft.Compute/galleries/images', parameters('computeGalleryName'), parameters('imageDefinitionName'))]"
]
}
]
],
"outputs": {
"imageDefinitionResourceId": {
"type": "string",
"value": "[resourceId('Microsoft.Compute/galleries/images', parameters('computeGalleryName'), parameters('imageDefinitionName'))]"
}
}
}
},
"dependsOn": [
@ -1818,8 +1824,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "4341349501002459058"
"version": "0.26.54.24096",
"templateHash": "2352439563696964014"
}
},
"parameters": {
@ -1901,5 +1907,11 @@
"[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('subscriptionId'), parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('image-vm-{0}', parameters('deploymentNameSuffix')))]"
]
}
]
],
"outputs": {
"imageDefinitionResourceId": {
"type": "string",
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('subscriptionId'), parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('image-version-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.imageDefinitionResourceId.value]"
}
}
}

Просмотреть файл

@ -96,3 +96,5 @@ resource imageVersion 'Microsoft.Compute/galleries/images/versions@2022-03-03' =
}
}
}
output imageDefinitionResourceId string = imageDefinition.id

Просмотреть файл

@ -198,7 +198,7 @@ param spokelogAnalyticsWorkspaceResourceId string
param storageAccountResourceId string
@description('The subnet address prefix.')
param subnetAddressPrefix string
param subnetAddressPrefix string = '10.0.134.0/24'
@description('The array of supported clouds for specific deployments.')
param supportedClouds array = [
@ -233,7 +233,7 @@ param vDOTInstaller string = ''
param virtualMachineSize string
@description('The virtual network address prefix.')
param virtualNetworkAddressPrefix string
param virtualNetworkAddressPrefix string = '10.0.134.0/24'
@description('The logs for the diagnostic setting on the virtual network.')
param virtualNetworkDiagnosticsLogs array = []
@ -456,3 +456,5 @@ module imageBuild 'modules/imageBuild.bicep' = {
buildAutomation
]
}
output imageDefinitionResourceId string = imageBuild.outputs.imageDefinitionResourceId

Просмотреть файл

@ -4,8 +4,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "14231979144603878636"
"version": "0.26.54.24096",
"templateHash": "18224617635862364120"
}
},
"parameters": {
@ -412,6 +412,7 @@
},
"subnetAddressPrefix": {
"type": "string",
"defaultValue": "10.0.134.0/24",
"metadata": {
"description": "The subnet address prefix."
}
@ -477,6 +478,7 @@
},
"virtualNetworkAddressPrefix": {
"type": "string",
"defaultValue": "10.0.134.0/24",
"metadata": {
"description": "The virtual network address prefix."
}
@ -1017,8 +1019,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "13136741410504274799"
"version": "0.26.54.24096",
"templateHash": "15317263239998054719"
}
},
"parameters": {
@ -1246,8 +1248,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "1875159740310035831"
"version": "0.26.54.24096",
"templateHash": "16223515126777270114"
}
},
"parameters": {
@ -1798,8 +1800,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16214742128972496947"
"version": "0.26.54.24096",
"templateHash": "6875432534491165308"
}
},
"parameters": {
@ -1906,8 +1908,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "18429929713495132232"
"version": "0.26.54.24096",
"templateHash": "14258191516922489977"
}
},
"parameters": {
@ -2035,8 +2037,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "2879310497370314190"
"version": "0.26.54.24096",
"templateHash": "17369831668491029949"
}
},
"parameters": {
@ -2169,8 +2171,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "14595420933363835973"
"version": "0.26.54.24096",
"templateHash": "11944009476052352030"
}
},
"parameters": {
@ -2265,8 +2267,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "17886518240477437470"
"version": "0.26.54.24096",
"templateHash": "7780881015892644264"
}
},
"parameters": {
@ -2349,8 +2351,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16396784950679856617"
"version": "0.26.54.24096",
"templateHash": "3452822322028754232"
}
},
"parameters": {
@ -2441,8 +2443,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "7393503353750877364"
"version": "0.26.54.24096",
"templateHash": "7600987290536274187"
}
},
"parameters": {
@ -2522,8 +2524,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "11899290391963495406"
"version": "0.26.54.24096",
"templateHash": "10147997802991299261"
}
},
"parameters": {
@ -2664,8 +2666,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16252707641537943975"
"version": "0.26.54.24096",
"templateHash": "13987612441032900755"
}
},
"parameters": {
@ -2710,8 +2712,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "13171060180511860684"
"version": "0.26.54.24096",
"templateHash": "10509951780144584720"
}
},
"parameters": {
@ -2776,8 +2778,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "8708137600409483830"
"version": "0.26.54.24096",
"templateHash": "11212369470578362410"
}
},
"parameters": {
@ -2816,8 +2818,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "13171060180511860684"
"version": "0.26.54.24096",
"templateHash": "10509951780144584720"
}
},
"parameters": {
@ -2901,8 +2903,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "15773333571553716283"
"version": "0.26.54.24096",
"templateHash": "3912836360709277206"
}
},
"parameters": {
@ -2966,8 +2968,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "5050434978606880010"
"version": "0.26.54.24096",
"templateHash": "17697959832977472677"
}
},
"parameters": {
@ -3157,6 +3159,10 @@
"type": "string",
"value": "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
},
"keyVaultName": {
"type": "string",
"value": "[parameters('keyVaultName')]"
},
"keyVaultUri": {
"type": "string",
"value": "[reference(resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName')), '2022-07-01').vaultUri]"
@ -3204,8 +3210,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "4614698695242257266"
"version": "0.26.54.24096",
"templateHash": "8720396217971176471"
}
},
"parameters": {
@ -3278,8 +3284,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "15536832716681446548"
"version": "0.26.54.24096",
"templateHash": "16166471121138690529"
}
},
"parameters": {
@ -3367,8 +3373,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "4000331216612946216"
"version": "0.26.54.24096",
"templateHash": "9210810628290341713"
}
},
"parameters": {
@ -3419,8 +3425,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "15536832716681446548"
"version": "0.26.54.24096",
"templateHash": "16166471121138690529"
}
},
"parameters": {
@ -3483,10 +3489,18 @@
"type": "string",
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('networkProperties').subscriptionId, parameters('networkProperties').resourceGroupName), 'Microsoft.Resources/deployments', format('deploy-disk-encryption-set_{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.resourceId.value]"
},
"KeyVaultName": {
"type": "string",
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('networkProperties').subscriptionId, parameters('networkProperties').resourceGroupName), 'Microsoft.Resources/deployments', format('deploy-key-vault-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.keyVaultName.value]"
},
"keyVaultUri": {
"type": "string",
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('networkProperties').subscriptionId, parameters('networkProperties').resourceGroupName), 'Microsoft.Resources/deployments', format('deploy-key-vault-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.keyVaultUri.value]"
},
"keyVaultResourceId": {
"type": "string",
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('networkProperties').subscriptionId, parameters('networkProperties').resourceGroupName), 'Microsoft.Resources/deployments', format('deploy-key-vault-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.keyVaultResourceId.value]"
},
"storageKeyName": {
"type": "string",
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', parameters('networkProperties').subscriptionId, parameters('networkProperties').resourceGroupName), 'Microsoft.Resources/deployments', format('deploy-key-vault-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.storageKeyName.value]"
@ -3554,8 +3568,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "14173874211340091680"
"version": "0.26.54.24096",
"templateHash": "8737645416670201102"
}
},
"parameters": {
@ -3652,8 +3666,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "9733002769278931836"
"version": "0.26.54.24096",
"templateHash": "6728136650948993728"
}
},
"parameters": {
@ -3895,8 +3909,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "3973306502467550024"
"version": "0.26.54.24096",
"templateHash": "4413878666182449542"
}
},
"parameters": {
@ -3958,8 +3972,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "6094940624248562005"
"version": "0.26.54.24096",
"templateHash": "14852926421482749735"
}
},
"parameters": {
@ -4052,8 +4066,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "11378963378628427560"
"version": "0.26.54.24096",
"templateHash": "14146627423781433804"
}
},
"parameters": {
@ -4124,8 +4138,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "10651169427067678785"
"version": "0.26.54.24096",
"templateHash": "17731844489242416935"
}
},
"parameters": {
@ -4206,8 +4220,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "256355721797700603"
"version": "0.26.54.24096",
"templateHash": "2594345850908952645"
}
},
"parameters": {
@ -4260,8 +4274,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "10054670634576893900"
"version": "0.26.54.24096",
"templateHash": "14286124867588017135"
}
},
"parameters": {
@ -4436,8 +4450,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "15536832716681446548"
"version": "0.26.54.24096",
"templateHash": "16166471121138690529"
}
},
"parameters": {
@ -4521,14 +4535,19 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "3655671661053884718"
"version": "0.26.54.24096",
"templateHash": "15033542879751971590"
}
},
"parameters": {
"bundle": {
"defenderPlans": {
"type": "array",
"defaultValue": "[if(equals(environment().name, 'AzureCloud'), createArray('Api', 'AppServices', 'Arm', 'CloudPosture', 'Containers', 'CosmosDbs', 'KeyVaults', 'OpenSourceRelationalDatabases', 'SqlServers', 'SqlServerVirtualMachines', 'StorageAccounts', 'VirtualMachines'), if(equals(environment().name, 'AzureUSGovernment'), createArray('Arm', 'Containers', 'OpenSourceRelationalDatabases', 'SqlServers', 'SqlServerVirtualMachines', 'StorageAccounts', 'VirtualMachines'), createArray()))]"
"defaultValue": [
"VirtualMachines"
],
"metadata": {
"description": "Defender Paid protection Plans. Even if a customer selects the free sku, at least 1 paid protection plan must be specified."
}
},
"enableAutoProvisioning": {
"type": "bool",
@ -4558,9 +4577,9 @@
},
"defenderSkuTier": {
"type": "string",
"defaultValue": "Standard",
"defaultValue": "Free",
"metadata": {
"description": "[Standard/Free] The SKU for Defender. It defaults to \"Standard\"."
"description": "[Standard/Free] The SKU for Defender. It defaults to \"Free\"."
}
}
},
@ -4571,13 +4590,14 @@
{
"copy": {
"name": "defenderPricing",
"count": "[length(parameters('bundle'))]",
"count": "[length(parameters('defenderPlans'))]",
"mode": "serial",
"batchSize": 1
},
"condition": "[not(empty(parameters('defenderPlans')))]",
"type": "Microsoft.Security/pricings",
"apiVersion": "2023-01-01",
"name": "[parameters('bundle')[copyIndex()]]",
"name": "[parameters('defenderPlans')[copyIndex()]]",
"properties": {
"pricingTier": "[parameters('defenderSkuTier')]"
}
@ -4709,8 +4729,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "14891022152006144146"
"version": "0.26.54.24096",
"templateHash": "12181921994224744670"
}
},
"parameters": {
@ -4777,8 +4797,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "11368078854097516641"
"version": "0.26.54.24096",
"templateHash": "3261785720771012004"
}
},
"parameters": {
@ -4840,8 +4860,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16045498473233891757"
"version": "0.26.54.24096",
"templateHash": "6123420137652686226"
}
},
"parameters": {
@ -4904,8 +4924,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "11631901298232255569"
"version": "0.26.54.24096",
"templateHash": "4730086051603564055"
}
},
"parameters": {
@ -4963,8 +4983,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "12481158494829461248"
"version": "0.26.54.24096",
"templateHash": "1555328837128180474"
}
},
"parameters": {
@ -5031,8 +5051,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "7733096476768281504"
"version": "0.26.54.24096",
"templateHash": "2894140398868893648"
}
},
"parameters": {
@ -5118,8 +5138,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "3020575580086003717"
"version": "0.26.54.24096",
"templateHash": "13573162316169096662"
}
},
"parameters": {
@ -5390,8 +5410,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "13346804179941775305"
"version": "0.26.54.24096",
"templateHash": "9040575151241198514"
}
},
"parameters": {
@ -5639,8 +5659,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "11467377179124308344"
"version": "0.26.54.24096",
"templateHash": "3831662428877063007"
}
},
"parameters": {
@ -5722,8 +5742,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "18374614941522582389"
"version": "0.26.54.24096",
"templateHash": "1379414864345021329"
}
},
"parameters": {
@ -5926,8 +5946,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16704652170699186833"
"version": "0.26.54.24096",
"templateHash": "247100698972349712"
}
},
"parameters": {
@ -5948,8 +5968,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "3799715576984842950"
"version": "0.26.54.24096",
"templateHash": "9174134663226790442"
}
},
"parameters": {
@ -6219,8 +6239,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16547380297411296093"
"version": "0.26.54.24096",
"templateHash": "12968919444807468891"
}
},
"parameters": {
@ -6464,8 +6484,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "1728818177596078040"
"version": "0.26.54.24096",
"templateHash": "3416440754020274895"
}
},
"parameters": {
@ -6709,8 +6729,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "14079819052660871868"
"version": "0.26.54.24096",
"templateHash": "10008712211219806019"
}
},
"parameters": {
@ -7125,8 +7145,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "15652734889958367160"
"version": "0.26.54.24096",
"templateHash": "10420021406848674052"
}
},
"parameters": {
@ -7234,8 +7254,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16972320332893080745"
"version": "0.26.54.24096",
"templateHash": "12095172867813258567"
}
},
"parameters": {
@ -7314,8 +7334,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "15652734889958367160"
"version": "0.26.54.24096",
"templateHash": "10420021406848674052"
}
},
"parameters": {
@ -7416,8 +7436,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "6827990749941898285"
"version": "0.26.54.24096",
"templateHash": "13855748863144258342"
}
},
"parameters": {
@ -7491,8 +7511,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "7984238434227880490"
"version": "0.26.54.24096",
"templateHash": "1408076597272275810"
}
},
"parameters": {
@ -7618,8 +7638,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "12930973001492446080"
"version": "0.26.54.24096",
"templateHash": "5850341894374079914"
}
},
"parameters": {
@ -7719,7 +7739,13 @@
"[[resourceId('Microsoft.Compute/galleries/images', parameters('computeGalleryName'), parameters('imageDefinitionName'))]"
]
}
]
],
"outputs": {
"imageDefinitionResourceId": {
"type": "string",
"value": "[[resourceId('Microsoft.Compute/galleries/images', parameters('computeGalleryName'), parameters('imageDefinitionName'))]"
}
}
}
},
"dependsOn": [
@ -7762,8 +7788,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "4341349501002459058"
"version": "0.26.54.24096",
"templateHash": "2352439563696964014"
}
},
"parameters": {
@ -7845,7 +7871,13 @@
"[[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('subscriptionId'), parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('image-vm-{0}', parameters('deploymentNameSuffix')))]"
]
}
]
],
"outputs": {
"imageDefinitionResourceId": {
"type": "string",
"value": "[[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('subscriptionId'), parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('image-version-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.imageDefinitionResourceId.value]"
}
}
}
},
"resources": [
@ -7938,8 +7970,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16547380297411296093"
"version": "0.26.54.24096",
"templateHash": "12968919444807468891"
}
},
"parameters": {
@ -8337,8 +8369,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "13647022555682895900"
"version": "0.26.54.24096",
"templateHash": "1975706033396141500"
}
},
"parameters": {
@ -8872,8 +8904,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "1334960045876828738"
"version": "0.26.54.24096",
"templateHash": "2083337980389295324"
}
},
"parameters": {
@ -9237,8 +9269,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "3799715576984842950"
"version": "0.26.54.24096",
"templateHash": "9174134663226790442"
}
},
"parameters": {
@ -9508,8 +9540,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16547380297411296093"
"version": "0.26.54.24096",
"templateHash": "12968919444807468891"
}
},
"parameters": {
@ -9753,8 +9785,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "1728818177596078040"
"version": "0.26.54.24096",
"templateHash": "3416440754020274895"
}
},
"parameters": {
@ -9998,8 +10030,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "14079819052660871868"
"version": "0.26.54.24096",
"templateHash": "10008712211219806019"
}
},
"parameters": {
@ -10414,8 +10446,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "15652734889958367160"
"version": "0.26.54.24096",
"templateHash": "10420021406848674052"
}
},
"parameters": {
@ -10523,8 +10555,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "16972320332893080745"
"version": "0.26.54.24096",
"templateHash": "12095172867813258567"
}
},
"parameters": {
@ -10603,8 +10635,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "15652734889958367160"
"version": "0.26.54.24096",
"templateHash": "10420021406848674052"
}
},
"parameters": {
@ -10705,8 +10737,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "6827990749941898285"
"version": "0.26.54.24096",
"templateHash": "13855748863144258342"
}
},
"parameters": {
@ -10780,8 +10812,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "7984238434227880490"
"version": "0.26.54.24096",
"templateHash": "1408076597272275810"
}
},
"parameters": {
@ -10907,8 +10939,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "12930973001492446080"
"version": "0.26.54.24096",
"templateHash": "5850341894374079914"
}
},
"parameters": {
@ -11008,7 +11040,13 @@
"[resourceId('Microsoft.Compute/galleries/images', parameters('computeGalleryName'), parameters('imageDefinitionName'))]"
]
}
]
],
"outputs": {
"imageDefinitionResourceId": {
"type": "string",
"value": "[resourceId('Microsoft.Compute/galleries/images', parameters('computeGalleryName'), parameters('imageDefinitionName'))]"
}
}
}
},
"dependsOn": [
@ -11051,8 +11089,8 @@
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "4341349501002459058"
"version": "0.26.54.24096",
"templateHash": "2352439563696964014"
}
},
"parameters": {
@ -11134,7 +11172,13 @@
"[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('subscriptionId'), parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('image-vm-{0}', parameters('deploymentNameSuffix')))]"
]
}
]
],
"outputs": {
"imageDefinitionResourceId": {
"type": "string",
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('subscriptionId'), parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('image-version-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.imageDefinitionResourceId.value]"
}
}
}
},
"dependsOn": [
@ -11143,5 +11187,11 @@
"[subscriptionResourceId('Microsoft.Resources/deployments', format('tier3-{0}', parameters('deploymentNameSuffix')))]"
]
}
]
],
"outputs": {
"imageDefinitionResourceId": {
"type": "string",
"value": "[reference(subscriptionResourceId('Microsoft.Resources/deployments', format('image-build-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.imageDefinitionResourceId.value]"
}
}
}

Просмотреть файл

@ -732,3 +732,10 @@ module defenderforClouds 'modules/defenderforClouds.bicep' = if (deployDefender)
defenderPlans: deployDefenderPlans
}
}
output azureFirewallResourceId string = networking.outputs.azureFirewallResourceId
output hubSubnetResourceId string = networking.outputs.hubSubnetResourceId
output hubVirtualNetworkResourceId string = networking.outputs.hubVirtualNetworkResourceId
output identitySubnetResourceId string = networking.outputs.identitySubnetResourceId
output logAnalyticsWorkspaceResourceId string = monitoring.outputs.logAnalyticsWorkspaceResourceId
output networks array = logic.outputs.networks

Просмотреть файл

@ -5,7 +5,7 @@
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "11246240944076095145"
"templateHash": "8544707785042027382"
}
},
"parameters": {
@ -1889,7 +1889,7 @@
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "1578251447800700355"
"templateHash": "12805260671779525318"
}
},
"parameters": {
@ -2075,7 +2075,7 @@
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "7601687106083411565"
"templateHash": "1867861694959053688"
}
},
"parameters": {
@ -2793,7 +2793,7 @@
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "4762141408757587278"
"templateHash": "17878198270712885843"
}
},
"parameters": {
@ -3058,6 +3058,10 @@
"privateIPAddress": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Network/azureFirewalls', parameters('name')), '2021-02-01').ipConfigurations[0].properties.privateIPAddress]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.Network/azureFirewalls', parameters('name'))]"
}
}
}
@ -3082,6 +3086,10 @@
"type": "string",
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'firewall'), '2022-09-01').outputs.privateIPAddress.value]"
},
"firewallResourceId": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'firewall'), '2022-09-01').outputs.resourceId.value]"
},
"networkSecurityGroupName": {
"type": "string",
"value": "[reference(resourceId('Microsoft.Resources/deployments', 'networkSecurityGroup'), '2022-09-01').outputs.name.value]"
@ -4529,6 +4537,10 @@
}
],
"outputs": {
"azureFirewallResourceId": {
"type": "string",
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('hub').subscriptionId, variables('hub').resourceGroupName), 'Microsoft.Resources/deployments', format('deploy-vnet-hub-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.firewallResourceId.value]"
},
"bastionHostSubnetResourceId": {
"type": "string",
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('hub').subscriptionId, variables('hub').resourceGroupName), 'Microsoft.Resources/deployments', format('deploy-vnet-hub-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.bastionHostSubnetResourceId.value]"
@ -4541,6 +4553,14 @@
"type": "string",
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('hub').subscriptionId, variables('hub').resourceGroupName), 'Microsoft.Resources/deployments', format('deploy-vnet-hub-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.networkSecurityGroupResourceId.value]"
},
"hubVirtualNetworkResourceId": {
"type": "string",
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('hub').subscriptionId, variables('hub').resourceGroupName), 'Microsoft.Resources/deployments', format('deploy-vnet-hub-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.virtualNetworkResourceId.value]"
},
"identitySubnetResourceId": {
"type": "string",
"value": "[if(parameters('deployIdentity'), reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('spokes')[2].subscriptionId, variables('spokes')[2].resourceGroupName), 'Microsoft.Resources/deployments', format('deploy-vnet-{0}-{1}', variables('spokes')[2].name, parameters('deploymentNameSuffix'))), '2022-09-01').outputs.subnetResourceId.value, '')]"
},
"operationsSubnetResourceId": {
"type": "string",
"value": "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('spokes')[0].subscriptionId, variables('spokes')[0].resourceGroupName), 'Microsoft.Resources/deployments', format('deploy-vnet-{0}-{1}', variables('spokes')[0].name, parameters('deploymentNameSuffix'))), '2022-09-01').outputs.subnetResourceId.value]"
@ -8493,5 +8513,31 @@
"[subscriptionResourceId('Microsoft.Resources/deployments', format('deploy-monitoring-{0}', parameters('deploymentNameSuffix')))]"
]
}
]
],
"outputs": {
"azureFirewallResourceId": {
"type": "string",
"value": "[reference(subscriptionResourceId('Microsoft.Resources/deployments', format('deploy-networking-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.azureFirewallResourceId.value]"
},
"hubSubnetResourceId": {
"type": "string",
"value": "[reference(subscriptionResourceId('Microsoft.Resources/deployments', format('deploy-networking-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.hubSubnetResourceId.value]"
},
"hubVirtualNetworkResourceId": {
"type": "string",
"value": "[reference(subscriptionResourceId('Microsoft.Resources/deployments', format('deploy-networking-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.hubVirtualNetworkResourceId.value]"
},
"identitySubnetResourceId": {
"type": "string",
"value": "[reference(subscriptionResourceId('Microsoft.Resources/deployments', format('deploy-networking-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.identitySubnetResourceId.value]"
},
"logAnalyticsWorkspaceResourceId": {
"type": "string",
"value": "[reference(subscriptionResourceId('Microsoft.Resources/deployments', format('deploy-monitoring-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.logAnalyticsWorkspaceResourceId.value]"
},
"networks": {
"type": "array",
"value": "[reference(subscriptionResourceId('Microsoft.Resources/deployments', format('get-logic-{0}', parameters('deploymentNameSuffix'))), '2022-09-01').outputs.networks.value]"
}
}
}

Просмотреть файл

@ -216,3 +216,4 @@ resource firewall 'Microsoft.Network/azureFirewalls@2021-02-01' = {
output name string = firewall.name
output privateIPAddress string = firewall.properties.ipConfigurations[0].properties.privateIPAddress
output resourceId string = firewall.id

Просмотреть файл

@ -190,6 +190,7 @@ module firewall '../modules/firewall.bicep' = {
output bastionHostSubnetResourceId string = deployRemoteAccess ? virtualNetwork.outputs.subnets[3].id : ''
output firewallName string = firewall.outputs.name
output firewallPrivateIPAddress string = firewall.outputs.privateIPAddress
output firewallResourceId string = firewall.outputs.resourceId
output networkSecurityGroupName string = networkSecurityGroup.outputs.name
output networkSecurityGroupResourceId string = networkSecurityGroup.outputs.id
output subnetAddressPrefix string = virtualNetwork.outputs.subnets[2].properties.addressPrefix
@ -197,3 +198,4 @@ output subnetName string = virtualNetwork.outputs.subnets[2].name
output subnetResourceId string = virtualNetwork.outputs.subnets[2].id
output virtualNetworkName string = virtualNetwork.outputs.name
output virtualNetworkResourceId string = virtualNetwork.outputs.id

Просмотреть файл

@ -136,9 +136,12 @@ module privateDnsZones 'private-dns.bicep' = {
]
}
output azureFirewallResourceId string = hubNetwork.outputs.firewallResourceId
output bastionHostSubnetResourceId string = hubNetwork.outputs.bastionHostSubnetResourceId
output hubSubnetResourceId string = hubNetwork.outputs.subnetResourceId
output hubNetworkSecurityGroupResourceId string = hubNetwork.outputs.networkSecurityGroupResourceId
output hubVirtualNetworkResourceId string = hubNetwork.outputs.virtualNetworkResourceId
output identitySubnetResourceId string = deployIdentity ? spokeNetworks[2].outputs.subnetResourceId : ''
output operationsSubnetResourceId string = spokeNetworks[0].outputs.subnetResourceId
output privateDnsZoneResourceIds object = {
agentsvc: privateDnsZones.outputs.agentsvcPrivateDnsZoneId