From 54ffc30b0f49ffc0da4fe270f71cd6059fd16203 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Fri, 5 Jan 2024 13:52:43 +0100 Subject: [PATCH 01/33] Add loggers to workspaces --- .../apimworkspaceloggers.json | 400 ++++++++++++++++++ .../ApiManagementCreateWorkspaceAILogger.json | 52 +++ .../ApiManagementCreateWorkspaceEHLogger.json | 52 +++ .../ApiManagementDeleteWorkspaceLogger.json | 15 + .../ApiManagementGetWorkspaceLogger.json | 29 ++ .../ApiManagementHeadWorkspaceLogger.json | 17 + .../ApiManagementListWorkspaceLoggers.json | 53 +++ .../ApiManagementUpdateWorkspaceLogger.json | 34 ++ 8 files changed, 652 insertions(+) create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceAILogger.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceEHLogger.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceLogger.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceLogger.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceLogger.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceLoggers.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceLogger.json diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json new file mode 100644 index 000000000000..39c37e150c2f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json @@ -0,0 +1,400 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on logger entity Azure API Management deployment.The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure EventHub.", + "version": "2023-09-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers": { + "get": { + "tags": [ + "Logger" + ], + "operationId": "WorkspaceLogger_ListByWorkspace", + "description": "Lists a collection of loggers in the specified workspace.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-log-event-hubs" + }, + "x-ms-examples": { + "ApiManagementListWorkspaceLoggers": { + "$ref": "./examples/ApiManagementListLoApiManagementListWorkspaceLoggersggers.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| loggerType | filter | eq | |
| resourceId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Logger entities.", + "schema": { + "$ref": "./definitions.json#/definitions/LoggerCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/LoggerContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers/{loggerId}": { + "head": { + "tags": [ + "Logger" + ], + "operationId": "WorkspaceLogger_GetEntityTag", + "description": "Gets the entity state (Etag) version of the logger specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadWorkspaceLogger": { + "$ref": "./examples/ApiManagementHeadWorkspaceLogger.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified logger entity exists and current entity state version is present in the ETag header.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Logger" + ], + "operationId": "WorkspaceLogger_Get", + "description": "Gets the details of the logger specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetWorkspaceLogger": { + "$ref": "./examples/ApiManagementGetWorkspaceLogger.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Logger entity.", + "schema": { + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Logger" + ], + "operationId": "WorkspaceLogger_CreateOrUpdate", + "description": "Creates or Updates a logger.", + "x-ms-examples": { + "ApiManagementCreateWorkspaceEHLogger": { + "$ref": "./examples/ApiManagementCreateWorkspaceEHLogger.json" + }, + "ApiManagementCreateWorkspaceAILogger": { + "$ref": "./examples/ApiManagementCreateWorkspaceAILogger.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Logger was successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "200": { + "description": "The existing logger was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Logger" + ], + "operationId": "WorkspaceLogger_Update", + "description": "Updates an existing logger.", + "x-ms-examples": { + "ApiManagementUpdateWorkspaceLogger": { + "$ref": "./examples/ApiManagementUpdateWorkspaceLogger.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/LoggerUpdateContract" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing logger was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Logger" + ], + "operationId": "WorkspaceLogger_Delete", + "description": "Deletes the specified logger.", + "x-ms-examples": { + "ApiManagementDeleteLogger": { + "$ref": "./examples/ApiManagementDeleteLogger.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The logger was successfully deleted." + }, + "204": { + "description": "The logger was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceAILogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceAILogger.json new file mode 100644 index 000000000000..9c7308a09f97 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceAILogger.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "loggerId": "loggerId", + "parameters": { + "properties": { + "loggerType": "applicationInsights", + "description": "adding a new logger", + "credentials": { + "instrumentationKey": "11................a1" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/loggerId", + "type": "Microsoft.ApiManagement/service/workspaces/loggers", + "name": "loggerId", + "properties": { + "loggerType": "applicationInsights", + "description": null, + "credentials": { + "instrumentationKey": "{{5a.......2a}}" + }, + "isBuffered": false, + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/microsoft.insights/components/airesource" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/loggerId", + "type": "Microsoft.ApiManagement/service/workspaces/loggers", + "name": "loggerId", + "properties": { + "loggerType": "applicationInsights", + "description": null, + "credentials": { + "instrumentationKey": "{{5a.......2a}}" + }, + "isBuffered": false + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceEHLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceEHLogger.json new file mode 100644 index 000000000000..0bf92aa65b9d --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceEHLogger.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "loggerId": "eh1", + "parameters": { + "properties": { + "loggerType": "azureEventHub", + "description": "adding a new logger", + "credentials": { + "name": "hydraeventhub", + "connectionString": "Endpoint=sb://hydraeventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=********=" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/eh1", + "type": "Microsoft.ApiManagement/service/workspaces/loggers", + "name": "eh1", + "properties": { + "loggerType": "azureEventHub", + "description": "adding a new logger", + "credentials": { + "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}" + }, + "isBuffered": true + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/eh1", + "type": "Microsoft.ApiManagement/service/workspaces/loggers", + "name": "eh1", + "properties": { + "loggerType": "azureEventHub", + "description": "adding a new logger", + "credentials": { + "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}" + }, + "isBuffered": true + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceLogger.json new file mode 100644 index 000000000000..14b505405091 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceLogger.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "loggerId": "loggerId", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceLogger.json new file mode 100644 index 000000000000..ebd9b1a53269 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceLogger.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "loggerId": "templateLogger" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/kloudapilogger1", + "type": "Microsoft.ApiManagement/service/workspaces/loggers", + "name": "kloudapilogger1", + "properties": { + "loggerType": "azureEventHub", + "description": "testeventhub3again", + "credentials": { + "name": "testeventhub4", + "connectionString": "Endpoint=sb://eventhubapim.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=************" + }, + "isBuffered": true, + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.EventHub/namespaces/eventhubapim" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceLogger.json new file mode 100644 index 000000000000..a5ae84bf0a9c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceLogger.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "loggerId": "templateLogger" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceLoggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceLoggers.json new file mode 100644 index 000000000000..167e3a264a65 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceLoggers.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/azuremonitor", + "type": "Microsoft.ApiManagement/service/workspaces/loggers", + "name": "azuremonitor", + "properties": { + "loggerType": "azureMonitor", + "isBuffered": true + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/vvktest", + "type": "Microsoft.ApiManagement/service/workspaces/loggers", + "name": "vvktest", + "properties": { + "loggerType": "applicationInsights", + "credentials": { + "instrumentationKey": "{{Logger-Credentials-5b1a17ef2b3f91153004b10d}}" + }, + "isBuffered": true + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/applicationinsights", + "type": "Microsoft.ApiManagement/service/workspaces/loggers", + "name": "applicationinsights", + "properties": { + "loggerType": "applicationInsights", + "description": "miaoappinsight", + "credentials": { + "instrumentationKey": "{{Logger-Credentials-5b2056062b3f911ae84a3069}}" + }, + "isBuffered": true + } + } + ], + "count": 3, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceLogger.json new file mode 100644 index 000000000000..5d6062e5d514 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceLogger.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "loggerId": "eh1", + "If-Match": "*", + "parameters": { + "properties": { + "loggerType": "azureEventHub", + "description": "updating description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/eh1", + "type": "Microsoft.ApiManagement/service/workspaces/loggers", + "name": "eh1", + "properties": { + "loggerType": "azureEventHub", + "description": "updating description", + "credentials": { + "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}" + }, + "isBuffered": true + } + } + } + } +} From 614f6fb50e653d14766381e530f88250f1728276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Fri, 5 Jan 2024 14:15:01 +0100 Subject: [PATCH 02/33] Add diagnostics to workspace --- .../apimworkspacediagnostics.json | 766 ++++++++++++++++++ ...anagementCreateWorkspaceApiDiagnostic.json | 161 ++++ ...piManagementCreateWorkspaceDiagnostic.json | 160 ++++ ...anagementDeleteWorkspaceApiDiagnostic.json | 16 + ...piManagementDeleteWorkspaceDiagnostic.json | 15 + ...piManagementGetWorkspaceApiDiagnostic.json | 58 ++ .../ApiManagementGetWorkspaceDiagnostic.json | 57 ++ ...iManagementHeadWorkspaceApiDiagnostic.json | 18 + .../ApiManagementHeadWorkspaceDiagnostic.json | 17 + ...ManagementListWorkspaceApiDiagnostics.json | 62 ++ ...ApiManagementListWorkspaceDiagnostics.json | 75 ++ ...anagementUpdateWorkspaceApiDiagnostic.json | 105 +++ ...piManagementUpdateWorkspaceDiagnostic.json | 112 +++ 13 files changed, 1622 insertions(+) create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceApiDiagnostic.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceDiagnostic.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceApiDiagnostic.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceDiagnostic.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiDiagnostic.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceDiagnostic.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiDiagnostic.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceDiagnostic.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiDiagnostics.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceDiagnostics.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiDiagnostic.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceDiagnostic.json diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json new file mode 100644 index 000000000000..3be94fc459cf --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json @@ -0,0 +1,766 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Diagnostic entity associated with your Azure API Management deployment. Diagnostics are used to log requests/responses in the API Management proxy.", + "version": "2023-09-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics": { + "get": { + "tags": [ + "Diagnostic" + ], + "operationId": "WorkspaceDiagnostic_ListByWorkspace", + "description": "Lists all diagnostics in the specified workspace.", + "x-ms-examples": { + "ApiManagementListWorkspaceDiagnostics": { + "$ref": "./examples/ApiManagementListWorkspaceDiagnostics.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Paged Result response of diagnostics.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/DiagnosticContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics/{diagnosticId}": { + "head": { + "tags": [ + "Diagnostic" + ], + "operationId": "WorkspaceDiagnostic_GetEntityTag", + "description": "Gets the entity state (Etag) version of the Diagnostic specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadWorkspaceDiagnostic": { + "$ref": "./examples/ApiManagementHeadWorkspaceDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Gets the entity tag of the diagnostic", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Diagnostic" + ], + "operationId": "WorkspaceDiagnostic_Get", + "description": "Gets the details of the Diagnostic specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetWorkspaceDiagnostic": { + "$ref": "./examples/ApiManagementGetWorkspaceDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Diagnostic entity.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Diagnostic" + ], + "operationId": "WorkspaceDiagnostic_CreateOrUpdate", + "description": "Creates a new Diagnostic or updates an existing one.", + "x-ms-examples": { + "ApiManagementCreateWorkspaceDiagnostic": { + "$ref": "./examples/ApiManagementCreateWorkspaceDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Diagnostic was successfully created.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + } + }, + "200": { + "description": "Diagnostic successfully updated", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Diagnostic" + ], + "operationId": "WorkspaceDiagnostic_Update", + "description": "Updates the details of the Diagnostic specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateWorkspaceDiagnostic": { + "$ref": "./examples/ApiManagementUpdateWorkspaceDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Diagnostic Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Diagnostic successfully updated", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Diagnostic" + ], + "operationId": "WorkspaceDiagnostic_Delete", + "description": "Deletes the specified Diagnostic.", + "x-ms-examples": { + "ApiManagementDeleteWorkspaceDiagnostic": { + "$ref": "./examples/ApiManagementDeleteWorkspaceDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The Diagnostic was successfully deleted." + }, + "204": { + "description": "The Diagnostic was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics": { + "get": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "WorkspaceApiDiagnostic_ListByWorkspace", + "description": "Lists all diagnostics of an API.", + "x-ms-examples": { + "ApiManagementListWorkspaceApiDiagnostics": { + "$ref": "./examples/ApiManagementListWorkspaceApiDiagnostics.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Paged Result response of diagnostics for an API.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/DiagnosticContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics/{diagnosticId}": { + "head": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "WorkspaceApiDiagnostic_GetEntityTag", + "description": "Gets the entity state (Etag) version of the Diagnostic for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadWorkspaceApiDiagnostic": { + "$ref": "./examples/ApiManagementHeadWorkspaceApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Operation completed successfully.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "WorkspaceApiDiagnostic_Get", + "description": "Gets the details of the Diagnostic for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetWorkspaceApiDiagnostic": { + "$ref": "./examples/ApiManagementGetWorkspaceApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Diagnostic entity.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "WorkspaceApiDiagnostic_CreateOrUpdate", + "description": "Creates a new Diagnostic for an API or updates an existing one.", + "x-ms-examples": { + "ApiManagementCreateWorkspaceApiDiagnostic": { + "$ref": "./examples/ApiManagementCreateWorkspaceApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Diagnostic was successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "200": { + "description": "Diagnostic was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "WorkspaceApiDiagnostic_Update", + "description": "Updates the details of the Diagnostic for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateApiDiagnostic": { + "$ref": "./examples/ApiManagementUpdateApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Diagnostic Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Diagnostic was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "WorkspaceApiDiagnostic_Delete", + "description": "Deletes the specified Diagnostic from an API.", + "x-ms-examples": { + "ApiManagementDeleteWorkspaceApiDiagnostic": { + "$ref": "./examples/ApiManagementDeleteWorkspaceApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Diagnostic successfully removed" + }, + "204": { + "description": "Diagnostic successfully removed by previous request or does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceApiDiagnostic.json new file mode 100644 index 000000000000..6e7939fc2260 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceApiDiagnostic.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "diagnosticId": "applicationinsights", + "apiId": "57d1f7558aa04f15146d9d8a", + "parameters": { + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/workspaces/wks1/loggers/applicationinsights", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/57d1f7558aa04f15146d9d8a/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/workspaces/apis/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/workspaces/wks1/loggers/applicationinsights", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/57d1f7558aa04f15146d9d8a/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/workspaces/apis/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/workspaces/wks1/loggers/applicationinsights", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceDiagnostic.json new file mode 100644 index 000000000000..3c684c487b4e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceDiagnostic.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "diagnosticId": "applicationinsights", + "parameters": { + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/workspaces/wks1/loggers/azuremonitor", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/workspaces/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/workspaces/wks1/loggers/azuremonitor", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/workspaces/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/workspaces/wks1/loggers/applicationinsights", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceApiDiagnostic.json new file mode 100644 index 000000000000..bce6eada3926 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceApiDiagnostic.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "diagnosticId": "applicationinsights", + "apiId": "57d1f7558aa04f15146d9d8a", + "If-Match": "*" + }, + "responses": { + "204": {}, + "200": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceDiagnostic.json new file mode 100644 index 000000000000..f3be7d49c021 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceDiagnostic.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "diagnosticId": "applicationinsights", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiDiagnostic.json new file mode 100644 index 000000000000..41aea63eb128 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceApiDiagnostic.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "diagnosticId": "applicationinsights", + "apiId": "57d1f7558aa04f15146d9d8a" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/workspaces/apis/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "httpCorrelationProtocol": "Legacy", + "logClientIp": true, + "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/aisamplingtest", + "sampling": { + "samplingType": "fixed", + "percentage": 100 + }, + "frontend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + }, + "backend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceDiagnostic.json new file mode 100644 index 000000000000..d1b17d3d84fa --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceDiagnostic.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "diagnosticId": "applicationinsights" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/workspaces/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "httpCorrelationProtocol": "Legacy", + "logClientIp": true, + "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/aisamplingtest", + "sampling": { + "samplingType": "fixed", + "percentage": 100 + }, + "frontend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + }, + "backend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiDiagnostic.json new file mode 100644 index 000000000000..43df72b77a6c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceApiDiagnostic.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "diagnosticId": "applicationinsights", + "apiId": "57d1f7558aa04f15146d9d8a" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceDiagnostic.json new file mode 100644 index 000000000000..1fb7e7c4f550 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceDiagnostic.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "diagnosticId": "applicationinsights" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiDiagnostics.json new file mode 100644 index 000000000000..36138037c5ca --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceApiDiagnostics.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "apiId": "echo-api" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/workspaces/apis/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "httpCorrelationProtocol": "Legacy", + "logClientIp": true, + "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/aisamplingtest", + "sampling": { + "samplingType": "fixed", + "percentage": 100 + }, + "frontend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + }, + "backend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + } + } + } + ], + "count": 1 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceDiagnostics.json new file mode 100644 index 000000000000..59986a591cc6 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceDiagnostics.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/workspaces/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "httpCorrelationProtocol": "Legacy", + "verbosity": "information", + "logClientIp": true, + "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/aisamplingtest", + "sampling": { + "samplingType": "fixed", + "percentage": 100 + }, + "frontend": { + "request": { + "headers": [], + "body": { + "bytes": 0 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 0 + } + } + }, + "backend": { + "request": { + "headers": [], + "body": { + "bytes": 0 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 0 + } + } + } + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/diagnostics/azuremonitor", + "type": "Microsoft.ApiManagement/service/workspaces/diagnostics", + "name": "azuremonitor", + "properties": { + "logClientIp": true, + "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/azuremonitor", + "sampling": { + "samplingType": "fixed", + "percentage": 100 + } + } + } + ], + "count": 1 + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiDiagnostic.json new file mode 100644 index 000000000000..b6a84c17c910 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceApiDiagnostic.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "diagnosticId": "applicationinsights", + "apiId": "echo-api", + "If-Match": "*", + "parameters": { + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/workspaces/wks1/loggers/applicationinsights", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/apis/echo-api/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/workspaces/apis/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "httpCorrelationProtocol": "Legacy", + "logClientIp": true, + "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/aisamplingtest", + "sampling": { + "samplingType": "fixed", + "percentage": 100 + }, + "frontend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + }, + "backend": { + "request": { + "headers": [], + "body": { + "bytes": 100 + } + }, + "response": { + "headers": [], + "body": { + "bytes": 100 + } + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceDiagnostic.json new file mode 100644 index 000000000000..b50554f74b9b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceDiagnostic.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "diagnosticId": "applicationinsights", + "If-Match": "*", + "parameters": { + "properties": { + "alwaysLog": "allErrors", + "loggerId": "/workspaces/wks1/loggers/applicationinsights", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/diagnostics/applicationinsights", + "type": "Microsoft.ApiManagement/service/workspaces/diagnostics", + "name": "applicationinsights", + "properties": { + "alwaysLog": "allErrors", + "httpCorrelationProtocol": "Legacy", + "logClientIp": true, + "loggerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/loggers/aisamplingtest", + "sampling": { + "samplingType": "fixed", + "percentage": 50 + }, + "frontend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + }, + "backend": { + "request": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + }, + "response": { + "headers": [ + "Content-type" + ], + "body": { + "bytes": 512 + } + } + } + } + } + } + } +} From 32fc612abea56d11fdec7f0f9ed8c2f5a00fdd7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Fri, 5 Jan 2024 15:51:06 +0100 Subject: [PATCH 03/33] Add certificates to workspace --- .../apimworkspacecertificates.json | 405 ++++++++++++++++++ ...iManagementCreateWorkspaceCertificate.json | 42 ++ ...reateWorkspaceCertificateWithKeyVault.json | 60 +++ ...iManagementDeleteWorkspaceCertificate.json | 15 + .../ApiManagementGetWorkspaceCertificate.json | 24 ++ ...ntGetWorkspaceCertificateWithKeyVault.json | 32 ++ ...ApiManagementHeadWorkspaceCertificate.json | 17 + ...piManagementListWorkspaceCertificates.json | 47 ++ ...ManagementRefreshWorkspaceCertificate.json | 32 ++ 9 files changed, 674 insertions(+) create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacecertificates.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceCertificate.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceCertificateWithKeyVault.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceCertificate.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificate.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificateWithKeyVault.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceCertificate.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceCertificates.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshWorkspaceCertificate.json diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacecertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacecertificates.json new file mode 100644 index 000000000000..0c26319aab29 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacecertificates.json @@ -0,0 +1,405 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Certificate entity in your Azure API Management deployment. Certificates can be used to setup mutual authentication with your Backend in API Management. For more information refer to [How to secure backend using Mutual Auth Certificate](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-mutual-certificates).", + "version": "2023-09-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates": { + "get": { + "tags": [ + "Certificate" + ], + "operationId": "WorkspaceCertificate_ListByWorkspace", + "description": "Lists a collection of all certificates in the specified workspace.", + "x-ms-examples": { + "ApiManagementListWorkspaceCertificates": { + "$ref": "./examples/ApiManagementListWorkspaceCertificates.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| subject | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| thumbprint | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| expirationDate | filter | ge, le, eq, ne, gt, lt | |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "isKeyVaultRefreshFailed", + "in": "query", + "required": false, + "type": "boolean", + "description": "When set to true, the response contains only certificates entities which failed refresh." + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns a collection of Certificate entity.", + "schema": { + "$ref": "./definitions.json#/definitions/CertificateCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/CertificateContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates/{certificateId}": { + "head": { + "tags": [ + "Certificate" + ], + "operationId": "WorkspaceCertificate_GetEntityTag", + "description": "Gets the entity state (Etag) version of the certificate specified by its identifier.", + "x-ms-examples": { + "ApiManagementWorkspaceHeadCertificate": { + "$ref": "./examples/ApiManagementHeadWorkspaceCertificate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified certificate entity exists and current entity state version is present in the ETag header.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Certificate" + ], + "operationId": "WorkspaceCertificate_Get", + "description": "Gets the details of the certificate specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetWorkspaceCertificate": { + "$ref": "./examples/ApiManagementGetWorkspaceCertificate.json" + }, + "ApiManagementGetWorkspaceCertificateWithKeyVault": { + "$ref": "./examples/ApiManagementGetWorkspaceCertificateWithKeyVault.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Certificate entity.", + "schema": { + "$ref": "./definitions.json#/definitions/CertificateContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Certificate" + ], + "operationId": "WorkspaceCertificate_CreateOrUpdate", + "description": "Creates or updates the certificate being used for authentication with the backend.", + "externalDocs": { + "description": "How to secure back-end services using client certificate authentication in Azure API Management", + "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates/" + }, + "x-ms-examples": { + "ApiManagementCreateWorkspaceCertificate": { + "$ref": "./examples/ApiManagementCreateWorkspaceCertificate.json" + }, + "ApiManagementCreateWorkspaceCertificateWithKeyVault": { + "$ref": "./examples/ApiManagementCreateWorkspaceCertificateWithKeyVault.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/CertificateCreateOrUpdateParameters" + }, + "description": "Create or Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The new certificate was successfully added.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/CertificateContract" + } + }, + "200": { + "description": "The certificate details were successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/CertificateContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Certificate" + ], + "operationId": "WorkspaceCertificate_Delete", + "description": "Deletes specific certificate.", + "x-ms-examples": { + "ApiManagementDeleteWorkspaceCertificate": { + "$ref": "./examples/ApiManagementDeleteWorkspaceCertificate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The certificate was successfully deleted." + }, + "204": { + "description": "The certificate was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates/{certificateId}/refreshSecret": { + "post": { + "tags": [ + "Certificate" + ], + "operationId": "WorkspaceCertificate_RefreshSecret", + "description": "From KeyVault, Refresh the certificate being used for authentication with the backend.", + "externalDocs": { + "description": "How to secure back-end services using client certificate authentication in Azure API Management", + "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates/" + }, + "x-ms-examples": { + "ApiManagementRefreshWorkspaceCertificate": { + "$ref": "./examples/ApiManagementRefreshWorkspaceCertificate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The certificate details were successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/CertificateContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceCertificate.json new file mode 100644 index 000000000000..c40749ad04ac --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceCertificate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "certificateId": "tempcert", + "parameters": { + "properties": { + "data": "****************Base 64 Encoded Certificate *******************************", + "password": "****Certificate Password******" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/tempcert", + "type": "Microsoft.ApiManagement/service/workspaces/certificates", + "name": "tempcert", + "properties": { + "subject": "CN=contoso.com", + "thumbprint": "*******************3", + "expirationDate": "2018-03-17T21:55:07+00:00" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/tempcert", + "type": "Microsoft.ApiManagement/service/workspaces/certificates", + "name": "tempcert", + "properties": { + "subject": "CN=contoso.com", + "thumbprint": "*******************3", + "expirationDate": "2018-03-17T21:55:07+00:00" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceCertificateWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceCertificateWithKeyVault.json new file mode 100644 index 000000000000..cc207b2e1165 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceCertificateWithKeyVault.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "certificateId": "templateCertkv", + "parameters": { + "properties": { + "keyVault": { + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/templateCertkv", + "type": "Microsoft.ApiManagement/service/workspaces/certificates", + "name": "templateCertkv", + "properties": { + "subject": "CN=*.msitesting.net", + "thumbprint": "EA**********************9AD690", + "expirationDate": "2037-01-01T07:00:00Z", + "keyVault": { + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-22T00:24:53.3191468Z" + } + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/templateCertkv", + "type": "Microsoft.ApiManagement/service/workspaces/certificates", + "name": "templateCertkv", + "properties": { + "subject": "CN=*.msitesting.net", + "thumbprint": "EA**********************9AD690", + "expirationDate": "2037-01-01T07:00:00Z", + "keyVault": { + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-22T00:24:53.3191468Z" + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceCertificate.json new file mode 100644 index 000000000000..e74aa0690936 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceCertificate.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "certificateId": "tempcert", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificate.json new file mode 100644 index 000000000000..00de9bdc400e --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificate.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "certificateId": "templateCert1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service//workspaces/wks1/certificates/templateCert1", + "type": "Microsoft.ApiManagement/service/workspaces/certificates", + "name": "templateCert1", + "properties": { + "subject": "CN=mutual-authcert", + "thumbprint": "EBA**********************8594A6", + "expirationDate": "2017-04-23T17:03:41Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificateWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificateWithKeyVault.json new file mode 100644 index 000000000000..056c8b7def8c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceCertificateWithKeyVault.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "certificateId": "templateCertkv" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/templateCertkv", + "type": "Microsoft.ApiManagement/service/workspaces/certificates", + "name": "templateCertkv", + "properties": { + "subject": "CN=*.msitesting.net", + "thumbprint": "EA**********************9AD690", + "expirationDate": "2037-01-01T07:00:00Z", + "keyVault": { + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-22T00:24:53.3191468Z" + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceCertificate.json new file mode 100644 index 000000000000..16f8ed04fb28 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceCertificate.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "certificateId": "templateCert1" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceCertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceCertificates.json new file mode 100644 index 000000000000..669b580e9b51 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceCertificates.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/kjoshiarmtemplateCert1", + "type": "Microsoft.ApiManagement/service/workspaces/certificates", + "name": "templateCert1", + "properties": { + "subject": "CN=mutual-authcert", + "thumbprint": "EBA************************48594A6", + "expirationDate": "2017-04-23T17:03:41Z" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/templateCertkv", + "type": "Microsoft.ApiManagement/service/workspaces/certificates", + "name": "templateCertkv", + "properties": { + "subject": "CN=*.msitesting.net", + "thumbprint": "EA**********************9AD690", + "expirationDate": "2037-01-01T07:00:00Z", + "keyVault": { + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-22T00:24:53.3191468Z" + } + } + } + } + ], + "count": 2, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshWorkspaceCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshWorkspaceCertificate.json new file mode 100644 index 000000000000..056c8b7def8c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementRefreshWorkspaceCertificate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "certificateId": "templateCertkv" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/templateCertkv", + "type": "Microsoft.ApiManagement/service/workspaces/certificates", + "name": "templateCertkv", + "properties": { + "subject": "CN=*.msitesting.net", + "thumbprint": "EA**********************9AD690", + "expirationDate": "2037-01-01T07:00:00Z", + "keyVault": { + "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert", + "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0", + "lastStatus": { + "code": "Success", + "timeStampUtc": "2020-09-22T00:24:53.3191468Z" + } + } + } + } + } + } +} From 6e05a59ad99c1c291aa9a18059fe5d2c73b099e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Fri, 5 Jan 2024 16:13:28 +0100 Subject: [PATCH 04/33] Add backends to workspaces --- .../apimworkspacebackends.json | 451 ++++++++++++++++++ ...entCreateWorkspaceBackendProxyBackend.json | 127 +++++ ...ntCreateWorkspaceBackendServiceFabric.json | 88 ++++ .../ApiManagementDeleteWorkspaceBackend.json | 15 + .../ApiManagementGetWorkspaceBackend.json | 39 ++ .../ApiManagementHeadWorkspaceBackend.json | 17 + .../ApiManagementListWorkspaceBackends.json | 82 ++++ .../ApiManagementUpdateWorkspaceBackend.json | 62 +++ ...piManagementWorkspaceBackendReconnect.json | 18 + 9 files changed, 899 insertions(+) create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceBackendProxyBackend.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceBackendServiceFabric.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceBackend.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceBackend.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceBackend.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceBackends.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceBackend.json create mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceBackendReconnect.json diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json new file mode 100644 index 000000000000..2e8bf80e1171 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json @@ -0,0 +1,451 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations on Backend entity in Azure API Management deployment. The Backend entity in API Management represents a backend service that is configured to skip certification chain validation when using a self-signed certificate to test mutual certificate authentication.", + "version": "2023-09-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends": { + "get": { + "tags": [ + "Backend" + ], + "operationId": "WorkspaceBackend_ListByWorkspace", + "description": "Lists a collection of backends in the specified workspace.", + "x-ms-examples": { + "ApiManagementListWorkspaceBackends": { + "$ref": "./examples/ApiManagementListWorkspaceBackends.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| title | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| url | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Backend entities.", + "schema": { + "$ref": "./definitions.json#/definitions/BackendCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/BackendContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}": { + "head": { + "tags": [ + "Backend" + ], + "operationId": "WorkspaceBackend_GetEntityTag", + "description": "Gets the entity state (Etag) version of the backend specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadWorkspaceBackend": { + "$ref": "./examples/ApiManagementHeadWorkspaceBackend.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified backend entity exists and current entity state version is present in the ETag header.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Backend" + ], + "operationId": "WorkspaceBackend_Get", + "description": "Gets the details of the backend specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetWorkspaceBackend": { + "$ref": "./examples/ApiManagementGetWorkspaceBackend.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Backend entity.", + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Backend" + ], + "operationId": "WorkspaceBackend_CreateOrUpdate", + "description": "Creates or Updates a backend.", + "x-ms-examples": { + "ApiManagementCreateWorkspaceBackendServiceFabric": { + "$ref": "./examples/ApiManagementCreateWorkspaceBackendServiceFabric.json" + }, + "ApiManagementCreateWorkspaceBackendProxyBackend": { + "$ref": "./examples/ApiManagementCreateWorkspaceBackendProxyBackend.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Backend was successfully created.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + } + }, + "200": { + "description": "The existing backend was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Backend" + ], + "operationId": "WorkspaceBackend_Update", + "description": "Updates an existing backend.", + "x-ms-examples": { + "ApiManagementUpdateWorkspaceBackend": { + "$ref": "./examples/ApiManagementUpdateWorkspaceBackend.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/BackendUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing backend was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Backend" + ], + "operationId": "WorkspaceBackend_Delete", + "description": "Deletes the specified backend.", + "x-ms-examples": { + "ApiManagementDeleteWorkspaceBackend": { + "$ref": "./examples/ApiManagementDeleteWorkspaceBackend.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The backend was successfully deleted." + }, + "204": { + "description": "The backend was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}/reconnect": { + "post": { + "tags": [ + "BackendReconnect" + ], + "operationId": "WorkspaceBackend_Reconnect", + "description": "Notifies the API Management gateway to create a new connection to the backend after the specified timeout. If no timeout was specified, timeout of 2 minutes is used.", + "x-ms-examples": { + "ApiManagementWorkspaceBackendReconnect": { + "$ref": "./examples/ApiManagementWorkspaceBackendReconnect.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "./definitions.json#/definitions/BackendReconnectContract" + }, + "description": "Reconnect request parameters." + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Reconnect request accepted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceBackendProxyBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceBackendProxyBackend.json new file mode 100644 index 000000000000..f308e3be060c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceBackendProxyBackend.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "backendId": "proxybackend", + "parameters": { + "properties": { + "description": "description5308", + "url": "https://backendname2644/", + "protocol": "http", + "tls": { + "validateCertificateChain": true, + "validateCertificateName": true + }, + "proxy": { + "url": "http://192.168.1.1:8080", + "username": "Contoso\\admin", + "password": "" + }, + "credentials": { + "query": { + "sv": [ + "xx", + "bb", + "cc" + ] + }, + "header": { + "x-my-1": [ + "val1", + "val2" + ] + }, + "authorization": { + "scheme": "Basic", + "parameter": "opensesma" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/backends/proxybackend", + "type": "Microsoft.ApiManagement/service/workspaces/backends", + "name": "proxybackend", + "properties": { + "description": "description5308", + "url": "https://backendname2644/", + "protocol": "http", + "credentials": { + "query": { + "sv": [ + "xx", + "bb", + "cc" + ] + }, + "header": { + "x-my-1": [ + "val1", + "val2" + ] + }, + "authorization": { + "scheme": "Basic", + "parameter": "opensesma" + } + }, + "proxy": { + "url": "http://192.168.1.1:8080", + "username": "Contoso\\admin", + "password": "" + }, + "tls": { + "validateCertificateChain": false, + "validateCertificateName": false + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/backends/proxybackend", + "type": "Microsoft.ApiManagement/service/workspaces/backends", + "name": "proxybackend", + "properties": { + "description": "description5308", + "url": "https://backendname2644/", + "protocol": "http", + "credentials": { + "query": { + "sv": [ + "xx", + "bb", + "cc" + ] + }, + "header": { + "x-my-1": [ + "val1", + "val2" + ] + }, + "authorization": { + "scheme": "Basic", + "parameter": "opensesma" + } + }, + "proxy": { + "url": "http://192.168.1.1:8080", + "username": "Contoso\\admin", + "password": "" + }, + "tls": { + "validateCertificateChain": false, + "validateCertificateName": false + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceBackendServiceFabric.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceBackendServiceFabric.json new file mode 100644 index 000000000000..2c2d3298d481 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementCreateWorkspaceBackendServiceFabric.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "backendId": "sfbackend", + "parameters": { + "properties": { + "description": "Service Fabric Test App 1", + "protocol": "http", + "url": "fabric:/mytestapp/mytestservice", + "properties": { + "serviceFabricCluster": { + "managementEndpoints": [ + "https://somecluster.com" + ], + "clientCertificateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/cert1", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/backends/sfbackend", + "type": "Microsoft.ApiManagement/service/workspaces/backends", + "name": "sfbackend", + "properties": { + "description": "Service Fabric Test App 1", + "url": "fabric:/mytestapp/mytestservice", + "protocol": "http", + "properties": { + "serviceFabricCluster": { + "managementEndpoints": [ + "https://somecluster.com" + ], + "clientCertificateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/cert1", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/backends/sfbackend", + "type": "Microsoft.ApiManagement/service/workspaces/backends", + "name": "sfbackend", + "properties": { + "description": "Service Fabric Test App 1", + "url": "fabric:/mytestapp/mytestservice", + "protocol": "http", + "properties": { + "serviceFabricCluster": { + "managementEndpoints": [ + "https://somecluster.com" + ], + "clientCertificateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/cert1", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceBackend.json new file mode 100644 index 000000000000..e368719c7eb2 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementDeleteWorkspaceBackend.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "backendId": "sfbackend", + "If-Match": "*" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceBackend.json new file mode 100644 index 000000000000..564ee4993edc --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementGetWorkspaceBackend.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "backendId": "sfbackend" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/backends/sfbackend", + "type": "Microsoft.ApiManagement/service/workspaces/backends", + "name": "sfbackend", + "properties": { + "description": "Service Fabric Test App 1", + "url": "fabric:/mytestapp/mytestservice", + "protocol": "http", + "properties": { + "serviceFabricCluster": { + "managementEndpoints": [ + "https://somecluster.com" + ], + "clientCertificateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/cert1", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceBackend.json new file mode 100644 index 000000000000..430fd4145b7b --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementHeadWorkspaceBackend.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "backendId": "sfbackend" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceBackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceBackends.json new file mode 100644 index 000000000000..b4f69078c805 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementListWorkspaceBackends.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/backends/proxybackend", + "type": "Microsoft.ApiManagement/service/workspaces/backends", + "name": "proxybackend", + "properties": { + "description": "description5308", + "url": "https://backendname2644/", + "protocol": "http", + "credentials": { + "query": { + "sv": [ + "xx", + "bb", + "cc" + ] + }, + "header": { + "x-my-1": [ + "val1", + "val2" + ] + }, + "authorization": { + "scheme": "Basic", + "parameter": "opensesma" + } + }, + "proxy": { + "url": "http://192.168.1.1:8080", + "username": "Contoso\\admin", + "password": "" + }, + "tls": { + "validateCertificateChain": false, + "validateCertificateName": false + } + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/backends/sfbackend", + "type": "Microsoft.ApiManagement/service/workspaces/backends", + "name": "sfbackend", + "properties": { + "description": "Service Fabric Test App 1", + "url": "fabric:/mytestapp/mytestservice", + "protocol": "http", + "properties": { + "serviceFabricCluster": { + "managementEndpoints": [ + "https://somecluster.com" + ], + "clientCertificateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/certificates/cert1", + "serverX509Names": [ + { + "name": "ServerCommonName1", + "issuerCertificateThumbprint": "IssuerCertificateThumbprint1" + } + ], + "maxPartitionResolutionRetries": 5 + } + } + } + } + ], + "count": 2, + "nextLink": "" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceBackend.json new file mode 100644 index 000000000000..7b6f0a9c1e08 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementUpdateWorkspaceBackend.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "backendId": "proxybackend", + "If-Match": "*", + "parameters": { + "properties": { + "description": "description5308", + "tls": { + "validateCertificateChain": false, + "validateCertificateName": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/workspaces/wks1/backends/proxybackend", + "type": "Microsoft.ApiManagement/service/workspaces/backends", + "name": "proxybackend", + "properties": { + "description": "description5308", + "url": "https://backendname2644/", + "protocol": "http", + "credentials": { + "query": { + "sv": [ + "xx", + "bb", + "cc" + ] + }, + "header": { + "x-my-1": [ + "val1", + "val2" + ] + }, + "authorization": { + "scheme": "Basic", + "parameter": "opensesma" + } + }, + "proxy": { + "url": "http://192.168.1.1:8080", + "username": "Contoso\\admin", + "password": "" + }, + "tls": { + "validateCertificateChain": false, + "validateCertificateName": true + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceBackendReconnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceBackendReconnect.json new file mode 100644 index 000000000000..3e0304c676be --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceBackendReconnect.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2023-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "workspaceId": "wks1", + "backendId": "proxybackend", + "parameters": { + "properties": { + "after": "PT3S" + } + } + }, + "responses": { + "202": {} + } +} From 063902424a0e6af5272db06845bee829a2a64105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Tue, 9 Jan 2024 12:38:10 +0100 Subject: [PATCH 05/33] Change DiagnosticContract to DiagnosticContractProperties in patch --- .../preview/2023-09-01-preview/apimworkspacediagnostics.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json index 3be94fc459cf..3056bf418eeb 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json @@ -303,7 +303,7 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" + "$ref": "./definitions.json#/definitions/DiagnosticContractProperties" }, "description": "Diagnostic Update parameters." }, @@ -672,7 +672,7 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" + "$ref": "./definitions.json#/definitions/DiagnosticContractProperties" }, "description": "Diagnostic Update parameters." }, From b767af972cabf59be6d0b3058d4818076dd08307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Fri, 12 Jan 2024 16:56:18 +0100 Subject: [PATCH 06/33] Revert back DiagnosticContractProperties to DiagnosticContract --- .../preview/2023-09-01-preview/apimworkspacediagnostics.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json index 3056bf418eeb..3be94fc459cf 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json @@ -303,7 +303,7 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContractProperties" + "$ref": "./definitions.json#/definitions/DiagnosticContract" }, "description": "Diagnostic Update parameters." }, @@ -672,7 +672,7 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContractProperties" + "$ref": "./definitions.json#/definitions/DiagnosticContract" }, "description": "Diagnostic Update parameters." }, From 430c9570798ac9f9195228bed734c7a02b92ae93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Wed, 24 Jan 2024 16:35:47 +0100 Subject: [PATCH 07/33] Fix CI and add files to readme --- .../preview/2023-09-01-preview/apimworkspacediagnostics.json | 4 ++-- .../preview/2023-09-01-preview/apimworkspaceloggers.json | 2 +- specification/apimanagement/resource-manager/readme.md | 4 ++++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json index 3be94fc459cf..31582aaffe5b 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json @@ -647,8 +647,8 @@ "operationId": "WorkspaceApiDiagnostic_Update", "description": "Updates the details of the Diagnostic for an API specified by its identifier.", "x-ms-examples": { - "ApiManagementUpdateApiDiagnostic": { - "$ref": "./examples/ApiManagementUpdateApiDiagnostic.json" + "ApiManagementUpdateWorkspaceApiDiagnostic": { + "$ref": "./examples/ApiManagementUpdateWorkspaceApiDiagnostic.json" } }, "parameters": [ diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json index 39c37e150c2f..f6c24ce90ca8 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json @@ -46,7 +46,7 @@ }, "x-ms-examples": { "ApiManagementListWorkspaceLoggers": { - "$ref": "./examples/ApiManagementListLoApiManagementListWorkspaceLoggersggers.json" + "$ref": "./examples/ApiManagementListWorkspaceLoggers.json" } }, "parameters": [ diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 8df66470e9de..396b6bf0cb57 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -87,6 +87,10 @@ input-file: - Microsoft.ApiManagement/preview/2023-09-01-preview/apimtags.json - Microsoft.ApiManagement/preview/2023-09-01-preview/apimtenant.json - Microsoft.ApiManagement/preview/2023-09-01-preview/apimusers.json + - Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json + - Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacecertificates.json + - Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json + - Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json - Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaces.json - Microsoft.ApiManagement/preview/2023-09-01-preview/definitions.json ``` From 66090f3f6768d346e3bc70f37bfe704bf67cc912 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Wed, 24 Jan 2024 17:14:55 +0100 Subject: [PATCH 08/33] Fix example --- .../preview/2023-09-01-preview/apimworkspaceloggers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json index f6c24ce90ca8..9b87bbe8cd20 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaceloggers.json @@ -351,8 +351,8 @@ "operationId": "WorkspaceLogger_Delete", "description": "Deletes the specified logger.", "x-ms-examples": { - "ApiManagementDeleteLogger": { - "$ref": "./examples/ApiManagementDeleteLogger.json" + "ApiManagementDeleteWorkspaceLogger": { + "$ref": "./examples/ApiManagementDeleteWorkspaceLogger.json" } }, "parameters": [ From b648334f2c6f5d7b1af8ec624861696d8a88d072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Tue, 30 Jan 2024 10:35:26 +0100 Subject: [PATCH 09/33] remove reconnect endpoint --- .../apimworkspacebackends.json | 54 ------------------- 1 file changed, 54 deletions(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json index 2e8bf80e1171..317c46a118a3 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json @@ -390,60 +390,6 @@ } } } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}/reconnect": { - "post": { - "tags": [ - "BackendReconnect" - ], - "operationId": "WorkspaceBackend_Reconnect", - "description": "Notifies the API Management gateway to create a new connection to the backend after the specified timeout. If no timeout was specified, timeout of 2 minutes is used.", - "x-ms-examples": { - "ApiManagementWorkspaceBackendReconnect": { - "$ref": "./examples/ApiManagementWorkspaceBackendReconnect.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/BackendIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": false, - "schema": { - "$ref": "./definitions.json#/definitions/BackendReconnectContract" - }, - "description": "Reconnect request parameters." - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "202": { - "description": "Reconnect request accepted." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } } }, "definitions": {}, From 97fda665132674599a17f1fc0f25db3de7986bc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Tue, 30 Jan 2024 10:35:41 +0100 Subject: [PATCH 10/33] Add suppressions --- .../apimanagement/resource-manager/readme.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 396b6bf0cb57..891aaa97b853 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1136,4 +1136,24 @@ suppressions: - code: PropertiesTypeObjectNoDefinition from: definitions.json reason: Invalid error + - code: PutRequestResponseSchemeArm + from: apimworkspacecertificates.json + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates/{certificateId}"].put + reason: Certificate is a secret and it should not be available through get request + - code: GetCollectionOnlyHasValueAndNextLink + from: apimworkspacebackends.json + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends"].get.responses["200"].schema + reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. + - code: GetCollectionOnlyHasValueAndNextLink + from: apimworkspacediagnostics.json + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics"].get.responses["200"].schema + reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. + - code: GetCollectionOnlyHasValueAndNextLink + from: apimworkspacediagnostics.json + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics"].get.responses.["200"].schema + reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. + - code: GetCollectionOnlyHasValueAndNextLink + from: apimworkspaceloggers.json + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers"].get.responses["200"].schema + reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. ``` From bb233461f93dcc382b3b1273c5fbf4f4049650c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Wed, 31 Jan 2024 12:51:44 +0100 Subject: [PATCH 11/33] Try different suppression where --- specification/apimanagement/resource-manager/readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 891aaa97b853..4a313003a974 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1142,18 +1142,18 @@ suppressions: reason: Certificate is a secret and it should not be available through get request - code: GetCollectionOnlyHasValueAndNextLink from: apimworkspacebackends.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends"].get.responses["200"].schema + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends"].get.responses["200"] reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink from: apimworkspacediagnostics.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics"].get.responses["200"].schema + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics"].get.responses["200"] reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink from: apimworkspacediagnostics.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics"].get.responses.["200"].schema + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics"].get.responses.["200"] reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink from: apimworkspaceloggers.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers"].get.responses["200"].schema + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers"].get.responses["200"] reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. ``` From 361854515b0cef3a9d364e931b2e2d890c5519e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Wed, 31 Jan 2024 16:29:26 +0100 Subject: [PATCH 12/33] Try different suppression --- .../apimanagement/resource-manager/readme.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 4a313003a974..4ea743f21bbe 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1141,19 +1141,19 @@ suppressions: where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates/{certificateId}"].put reason: Certificate is a secret and it should not be available through get request - code: GetCollectionOnlyHasValueAndNextLink - from: apimworkspacebackends.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends"].get.responses["200"] + from: definitions.json + where: $.definitions.BackendCollection reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink - from: apimworkspacediagnostics.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics"].get.responses["200"] + from: definitions.json + where: .definitions.CertificateCollection reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink - from: apimworkspacediagnostics.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics"].get.responses.["200"] + from: definitions.json + where: $.definitions.DiagnosticCollection reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink - from: apimworkspaceloggers.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers"].get.responses["200"] + from: definitions.json + where: $.definitions.LoggerCollection reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. ``` From 40e6fca40d8de1b4ba5ed18ae26d2b0011851aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Mon, 12 Feb 2024 12:14:33 +0100 Subject: [PATCH 13/33] Try other suppression --- .../apimanagement/resource-manager/readme.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 4ea743f21bbe..9fb56112e809 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1141,19 +1141,19 @@ suppressions: where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates/{certificateId}"].put reason: Certificate is a secret and it should not be available through get request - code: GetCollectionOnlyHasValueAndNextLink - from: definitions.json - where: $.definitions.BackendCollection + from: apimworkspacebackends.json + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends"].get.responses["200"].schema["$ref"] reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink - from: definitions.json - where: .definitions.CertificateCollection + from: apimworkspacediagnostics.json + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics"].get.responses["200"].schema["$ref"] reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink - from: definitions.json - where: $.definitions.DiagnosticCollection + from: apimworkspacediagnostics.json + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics"].get.responses.["200"].schema["$ref"] reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink - from: definitions.json - where: $.definitions.LoggerCollection + from: apimworkspaceloggers.json + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers"].get.responses["200"].schema["$ref"] reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. ``` From 2fa31e416f4c91ad6ea7b601ef5b362a769aa84e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Mon, 12 Feb 2024 12:52:05 +0100 Subject: [PATCH 14/33] another test --- specification/apimanagement/resource-manager/readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 9fb56112e809..ac67319a3988 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1142,18 +1142,18 @@ suppressions: reason: Certificate is a secret and it should not be available through get request - code: GetCollectionOnlyHasValueAndNextLink from: apimworkspacebackends.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends"].get.responses["200"].schema["$ref"] + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends"].get.responses["200"].schema.properties reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink from: apimworkspacediagnostics.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics"].get.responses["200"].schema["$ref"] + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics"].get.responses["200"].schema.properties reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink from: apimworkspacediagnostics.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics"].get.responses.["200"].schema["$ref"] + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics"].get.responses.["200"].schema.properties reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink from: apimworkspaceloggers.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers"].get.responses["200"].schema["$ref"] + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers"].get.responses["200"].schema.properties reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. ``` From c1da7e0f31125755d2891308b76e037df0b32159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Mon, 12 Feb 2024 13:10:05 +0100 Subject: [PATCH 15/33] finally working suppression --- specification/apimanagement/resource-manager/readme.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index ac67319a3988..86cde9ffe104 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1140,6 +1140,11 @@ suppressions: from: apimworkspacecertificates.json where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates/{certificateId}"].put reason: Certificate is a secret and it should not be available through get request + - code: GetCollectionOnlyHasValueAndNextLink + from: apimworkspacecertificates.json + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates].get.responses["200"].schema.properties + reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. + - code: GetCollectionOnlyHasValueAndNextLink - code: GetCollectionOnlyHasValueAndNextLink from: apimworkspacebackends.json where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends"].get.responses["200"].schema.properties From 44f945f3235211fc94321d42bdfe0f4a9d9331c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mielowski?= Date: Mon, 12 Feb 2024 13:55:09 +0100 Subject: [PATCH 16/33] remove unwanted line --- specification/apimanagement/resource-manager/readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 86cde9ffe104..5ac77ece99b3 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1144,7 +1144,6 @@ suppressions: from: apimworkspacecertificates.json where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates].get.responses["200"].schema.properties reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - - code: GetCollectionOnlyHasValueAndNextLink - code: GetCollectionOnlyHasValueAndNextLink from: apimworkspacebackends.json where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends"].get.responses["200"].schema.properties From 55647793883de4f4c25812299f4518451de4a979 Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Fri, 15 Mar 2024 10:34:24 +0100 Subject: [PATCH 17/33] Revert "remove reconnect endpoint" This reverts commit b648334f2c6f5d7b1af8ec624861696d8a88d072. --- .../apimworkspacebackends.json | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json index 317c46a118a3..2e8bf80e1171 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json @@ -390,6 +390,60 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}/reconnect": { + "post": { + "tags": [ + "BackendReconnect" + ], + "operationId": "WorkspaceBackend_Reconnect", + "description": "Notifies the API Management gateway to create a new connection to the backend after the specified timeout. If no timeout was specified, timeout of 2 minutes is used.", + "x-ms-examples": { + "ApiManagementWorkspaceBackendReconnect": { + "$ref": "./examples/ApiManagementWorkspaceBackendReconnect.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "./definitions.json#/definitions/BackendReconnectContract" + }, + "description": "Reconnect request parameters." + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Reconnect request accepted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } } }, "definitions": {}, From c26f980a9ea105d81725f0faece9344ee9b39767 Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Fri, 15 Mar 2024 10:52:50 +0100 Subject: [PATCH 18/33] Remove reconnect endpoint --- .../apimworkspacebackends.json | 54 - .../2023-09-01-preview/apimworkspaces.json | 1862 +++++++++++++++++ 2 files changed, 1862 insertions(+), 54 deletions(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json index 2e8bf80e1171..317c46a118a3 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json @@ -390,60 +390,6 @@ } } } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}/reconnect": { - "post": { - "tags": [ - "BackendReconnect" - ], - "operationId": "WorkspaceBackend_Reconnect", - "description": "Notifies the API Management gateway to create a new connection to the backend after the specified timeout. If no timeout was specified, timeout of 2 minutes is used.", - "x-ms-examples": { - "ApiManagementWorkspaceBackendReconnect": { - "$ref": "./examples/ApiManagementWorkspaceBackendReconnect.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/BackendIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": false, - "schema": { - "$ref": "./definitions.json#/definitions/BackendReconnectContract" - }, - "description": "Reconnect request parameters." - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "202": { - "description": "Reconnect request accepted." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } } }, "definitions": {}, diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaces.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaces.json index 2e14f3cca22d..9febfdcf3a8d 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaces.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaces.json @@ -8248,6 +8248,1868 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers": { + "get": { + "tags": [ + "Logger" + ], + "operationId": "WorkspaceLogger_ListByWorkspace", + "description": "Lists a collection of loggers in the specified workspace.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-log-event-hubs" + }, + "x-ms-examples": { + "ApiManagementListLoggers": { + "$ref": "./examples/ApiManagementListLoggers.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| loggerType | filter | eq | |
| resourceId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Logger entities.", + "schema": { + "$ref": "./definitions.json#/definitions/LoggerCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/LoggerContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers/{loggerId}": { + "head": { + "tags": [ + "Logger" + ], + "operationId": "WorkspaceLogger_GetEntityTag", + "description": "Gets the entity state (Etag) version of the logger specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadLogger": { + "$ref": "./examples/ApiManagementHeadLogger.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified logger entity exists and current entity state version is present in the ETag header.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Logger" + ], + "operationId": "WorkspaceLogger_Get", + "description": "Gets the details of the logger specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetLogger": { + "$ref": "./examples/ApiManagementGetLogger.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Logger entity.", + "schema": { + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Logger" + ], + "operationId": "WorkspaceLogger_CreateOrUpdate", + "description": "Creates or Updates a logger.", + "x-ms-examples": { + "ApiManagementCreateEHLogger": { + "$ref": "./examples/ApiManagementCreateEHLogger.json" + }, + "ApiManagementCreateAILogger": { + "$ref": "./examples/ApiManagementCreateAILogger.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Logger was successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "200": { + "description": "The existing logger was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Logger" + ], + "operationId": "WorkspaceLogger_Update", + "description": "Updates an existing logger.", + "x-ms-examples": { + "ApiManagementUpdateLogger": { + "$ref": "./examples/ApiManagementUpdateLogger.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/LoggerUpdateContract" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing logger was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Logger" + ], + "operationId": "WorkspaceLogger_Delete", + "description": "Deletes the specified logger.", + "x-ms-examples": { + "ApiManagementDeleteLogger": { + "$ref": "./examples/ApiManagementDeleteLogger.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The logger was successfully deleted." + }, + "204": { + "description": "The logger was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics": { + "get": { + "tags": [ + "Diagnostic" + ], + "operationId": "WorkspaceDiagnostic_ListByWorkspace", + "description": "Lists all diagnostics in the specified workspace.", + "x-ms-examples": { + "ApiManagementListDiagnostics": { + "$ref": "./examples/ApiManagementListDiagnostics.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Paged Result response of diagnostics.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/DiagnosticContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics/{diagnosticId}": { + "head": { + "tags": [ + "Diagnostic" + ], + "operationId": "WorkspaceDiagnostic_GetEntityTag", + "description": "Gets the entity state (Etag) version of the Diagnostic specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadDiagnostic": { + "$ref": "./examples/ApiManagementHeadDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Gets the entity tag of the diagnostic", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Diagnostic" + ], + "operationId": "WorkspaceDiagnostic_Get", + "description": "Gets the details of the Diagnostic specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetDiagnostic": { + "$ref": "./examples/ApiManagementGetDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Diagnostic entity.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Diagnostic" + ], + "operationId": "WorkspaceDiagnostic_CreateOrUpdate", + "description": "Creates a new Diagnostic or updates an existing one.", + "x-ms-examples": { + "ApiManagementCreateDiagnostic": { + "$ref": "./examples/ApiManagementCreateDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Diagnostic was successfully created.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + } + }, + "200": { + "description": "Diagnostic successfully updated", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Diagnostic" + ], + "operationId": "WorkspaceDiagnostic_Update", + "description": "Updates the details of the Diagnostic specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateDiagnostic": { + "$ref": "./examples/ApiManagementUpdateDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Diagnostic Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Diagnostic successfully updated", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Diagnostic" + ], + "operationId": "WorkspaceDiagnostic_Delete", + "description": "Deletes the specified Diagnostic.", + "x-ms-examples": { + "ApiManagementDeleteDiagnostic": { + "$ref": "./examples/ApiManagementDeleteDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The Diagnostic was successfully deleted." + }, + "204": { + "description": "The Diagnostic was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics": { + "get": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "WorkspaceApiDiagnostic_ListByWorkspace", + "description": "Lists all diagnostics of an API.", + "x-ms-examples": { + "ApiManagementListApiDiagnostics": { + "$ref": "./examples/ApiManagementListApiDiagnostics.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Paged Result response of diagnostics for an API.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/DiagnosticContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics/{diagnosticId}": { + "head": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "WorkspaceApiDiagnostic_GetEntityTag", + "description": "Gets the entity state (Etag) version of the Diagnostic for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiDiagnostic": { + "$ref": "./examples/ApiManagementHeadApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Operation completed successfully.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "WorkspaceApiDiagnostic_Get", + "description": "Gets the details of the Diagnostic for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetApiDiagnostic": { + "$ref": "./examples/ApiManagementGetApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Diagnostic entity.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "WorkspaceApiDiagnostic_CreateOrUpdate", + "description": "Creates a new Diagnostic for an API or updates an existing one.", + "x-ms-examples": { + "ApiManagementCreateApiDiagnostic": { + "$ref": "./examples/ApiManagementCreateApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Diagnostic was successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "200": { + "description": "Diagnostic was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "WorkspaceApiDiagnostic_Update", + "description": "Updates the details of the Diagnostic for an API specified by its identifier.", + "x-ms-examples": { + "ApiManagementUpdateApiDiagnostic": { + "$ref": "./examples/ApiManagementUpdateApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Diagnostic Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Diagnostic was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApiDiagnostic" + ], + "operationId": "WorkspaceApiDiagnostic_Delete", + "description": "Deletes the specified Diagnostic from an API.", + "x-ms-examples": { + "ApiManagementDeleteApiDiagnostic": { + "$ref": "./examples/ApiManagementDeleteApiDiagnostic.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Diagnostic successfully removed" + }, + "204": { + "description": "Diagnostic successfully removed by previous request or does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends": { + "get": { + "tags": [ + "Backend" + ], + "operationId": "WorkspaceBackend_ListByWorkspace", + "description": "Lists a collection of backends in the specified workspace.", + "x-ms-examples": { + "ApiManagementListBackends": { + "$ref": "./examples/ApiManagementListBackends.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| title | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| url | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Backend entities.", + "schema": { + "$ref": "./definitions.json#/definitions/BackendCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/BackendContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}": { + "head": { + "tags": [ + "Backend" + ], + "operationId": "WorkspaceBackend_GetEntityTag", + "description": "Gets the entity state (Etag) version of the backend specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadBackend": { + "$ref": "./examples/ApiManagementHeadBackend.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified backend entity exists and current entity state version is present in the ETag header.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Backend" + ], + "operationId": "WorkspaceBackend_Get", + "description": "Gets the details of the backend specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetBackend": { + "$ref": "./examples/ApiManagementGetBackend.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Backend entity.", + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Backend" + ], + "operationId": "WorkspaceBackend_CreateOrUpdate", + "description": "Creates or Updates a backend.", + "x-ms-examples": { + "ApiManagementCreateBackendServiceFabric": { + "$ref": "./examples/ApiManagementCreateBackendServiceFabric.json" + }, + "ApiManagementCreateBackendProxyBackend": { + "$ref": "./examples/ApiManagementCreateBackendProxyBackend.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Backend was successfully created.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + } + }, + "200": { + "description": "The existing backend was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Backend" + ], + "operationId": "WorkspaceBackend_Update", + "description": "Updates an existing backend.", + "x-ms-examples": { + "ApiManagementUpdateBackend": { + "$ref": "./examples/ApiManagementUpdateBackend.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/BackendUpdateParameters" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing backend was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Backend" + ], + "operationId": "WorkspaceBackend_Delete", + "description": "Deletes the specified backend.", + "x-ms-examples": { + "ApiManagementDeleteBackend": { + "$ref": "./examples/ApiManagementDeleteBackend.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The backend was successfully deleted." + }, + "204": { + "description": "The backend was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}/reconnect": { + "post": { + "tags": [ + "BackendReconnect" + ], + "operationId": "WorkspaceBackend_Reconnect", + "description": "Notifies the API Management gateway to create a new connection to the backend after the specified timeout. If no timeout was specified, timeout of 2 minutes is used.", + "x-ms-examples": { + "ApiManagementBackendReconnect": { + "$ref": "./examples/ApiManagementBackendReconnect.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "./definitions.json#/definitions/BackendReconnectContract" + }, + "description": "Reconnect request parameters." + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Reconnect request accepted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates": { + "get": { + "tags": [ + "Certificate" + ], + "operationId": "WorkspaceCertificate_ListByWorkspace", + "description": "Lists a collection of all certificates in the specified workspace.", + "x-ms-examples": { + "ApiManagementListCertificates": { + "$ref": "./examples/ApiManagementListCertificates.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| subject | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| thumbprint | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| expirationDate | filter | ge, le, eq, ne, gt, lt | |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "isKeyVaultRefreshFailed", + "in": "query", + "required": false, + "type": "boolean", + "description": "When set to true, the response contains only certificates entities which failed refresh." + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns a collection of Certificate entity.", + "schema": { + "$ref": "./definitions.json#/definitions/CertificateCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/CertificateContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates/{certificateId}": { + "head": { + "tags": [ + "Certificate" + ], + "operationId": "WorkspaceCertificate_GetEntityTag", + "description": "Gets the entity state (Etag) version of the certificate specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadCertificate": { + "$ref": "./examples/ApiManagementHeadCertificate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified certificate entity exists and current entity state version is present in the ETag header.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Certificate" + ], + "operationId": "WorkspaceCertificate_Get", + "description": "Gets the details of the certificate specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetCertificate": { + "$ref": "./examples/ApiManagementGetCertificate.json" + }, + "ApiManagementGetCertificateWithKeyVault": { + "$ref": "./examples/ApiManagementGetCertificateWithKeyVault.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified Certificate entity.", + "schema": { + "$ref": "./definitions.json#/definitions/CertificateContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Certificate" + ], + "operationId": "WorkspaceCertificate_CreateOrUpdate", + "description": "Creates or updates the certificate being used for authentication with the backend.", + "externalDocs": { + "description": "How to secure back-end services using client certificate authentication in Azure API Management", + "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates/" + }, + "x-ms-examples": { + "ApiManagementCreateCertificate": { + "$ref": "./examples/ApiManagementCreateCertificate.json" + }, + "ApiManagementCreateCertificateWithKeyVault": { + "$ref": "./examples/ApiManagementCreateCertificateWithKeyVault.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/CertificateCreateOrUpdateParameters" + }, + "description": "Create or Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The new certificate was successfully added.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/CertificateContract" + } + }, + "200": { + "description": "The certificate details were successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/CertificateContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Certificate" + ], + "operationId": "WorkspaceCertificate_Delete", + "description": "Deletes specific certificate.", + "x-ms-examples": { + "ApiManagementDeleteCertificate": { + "$ref": "./examples/ApiManagementDeleteCertificate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The certificate was successfully deleted." + }, + "204": { + "description": "The certificate was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates/{certificateId}/refreshSecret": { + "post": { + "tags": [ + "Certificate" + ], + "operationId": "WorkspaceCertificate_RefreshSecret", + "description": "From KeyVault, Refresh the certificate being used for authentication with the backend.", + "externalDocs": { + "description": "How to secure back-end services using client certificate authentication in Azure API Management", + "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates/" + }, + "x-ms-examples": { + "ApiManagementRefreshCertificate": { + "$ref": "./examples/ApiManagementRefreshCertificate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The certificate details were successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/CertificateContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } } }, "x-ms-paths": { From ba5b2cb64ff1a447797e3ec32121711a9fa068d4 Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Fri, 15 Mar 2024 11:03:08 +0100 Subject: [PATCH 19/33] fix --- .../2023-09-01-preview/apimworkspaces.json | 1862 ----------------- ...piManagementWorkspaceBackendReconnect.json | 18 - 2 files changed, 1880 deletions(-) delete mode 100644 specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceBackendReconnect.json diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaces.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaces.json index 9febfdcf3a8d..2e14f3cca22d 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaces.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspaces.json @@ -8248,1868 +8248,6 @@ } } } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers": { - "get": { - "tags": [ - "Logger" - ], - "operationId": "WorkspaceLogger_ListByWorkspace", - "description": "Lists a collection of loggers in the specified workspace.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-log-event-hubs" - }, - "x-ms-examples": { - "ApiManagementListLoggers": { - "$ref": "./examples/ApiManagementListLoggers.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| loggerType | filter | eq | |
| resourceId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" - }, - { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Lists a collection of Logger entities.", - "schema": { - "$ref": "./definitions.json#/definitions/LoggerCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "./definitions.json#/definitions/LoggerContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers/{loggerId}": { - "head": { - "tags": [ - "Logger" - ], - "operationId": "WorkspaceLogger_GetEntityTag", - "description": "Gets the entity state (Etag) version of the logger specified by its identifier.", - "x-ms-examples": { - "ApiManagementHeadLogger": { - "$ref": "./examples/ApiManagementHeadLogger.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Specified logger entity exists and current entity state version is present in the ETag header.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Logger" - ], - "operationId": "WorkspaceLogger_Get", - "description": "Gets the details of the logger specified by its identifier.", - "x-ms-examples": { - "ApiManagementGetLogger": { - "$ref": "./examples/ApiManagementGetLogger.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The response body contains the specified Logger entity.", - "schema": { - "$ref": "./definitions.json#/definitions/LoggerContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Logger" - ], - "operationId": "WorkspaceLogger_CreateOrUpdate", - "description": "Creates or Updates a logger.", - "x-ms-examples": { - "ApiManagementCreateEHLogger": { - "$ref": "./examples/ApiManagementCreateEHLogger.json" - }, - "ApiManagementCreateAILogger": { - "$ref": "./examples/ApiManagementCreateAILogger.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./definitions.json#/definitions/LoggerContract" - }, - "description": "Create parameters." - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Logger was successfully created.", - "schema": { - "$ref": "./definitions.json#/definitions/LoggerContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "200": { - "description": "The existing logger was successfully updated.", - "schema": { - "$ref": "./definitions.json#/definitions/LoggerContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "patch": { - "tags": [ - "Logger" - ], - "operationId": "WorkspaceLogger_Update", - "description": "Updates an existing logger.", - "x-ms-examples": { - "ApiManagementUpdateLogger": { - "$ref": "./examples/ApiManagementUpdateLogger.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./definitions.json#/definitions/LoggerUpdateContract" - }, - "description": "Update parameters." - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The existing logger was successfully updated.", - "schema": { - "$ref": "./definitions.json#/definitions/LoggerContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Logger" - ], - "operationId": "WorkspaceLogger_Delete", - "description": "Deletes the specified logger.", - "x-ms-examples": { - "ApiManagementDeleteLogger": { - "$ref": "./examples/ApiManagementDeleteLogger.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The logger was successfully deleted." - }, - "204": { - "description": "The logger was successfully deleted." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics": { - "get": { - "tags": [ - "Diagnostic" - ], - "operationId": "WorkspaceDiagnostic_ListByWorkspace", - "description": "Lists all diagnostics in the specified workspace.", - "x-ms-examples": { - "ApiManagementListDiagnostics": { - "$ref": "./examples/ApiManagementListDiagnostics.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" - }, - { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Paged Result response of diagnostics.", - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "./definitions.json#/definitions/DiagnosticContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics/{diagnosticId}": { - "head": { - "tags": [ - "Diagnostic" - ], - "operationId": "WorkspaceDiagnostic_GetEntityTag", - "description": "Gets the entity state (Etag) version of the Diagnostic specified by its identifier.", - "x-ms-examples": { - "ApiManagementHeadDiagnostic": { - "$ref": "./examples/ApiManagementHeadDiagnostic.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Gets the entity tag of the diagnostic", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Diagnostic" - ], - "operationId": "WorkspaceDiagnostic_Get", - "description": "Gets the details of the Diagnostic specified by its identifier.", - "x-ms-examples": { - "ApiManagementGetDiagnostic": { - "$ref": "./examples/ApiManagementGetDiagnostic.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The response body contains the specified Diagnostic entity.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - }, - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Diagnostic" - ], - "operationId": "WorkspaceDiagnostic_CreateOrUpdate", - "description": "Creates a new Diagnostic or updates an existing one.", - "x-ms-examples": { - "ApiManagementCreateDiagnostic": { - "$ref": "./examples/ApiManagementCreateDiagnostic.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" - }, - "description": "Create parameters." - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Diagnostic was successfully created.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - }, - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" - } - }, - "200": { - "description": "Diagnostic successfully updated", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - }, - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "patch": { - "tags": [ - "Diagnostic" - ], - "operationId": "WorkspaceDiagnostic_Update", - "description": "Updates the details of the Diagnostic specified by its identifier.", - "x-ms-examples": { - "ApiManagementUpdateDiagnostic": { - "$ref": "./examples/ApiManagementUpdateDiagnostic.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" - }, - "description": "Diagnostic Update parameters." - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Diagnostic successfully updated", - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Diagnostic" - ], - "operationId": "WorkspaceDiagnostic_Delete", - "description": "Deletes the specified Diagnostic.", - "x-ms-examples": { - "ApiManagementDeleteDiagnostic": { - "$ref": "./examples/ApiManagementDeleteDiagnostic.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The Diagnostic was successfully deleted." - }, - "204": { - "description": "The Diagnostic was successfully deleted." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics": { - "get": { - "tags": [ - "ApiDiagnostic" - ], - "operationId": "WorkspaceApiDiagnostic_ListByWorkspace", - "description": "Lists all diagnostics of an API.", - "x-ms-examples": { - "ApiManagementListApiDiagnostics": { - "$ref": "./examples/ApiManagementListApiDiagnostics.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiIdParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" - }, - { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Paged Result response of diagnostics for an API.", - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "./definitions.json#/definitions/DiagnosticContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics/{diagnosticId}": { - "head": { - "tags": [ - "ApiDiagnostic" - ], - "operationId": "WorkspaceApiDiagnostic_GetEntityTag", - "description": "Gets the entity state (Etag) version of the Diagnostic for an API specified by its identifier.", - "x-ms-examples": { - "ApiManagementHeadApiDiagnostic": { - "$ref": "./examples/ApiManagementHeadApiDiagnostic.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Operation completed successfully.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "ApiDiagnostic" - ], - "operationId": "WorkspaceApiDiagnostic_Get", - "description": "Gets the details of the Diagnostic for an API specified by its identifier.", - "x-ms-examples": { - "ApiManagementGetApiDiagnostic": { - "$ref": "./examples/ApiManagementGetApiDiagnostic.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The response body contains the specified Diagnostic entity.", - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "ApiDiagnostic" - ], - "operationId": "WorkspaceApiDiagnostic_CreateOrUpdate", - "description": "Creates a new Diagnostic for an API or updates an existing one.", - "x-ms-examples": { - "ApiManagementCreateApiDiagnostic": { - "$ref": "./examples/ApiManagementCreateApiDiagnostic.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" - }, - "description": "Create parameters." - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Diagnostic was successfully created.", - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "200": { - "description": "Diagnostic was successfully updated.", - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "patch": { - "tags": [ - "ApiDiagnostic" - ], - "operationId": "WorkspaceApiDiagnostic_Update", - "description": "Updates the details of the Diagnostic for an API specified by its identifier.", - "x-ms-examples": { - "ApiManagementUpdateApiDiagnostic": { - "$ref": "./examples/ApiManagementUpdateApiDiagnostic.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" - }, - "description": "Diagnostic Update parameters." - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Diagnostic was successfully updated.", - "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "ApiDiagnostic" - ], - "operationId": "WorkspaceApiDiagnostic_Delete", - "description": "Deletes the specified Diagnostic from an API.", - "x-ms-examples": { - "ApiManagementDeleteApiDiagnostic": { - "$ref": "./examples/ApiManagementDeleteApiDiagnostic.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Diagnostic successfully removed" - }, - "204": { - "description": "Diagnostic successfully removed by previous request or does not exist" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends": { - "get": { - "tags": [ - "Backend" - ], - "operationId": "WorkspaceBackend_ListByWorkspace", - "description": "Lists a collection of backends in the specified workspace.", - "x-ms-examples": { - "ApiManagementListBackends": { - "$ref": "./examples/ApiManagementListBackends.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| title | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| url | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" - }, - { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Lists a collection of Backend entities.", - "schema": { - "$ref": "./definitions.json#/definitions/BackendCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "./definitions.json#/definitions/BackendContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}": { - "head": { - "tags": [ - "Backend" - ], - "operationId": "WorkspaceBackend_GetEntityTag", - "description": "Gets the entity state (Etag) version of the backend specified by its identifier.", - "x-ms-examples": { - "ApiManagementHeadBackend": { - "$ref": "./examples/ApiManagementHeadBackend.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/BackendIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Specified backend entity exists and current entity state version is present in the ETag header.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Backend" - ], - "operationId": "WorkspaceBackend_Get", - "description": "Gets the details of the backend specified by its identifier.", - "x-ms-examples": { - "ApiManagementGetBackend": { - "$ref": "./examples/ApiManagementGetBackend.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/BackendIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The response body contains the specified Backend entity.", - "schema": { - "$ref": "./definitions.json#/definitions/BackendContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Backend" - ], - "operationId": "WorkspaceBackend_CreateOrUpdate", - "description": "Creates or Updates a backend.", - "x-ms-examples": { - "ApiManagementCreateBackendServiceFabric": { - "$ref": "./examples/ApiManagementCreateBackendServiceFabric.json" - }, - "ApiManagementCreateBackendProxyBackend": { - "$ref": "./examples/ApiManagementCreateBackendProxyBackend.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/BackendIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./definitions.json#/definitions/BackendContract" - }, - "description": "Create parameters." - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Backend was successfully created.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - }, - "schema": { - "$ref": "./definitions.json#/definitions/BackendContract" - } - }, - "200": { - "description": "The existing backend was successfully updated.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - }, - "schema": { - "$ref": "./definitions.json#/definitions/BackendContract" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "patch": { - "tags": [ - "Backend" - ], - "operationId": "WorkspaceBackend_Update", - "description": "Updates an existing backend.", - "x-ms-examples": { - "ApiManagementUpdateBackend": { - "$ref": "./examples/ApiManagementUpdateBackend.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/BackendIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./definitions.json#/definitions/BackendUpdateParameters" - }, - "description": "Update parameters." - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The existing backend was successfully updated.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - }, - "schema": { - "$ref": "./definitions.json#/definitions/BackendContract" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Backend" - ], - "operationId": "WorkspaceBackend_Delete", - "description": "Deletes the specified backend.", - "x-ms-examples": { - "ApiManagementDeleteBackend": { - "$ref": "./examples/ApiManagementDeleteBackend.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/BackendIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The backend was successfully deleted." - }, - "204": { - "description": "The backend was successfully deleted." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}/reconnect": { - "post": { - "tags": [ - "BackendReconnect" - ], - "operationId": "WorkspaceBackend_Reconnect", - "description": "Notifies the API Management gateway to create a new connection to the backend after the specified timeout. If no timeout was specified, timeout of 2 minutes is used.", - "x-ms-examples": { - "ApiManagementBackendReconnect": { - "$ref": "./examples/ApiManagementBackendReconnect.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/BackendIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": false, - "schema": { - "$ref": "./definitions.json#/definitions/BackendReconnectContract" - }, - "description": "Reconnect request parameters." - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "202": { - "description": "Reconnect request accepted." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates": { - "get": { - "tags": [ - "Certificate" - ], - "operationId": "WorkspaceCertificate_ListByWorkspace", - "description": "Lists a collection of all certificates in the specified workspace.", - "x-ms-examples": { - "ApiManagementListCertificates": { - "$ref": "./examples/ApiManagementListCertificates.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| subject | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| thumbprint | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| expirationDate | filter | ge, le, eq, ne, gt, lt | |
" - }, - { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" - }, - { - "name": "isKeyVaultRefreshFailed", - "in": "query", - "required": false, - "type": "boolean", - "description": "When set to true, the response contains only certificates entities which failed refresh." - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Returns a collection of Certificate entity.", - "schema": { - "$ref": "./definitions.json#/definitions/CertificateCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "./definitions.json#/definitions/CertificateContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates/{certificateId}": { - "head": { - "tags": [ - "Certificate" - ], - "operationId": "WorkspaceCertificate_GetEntityTag", - "description": "Gets the entity state (Etag) version of the certificate specified by its identifier.", - "x-ms-examples": { - "ApiManagementHeadCertificate": { - "$ref": "./examples/ApiManagementHeadCertificate.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Specified certificate entity exists and current entity state version is present in the ETag header.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Certificate" - ], - "operationId": "WorkspaceCertificate_Get", - "description": "Gets the details of the certificate specified by its identifier.", - "x-ms-examples": { - "ApiManagementGetCertificate": { - "$ref": "./examples/ApiManagementGetCertificate.json" - }, - "ApiManagementGetCertificateWithKeyVault": { - "$ref": "./examples/ApiManagementGetCertificateWithKeyVault.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The response body contains the specified Certificate entity.", - "schema": { - "$ref": "./definitions.json#/definitions/CertificateContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Certificate" - ], - "operationId": "WorkspaceCertificate_CreateOrUpdate", - "description": "Creates or updates the certificate being used for authentication with the backend.", - "externalDocs": { - "description": "How to secure back-end services using client certificate authentication in Azure API Management", - "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates/" - }, - "x-ms-examples": { - "ApiManagementCreateCertificate": { - "$ref": "./examples/ApiManagementCreateCertificate.json" - }, - "ApiManagementCreateCertificateWithKeyVault": { - "$ref": "./examples/ApiManagementCreateCertificateWithKeyVault.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./definitions.json#/definitions/CertificateCreateOrUpdateParameters" - }, - "description": "Create or Update parameters." - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "The new certificate was successfully added.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - }, - "schema": { - "$ref": "./definitions.json#/definitions/CertificateContract" - } - }, - "200": { - "description": "The certificate details were successfully updated.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - }, - "schema": { - "$ref": "./definitions.json#/definitions/CertificateContract" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Certificate" - ], - "operationId": "WorkspaceCertificate_Delete", - "description": "Deletes specific certificate.", - "x-ms-examples": { - "ApiManagementDeleteCertificate": { - "$ref": "./examples/ApiManagementDeleteCertificate.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The certificate was successfully deleted." - }, - "204": { - "description": "The certificate was successfully deleted." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates/{certificateId}/refreshSecret": { - "post": { - "tags": [ - "Certificate" - ], - "operationId": "WorkspaceCertificate_RefreshSecret", - "description": "From KeyVault, Refresh the certificate being used for authentication with the backend.", - "externalDocs": { - "description": "How to secure back-end services using client certificate authentication in Azure API Management", - "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates/" - }, - "x-ms-examples": { - "ApiManagementRefreshCertificate": { - "$ref": "./examples/ApiManagementRefreshCertificate.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/WorkspaceIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The certificate details were successfully updated.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - }, - "schema": { - "$ref": "./definitions.json#/definitions/CertificateContract" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } } }, "x-ms-paths": { diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceBackendReconnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceBackendReconnect.json deleted file mode 100644 index 3e0304c676be..000000000000 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/examples/ApiManagementWorkspaceBackendReconnect.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parameters": { - "serviceName": "apimService1", - "resourceGroupName": "rg1", - "api-version": "2023-09-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "workspaceId": "wks1", - "backendId": "proxybackend", - "parameters": { - "properties": { - "after": "PT3S" - } - } - }, - "responses": { - "202": {} - } -} From 431910085ced62ae2e2285405fa1b26d5319639a Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Fri, 15 Mar 2024 14:32:08 +0100 Subject: [PATCH 20/33] Lint fix --- .../preview/2023-09-01-preview/apimworkspacebackends.json | 2 +- .../preview/2023-09-01-preview/apimworkspacediagnostics.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json index 317c46a118a3..8162b8617083 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json @@ -304,7 +304,7 @@ { "name": "parameters", "in": "body", - "required": true, + "required": false, "schema": { "$ref": "./definitions.json#/definitions/BackendUpdateParameters" }, diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json index 31582aaffe5b..c8aa51b38a92 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json @@ -301,7 +301,7 @@ { "name": "parameters", "in": "body", - "required": true, + "required": false, "schema": { "$ref": "./definitions.json#/definitions/DiagnosticContract" }, @@ -670,7 +670,7 @@ { "name": "parameters", "in": "body", - "required": true, + "required": false, "schema": { "$ref": "./definitions.json#/definitions/DiagnosticContract" }, From 56b80427465b12ea3f8aa4785e61792e3b47e8eb Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Fri, 15 Mar 2024 15:53:13 +0100 Subject: [PATCH 21/33] Revert "Lint fix" This reverts commit 431910085ced62ae2e2285405fa1b26d5319639a. --- .../preview/2023-09-01-preview/apimworkspacebackends.json | 2 +- .../preview/2023-09-01-preview/apimworkspacediagnostics.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json index 8162b8617083..317c46a118a3 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacebackends.json @@ -304,7 +304,7 @@ { "name": "parameters", "in": "body", - "required": false, + "required": true, "schema": { "$ref": "./definitions.json#/definitions/BackendUpdateParameters" }, diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json index c8aa51b38a92..31582aaffe5b 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json @@ -301,7 +301,7 @@ { "name": "parameters", "in": "body", - "required": false, + "required": true, "schema": { "$ref": "./definitions.json#/definitions/DiagnosticContract" }, @@ -670,7 +670,7 @@ { "name": "parameters", "in": "body", - "required": false, + "required": true, "schema": { "$ref": "./definitions.json#/definitions/DiagnosticContract" }, From 94722ec51b75ae035a8957f99e4f0ca7b5aa1665 Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Wed, 20 Mar 2024 12:53:09 +0100 Subject: [PATCH 22/33] Suppress --- specification/apimanagement/resource-manager/readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 5ac77ece99b3..e4fee776754f 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1160,4 +1160,8 @@ suppressions: from: apimworkspaceloggers.json where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers"].get.responses["200"].schema.properties reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. + - code: PatchBodyParametersSchema + from: apimworkspacebackends.json + where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema + reason: The issue will be fixed in the next preview version. ``` From 0234c9321fe2b47f750569f56c0c6b4a195daee3 Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Wed, 20 Mar 2024 14:24:34 +0100 Subject: [PATCH 23/33] Suppression update --- .../apimanagement/resource-manager/readme.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index e4fee776754f..cde2b086052d 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1150,18 +1150,21 @@ suppressions: reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink from: apimworkspacediagnostics.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics"].get.responses["200"].schema.properties - reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - - code: GetCollectionOnlyHasValueAndNextLink - from: apimworkspacediagnostics.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics"].get.responses.["200"].schema.properties + where: + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics"].get.responses["200"].schema.properties + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics"].get.responses.["200"].schema.properties reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: GetCollectionOnlyHasValueAndNextLink from: apimworkspaceloggers.json where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers"].get.responses["200"].schema.properties reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: PatchBodyParametersSchema + reasons: This are the object fields which when updated require some data to be present. from: apimworkspacebackends.json - where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema - reason: The issue will be fixed in the next preview version. -``` + where: + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.properties.managementEndpoints + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.credentials.authorization.scheme + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.credentials.authorization.parameter + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.credentials.proxy.url + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.credentials.tls.validateCertificateChain + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.credentials.tls.validateCertificateName From 9d17f90e2f7bf997a9e166aa1b01ed002807c4c9 Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Wed, 20 Mar 2024 14:24:54 +0100 Subject: [PATCH 24/33] Add diagnostic update contract --- .../apimworkspacediagnostics.json | 2 +- .../2023-09-01-preview/definitions.json | 22 ++++++++++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json index 31582aaffe5b..3e366ffe2ede 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json @@ -672,7 +672,7 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" + "$ref": "./definitions.json#/definitions/DiagnosticUpdateContract" }, "description": "Diagnostic Update parameters." }, diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/definitions.json index bd1556636c68..58f9b82c7158 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/definitions.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/definitions.json @@ -2784,6 +2784,25 @@ "description": "Paged Diagnostic list representation." }, "DiagnosticContract": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiagnosticContractProperties", + "required": [ + "loggerId" + ], + "description": "Diagnostic entity contract properties." + } + }, + "allOf": [ + { + "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "description": "Diagnostic details." + }, + "DiagnosticUpdateContract": { "type": "object", "properties": { "properties": { @@ -2920,9 +2939,6 @@ "description": "Emit custom metrics via emit-metric policy. Applicable only to Application Insights diagnostic settings." } }, - "required": [ - "loggerId" - ], "description": "Diagnostic Entity Properties" }, "EmailTemplateCollection": { From 3d3497c32890d55b204eab3347e5f804ccd3937c Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Wed, 20 Mar 2024 15:04:43 +0100 Subject: [PATCH 25/33] update suppression --- specification/apimanagement/resource-manager/readme.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index cde2b086052d..19d136401a92 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1159,12 +1159,8 @@ suppressions: where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers"].get.responses["200"].schema.properties reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: PatchBodyParametersSchema - reasons: This are the object fields which when updated require some data to be present. from: apimworkspacebackends.json where: - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.properties.managementEndpoints - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.credentials.authorization.scheme - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.credentials.authorization.parameter - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.credentials.proxy.url - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.credentials.tls.validateCertificateChain - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.credentials.tls.validateCertificateName + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties + reasons: This are the object fields which when updated require some data to be present. + From 4a8917c63ac1bc29c6b75d1c1e13159887fb07ef Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Wed, 20 Mar 2024 15:37:49 +0100 Subject: [PATCH 26/33] suppression update --- specification/apimanagement/resource-manager/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 19d136401a92..885302eb59de 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1161,6 +1161,6 @@ suppressions: - code: PatchBodyParametersSchema from: apimworkspacebackends.json where: - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.managementEndpoints reasons: This are the object fields which when updated require some data to be present. From d42ffc4450a8d06e024dd731cf3b5a1469c62e12 Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Wed, 20 Mar 2024 15:43:48 +0100 Subject: [PATCH 27/33] supp --- specification/apimanagement/resource-manager/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 885302eb59de..19d136401a92 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1161,6 +1161,6 @@ suppressions: - code: PatchBodyParametersSchema from: apimworkspacebackends.json where: - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.managementEndpoints + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties reasons: This are the object fields which when updated require some data to be present. From efd077c82f5487f6cbf76dcc84ba0e9a030449a2 Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Wed, 20 Mar 2024 15:44:00 +0100 Subject: [PATCH 28/33] supp2 --- specification/apimanagement/resource-manager/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 19d136401a92..885302eb59de 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1161,6 +1161,6 @@ suppressions: - code: PatchBodyParametersSchema from: apimworkspacebackends.json where: - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.managementEndpoints reasons: This are the object fields which when updated require some data to be present. From 52851d5e2ca52830722fb0e5389ca3939eda3f8b Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Wed, 20 Mar 2024 16:02:04 +0100 Subject: [PATCH 29/33] supp3 --- specification/apimanagement/resource-manager/readme.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 885302eb59de..c9c724e152c7 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -1160,7 +1160,5 @@ suppressions: reason: Our object contain count property as a sibling to nextLink and value and it used for proxy resource collection GETs. - code: PatchBodyParametersSchema from: apimworkspacebackends.json - where: - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}"].patch.parameters[4].schema.properties.managementEndpoints reasons: This are the object fields which when updated require some data to be present. From 97267b3e30dba7c32b0bde4a4f97f1e418f1d1f5 Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Wed, 20 Mar 2024 17:06:33 +0100 Subject: [PATCH 30/33] Fix breaking change --- .../2023-09-01-preview/definitions.json | 133 +++++++++++++++++- 1 file changed, 128 insertions(+), 5 deletions(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/definitions.json index 58f9b82c7158..28d7933855b4 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/definitions.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/definitions.json @@ -2789,9 +2789,6 @@ "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/DiagnosticContractProperties", - "required": [ - "loggerId" - ], "description": "Diagnostic entity contract properties." } }, @@ -2802,12 +2799,138 @@ ], "description": "Diagnostic details." }, + "DiagnosticContractProperties": { + "type": "object", + "properties": { + "alwaysLog": { + "type": "string", + "enum": [ + "allErrors" + ], + "x-ms-enum": { + "name": "AlwaysLog", + "modelAsString": true, + "values": [ + { + "value": "allErrors", + "description": "Always log all erroneous request regardless of sampling settings." + } + ] + }, + "description": "Specifies for what type of messages sampling settings should not apply." + }, + "loggerId": { + "type": "string", + "description": "Resource Id of a target logger." + }, + "sampling": { + "$ref": "#/definitions/SamplingSettings", + "description": "Sampling settings for Diagnostic." + }, + "frontend": { + "$ref": "#/definitions/PipelineDiagnosticSettings", + "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Gateway." + }, + "backend": { + "$ref": "#/definitions/PipelineDiagnosticSettings", + "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Backend" + }, + "logClientIp": { + "type": "boolean", + "description": "Log the ClientIP. Default is false." + }, + "httpCorrelationProtocol": { + "type": "string", + "enum": [ + "None", + "Legacy", + "W3C" + ], + "x-ms-enum": { + "name": "HttpCorrelationProtocol", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Do not read and inject correlation headers." + }, + { + "value": "Legacy", + "description": "Inject Request-Id and Request-Context headers with request correlation data. See https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md." + }, + { + "value": "W3C", + "description": "Inject Trace Context headers. See https://w3c.github.io/trace-context." + } + ] + }, + "description": "Sets correlation protocol to use for Application Insights diagnostics." + }, + "verbosity": { + "type": "string", + "enum": [ + "verbose", + "information", + "error" + ], + "x-ms-enum": { + "name": "Verbosity", + "modelAsString": true, + "values": [ + { + "value": "verbose", + "description": "All the traces emitted by trace policies will be sent to the logger attached to this diagnostic instance." + }, + { + "value": "information", + "description": "Traces with 'severity' set to 'information' and 'error' will be sent to the logger attached to this diagnostic instance." + }, + { + "value": "error", + "description": "Only traces with 'severity' set to 'error' will be sent to the logger attached to this diagnostic instance." + } + ] + }, + "description": "The verbosity level applied to traces emitted by trace policies." + }, + "operationNameFormat": { + "type": "string", + "enum": [ + "Name", + "Url" + ], + "x-ms-enum": { + "name": "OperationNameFormat", + "modelAsString": true, + "values": [ + { + "value": "Name", + "description": "API_NAME;rev=API_REVISION - OPERATION_NAME" + }, + { + "value": "Url", + "description": "HTTP_VERB URL" + } + ] + }, + "description": "The format of the Operation Name for Application Insights telemetries. Default is Name." + }, + "metrics": { + "type": "boolean", + "description": "Emit custom metrics via emit-metric policy. Applicable only to Application Insights diagnostic settings." + } + }, + "required": [ + "loggerId" + ], + "description": "Diagnostic Entity Properties" + }, "DiagnosticUpdateContract": { "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/DiagnosticContractProperties", + "$ref": "#/definitions/DiagnosticContractUpdateProperties", "description": "Diagnostic entity contract properties." } }, @@ -2818,7 +2941,7 @@ ], "description": "Diagnostic details." }, - "DiagnosticContractProperties": { + "DiagnosticContractUpdateProperties": { "type": "object", "properties": { "alwaysLog": { From fe03958ae9f715b3210976f563323b47147f6dfb Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Thu, 21 Mar 2024 09:38:53 +0100 Subject: [PATCH 31/33] revert --- .../preview/2023-09-01-preview/apimworkspacediagnostics.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json index 3e366ffe2ede..31582aaffe5b 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json @@ -672,7 +672,7 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticUpdateContract" + "$ref": "./definitions.json#/definitions/DiagnosticContract" }, "description": "Diagnostic Update parameters." }, From 7b762c694af99a47b8de173a6476ed43ff093a54 Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Thu, 21 Mar 2024 09:39:22 +0100 Subject: [PATCH 32/33] update --- .../preview/2023-09-01-preview/apimworkspacediagnostics.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json index 31582aaffe5b..3e366ffe2ede 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json @@ -672,7 +672,7 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" + "$ref": "./definitions.json#/definitions/DiagnosticUpdateContract" }, "description": "Diagnostic Update parameters." }, From 48378b2417d3333aaccb2318fb78d9a1e4890ce9 Mon Sep 17 00:00:00 2001 From: Rafal Mielowski Date: Fri, 22 Mar 2024 15:27:53 +0100 Subject: [PATCH 33/33] I hope last fix --- .../preview/2023-09-01-preview/apimworkspacediagnostics.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json index 3e366ffe2ede..28921aef6ce0 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-09-01-preview/apimworkspacediagnostics.json @@ -303,7 +303,7 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/DiagnosticContract" + "$ref": "./definitions.json#/definitions/DiagnosticUpdateContract" }, "description": "Diagnostic Update parameters." },