Skip to content

Commit 4ade77f

Browse files
authored
Merge pull request #301631 from MicrosoftDocs/main
6/20/2025 AM Publish
2 parents 63b9691 + 4454e07 commit 4ade77f

32 files changed

+358
-159
lines changed

articles/active-directory-b2c/billing.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: kengaderdus
55
manager: CelesteDG
66
ms.service: azure-active-directory
77
ms.topic: reference
8-
ms.date: 06/10/2025
8+
ms.date: 06/13/2025
99
ms.author: kengaderdus
1010
ms.subservice: b2c
1111
ms.custom: fasttrack-edit
@@ -19,7 +19,7 @@ ms.custom: fasttrack-edit
1919

2020
Azure Active Directory B2C (Azure AD B2C) pricing is based on monthly active users (MAU), which is the count of unique users with authentication activity within a calendar month. This billing model applies to both Azure AD B2C tenants and [Microsoft Entra guest user collaboration (B2B)](../active-directory/external-identities/external-identities-pricing.md). MAU billing helps you reduce costs by offering a free tier and flexible, predictable pricing.
2121

22-
In this article, learn about MAU and Go Local billing, linking Azure AD B2C tenants to a subscription, and changing the pricing tier.
22+
In this article, learn about MAU and Go Local billing and linking Azure AD B2C tenants to a subscription.
2323

2424
## MAU overview
2525

@@ -43,7 +43,7 @@ MAU billing went into effect for Azure AD B2C tenants on **November 1, 2019**. A
4343
- If you have an Azure AD B2C tenant that hasn't been linked to a subscription, link it now.
4444
- If you have an existing Azure AD B2C tenant that was linked to a subscription before November 1, 2019, upgrade to the monthly active users (MAU) billing model. You can also choose to stay on the per-authentication billing model.
4545

