You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`context`|[`Api`](#ref-context-api): [`IApi`](#ref-iapi)<br /><br /> [`Deployment`](#ref-context-deployment)<br /><br /> Elapsed: `TimeSpan` - time interval between the value of `Timestamp` and current time<br /><br /> [`LastError`](#ref-context-lasterror)<br /><br /> [`Operation`](#ref-context-operation)<br /><br /> [`Product`](#ref-context-product)<br /><br /> [`Request`](#ref-context-request)<br /><br /> `RequestId`: `Guid` - unique request identifier<br /><br /> [`Response`](#ref-context-response)<br /><br /> [`Subscription`](#ref-context-subscription)<br /><br /> `Timestamp`: `DateTime` - point in time when request was received<br /><br /> `Tracing`: `bool` - indicates if tracing is on or off <br /><br /> [User](#ref-context-user)<br /><br /> [`Variables`](#ref-context-variables): `IReadOnlyDictionary<string, object>`<br /><br /> `void Trace(message: string)`|
@@ -217,9 +217,10 @@ The `context` variable is implicitly available in every policy [expression](api-
217
217
|<a id="ref-imessagebody"></a>`IMessageBody`|`As<T>(bool preserveContent = false): Where T: string, byte[], JObject, JToken, JArray, XNode, XElement, XDocument` <br /><br /> - The `context.Request.Body.As<T>` and `context.Response.Body.As<T>` methods read a request or response message body in specified type `T`. <br/><br/> - Or - <br/><br/>`AsFormUrlEncodedContent(bool preserveContent = false)` <br/></br>- The `context.Request.Body.AsFormUrlEncodedContent()` and `context.Response.Body.AsFormUrlEncodedContent()` methods read URL-encoded form data in a request or response message body and return an `IDictionary<string, IList<string>` object. The decoded object supports `IDictionary` operations and the following expressions: `ToQueryString()`, `JsonConvert.SerializeObject()`, `ToFormUrlEncodedContent().` <br/><br/> By default, the `As<T>` and `AsFormUrlEncodedContent()` methods:<br /><ul><li>Use the original message body stream.</li><li>Render it unavailable after it returns.</li></ul> <br />To avoid that and have the method operate on a copy of the body stream, set the `preserveContent` parameter to `true`, as shown in examples for the [set-body](set-body-policy.md#examples) policy.|
218
218
|<aid="ref-iprivateendpointconnection"></a>`IPrivateEndpointConnection`|`Name`: `string`<br /><br /> `GroupId`: `string`<br /><br /> `MemberName`: `string`<br /><br />For more information, see the [REST API](/rest/api/apimanagement/current-ga/private-endpoint-connection/list-private-link-resources).|
|<aid="ref-context-variables"></a>`T context.Variables.GetValueOrDefault<T>(variableName: string, defaultValue: T)`|`variableName`: `string`<br /><br /> `defaultValue`: `T`<br /><br /> Returns variable value cast to type `T` or `defaultValue` if the variable isn't found.<br /><br /> This method throws an exception if the specified type doesn't match the actual type of the returned variable.|
224
225
|`BasicAuthCredentials AsBasic(input: this string)`|`input`: `string`<br /><br /> If the input parameter contains a valid HTTP Basic Authentication authorization request header value, the method returns an object of type `BasicAuthCredentials`; otherwise the method returns null.|
225
226
|`bool TryParseBasic(input: this string, result: out BasicAuthCredentials)`|`input`: `string`<br /><br /> `result`: `out BasicAuthCredentials`<br /><br /> If the input parameter contains a valid HTTP Basic Authentication authorization value in the request header, the method returns `true` and the result parameter contains a value of type `BasicAuthCredentials`; otherwise the method returns `false`.|
Copy file name to clipboardExpand all lines: articles/api-management/how-to-create-workspace.md
+10-4Lines changed: 10 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ author: dlepow
5
5
ms.topic: how-to
6
6
ms.service: api-management
7
7
ms.author: danlep
8
-
ms.date: 02/22/2023
8
+
ms.date: 03/07/2023
9
9
ms.custom:
10
10
---
11
11
@@ -36,7 +36,7 @@ The new workspace appears in the list on the **Workspaces** page. Select the wor
36
36
37
37
## Assign users to workspace - portal
38
38
39
-
After creating a workspace, assign permissions to users to manage the workspace's resources. Each workspace user must be assigned an RBAC role at the service level and at the workspace level.
39
+
After creating a workspace, assign permissions to users to manage the workspace's resources. Each workspace user must be assigned a workspace-specific RBAC role at the service level and at the workspace level, or granted equivalent permissions using custom roles.
40
40
41
41
At minimum, assign an *administrator* of the workspace. Optionally, assign permissions to other workspace collaborators.
42
42
@@ -53,8 +53,9 @@ At minimum, assign an *administrator* of the workspace. Optionally, assign permi
53
53
1. Assign the administrator the following role:
54
54
***API Management Service Workspace API Product Manager**
55
55
56
-
1. Assign the following role to other members of the workspace:
56
+
1. Assign one of the following roles to other members of the workspace:
57
57
***API Management Service Workspace Member**
58
+
***API Management Service Workspace API Product Manager**
58
59
59
60
### Assign a workspace-level role
60
61
@@ -65,7 +66,12 @@ At minimum, assign an *administrator* of the workspace. Optionally, assign permi
65
66
66
67
***API Management Workspace Owner**
67
68
68
-
1. Optionally, assign workspace-level roles to other workspace members to manage workspace APIs and other resources. The administrator of the workspace can also assign workspace-level roles.
69
+
1. Optionally, assign one of the following workspace-level roles to other workspace members to manage workspace APIs and other resources. The administrator of the workspace can also assign workspace-level roles.
Copy file name to clipboardExpand all lines: articles/api-management/workspaces-overview.md
+11-7Lines changed: 11 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
---
2
2
title: Workspaces in Azure API Management | Microsoft Docs
3
-
description: Learn about workspaces in Azure API Management. Workspaces allow decentralized API development teams to manage and productize their own APIs, while a central API platform team maintains the API Management infrastructure.
3
+
description: Learn about workspaces (preview) in Azure API Management. Workspaces allow decentralized API development teams to manage and productize their own APIs, while a central API platform team maintains the API Management infrastructure.
4
4
services: api-management
5
5
documentationcenter: ''
6
6
author: dlepow
7
7
8
8
ms.service: api-management
9
9
ms.topic: conceptual
10
-
ms.date: 02/22/2023
10
+
ms.date: 03/07/2023
11
11
ms.author: danlep
12
12
ms.custom:
13
13
---
@@ -20,6 +20,8 @@ In API Management, *workspaces* allow decentralized API development teams to man
20
20
21
21
> [!NOTE]
22
22
> * Workspaces are a preview feature of API Management and subject to certain [limitations](#preview-limitations).
23
+
> * This feature is being released during March and April 2023.
24
+
> * Workspaces are supported in API Management REST API version 2022-09-01-preview or later.
23
25
> * For pricing considerations, see [API Management pricing](https://azure.microsoft.com/pricing/details/api-management/).
24
26
25
27
@@ -81,9 +83,9 @@ The following resources can be managed in the workspaces preview.
81
83
82
84
Azure RBAC is used to configure workspace collaborators' permissions to read and edit entities in the workspace. For a list of roles, see [How to use role-based access control in API Management](api-management-role-based-access-control.md).
83
85
84
-
Workspace members must be assigned both a service-level role and a workspace-level role. The service-level role enables referencing service-level resources from workspace-level resources. For example, publish an API from a workspace with a service-level product, assign a service-level tag to an API, or organize a user into a workspace-level group to control API and product visibility.
86
+
Workspace members must be assigned both a service-level role and a workspace-level role, or granted equivalent permissions using custom roles. The service-level role enables referencing service-level resources from workspace-level resources. For example, publish an API from a workspace with a service-level product, assign a service-level tag to an API, or organize a user into a workspace-level group to control API and product visibility.
85
87
86
-
## Workspace constraints
88
+
## Workspaces and other API Management features
87
89
88
90
***Infrastructure features** - API Management platform infrastructure features are managed on the service level only, not at the workspace level. These features include:
89
91
@@ -112,10 +114,14 @@ The following resources aren't currently supported in workspaces:
112
114
113
115
* Client certificates
114
116
117
+
* Current DevOps tooling for API Management
118
+
115
119
* Diagnostics
116
120
117
121
* Loggers
118
122
123
+
* Synthetic GraphQL APIs
124
+
119
125
* User-assigned managed identity
120
126
121
127
Therefore, the following sample scenarios aren't currently supported in workspaces:
@@ -132,6 +138,4 @@ Therefore, the following sample scenarios aren't currently supported in workspac
0 commit comments