Skip to content

Commit 5cdc8d7

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into waf-tshoot
2 parents b76855a + 2f776cc commit 5cdc8d7

File tree

9 files changed

+147
-13
lines changed

9 files changed

+147
-13
lines changed

articles/azure-compute-fleet/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
href: quickstart-create-portal.md
77
- name: Create with ARM template
88
href: quickstart-create-rest-api.md
9+
- name: Create using Azure CLI
10+
href: quickstart-create-azure-cli.md
911
expand: true
1012
- name: Allocation strategies
1113
href: allocation-strategies.md
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
---
2+
title: Create an Azure Compute Fleet using Azure CLI
3+
description: Learn how to create an Azure Compute Fleet using Azure CLI.
4+
author: ykh015
5+
ms.author: yakhande
6+
ms.topic: how-to
7+
ms.service: azure-compute-fleet
8+
ms.date: 05/09/2025
9+
ms.reviewer: jushiman
10+
ms.custom: devx-track-azurecli
11+
---
12+
13+
# Create an Azure Compute Fleet using Azure CLI
14+
15+
This article steps through using the Azure CLI to create and deploy a Compute Fleet resource
16+
17+
Make sure that you've installed the latest [Azure CLI](/cli/azure/install-az-cli2) and are logged in to an Azure account with [az login](/cli/azure/reference-index).
18+
19+
## Launch Azure Cloud Shell
20+
21+
The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. It has common Azure tools preinstalled and configured to use with your account.
22+
23+
To open the Cloud Shell, select **Open Cloud Shell** from the upper right corner of a code block. You can also launch Cloud Shell in a separate browser tab by going to [https://shell.azure.com/cli](https://shell.azure.com/cli). Select **Copy** to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.
24+
25+
## Prerequisites
26+
27+
- If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
28+
- Before using Compute Fleet, complete the feature registration and configure role-based access controls (RBAC).
29+
30+
## Feature registration
31+
32+
Register the Azure Compute Fleet resource provider with your subscription using Azure CLI. Registration can take up to 30 minutes to successfully show as registered.
33+
34+
```azurecli-interactive
35+
az provider register --namespace 'Microsoft.AzureFleet'
36+
```
37+
38+
## Define environment variables
39+
40+
Define environment variables as follows.
41+
42+
```bash
43+
export RANDOM_ID="$(openssl rand -hex 3)"
44+
export MY_RESOURCE_GROUP_NAME="myFleetResourceGroup$RANDOM_ID"
45+
export REGION=EastUS
46+
export MY_FLEET_NAME="myFleet$RANDOM_ID"
47+
export MY_USERNAME=azureuser
48+
export MY_VNET_NAME="myVNet$RANDOM_ID"
49+
export NETWORK_PREFIX="$(($RANDOM % 254 + 1))"
50+
export MY_VNET_PREFIX="10.$NETWORK_PREFIX.0.0/16"
51+
export MY_VM_SN_NAME="myVMSN$RANDOM_ID"
52+
export MY_VM_SN_PREFIX="10.$NETWORK_PREFIX.0.0/24"
53+
```
54+
55+
## Create a resource group
56+
57+
A resource group is a logical container into which Azure resources are deployed and managed. All resources must be placed in a resource group. The following command creates a resource group with the previously defined `$MY_RESOURCE_GROUP_NAME` and `$REGION` parameters.
58+
59+
```azurecli-interactive
60+
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
61+
```
62+
63+
## Create virtual network and subnet
64+
65+
Now you'll create a virtual network using the previously defined `$MY_VNET_PREFIX`, `$MY_VM_SN_NAME`, and `$MY_VM_SN_PREFIX` parameters.
66+
67+
```azurecli-interactive
68+
az network vnet create --name $MY_VNET_NAME --resource-group $MY_RESOURCE_GROUP_NAME --location $REGION --address-prefix $MY_VNET_PREFIX --subnet-name $MY_VM_SN_NAME --subnet-prefix $MY_VM_SN_PREFIX
69+
```
70+
71+
The following command gets the subnet ARM ID.
72+
73+
```azurecli-interactive
74+
export MY_SUBNET_ID="$(az network vnet subnet show \
75+
--resource-group $MY_RESOURCE_GROUP_NAME \
76+
--vnet-name $MY_VNET_NAME \
77+
--name $MY_VM_SN_NAME \
78+
--query id --output tsv)"
79+
```
80+
81+
## Set up the admin password
82+
83+
Set up a password that meets the [password requirements for Azure VMs](https://learn.microsoft.com/azure/virtual-machines/windows/faq#what-are-the-password-requirements-when-creating-a-vm-).
84+
85+
```bash
86+
export ADMIN_PASSWORD="Azure compliant password"
87+
```
88+
89+
## Create a Compute Fleet
90+
91+
Set up the compute profile which is applied to the underlying VMs.
92+
93+
```bash
94+
export COMPUTE_PROFILE="{ 'baseVirtualMachineProfile': { 'storageProfile': { 'imageReference': { 'publisher':'canonical', 'offer':'0001-com-ubuntu-server-focal', 'sku': '20_04-lts-gen2', 'version': 'latest' } }, 'osProfile': { 'computerNamePrefix': 'vm', 'adminUsername': '$MY_USERNAME', 'adminPassword': '$ADMIN_PASSWORD'}, 'networkProfile': { 'networkInterfaceConfigurations': [{ 'name': 'nic', 'primary': 'true', 'enableIPForwarding': 'true', 'ipConfigurations': [{ 'name': 'ipc', 'subnet': { 'id': '$MY_SUBNET_ID' } }] }], 'networkApiVersion': '2020-11-01'} } }"
95+
```
96+
97+
```azurecli-interactive
98+
az compute-fleet create --name $MY_FLEET_NAME --resource-group $MY_RESOURCE_GROUP_NAME --location $REGION \
99+
--spot-priority-profile "{ 'capacity': 5 }" \
100+
--regular-priority-profile "{ 'capacity': 5 }" \
101+
--compute-profile "$COMPUTE_PROFILE" \
102+
--vm-sizes-profile "[{ 'name': 'Standard_F1s' }]"
103+
```
104+
105+
## Clean up resources (optional)
106+
107+
To avoid Azure charges, you should clean up unneeded resources. When you no longer need your Compute Fleet and other resources, delete the resource group and all its resources with [az group delete](/cli/azure/group). The `--no-wait` parameter returns control to the prompt without waiting for the operation to complete. The `--yes` parameter confirms that you wish to delete the resources without another prompt to do so.
108+
109+
## Next steps
110+
> [!div class="nextstepaction"]
111+
> [Learn how to modify a Compute Fleet.](modify-fleet.md)

articles/azure-functions/flex-consumption-plan.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Azure Functions Flex Consumption plan hosting
33
description: Running your function code in the Azure Functions Flex Consumption plan provides virtual network integration, dynamic scale (to zero), and reduced cold starts.
44
ms.service: azure-functions
55
ms.topic: concept-article
6-
ms.date: 11/01/2024
6+
ms.date: 05/08/2025
77
ms.custom: references_regions, build-2024, ignite-2024
88
# Customer intent: As a developer, I want to understand the benefits of using the Flex Consumption plan so I can get the scalability benefits of Azure Functions without having to pay for resources I don't need.
99
---
@@ -107,7 +107,7 @@ This table shows the language stack versions that are currently supported for Fl
107107
| Java | Java 11, Java 17 |
108108
| Node.js | Node 20 |
109109
| PowerShell | PowerShell 7.4 |
110-
| Python | Python 3.10, Python 3.11 |
110+
| Python | Python 3.10, Python 3.11, Python 3.12 |
111111

112112
<sup>1</sup>[C# in-process mode](./functions-dotnet-class-library.md) isn't supported. You instead need to [migrate your .NET code project to run in the isolated worker model](migrate-dotnet-to-isolated-model.md).
113113
<sup>2</sup>Requires version `1.20.0` or later of [Microsoft.Azure.Functions.Worker](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker) and version `1.16.2` or later of [Microsoft.Azure.Functions.Worker.Sdk](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk).
@@ -134,7 +134,7 @@ Keep these other considerations in mind when using Flex Consumption plan:
134134
+ **Host**: There's a 30-second time out for app initialization. When your function app takes longer than 30 seconds to start, you might see gRPC-related `System.TimeoutException` entries logged. You can't currently configure this time out. For more information, see [this host work item](https://github.com/Azure/azure-functions-host/issues/10482).
135135
+ **Durable Functions**: Azure Storage is currently the only supported [storage provider](./durable/durable-functions-storage-providers.md) for Durable Functions when hosted in the Flex Consumption plan. See [recommendations](./durable/durable-functions-azure-storage-provider.md#flex-consumption-plan) when hosting Durable Functions in the Flex Consumption plan.
136136
+ **Virtual network integration** Ensure that the `Microsoft.App` Azure resource provider is enabled for your subscription by [following these instructions](/azure/azure-resource-manager/management/resource-providers-and-types#register-resource-provider). The subnet delegation required by Flex Consumption apps is `Microsoft.App/environments`.
137-
+ **Triggers**: All triggers are fully supported except for Kafka and Azure SQL triggers. The Blob storage trigger only supports the [Event Grid source](./functions-event-grid-blob-trigger.md). Non-C# function apps must use version `[4.0.0, 5.0.0)` of the [extension bundle](./functions-bindings-register.md#extension-bundles), or a later version.
137+
+ **Triggers**: While all triggers are fully supported in a Flex Consumption plan, the Blob storage trigger only supports the [Event Grid source](./functions-event-grid-blob-trigger.md). Non-C# function apps must use version `[4.0.0, 5.0.0)` of the [extension bundle](./functions-bindings-register.md#extension-bundles), or a later version.
138138
+ **Regions**: Not all regions are currently supported. To learn more, see [View currently supported regions](flex-consumption-how-to.md#view-currently-supported-regions).
139139
+ **Deployments**: Deployment slots aren't currently supported.
140140
+ **Scale**: The lowest maximum scale is currently `40`. The highest currently supported value is `1000`.

articles/azure-resource-manager/bicep/data-types.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Data types in Bicep
33
description: This article describes the data types that are available in Bicep.
44
ms.topic: reference
5-
ms.date: 01/10/2025
5+
ms.date: 05/09/2025
66
ms.custom: devx-track-bicep
77
---
88

@@ -423,7 +423,7 @@ You can use the union type syntax in [user-defined data types](./user-defined-da
423423
424424
Secure strings use the same format as string, and secure objects use the same format as object. With Bicep, you add the `@secure()` [decorator](./parameters.md#use-decorators) to a string or object.
425425
426-
When you set a parameter to a secure string or secure object, the value of the parameter isn't saved to the deployment history or logged. If you set that secure value to a property that isn't expecting a secure value, the value isn't protected. For example, if you set a secure string to a tag, that value is stored as plain text. Use secure strings for passwords and secrets.
426+
When you set a parameter (or an output) to a secure string or secure object, the value of the parameter (or the output) isn't saved to the deployment history or logged. If you set that secure value to a property that isn't expecting a secure value, the value isn't protected. For example, if you set a secure string to a tag, that value is stored as plain text. Use secure strings for passwords and secrets.
427427
428428
The following example shows two secure parameters:
429429
@@ -435,6 +435,8 @@ param password string
435435
param configValues object
436436
```
437437

438+
For more information, see [Secure parameters](./parameters.md#secure-parameters) and [Secure outputs](./outputs.md#secure-outputs).
439+
438440
## Data type assignability
439441

440442
In Bicep, you can assign a value of one type (source type) to another type (target type). The following table shows which source type (listed horizontally) you can or can't assign to which target type (listed vertically). In the table, _X_ means assignable, an empty space means not assignable, and _?_ means only if the types are compatible.

articles/azure-resource-manager/bicep/modules.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Bicep modules
33
description: This article describes how to define a module in a Bicep file and how to use module scopes.
44
ms.topic: conceptual
55
ms.custom: devx-track-bicep
6-
ms.date: 03/25/2025
6+
ms.date: 05/09/2025
77
---
88

99
# Bicep modules
@@ -545,6 +545,8 @@ module stgModule '../create-storage-account/main.bicep' = {
545545
output storageEndpoint object = stgModule.outputs.storageEndpoint
546546
```
547547

548+
With Bicep version 0.35.1 and later, the `@secure()` decorator can be applied to module outputs to mark them as sensitive, ensuring that their values are not exposed in logs or deployment history. This is useful when a module needs to return sensitive data, such as a generated key or connection string, to the parent Bicep file without risking exposure. For more information, see [Secure outputs](./outputs.md#secure-outputs).
549+
548550
## Related content
549551

550552
- For a tutorial, see [Build your first Bicep template](/training/modules/deploy-azure-resources-by-using-bicep-templates/).

articles/azure-resource-manager/bicep/outputs.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Outputs in Bicep
33
description: Learn how to define output values in Bicep.
44
ms.topic: conceptual
55
ms.custom: devx-track-bicep
6-
ms.date: 03/25/2025
6+
ms.date: 05/09/2025
77
---
88

99
# Outputs in Bicep
@@ -68,6 +68,7 @@ Decorators are written in the format `@expression` and are placed above output d
6868
| [minLength](#length-constraints) | array, string | int | This provides the minimum length for string and array outputs, and the value is inclusive. |
6969
| [minValue](#integer-constraints) | int | int | This provides the minimum value for the integer output, and the value is inclusive. |
7070
| [sealed](#sealed) | object | none | Elevate [BCP089](./diagnostics/bcp089.md) from a warning to an error when a property name of a use-define data type is likely a typo. For more information, see [Elevate error level](./user-defined-data-types.md#elevate-error-level). |
71+
| [secure](#secure-outputs) | string, object | none | Marks the output as secure. The value for a secure output isn't saved to the deployment history and isn't logged. For more information, see [Secure strings and objects](data-types.md#secure-strings-and-objects). |
7172

7273
Decorators are in the [`sys` namespace](bicep-functions.md#namespaces-for-functions). If you need to differentiate a decorator from another item with the same name, preface the decorator with `sys`. For example, if your Bicep file includes a parameter named `description`, you must add the `sys` namespace when using the **description** decorator.
7374

@@ -150,6 +151,20 @@ When you provide a `@metadata()` decorator with a property that conflicts with a
150151

151152
See [Elevate error level](./user-defined-data-types.md#elevate-error-level).
152153

154+
### Secure outputs
155+
156+
With Bicep version 0.35.1 and later, you can mark string or object outputs as secure. When an output is decorated with `@secure()`, Azure Resource Manager treats the output value as sensitive, preventing it from being logged or displayed in deployment history, Azure portal, or command-line outputs.
157+
158+
```bicep
159+
@secure()
160+
output demoPassword string
161+
162+
@secure()
163+
output demoSecretObject object
164+
```
165+
166+
The `@secure()` decorator is valid only for outputs of type string or object, as these align with the [secureString](../templates/syntax.md#outputs) and [secureObject](../templates/syntax.md#outputs) types in ARM templates. To pass arrays or numbers securely, wrap them in a secureObject or serialize them as a secureString.
167+
153168
## Conditional output
154169

155170
When the value to return depends on a condition in the deployment, use the `?` operator.

articles/azure-resource-manager/bicep/parameters.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Parameters in Bicep files
33
description: Learn how to define and use parameters in a Bicep file.
44
ms.topic: conceptual
55
ms.custom: devx-track-bicep
6-
ms.date: 03/25/2025
6+
ms.date: 05/09/2025
77
---
88

99
# Parameters in Bicep
@@ -207,7 +207,7 @@ See [Elevate error level](./user-defined-data-types.md#elevate-error-level).
207207

208208
### Secure parameters
209209

210-
You can mark string or object parameters as secure. The value of a secure parameter isn't saved to the deployment history and isn't logged.
210+
You can mark string or object parameters as secure. When a parameter is decorated with `@secure()`, Azure Resource Manager treats the parameter value as sensitive, preventing it from being logged or displayed in deployment history, Azure Portal, or command-line outputs.
211211

212212
```bicep
213213
@secure()
@@ -232,6 +232,8 @@ resource keyvault 'Microsoft.KeyVault/vaults@2019-09-01' = {
232232
}
233233
```
234234

235+
The `@secure()` decorator is valid only for parameters of type string or object, as these align with the [secureString](../templates/syntax.md#parameters) and [secureObject](../templates/syntax.md#parameters) types in ARM templates. To pass arrays or numbers securely, wrap them in a secureObject or serialize them as a secureString.
236+
235237
## Use objects as parameters
236238

237239
It can be easier to organize related values by passing them in as an object. This approach also reduces the number of parameters in the template.

articles/batch/batch-management-dotnet.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Use the Batch Management .NET library to manage account resources
33
description: Create, delete, and modify Azure Batch account resources with the Batch Management .NET library.
44
ms.topic: how-to
5-
ms.date: 04/02/2025
5+
ms.date: 05/09/2025
66
ms.devlang: csharp
77
ms.custom: has-adal-ref, devx-track-csharp, devx-track-dotnet
88
---
@@ -157,8 +157,8 @@ To see Batch Management .NET in action, check out the [AccountManagement](https:
157157
1. Acquire a security token from Microsoft Entra ID by using [Acquire and cache tokens using the Microsoft Authentication Library (MSAL)](../active-directory/develop/msal-net-acquire-token-silently.md). If the user is not already signed in, they are prompted for their Azure credentials.
158158
2. With the security token obtained from Microsoft Entra ID, create a [SubscriptionClient](/dotnet/api/microsoft.azure.management.resourcemanager.subscriptionclient) to query Azure for a list of subscriptions associated with the account. The user can select a subscription from the list if it contains more than one subscription.
159159
3. Get credentials associated with the selected subscription.
160-
4. Create a [ResourceManagementClient](/dotnet/api/microsoft.azure.management.resourcemanagementclient) object by using the credentials.
161-
5. Use a [ResourceManagementClient](/dotnet/api/microsoft.azure.management.resourcemanagementclient) object to create a resource group.
160+
4. Create a [ResourceManagementClient](/dotnet/api/microsoft.azure.management.resourcemanager.resourcemanagementclient) object by using the credentials.
161+
5. Use a [ResourceManagementClient](/dotnet/api/microsoft.azure.management.resourcemanager.resourcemanagementclient) object to create a resource group.
162162
6. Use a [BatchManagementClient](/dotnet/api/microsoft.azure.management.batch.batchmanagementclient) object to perform several Batch account operations:
163163
- Create a Batch account in the new resource group.
164164
- Get the newly created account from the Batch service.

articles/storage/common/redundancy-migration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ An LRS storage account containing blobs in the archive tier can be switched to G
431431
432432
### Protocol support
433433

434-
You can't convert storage accounts to zone-redundancy (ZRS, GZRS, or RA-GZRS) if either of the following cases are true:
434+
Customer and support initiated conversions are not supported if either of the following cases are true:
435435

436436
- NFSv3 protocol support is enabled for Azure Blob Storage
437437
- The storage account contains Azure Files NFSv4.1 shares with public endpoint access enabled

0 commit comments

Comments
 (0)