46-
Your Azure AD B2C tenant must also be linked to the appropriate Azure pricing tier based on the features you want to use. Premium features require Azure AD B2C [Premium P1 or P2 pricing](https://azure.microsoft.com/pricing/details/active-directory-b2c/). You might need to upgrade your pricing tier as you use new features. For example, for risk-based Conditional Access policies, you’ll need to select the Azure AD B2C Premium P2 pricing tier for your tenant.
46+
Your Azure AD B2C tenant must also be linked to the appropriate Azure pricing tier based on the features you want to use. Premium features require Azure AD B2C [Premium P1 pricing](https://azure.microsoft.com/pricing/details/active-directory-b2c/).
4747

4848
> [!NOTE]
4949
> Your first 50,000 MAUs per month are free for both Premium P1 and Premium P2 features, but the **free tier doesn’t apply to free trial, credit-based, or sponsorship subscriptions**. Once the free trial period or credits expire for these types of subscriptions, you'll begin to be charged for Azure AD B2C MAUs. To determine the total number of MAUs, we combine MAUs from all your tenants (both Microsoft Entra ID and Azure AD B2C) that are linked to the same subscription.

articles/api-management/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
href: inject-vnet-v2.md
114114
- name: Virtual network integration (v2 tiers)
115115
href: integrate-vnet-outbound.md
116-
- name: Virtual network integration (workspace gateway) - requirements
116+
- name: Virtual network for workspace gateways
117117
href: virtual-network-workspaces-resources.md
118118
- name: Connect privately using private endpoint
119119
href: private-endpoint.md

articles/api-management/inject-vnet-v2.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,7 @@ When you [create](get-started-create-service-instance.md) a Premium v2 instance
103103

104104
When a Premium v2 API Management instance is injected in a virtual network, you have to manage your own DNS to enable inbound access to API Management.
105105

106-
While you have the option to use your own custom DNS server, we recommend:
107-
108-
1. Configure an Azure [DNS private zone](../dns/private-dns-overview.md).
109-
1. Link the Azure DNS private zone to the virtual network.
110-
111-
Learn how to [set up a private zone in Azure DNS](../dns/private-dns-getstarted-portal.md).
106+
[!INCLUDE [api-management-virtual-network-dns-resolver](../../includes/api-management-virtual-network-dns-resolver.md)]
112107

113108
### Endpoint access on default hostname
114109

articles/api-management/virtual-network-workspaces-resources.md

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: Azure API Management workspace gateways - VNet integration - network resources
2+
title: Azure API Management workspace gateways - virtual network requirements
33
description: Learn about requirements for network resources when you integrate or inject your API Management workspace gateway in an Azure virtual network.
44
author: dlepow
55

66
ms.service: azure-api-management
77
ms.topic: concept-article
8-
ms.date: 06/03/2025
8+
ms.date: 06/18/2025
99
ms.author: danlep
1010
---
1111

@@ -91,13 +91,7 @@ Configure other NSG rules to meet your organization's network access requirement
9191

9292
For virtual network injection, you have to manage your own DNS to enable inbound access to your workspace gateway.
9393

94-
We recommend:
95-
96-
1. Configure an Azure [DNS private zone](../dns/private-dns-overview.md).
97-
1. Link the Azure DNS private zone to the VNet into which you've deployed your workspace gateway.
98-
99-
Learn how to [set up a private zone in Azure DNS](../dns/private-dns-getstarted-portal.md).
100-
94+
[!INCLUDE [api-management-virtual-network-dns-resolver](../../includes/api-management-virtual-network-dns-resolver.md)]
10195

10296
### Access on default hostname
10397

@@ -108,9 +102,9 @@ When you create an API Management workspace, the workspace gateway is assigned a
108102
109103
### Configure DNS record
110104

111-
Create an A record in your DNS server to access the workspace from within your VNet. Map the endpoint record to the private VIP address of your workspace gateway.
105+
Create an A record in your DNS server to access the workspace from within your virtual network. Map the endpoint record to the private VIP address of your workspace gateway.
112106

113-
For testing purposes, you might update the hosts file on a virtual machine in a subnet connected to the VNet in which API Management is deployed. Assuming the private virtual IP address for your workspace gateway is 10.1.0.5, you can map the hosts file as shown in the following example. The hosts mapping file is at `%SystemDrive%\drivers\etc\hosts` (Windows) or `/etc/hosts` (Linux, macOS).
107+
For testing purposes, you might update the hosts file on a virtual machine in a subnet connected to the virtual network in which API Management is deployed. Assuming the private virtual IP address for your workspace gateway is 10.1.0.5, you can map the hosts file as shown in the following example. The hosts mapping file is at `%SystemDrive%\drivers\etc\hosts` (Windows) or `/etc/hosts` (Linux, macOS).
114108

115109
| Internal virtual IP address | Gateway hostname |
116110
| ----- | ----- |

articles/automation/shared-resources/modules.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ author: jasminemehndir
2121
2222
Azure Automation uses a number of PowerShell modules to enable cmdlets in runbooks and DSC resources in DSC configurations. Supported modules include:
2323

24-
* [Azure PowerShell Az.Automation](/powershell/azure/new-azureps-module-az).
24+
* [Azure PowerShell Az modules](/powershell/azure/new-azureps-module-az).
2525
* Other PowerShell modules.
26-
* Internal `Orchestrator.AssetManagement.Cmdlets` module.
27-
* Python 2 modules.
26+
* Internal `Orchestrator.AssetManagement.Cmdlets` module (not available on a Linux Hybrid Runbook Worker).
27+
* Python 2 and Python 3 modules.
2828
* Custom modules that you create.
2929

3030
When you create an Automation account, Azure Automation imports some modules by default. See [Default modules](#default-modules).

articles/azure-resource-manager/bicep/bicep-config-linter.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Linter settings for Bicep config
33
description: Describes how to customize configuration values for the Bicep linter
44
ms.topic: conceptual
55
ms.custom: devx-track-bicep
6-
ms.date: 04/28/2025
6+
ms.date: 06/19/2025
77
---
88

99
# Add linter settings in the Bicep config file
@@ -37,19 +37,19 @@ The following example shows the rules that are available for configuration.
3737
"level": "off"
3838
},
3939
"max-asserts": {
40-
"level": "warning"
40+
"level": "error"
4141
},
4242
"max-outputs": {
43-
"level": "warning"
43+
"level": "error"
4444
},
4545
"max-params": {
46-
"level": "warning"
46+
"level": "error"
4747
},
4848
"max-resources": {
49-
"level": "warning"
49+
"level": "error"
5050
},
5151
"max-variables": {
52-
"level": "warning"
52+
"level": "error"
5353
},
5454
"nested-deployment-template-scoping": {
5555
"level": "error"
@@ -115,11 +115,11 @@ The following example shows the rules that are available for configuration.
115115
"level": "warning"
116116
},
117117
"use-recent-api-versions": {
118-
"level": "warning",
118+
"level": "off",
119119
"maxAllowedAgeInDays": 730
120120
},
121121
"use-recent-module-versions": {
122-
"level": "warning"
122+
"level": "off"
123123
},
124124
"use-resource-id-functions": {
125125
"level": "off"
@@ -140,7 +140,7 @@ The following example shows the rules that are available for configuration.
140140
"level": "warning"
141141
},
142142
"what-if-short-circuiting": {
143-
"level": "warning"
143+
"level": "off"
144144
}
145145
}
146146
}

articles/azure-resource-manager/bicep/linter-rule-admin-username-should-not-be-literal.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ Don't use a literal value or an expression that evaluates to a literal value. In
2323
The following example fails this test because the user name is a literal value.
2424

