diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json index dbe76ee7c35b..f7b18b21346b 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimanagement.json @@ -547,6 +547,16 @@ }, "x-ms-parameter-location": "method" }, + "PortalRevisionIdParameter": { + "name": "portalRevisionId", + "in": "path", + "required": true, + "type": "string", + "description": "Portal revision identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 256, + "x-ms-parameter-location": "method" + }, "ProductIdParameter": { "name": "productId", "in": "path", diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalrevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalrevisions.json new file mode 100644 index 000000000000..d29101d859d8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalrevisions.json @@ -0,0 +1,326 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations in Azure API Management deployment.", + "version": "2020-06-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}/portalRevisions": { + "get": { + "tags": [ + "PortalRevision" + ], + "operationId": "PortalRevision_ListByService", + "description": "Lists a collection of developer portal revision entities.", + "x-ms-examples": { + "ApiManagementListPortalRevisions": { + "$ref": "./examples/ApiManagementListPortalRevisions.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|isCurrent | eq, ne | |\n" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of developer portal revision entities.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalRevisionCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalRevisions/{portalRevisionId}": { + "head": { + "tags": [ + "PortalRevision" + ], + "operationId": "PortalRevision_GetEntityTag", + "description": "Gets developer portal revision specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadPortalRevision": { + "$ref": "./examples/ApiManagementHeadPortalRevision.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PortalRevisionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified Portal revision 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": [ + "PortalRevision" + ], + "operationId": "PortalRevision_Get", + "description": "Gets developer portal revision specified by its identifier.", + "x-ms-examples": { + "ApiManagementGetPortalRevision": { + "$ref": "./examples/ApiManagementGetPortalRevision.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PortalRevisionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Gets the specified developer portal revision entity.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalRevisionContract" + }, + "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": [ + "PortalRevision" + ], + "operationId": "PortalRevision_CreateOrUpdate", + "description": "Creates a new developer portal revision.", + "x-ms-examples": { + "ApiManagementCreatePortalRevision": { + "$ref": "./examples/ApiManagementCreatePortalRevision.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PortalRevisionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PortalRevisionContract" + } + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Request to create developer portal revision was accepted." + }, + "201": { + "description": "Developer portal revision was successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalRevisionContract" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "PortalRevision" + ], + "operationId": "PortalRevision_Update", + "description": "Updates the description of specified portal revision or makes it current.", + "x-ms-examples": { + "ApiManagementUpdatePortalRevision": { + "$ref": "./examples/ApiManagementUpdatePortalRevision.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PortalRevisionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/PortalRevisionContract" + } + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Request to update developer portal revision was accepted." + }, + "200": { + "description": "Developer portal revision was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalRevisionContract" + }, + "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" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json index 0e77e54f68cf..7c594467212f 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/definitions.json @@ -5901,6 +5901,103 @@ "description": "UTC Timestamp when the service was soft-deleted. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard." } } + }, + "PortalRevisionCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PortalRevisionContract" + }, + "description": "Collection of portal revisions.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Next page link, if any.", + "readOnly": true + } + }, + "description": "Paged list of portal revisions." + }, + "PortalRevisionContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PortalRevisionContractProperties", + "description": "Properties of the portal revisions." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Portal revisions contract details." + }, + "PortalRevisionContractProperties": { + "properties": { + "description": { + "type": "string", + "description": "Portal revision description.", + "maxLength": 2000 + }, + "statusDetails": { + "type": "string", + "description": "Portal revision publishing status details.", + "maxLength": 2000, + "readOnly": true + }, + "status": { + "type": "string", + "description": "Portal revision publishing status", + "enum": [ + "pending", + "publishing", + "completed", + "failed" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "portalRevisionStatus", + "values": [ + { + "value": "pending", + "description": "Portal revision publishing is pending" + }, + { + "value": "publishing", + "description": "Portal revision is publishing" + }, + { + "value": "completed", + "description": "Portal revision publishing completed" + }, + { + "value": "failed", + "description": "Portal revision publishing failed" + } + ] + }, + "readOnly": true + }, + "isCurrent": { + "type": "boolean", + "description": "Indicates if the Portal Revision is public." + }, + "createdDateTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "Portal revision creation date and time." + }, + "updatedDateTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "Last updated date and time." + } + } } }, "parameters": {} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreatePortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreatePortalRevision.json new file mode 100644 index 000000000000..e44ba23426f7 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementCreatePortalRevision.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "portalRevisionId": "20201112101010", + "parameters": { + "properties": { + "description": "portal revision 1", + "isCurrent": true + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010?api-version=2020-06-01-preview&asyncId=5faf089b1d9a026694220e0c&asyncCode=201" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010", + "type": "Microsoft.ApiManagement/service/portalRevisions", + "name": "20201112101010", + "properties": { + "description": "portal revision 1", + "statusDetails": null, + "status": "completed", + "isCurrent": true, + "createdDateTime": "2020-11-13T22:28:43.657Z", + "updatedDateTime": "2020-11-13T22:29:22.68Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPortalRevision.json new file mode 100644 index 000000000000..2efc5973e0b8 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementGetPortalRevision.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "portalRevisionId": "20201112101010" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010", + "type": "Microsoft.ApiManagement/service/portalRevisions", + "name": "20201112101010", + "properties": { + "description": "portal revision 1", + "statusDetails": null, + "status": "completed", + "isCurrent": true, + "createdDateTime": "2020-11-12T22:51:36.47Z", + "updatedDateTime": "2020-11-12T22:52:00.097Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadPortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadPortalRevision.json new file mode 100644 index 000000000000..86e3785d6e6f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementHeadPortalRevision.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "portalRevisionId": "20201112101010" + }, + "responses": { + "200": { + "headers": { + "etag": "AAAAAAAAAAa=" + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPortalRevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPortalRevisions.json new file mode 100644 index 000000000000..b8eaf5250c4a --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementListPortalRevisions.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112000000", + "type": "Microsoft.ApiManagement/service/portalRevisions", + "name": "20201112000000", + "properties": { + "description": "portal revision", + "statusDetails": null, + "status": "completed", + "isCurrent": false, + "createdDateTime": "2020-11-12T22:10:09.673Z", + "updatedDateTime": "2020-11-12T22:12:41.46Z" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010", + "type": "Microsoft.ApiManagement/service/portalRevisions", + "name": "20201112101010", + "properties": { + "description": "portal revision 1", + "statusDetails": null, + "status": "completed", + "isCurrent": true, + "createdDateTime": "2020-11-12T22:51:36.47Z", + "updatedDateTime": "2020-11-12T22:52:00.097Z" + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdatePortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdatePortalRevision.json new file mode 100644 index 000000000000..c7a33472360f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementUpdatePortalRevision.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "portalRevisionId": "20201112101010", + "If-Match": "*", + "parameters": { + "properties": { + "description": "portal revision update", + "isCurrent": true + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010?api-version=2020-06-01-preview&asyncId=5faf16b81d9a028970d0bfbb&asyncCode=200" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2", + "type": "Microsoft.ApiManagement/service/portalRevisions", + "name": "20201112101010", + "properties": { + "description": "portal revision update", + "statusDetails": null, + "status": "completed", + "isCurrent": true, + "createdDateTime": "2020-11-13T22:47:13.397Z", + "updatedDateTime": "2020-11-13T23:29:25.34Z" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 38edc5918a9e..d5e0e3ce6c1f 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -62,6 +62,7 @@ input-file: - Microsoft.ApiManagement/preview/2020-06-01-preview/apimopenidconnectproviders.json - Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicies.json - Microsoft.ApiManagement/preview/2020-06-01-preview/apimpolicydescriptions.json + - Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalrevisions.json - Microsoft.ApiManagement/preview/2020-06-01-preview/apimportalsettings.json - Microsoft.ApiManagement/preview/2020-06-01-preview/apimproducts.json - Microsoft.ApiManagement/preview/2020-06-01-preview/apimproductsByTags.json