Omfångsfunktioner för Bicep
Den här artikeln beskriver Bicep-funktionerna för att hämta omfångsvärden.
managementGroup
managementGroup()
Returnerar ett objekt med egenskaper från hanteringsgruppen i den aktuella distributionen.
managementGroup(identifier)
Returnerar ett objekt som används för att ange omfånget till en hanteringsgrupp.
Namnområde: az.
Kommentarer
managementGroup()
kan endast användas i en hanteringsgruppsdistribution. Den returnerar den aktuella hanteringsgruppen för distributionsåtgärden. Använd när du hämtar ett omfångsobjekt eller hämtar egenskaper för den aktuella hanteringsgruppen.
managementGroup(identifier)
kan användas för alla distributionsomfång, men bara när du hämtar omfångsobjektet. Om du vill hämta egenskaperna för en hanteringsgrupp kan du inte skicka in hanteringsgruppsidentifieraren.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
identifierare | Nej | sträng | Den unika identifieraren för hanteringsgruppen som ska distribueras till. Använd inte visningsnamnet för hanteringsgruppen. Om du inte anger något värde returneras den aktuella hanteringsgruppen. |
Returvärde
Ett objekt som används för att ange scope
egenskapen på en modul eller tilläggsresurstyp. Eller ett objekt med egenskaperna för den aktuella hanteringsgruppen.
Exempel på hanteringsgrupp
I följande exempel anges omfånget för en modul till en hanteringsgrupp.
param managementGroupIdentifier string
module 'mgModule.bicep' = {
name: 'deployToMG'
scope: managementGroup(managementGroupIdentifier)
}
I nästa exempel returneras egenskaper för den aktuella hanteringsgruppen.
targetScope = 'managementGroup'
var mgInfo = managementGroup()
output mgResult object = mgInfo
Då returneras:
"mgResult": {
"type": "Object",
"value": {
"id": "/providers/Microsoft.Management/managementGroups/examplemg1",
"name": "examplemg1",
"properties": {
"details": {
"parent": {
"displayName": "Tenant Root Group",
"id": "/providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000"
},
"updatedBy": "00000000-0000-0000-0000-000000000000",
"updatedTime": "2020-07-23T21:05:52.661306Z",
"version": "1"
},
"displayName": "Example MG 1",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"type": "/providers/Microsoft.Management/managementGroups"
}
}
I nästa exempel skapas en ny hanteringsgrupp och den här funktionen används för att ange den överordnade hanteringsgruppen.
targetScope = 'managementGroup'
param mgName string = 'mg-${uniqueString(newGuid())}'
resource newMG 'Microsoft.Management/managementGroups@2023-04-01' = {
scope: tenant()
name: mgName
properties: {
details: {
parent: {
id: managementGroup().id
}
}
}
}
output newManagementGroup string = mgName
resourceGroup
resourceGroup()
Returnerar ett objekt som representerar den aktuella resursgruppen.
resourceGroup(resourceGroupName)
och
resourceGroup(subscriptionId, resourceGroupName)
Returnera ett objekt som används för att ange omfånget till en resursgrupp.
Namnområde: az.
Kommentarer
Funktionen resourceGroup har två distinkta användningsområden. En användning är för att ange omfånget för en modul eller tilläggsresurstyp. Den andra användningen är för att få information om den aktuella resursgruppen. Placeringen av funktionen avgör dess användning. När den används för att ange scope
egenskapen returneras ett omfångsobjekt.
resourceGroup()
kan användas för att ange omfång eller få information om resursgruppen.
resourceGroup(resourceGroupName)
och resourceGroup(subscriptionId, resourceGroupName)
kan endast användas för att ange omfång.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
resourceGroupName | Nej | sträng | Namnet på resursgruppen som ska distribueras till. Om du inte anger något värde returneras den aktuella resursgruppen. |
subscriptionId | Nej | sträng | Den unika identifieraren för prenumerationen som ska distribueras till. Om du inte anger något värde returneras den aktuella prenumerationen. |
Returvärde
När den används för att ange omfång returnerar funktionen ett objekt som är giltigt för scope
egenskapen för en modul eller en tilläggsresurstyp.
När den används för att få information om resursgruppen returnerar funktionen följande format:
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}",
"name": "{resourceGroupName}",
"type":"Microsoft.Resources/resourceGroups",
"location": "{resourceGroupLocation}",
"managedBy": "{identifier-of-managing-resource}",
"tags": {
},
"properties": {
"provisioningState": "{status}"
}
}
Egenskapen managedBy returneras endast för resursgrupper som innehåller resurser som hanteras av en annan tjänst. För hanterade program, Databricks och AKS är värdet för egenskapen resurs-ID för hanteringsresursen.
Exempel på resursgrupp
I följande exempel omfångsbegränsas en modul till en resursgrupp.
param resourceGroupName string
module exampleModule 'rgModule.bicep' = {
name: 'exampleModule'
scope: resourceGroup(resourceGroupName)
}
I nästa exempel returneras egenskaperna för resursgruppen.
output resourceGroupOutput object = resourceGroup()
Det returnerar ett objekt i följande format:
{
"id": "/subscriptions/{subscription-id}/resourceGroups/examplegroup",
"name": "examplegroup",
"type":"Microsoft.Resources/resourceGroups",
"location": "southcentralus",
"properties": {
"provisioningState": "Succeeded"
}
}
En vanlig användning av funktionen resourceGroup är att skapa resurser på samma plats som resursgruppen. I följande exempel används resursgruppens plats för ett standardparametervärde.
param location string = resourceGroup().location
Du kan också använda funktionen resourceGroup för att tillämpa taggar från resursgruppen på en resurs. Mer information finns i Tillämpa taggar från resursgrupp.
prenumeration
subscription()
Returnerar information om prenumerationen för den aktuella distributionen.
subscription(subscriptionId)
Returnerar ett objekt som används för att ange omfånget till en prenumeration.
Namnområde: az.
Kommentarer
Prenumerationsfunktionen har två distinkta användningsområden. En användning är för att ange omfånget för en modul eller tilläggsresurstyp. Den andra användningen är för att få information om den aktuella prenumerationen. Placeringen av funktionen avgör dess användning. När den används för att ange scope
egenskapen returneras ett omfångsobjekt.
subscription(subscriptionId)
kan endast användas för att ange omfång.
subscription()
kan användas för att ange omfång eller få information om prenumerationen.
Parametrar
Parameter | Obligatoriskt | Type | Beskrivning |
---|---|---|---|
subscriptionId | Nej | sträng | Den unika identifieraren för prenumerationen som ska distribueras till. Om du inte anger något värde returneras den aktuella prenumerationen. |
Returvärde
När den används för att ange omfång returnerar funktionen ett objekt som är giltigt för scope
egenskapen för en modul eller en tilläggsresurstyp.
När den används för att få information om prenumerationen returnerar funktionen följande format:
{
"id": "/subscriptions/{subscription-id}",
"subscriptionId": "{subscription-id}",
"tenantId": "{tenant-id}",
"displayName": "{name-of-subscription}"
}
Prenumerationsexempel
I följande exempel omfångsbegränsas en modul till prenumerationen.
module exampleModule 'subModule.bicep' = {
name: 'deployToSub'
scope: subscription()
}
I nästa exempel returneras information om en prenumeration.
output subscriptionOutput object = subscription()
tenant
tenant()
Returnerar ett objekt som används för att ange omfånget till klientorganisationen.
Eller
Returnerar användarens klientorganisation.
Namnområde: az.
Kommentarer
tenant()
kan användas med valfritt distributionsomfång. Den returnerar alltid den aktuella klientorganisationen. Du kan använda den här funktionen för att ange omfånget för en resurs eller för att hämta egenskaper för den aktuella klientorganisationen.
Returvärde
Ett objekt som används för att ange scope
egenskapen på en modul eller tilläggsresurstyp. Eller ett objekt med egenskaper om den aktuella klientorganisationen.
Exempel på klientorganisation
I följande exempel visas en modul som distribuerats till klientorganisationen.
module exampleModule 'tenantModule.bicep' = {
name: 'deployToTenant'
scope: tenant()
}
I nästa exempel returneras egenskaperna för en klientorganisation.
var tenantInfo = tenant()
output tenantResult object = tenantInfo
Då returneras:
"tenantResult": {
"type": "Object",
"value": {
"countryCode": "US",
"displayName": "Contoso",
"id": "/tenants/00000000-0000-0000-0000-000000000000",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
}
Vissa resurser kräver att du anger klientorganisations-ID för en egenskap. I stället för att skicka klientorganisations-ID:t som en parameter kan du hämta det med klientfunktionen.
resource kv 'Microsoft.KeyVault/vaults@2023-07-01' = {
name: 'examplekeyvault'
location: 'westus'
properties: {
tenantId: tenant().tenantId
...
}
}
Nästa steg
Mer information om distributionsomfång finns i: