在二头肌我有一个主要的二头肌呼吁
1.部署应用程序服务的模块
1.部署托管身份的模块
应用程序服务模块如下所示,它使用用户分配的托管ID的输出,并在应用程序服务的标识中分配:
主二头肌
module userAssignedManagedIdModule 'uam.bicep' = {
name: uamanagedid
params: {
location: rgLocation
name: name
}
}
module asModule 'appservicetemplate.bicep' = {
name: 'name'
params: {
appServiceName: asName
userassignedmanagedid: userAssignedManagedIdModule.outputs.managedIdentityId
}
dependsOn: [ userAssignedMID ]
}
应用服务模板
param UserAssignedIdentity string
resource appService 'Microsoft.Web/sites@2021-02-01' = {
name: appServiceName
location: rgLocation
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'${UserAssignedIdentity}':{}
}
}
properties:{
serverFarmId: appServicePlanId
siteConfig:{
alwaysOn: true
ftpsState: 'Disabled'
}
httpsOnly: true
}
}
用于管理身份的二头肌-用户分配
param name string
param location string = resourceGroup().location
resource UserAssignedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2023-01-31' = {
name: name
location: location
}
output managedIdentityId string = UserAssignedIdentity.id
如果我需要部署一个没有托管ID的应用服务,我想使用与模块相同的bicep,所以我不想让这个userassignedmanagedid成为一个强制参数。我如何实现它?
1条答案
按热度按时间tf7tbtn21#
可选参数使用默认值定义。
然后,您可以动态构建标识块: