Skip to content

Commit 534a908

Browse files
authored
Merge pull request #298890 from MicrosoftDocs/main
4/25/2025 PM Publish
2 parents 327d532 + 9988d55 commit 534a908

File tree

38 files changed

+933
-604
lines changed

38 files changed

+933
-604
lines changed

articles/api-management/export-api-power-platform.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ms.custom: engagement-fy23
1515

1616
[!INCLUDE [api-management-availability-all-tiers](../../includes/api-management-availability-all-tiers.md)]
1717

18-
Citizen developers using the Microsoft [Power Platform](https://powerplatform.microsoft.com) often need to reach the business capabilities that are developed by professional developers and deployed in Azure. [Azure API Management](https://aka.ms/apimrocks) enables professional developers to publish their backend service as APIs, and easily export these APIs to the Power Platform ([Power Apps](/powerapps/powerapps-overview) and [Power Automate](/power-automate/getting-started)) as custom connectors for discovery and consumption by citizen developers.
18+
Citizen developers using the Microsoft [Power Platform](https://powerplatform.microsoft.com) often need to reach the business capabilities that are developed by professional developers and deployed in Azure. [Azure API Management](https://aka.ms/apimrocks) enables professional developers to publish their backend service as APIs, and easily export these APIs to the Power Platform ([Copilot Studio](/microsoft-copilot-studio/fundamentals-what-is-copilot-studio), [Power Apps](/powerapps/powerapps-overview) and [Power Automate](/power-automate/getting-started)) as custom connectors for discovery and consumption by citizen developers.
1919

2020
This article walks through the steps in the Azure portal to create a Power Platform [custom connector](/connectors/custom-connectors/) to an API in API Management. With this capability, citizen developers can use the Power Platform to create and distribute apps that are based on internal and external APIs managed by API Management.
2121
## Prerequisites

articles/app-service/invoke-openapi-web-app-from-azure-ai-agent-service.md

Lines changed: 147 additions & 371 deletions
Large diffs are not rendered by default.
139 KB
Loading

articles/azure-resource-manager/bicep/index.yml

Lines changed: 61 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,24 @@ metadata:
1010
ms.author: jgao
1111
ms.subservice: bicep
1212
ms.topic: landing-page
13-
ms.date: 03/17/2025
13+
ms.date: 04/24/2025
1414

1515
# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new
1616

1717
landingContent:
1818
# Card (optional)
19-
- title: Bicep
19+
- title: Get started
2020
linkLists:
2121
- linkListType: overview
2222
links:
2323
- text: What is Bicep?
2424
url: overview.md
25-
- linkListType: video
25+
- linkListType: get-started
2626
links:
27-
- text: Learn live - Bicep
28-
url: /events/learntv/learnlive-iac-and-bicep/
29-
- text: Learn Live - Bicep and GitHub Actions
30-
url: /events/learn-events/learnlive-automate-azure-deployments-bicep-github-actions/
31-
32-
# Card (optional)
33-
- title: Get started
34-
linkLists:
27+
- text: Install Bicep tools
28+
url: install.md
29+
- text: Decompile JSON to Bicep
30+
url: decompile.md
3531
- linkListType: quickstart
3632
links:
3733
- text: Create Bicep files - VS Code
@@ -42,10 +38,6 @@ landingContent:
4238
url: quickstart-create-template-specs.md
4339
- text: Create deployment stacks
4440
url: quickstart-create-deployment-stacks.md
45-
- text: Use private module registry
46-
url: quickstart-private-module-registry.md
47-
- text: Create and deploy Microsoft Graph resources
48-
url: https://learn.microsoft.com/graph/templates/quickstart-create-bicep-interactive-mode
4941
- linkListType: learn
5042
links:
5143
- text: Fundamentals of Bicep
@@ -54,100 +46,111 @@ landingContent:
5446
url: /training/paths/intermediate-bicep/
5547
- text: Advanced Bicep
5648
url: /training/paths/advanced-bicep/
57-
- text: Use deployment stacks
49+
- text: Deployment stacks
5850
url: /training/modules/introduction-to-deployment-stacks/
59-
51+
- linkListType: video
52+
links:
53+
- text: Learn live - Bicep
54+
url: /events/learntv/learnlive-iac-and-bicep/
55+
- text: Learn Live - Bicep and GitHub Actions
56+
url: /events/learn-events/learnlive-automate-azure-deployments-bicep-github-actions/
57+
- linkListType: how-to-guide
58+
links:
59+
- text: Best practices
60+
url: best-practices.md
6061
# Card
6162
- title: Author Bicep files
6263
linkLists:
6364
- linkListType: how-to-guide
6465
links:
6566
- text: Bicep file structure & syntax
6667
url: ./file.md
67-
- text: Define parameters
68-
url: ./parameters.md
69-
- text: Define variables
70-
url: ./variables.md
7168
- text: Define resources
7269
url: ./resource-declaration.md
7370
- text: Define modules
7471
url: ./modules.md
75-
- text: Define outputs
76-
url: ./outputs.md
7772
- text: User-defined data types
7873
url: ./user-defined-data-types.md
7974
- text: User-defined functions
8075
url: ./user-defined-functions.md
76+
- text: Create parameters file
77+
url: ./parameter-files.md
78+
- text: Use iterative loops
79+
url: ./loops.md
80+
- text: Use conditionals
81+
url: ./conditional-resource-deployment.md
82+
- text: Reference existing resources
83+
url: ./existing-resource.md
84+
- text: Use deployment script
85+
url: ./deployment-script-bicep.md
8186
- linkListType: reference
8287
links:
8388
- text: Data types
8489
url: ./data-types.md
85-
- text: Operators
86-
url: ./operators.md
8790
- text: Functions
8891
url: ./bicep-functions.md
92+
- text: Operators
93+
url: ./operators.md
8994
# Card
9095
- title: Deploy Bicep files
9196
linkLists:
97+
- linkListType: how-to-guide
98+
links:
99+
- text: Deploy with Azure CLI
100+
url: deploy-cli.md
101+
- text: Deploy with Azure PowerShell
102+
url: deploy-powershell.md
103+
- text: Deploy with Cloud Shell
104+
url: deploy-cloud-shell.md
105+
- text: Use What-if operation
106+
url: deploy-what-if.md
92107
- linkListType: quickstart
93108
links:
94109
- text: Bicep with pipelines
95110
url: add-template-to-azure-pipelines.md
96111
- text: Bicep with GitHub Actions
97112
url: deploy-github-actions.md
113+
# Card
114+
- title: Patterns
115+
linkLists:
98116
- linkListType: how-to-guide
99117
links:
100-
- text: PowerShell
101-
url: deploy-powershell.md
102-
- text: Azure CLI
103-
url: deploy-cli.md
104-
- text: Cloud Shell
105-
url: deploy-cloud-shell.md
106-
- text: What-if deployment
107-
url: deploy-what-if.md
118+
- text: Configuration set pattern
119+
url: patterns-configuration-set.md
120+
- text: Shared variable file pattern
121+
url: patterns-shared-variable-file.md
108122
# Card
109-
- title: Scoped deployments
123+
- title: Deployment scopes
110124
linkLists:
111125
- linkListType: how-to-guide
112126
links:
113-
- text: Resource group
127+
- text: Resource group scope
114128
url: deploy-to-resource-group.md
115-
- text: Subscription
129+
- text: Subscription scope
116130
url: deploy-to-subscription.md
117-
- text: Management group
131+
- text: Management group scope
118132
url: deploy-to-management-group.md
119-
- text: Tenant
133+
- text: Tenant scope
120134
url: deploy-to-tenant.md
121-
- text: Scoping extension resource
135+
- text: Scope extension resource
122136
url: scope-extension-resources.md
123137
# Card
124-
- title: Guidance & patterns
125-
linkLists:
126-
- linkListType: how-to-guide
127-
links:
128-
- text: Best practices
129-
url: best-practices.md
130-
- text: Configuration set pattern
131-
url: patterns-configuration-set.md
132-
- text: Shared variable file pattern
133-
url: patterns-shared-variable-file.md
134-
# Card
135138
- title: Explore reference content
136139
linkLists:
137140
- linkListType: reference
138141
links:
139142
- text: Bicep resource reference
140143
url: /azure/templates/
141-
- text: Bicep CLI
142-
url: ./bicep-cli.md
143-
- text: Bicep core diagnostics
144-
url: ./bicep-core-diagnostics.md
145144
- text: Azure Quickstart Templates
146145
url: https://azure.microsoft.com/resources/templates/
146+
- text: Bicep CLI reference
147+
url: ./bicep-cli.md
148+
- text: Bicep warning and error codes
149+
url: ./bicep-core-diagnostics.md
150+
- text: Azure CLI reference
151+
url: /cli/azure/resource
152+
- text: Azure PowerShell reference
153+
url: /powershell/module/az.resources
147154
- text: Microsoft Graph Bicep reference
148155
url: https://learn.microsoft.com/graph/templates/reference/overview
149-
- text: Azure PowerShell
150-
url: /powershell/module/az.resources
151-
- text: Azure CLI
152-
url: /cli/azure/resource
153156

articles/azure-resource-manager/bicep/scenarios-virtual-networks.md

Lines changed: 15 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Create virtual network resources by using Bicep
33
description: Describes how to create virtual networks, network security groups, and route tables by using Bicep.
44
ms.topic: conceptual
55
ms.custom: devx-track-bicep
6-
ms.date: 03/17/2025
6+
ms.date: 04/25/2025
77
---
88

99
# Create virtual network resources by using Bicep
@@ -16,69 +16,12 @@ Define your virtual networks by creating a resource with the type [`Microsoft.Ne
1616

1717
### Configure subnets by using the subnets property
1818

19-
Virtual networks contain subnets, which are logical groups of IP addresses within the virtual network. There are two ways to define subnets in Bicep: by using the `subnets` property on the virtual network resource, and by creating a [child resource](child-resource-name-type.md) with type `Microsoft.Network/virtualNetworks/subnets`.
19+
Virtual networks contain subnets, which are logical groupings of IP addresses within the network. Subnets should always be managed as child resources, and the **subnets** property should never be defined within the virtual network resource. This approach ensures a safe and independent lifecycle for both resource types.
2020

21-
> [!WARNING]
22-
> Avoid defining subnets as child resources. This approach can result in downtime for your resources during subsequent deployments, or failed deployments.
21+
> [!NOTE]
22+
> The Azure Virtual Network API is updated to allow modifications to virtual networks without requiring the inclusion of the subnet property in PUT requests. Previously, omitting the subnet property would result in the deletion of existing subnets. With the new behavior, if the subnet property isn't included in a PUT request, the existing subnets remain unchanged. Explicitly setting the subnet property to an empty value deletes all existing subnets, while providing specific subnet configurations creates or updates subnets accordingly. This change simplifies virtual network management by preventing unintended subnet deletions during updates. For more information, see [Azure Virtual Network now supports updates without subnet property](https://techcommunity.microsoft.com/blog/azurenetworkingblog/azure-virtual-network-now-supports-updates-without-subnet-property/4067952).
2323
24-
It's best to define your subnets within the virtual network definition, as in this example:
25-
26-
> The following example is part of a larger example. For a Bicep file that you can deploy, [see the complete file](https://raw.githubusercontent.com/Azure/azure-docs-bicep-samples/main/samples/scenarios-virtual-networks/vnet.bicep).
27-
28-
```bicep
29-
param location string = resourceGroup().location
30-
31-
var virtualNetworkName = 'my-vnet'
32-
var subnet1Name = 'Subnet-1'
33-
var subnet2Name = 'Subnet-2'
34-
35-
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
36-
name: virtualNetworkName
37-
location: location
38-
properties: {
39-
addressSpace: {
40-
addressPrefixes: [
41-
'10.0.0.0/16'
42-
]
43-
}
44-
subnets: [
45-
{
46-
name: subnet1Name
47-
properties: {
48-
addressPrefix: '10.0.0.0/24'
49-
}
50-
}
51-
{
52-
name: subnet2Name
53-
properties: {
54-
addressPrefix: '10.0.1.0/24'
55-
}
56-
}
57-
]
58-
}
59-
60-
resource subnet1 'subnets' existing = {
61-
name: subnet1Name
62-
}
63-
64-
resource subnet2 'subnets' existing = {
65-
name: subnet2Name
66-
}
67-
}
68-
69-
output subnet1ResourceId string = virtualNetwork::subnet1.id
70-
output subnet2ResourceId string = virtualNetwork::subnet2.id
71-
```
72-
73-
Although both approaches enable you to define and create your subnets, there is an important difference. When you define subnets by using child resources, the first time your Bicep file is deployed, the virtual network is deployed. Then, after the virtual network deployment is complete, each subnet is deployed. This sequencing occurs because Azure Resource Manager deploys each individual resource separately.
74-
75-
When you redeploy the same Bicep file, the same deployment sequence occurs. However, the virtual network is deployed without any subnets configured on it because the `subnets` property is effectively empty. Then, after the virtual network is reconfigured, the subnet resources are redeployed, which re-establishes each subnet. In some situations, this behavior causes the resources within your virtual network to lose connectivity during your deployment. In other situations, Azure prevents you from modifying the virtual network and your deployment fails.
76-
77-
### Access subnet resource IDs
78-
79-
You often need to refer to a subnet's resource ID. When you use the `subnets` property to define your subnet, [you can use the `existing` keyword](existing-resource.md) to also obtain a strongly typed reference to the subnet, and then access the subnet's `id` property:
80-
81-
> The following example is part of a larger example. For a Bicep file that you can deploy, [see the complete file](https://raw.githubusercontent.com/Azure/azure-docs-bicep-samples/main/samples/scenarios-virtual-networks/vnet.bicep).
24+
It's best to define your subnets as [child resources](./child-resource-name-type.md#within-parent-resource), as in this example:
8225

8326
```bicep
8427
param location string = resourceGroup().location
@@ -87,7 +30,7 @@ var virtualNetworkName = 'my-vnet'
8730
var subnet1Name = 'Subnet-1'
8831
var subnet2Name = 'Subnet-2'
8932
90-
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
33+
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
9134
name: virtualNetworkName
9235
location: location
9336
properties: {
@@ -96,38 +39,27 @@ resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
9639
'10.0.0.0/16'
9740
]
9841
}
99-
subnets: [
100-
{
101-
name: subnet1Name
102-
properties: {
103-
addressPrefix: '10.0.0.0/24'
104-
}
105-
}
106-
{
107-
name: subnet2Name
108-
properties: {
109-
addressPrefix: '10.0.1.0/24'
110-
}
111-
}
112-
]
11342
}
11443
115-
resource subnet1 'subnets' existing = {
44+
resource subnet1 'subnets' = {
11645
name: subnet1Name
117-
}
46+
properties: {
47+
addressPrefix: '10.0.0.0/24'
48+
} }
11849
119-
resource subnet2 'subnets' existing = {
50+
resource subnet2 'subnets' = {
12051
name: subnet2Name
52+
properties: {
53+
addressPrefix: '10.0.1.0/24'
54+
}
12155
}
12256
}
12357
12458
output subnet1ResourceId string = virtualNetwork::subnet1.id
12559
output subnet2ResourceId string = virtualNetwork::subnet2.id
12660
```
12761

128-
Because this example uses the `existing` keyword to access the subnet resource, instead of defining the complete subnet resource, it doesn't have the risks outlined in the previous section.
129-
130-
You can also combine the `existing` and `scope` keywords to refer to a virtual network or subnet resource in another resource group.
62+
To reference a nested resource outside the parent resource, it must be qualified with the containing resource name and the :: operator as shown in the preceding example.
13163

13264
## Network security groups
13365

@@ -148,4 +80,3 @@ Private endpoint approval is an operation, so you can't perform it directly with
14880
- Quickstart templates
14981
- [Create a Virtual Network with two Subnets](https://azure.microsoft.com/resources/templates/vnet-two-subnets/)
15082
- [Virtual Network with diagnostic logs](https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.network/vnet-create-with-diagnostic-logs)
151-

0 commit comments

Comments
 (0)