Skip to content

Commit 2885f0f

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into three-load-balancer-articles
2 parents 9bff9c8 + b267b30 commit 2885f0f

File tree

186 files changed

+1384
-656
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

186 files changed

+1384
-656
lines changed

articles/api-management/api-management-howto-add-products.md

Lines changed: 92 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
---
22
title: Tutorial - Create and publish a product in Azure API Management
33
description: In this tutorial, you create and publish a product in Azure API Management. Once it's published, developers can begin to use the product's APIs.
4-
5-
author: dlepow
6-
ms.service: azure-api-management
74
ms.topic: tutorial
8-
ms.date: 01/18/2022
9-
ms.author: danlep
5+
ms.date: 10/22/2024
106
ms.custom: devdivchpfy22, devx-track-azurecli
7+
ms.service: azure-api-management
8+
author: dlepow
9+
ms.author: danlep
1110
ms.devlang: azurecli
12-
11+
zone_pivot_groups: api-management-howto-add-products
1312
---
1413
# Tutorial: Create and publish a product
1514

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

1817
In Azure API Management, a [*product*](api-management-terminology.md#term-definitions) contains one or more APIs, a usage quota, and the terms of use. After a product is published, developers can [subscribe](api-management-subscriptions.md) to the product and begin to use the product's APIs.
1918

19+
:::zone pivot="interactive"
20+
2021
In this tutorial, you learn how to:
2122

2223
> [!div class="checklist"]
@@ -26,7 +27,6 @@ In this tutorial, you learn how to:
2627
2728
:::image type="content" source="media/api-management-howto-add-products/added-product-1.png" alt-text="API Management products in portal":::
2829

29-
3030
## Prerequisites
3131

3232
+ Learn the [Azure API Management terminology](api-management-terminology.md).
@@ -207,3 +207,88 @@ Advance to the next tutorial:
207207

208208
> [!div class="nextstepaction"]
209209
> [Create blank API and mock API responses](mock-api-responses.md)
210+
211+
:::zone-end
212+
213+
:::zone pivot="terraform"
214+
215+
In this article, you use Terraform to create an Azure API Management instance, an API, a product, a group, and associations between the product and the API, and the product and the group.
216+
217+
[!INCLUDE [About Terraform](~/azure-dev-docs-pr/articles/terraform/includes/abstract.md)]
218+
219+
> [!div class="checklist"]
220+
>
221+
> * Specify the required version of Terraform and the required providers.
222+
> * Define variables for the resource group name prefix, resource group location, and the content format and value for the API definition import.
223+
> * Create a resource group with a randomized name.
224+
> * Create an API Management service with a randomized name.
225+
> * Create an API with a randomized name.
226+
> * Create a product with a randomized name in the API Management service.
227+
> * Create a group with a randomized name.
228+
> * Associate the API with the product.
229+
> * Associate the group with the product.
230+
> * Output the randomized values such as the names of the resource group, API Management service, API, product, and group.
231+
232+
## Prerequisites
233+
234+
- Create an Azure account with an active subscription. You can [create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
235+
236+
- [Install and configure Terraform.](/azure/developer/terraform/quickstart-configure)
237+
238+
## Implement the Terraform code
239+
240+
> [!NOTE]
241+
> The sample code for this article is located in the [Azure Terraform GitHub repo](https://github.com/Azure/terraform/tree/master/quickstart/101-azure-api-management-create-with-api). You can view the log file containing the [test results from current and previous versions of Terraform](https://github.com/Azure/terraform/tree/master/quickstart/101-azure-api-management-create-with-api/TestRecord.md).
242+
>
243+
> See more [articles and sample code showing how to use Terraform to manage Azure resources](/azure/terraform).
244+
245+
1. Create a directory in which to test and run the sample Terraform code and make it the current directory.
246+
247+
1. Create a file named `main.tf`, and insert the following code:
248+
:::code language="Terraform" source="~/terraform_samples/quickstart/101-azure-api-management-create-with-api/main.tf":::
249+
250+
1. Create a file named `outputs.tf`, and insert the following code:
251+
:::code language="Terraform" source="~/terraform_samples/quickstart/101-azure-api-management-create-with-api/outputs.tf":::
252+
253+
1. Create a file named `providers.tf`, and insert the following code:
254+
:::code language="Terraform" source="~/terraform_samples/quickstart/101-azure-api-management-create-with-api/providers.tf":::
255+
256+
1. Create a file named `variables.tf`, and insert the following code:
257+
:::code language="Terraform" source="~/terraform_samples/quickstart/101-azure-api-management-create-with-api/variables.tf":::
258+
259+
## Initialize Terraform
260+
261+
[!INCLUDE [terraform-init.md](~/azure-dev-docs-pr/articles/terraform/includes/terraform-init.md)]
262+
263+
## Create a Terraform execution plan
264+
265+
[!INCLUDE [terraform-plan.md](~/azure-dev-docs-pr/articles/terraform/includes/terraform-plan.md)]
266+
267+
## Apply a Terraform execution plan
268+
269+
[!INCLUDE [terraform-apply-plan.md](~/azure-dev-docs-pr/articles/terraform/includes/terraform-apply-plan.md)]
270+
271+
## Verify the results
272+
273+
Run [`az apim show`](/cli/azure/apim#az-apim-show) to view the Azure API Management:
274+
275+
```azurecli
276+
277+
az apim show --<apim_service_name> --<resource_group_name>
278+
279+
```
280+
281+
## Clean up resources
282+
283+
[!INCLUDE [terraform-plan-destroy.md](~/azure-dev-docs-pr/articles/terraform/includes/terraform-plan-destroy.md)]
284+
285+
## Troubleshoot Terraform on Azure
286+
287+
[Troubleshoot common problems when using Terraform on Azure](/azure/developer/terraform/troubleshoot).
288+
289+
## Next steps
290+
291+
> [!div class="nextstepaction"]
292+
> [Create blank API and mock API responses](mock-api-responses.md).
293+
294+
:::zone-end

articles/automation/add-user-assigned-identity.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ PATCH
120120
"identity": {
121121
"type": "SystemAssigned, UserAssigned",
122122
"userAssignedIdentities": {
123-
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/firstIdentity": {},
124-
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/secondIdentity": {}
123+
"/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/resource-group-name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/firstIdentity": {},
124+
"/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/resource-group-name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/secondIdentity": {}
125125
}
126126
}
127127
}
@@ -130,7 +130,7 @@ PATCH
130130
The syntax of the API is as follows:
131131

132132
```http
133-
https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name?api-version=2020-01-13-preview
133+
https://management.azure.com/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name?api-version=2020-01-13-preview
134134
```
135135

136136
#### Example
@@ -176,16 +176,16 @@ Perform the following steps.
176176
```json
177177
{
178178
"type": "SystemAssigned, UserAssigned",
179-
"principalId": "00000000-0000-0000-0000-000000000000",
180-
"tenantId": "00000000-0000-0000-0000-000000000000",
179+
"principalId": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0",
180+
"tenantId": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0",
181181
"userAssignedIdentities": {
182182
"/subscriptions/ContosoID/resourcegroups/ContosoLab/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ContosoUAMI1": {
183-
"PrincipalId": "00000000-0000-0000-0000-000000000000",
184-
"ClientId": "00000000-0000-0000-0000-000000000000"
183+
"PrincipalId": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0",
184+
"ClientId": "00001111-aaaa-2222-bbbb-3333cccc4444"
185185
},
186186
"/subscriptions/ContosoID/resourcegroups/ContosoLab/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ContosoUAMI2": {
187-
"PrincipalId": "00000000-0000-0000-0000-000000000000",
188-
"ClientId": "00000000-0000-0000-0000-000000000000"
187+
"PrincipalId": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0",
188+
"ClientId": "00001111-aaaa-2222-bbbb-3333cccc4444"
189189
}
190190
}
191191
}

articles/automation/automation-role-based-access-control.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -389,14 +389,14 @@ Get-AzRoleAssignment -Scope '/subscriptions/<SubscriptionID>/resourcegroups/<Res
389389
The following is the example output:
390390

391391
```powershell
392-
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Automation/automationAccounts/myAutomationAccount/provid
393-
ers/Microsoft.Authorization/roleAssignments/cc594d39-ac10-46c4-9505-f182a355c41f
394-
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Automation/automationAccounts/myAutomationAccount
392+
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Automation/automationAccounts/myAutomationAccount/provid
393+
ers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
394+
Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Automation/automationAccounts/myAutomationAccount
395395
DisplayName : [email protected]
396396
SignInName : [email protected]
397397
RoleDefinitionName : Automation Operator
398398
RoleDefinitionId : d3881f73-407a-4167-8283-e981cbba0404
399-
ObjectId : 15f26a47-812d-489a-8197-3d4853558347
399+
ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
400400
ObjectType : User
401401
```
402402

@@ -411,14 +411,14 @@ New-AzRoleAssignment -SignInName <sign-in Id of a user you wish to grant access>
411411
The following is the example output:
412412

413413
```azurepowershell
414-
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/Providers/Microsoft.Automation/automationAccounts/myAutomationAccount/provid
415-
ers/Microsoft.Authorization/roleAssignments/25377770-561e-4496-8b4f-7cba1d6fa346
416-
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/Providers/Microsoft.Automation/automationAccounts/myAutomationAccount
414+
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myResourceGroup/Providers/Microsoft.Automation/automationAccounts/myAutomationAccount/provid
415+
ers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
416+
Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myResourceGroup/Providers/Microsoft.Automation/automationAccounts/myAutomationAccount
417417
DisplayName : [email protected]
418418
SignInName : [email protected]
419419
RoleDefinitionName : Automation Operator
420420
RoleDefinitionId : d3881f73-407a-4167-8283-e981cbba0404
421-
ObjectId : f5ecbe87-1181-43d2-88d5-a8f5e9d8014e
421+
ObjectId : bbbbbbbb-1111-2222-3333-cccccccccccc
422422
ObjectType : User
423423
```
424424

articles/automation/automation-secure-asset-encryption.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ $principalID
9696
Configure a system-assigned managed identity to the Automation account using the following REST API call:
9797

9898
```http
99-
PATCH https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name?api-version=2020-01-13-preview
99+
PATCH https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name?api-version=2020-01-13-preview
100100
```
101101

102102
Request body:
@@ -115,7 +115,7 @@ System-assigned identity for the Automation account is returned in a response si
115115
```json
116116
{
117117
"name": "automation-account-name",
118-
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name",
118+
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name",
119119
..
120120
"identity": {
121121
"type": "SystemAssigned",
@@ -155,7 +155,7 @@ The output should look similar to the following:
155155
The access policy can be set using the following REST API call:
156156

157157
```http
158-
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/accessPolicies/add?api-version=2018-02-14
158+
PUT https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/accessPolicies/add?api-version=2018-02-14
159159
```
160160

161161
Request body:
@@ -226,7 +226,7 @@ The output should look similar to the following:
226226
Use the following REST API call:
227227

228228
```http
229-
PATCH https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name?api-version=2020-01-13-preview
229+
PATCH https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name?api-version=2020-01-13-preview
230230
```
231231

232232
Request body:
@@ -254,7 +254,7 @@ Sample response
254254
```json
255255
{
256256
"name": "automation-account-name",
257-
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name",
257+
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/resource-group-name/providers/Microsoft.Automation/automationAccounts/automation-account-name",
258258
..
259259
"properties": {
260260
..

articles/automation/change-tracking/overview-monitoring-agent.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.service: azure-automation
1313
**Applies to:** :heavy_check_mark: Windows VMs :heavy_check_mark: Linux VMs :heavy_check_mark: Windows Registry :heavy_check_mark: Windows Files :heavy_check_mark: Linux Files :heavy_check_mark: Windows Software :heavy_check_mark: Windows Services & Linux Daemons
1414

1515
> [!Important]
16-
> - Change Tracking and Inventory using Log Analytics agent has retired on **31 August 2024**. Follow the guidelines for [migration from Change Tracking and inventory using Log Analytics to Change Tracking and inventory using Azure Monitoring Agent version](guidance-migration-log-analytics-monitoring-agent.md)
16+
> - Change Tracking and Inventory using Log Analytics agent has retired on **31 August 2024** and will work on limited support till **01 February 2025**. Follow the guidelines for [migration from Change Tracking and inventory using Log Analytics to Change Tracking and inventory using Azure Monitoring Agent version](guidance-migration-log-analytics-monitoring-agent.md)
1717
> - We recommend that you use Change Tracking with Azure Monitoring Agent with the Change tracking extension version 2.20.0.0 (or above) to access the GA version of this service.
1818
1919
This article explains on the latest version of change tracking support using Azure Monitoring Agent as a singular agent for data collection.

articles/automation/change-tracking/overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Azure Automation Change Tracking and Inventory overview
33
description: This article describes the Change Tracking and Inventory feature, which helps you identify software and Microsoft service changes in your environment.
44
services: automation
55
ms.subservice: change-inventory-management
6-
ms.date: 09/09/2024
6+
ms.date: 10/23/2024
77
ms.custom: linux-related-content
88
ms.topic: overview
99
ms.service: azure-automation
@@ -12,7 +12,7 @@ ms.service: azure-automation
1212
# Change Tracking and Inventory overview
1313

1414
> [!Important]
15-
> Change Tracking and Inventory using Log Analytics agent has retired on **31 August 2024** and we recommend that you use Azure Monitoring Agent as the new supporting agent. Follow the guidelines for [migration from Change Tracking and inventory using Log Analytics to Change Tracking and inventory using Azure Monitoring Agent version](guidance-migration-log-analytics-monitoring-agent.md).
15+
> Change Tracking and Inventory using Log Analytics agent has retired on **31 August 2024** and will work on limited support till **01 February 2025**. We recommend that you use Azure Monitoring Agent as the new supporting agent. Follow the guidelines for [migration from Change Tracking and inventory using Log Analytics to Change Tracking and inventory using Azure Monitoring Agent version](guidance-migration-log-analytics-monitoring-agent.md).
1616
1717
> [!Important]
1818
> You can expect the following if you use the capability using Change Tracking & Inventory Log Analytics Agent.

articles/automation/context-switching.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Context switching is when the context in one process changes the context in a di
2323
|Tenant | A dedicated and trusted instance of Microsoft Entra ID that represents a single organization.|
2424
|Credentials | The information used by Azure to verify your identity and confirm your authorization to access resources in Azure.|
2525

26-
When an account signs on that can access several subscriptions, any of those subscriptions may be added to the user's context. To guarantee the correct subscription, you must declare it when connecting. For example, use `Add-AzAccount -Credential $Cred -subscription 'cd4dxxxx-xxxx-xxxx-xxxx-xxxxxxxx9749'`. However, issues can arise when your runbooks managing one subscription runs in the same sandbox process as your other runbooks managing resources in another subscription from the same Automation account. Changes to the context made by one runbook can affect your other runbooks using the default context. As the context includes information, such as the credentials to use and the subscription to target, cmdlets could target the wrong subscription resulting in `not found` or permissions errors. This issue is known as **Context Switching**.
26+
When an account signs on that can access several subscriptions, any of those subscriptions may be added to the user's context. To guarantee the correct subscription, you must declare it when connecting. For example, use `Add-AzAccount -Credential $Cred -subscription 'aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e'`. However, issues can arise when your runbooks managing one subscription runs in the same sandbox process as your other runbooks managing resources in another subscription from the same Automation account. Changes to the context made by one runbook can affect your other runbooks using the default context. As the context includes information, such as the credentials to use and the subscription to target, cmdlets could target the wrong subscription resulting in `not found` or permissions errors. This issue is known as **Context Switching**.
2727

2828
## Manage Azure contexts
2929

0 commit comments

Comments
 (0)