2525
```bicep
26+
param location string = resourceGroup().location
27+
2628
resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
2729
name: 'name'
2830
location: location
@@ -37,6 +39,8 @@ resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
3739
The next example fails this test because the expression evaluates to a literal value when the default value is used.
3840

3941
```bicep
42+
param location string = resourceGroup().location
43+
4044
var defaultAdmin = 'administrator'
4145
resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
4246
name: 'name'
@@ -54,7 +58,8 @@ This example passes this test.
5458
```bicep
5559
@secure()
5660
param adminUsername string
57-
param location string
61+
param location string = resourceGroup().location
62+
5863
resource vm 'Microsoft.Compute/virtualMachines@2023-03-01' = {
5964
name: 'name'
6065
location: location

articles/azure-resource-manager/bicep/linter-rule-explicit-values-for-loc-params.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ title: Linter rule - use explicit values for module location parameters
33
description: Linter rule - use explicit values for module location parameters.
44
ms.topic: reference
55
ms.custom: devx-track-bicep
6-
ms.date: 02/12/2025
6+
ms.date: 06/19/2025
77
---
88

99
# Linter rule - use explicit values for module location parameters
1010

1111
This rule finds module parameters that are used for resource locations and may inadvertently default to an unexpected value.
1212

13+
> [!NOTE]
14+
> This rule is off by default. Change the level in [bicepconfig.json](./bicep-config-linter.md) to enable it.
15+
1316
## Linter rule code
1417

1518
Use the following value in the [Bicep configuration file](bicep-config-linter.md) to customize rule settings:

articles/azure-resource-manager/bicep/linter-rule-no-hardcoded-location.md

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ title: Linter rule - no hardcoded locations
33
description: Linter rule - no hardcoded locations
44
ms.topic: reference
55
ms.custom: devx-track-bicep
6-
ms.date: 02/12/2025
6+
ms.date: 06/19/2025
77
---
88

99
# Linter rule - no hardcoded locations
1010

1111
This rule finds uses of Azure location values that aren't parameterized.
1212

13+
> [!NOTE]
14+
> This rule is off by default. Change the level in [bicepconfig.json](./bicep-config-linter.md) to enable it.
15+
1316
## Linter rule code
1417

1518
Use the following value in the [Bicep configuration file](bicep-config-linter.md) to customize rule settings:
@@ -25,18 +28,29 @@ Rather than using a hardcoded string or variable value, use a parameter, the str
2528
The following example fails this test because the resource's `location` property uses a string literal:
2629

2730
```bicep
28-
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
29-
location: 'westus'
31+
resource stg 'Microsoft.Storage/storageAccounts@2024-01-01' = {
32+
name: 'stg'
33+
location: 'westus'
34+
kind: 'StorageV2'
35+
sku: {
36+
name: 'Premium_LRS'
3037
}
38+
}
3139
```
3240

3341
You can fix it by creating a new `location` string parameter (which may optionally have a default value - resourceGroup().location is frequently used as a default):
3442

3543
```bicep
36-
param location string = resourceGroup().location
37-
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
38-
location: location
44+
param location string = resourceGroup().location
45+
46+
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
47+
name: 'stg${uniqueString(resourceGroup().id)}'
48+
location: location
49+
kind: 'StorageV2'
50+
sku: {
51+
name: 'Premium_LRS'
3952
}
53+
}
4054
```
4155

4256
Use **Quick Fix** to create a location parameter and replace the string literal with the parameter name. See the following screenshot:
@@ -46,19 +60,19 @@ Use **Quick Fix** to create a location parameter and replace the string literal
4660
The following example fails this test because the resource's `location` property uses a variable with a string literal.
4761

4862
```bicep
49-
var location = 'westus'
50-
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
51-
location: location
52-
}
63+
var location = 'westus'
64+
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
65+
location: location
66+
}
5367
```
5468

5569
You can fix it by turning the variable into a parameter:
5670

5771
```bicep
58-
param location string = 'westus'
59-
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
60-
location: location
61-
}
72+
param location string = 'westus'
73+
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
74+
location: location
75+
}
6276
```
6377

6478
The following example fails this test because a string literal is being passed in to a module parameter that is in turn used for a resource's `location` property:

articles/azure-resource-manager/bicep/linter-rule-no-loc-expr-outside-params.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ title: Linter rule - no location expressions outside of parameter default values
33
description: Linter rule - no location expressions outside of parameter default values
44
ms.topic: reference
55
ms.custom: devx-track-bicep
6-
ms.date: 02/12/2025
6+
ms.date: 06/19/2025
77
---
88

99
# Linter rule - no location expressions outside of parameter default values
1010

1111
This rule finds `resourceGroup().location` or `deployment().location` used outside of a parameter default value.
1212

13+
> [!NOTE]
14+
> This rule is off by default. Change the level in [bicepconfig.json](./bicep-config-linter.md) to enable it.
15+
1316
## Linter rule code
1417

1518
Use the following value in the [Bicep configuration file](bicep-config-linter.md) to customize rule settings:

0 commit comments

Comments
 (0)