Skip to content

Commit

Permalink
Schema resource added in REST API Spec for api-version 2021-08-01 (Az…
Browse files Browse the repository at this point in the history
…ure#16715)

* Adds base for updating Microsoft.ApiManagement from version preview/2021-01-01-preview to version 2021-04-01-preview

* Updates readme

* Updates API version in new specs and examples

* Added support for GraphQL API type (Azure#14851)

* Added support for GraphQL API type

* Added missing enum value for GraphQL APIs.

* add schema definition fix from 2021-01-01-preview (Azure#14883)

Co-authored-by: Alan Feng <alanfeng@microsoft.com>

* Vanguard: Get Outbound Network Dependency (Azure#14900)

* outbound dependency

* fix resource

* Update backup/restore API for managed identities (Azure#14973)

* Update backup/restore API for system-assigned and user-assigned identities

* Fix formatting issue

* Rename user-assigned-msi-client-id with client-id

* SystemData implemenation on API Management Control Plane (Azure#14899)

* system-data

* fix spec

* remove unreferenced file

* APIM - Network Watcher Connectivity Check integration specs (Azure#15056)

* Connectivity Check API Specs

* Fix

* Fix errors

* style fixs

* Fix 202 code

* HTTPConnect request parameters

* Fix errors

Co-authored-by: Nicolás Barrera <t-nbarrera@microsoft.com>

* Parameter examples added (Azure#14836)

* platformversion (Azure#15114)

* fix update service (Azure#15478)

* HttpConnect example (Azure#15493)

* HttpConnect example

* Prettifier fix

Co-authored-by: Nicolás Barrera <t-nbarrera@microsoft.com>

* Rename from SchemaContract to ApiSchemaContract

* apimschema.json added to last apim preview version

* Completing specification for Schema resource.
Fixing changes in SchemaContract.

* Value field added to Schema resource specification.

* path fixed.
Renamed from ApiSchema to Schema.
Adding suppression rule to readme.md
Custom word added for spellcheck

* Fixing PR observations.

* Added properties of difference API spec format for "SchemaDocumentProperties" (Azure#15703)

* add schema definition fix from 2021-01-01-preview

* added properties for SchemaDocumentProperties

* updated the fix

* updated fix

* [APIM]Add private endpoint connection APIs (Azure#15115)

* Add private endpoint connection apis

* add readme

* quick fixes

* fix to PE contract

* Small fixes

* small fixes

* small fixes

* Small fixes

* small fixes

* small fix

* small fixes

* small fixes

* small fixes

* Update readme.md

* fix error

* small fix

* fix format

* address comments

* small fixes

* Change to lower case

* small fixes

Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com>

* Adds base for updating Microsoft.ApiManagement from version preview/2021-04-01-preview to version 2021-08-01

* Updates readme

* Updates API version in new specs and examples

* Merge main

* Modifications to Schema definition to add "description" field.
Updating examples of Schema.

* Fixing apimanagement.json

* Prettier applied in files

* Fixing PR comments

* fixing x-ms-long-running-operation.

* x-ms-long-running-operation : true in apischema.

* Removing "Resource" type from apimanagement.json

* Apimschema.json updated to point to types.json for ErrorResponse.

* Merging from 2021-04-01-preview to 2021-08-01 stable version.

* undoing change of responseBody

* Updating ErrorResponse.

* Fixing definitions merge.

* Changing definitions to fix output of examples.

* Changes in definitions

* Updating response in some examples.

* Rolling back
ApiSchema -> Schema
Schema -> GlobalSchema

* Changes to undo apimapis.json and adding prefix for Global example Schemas.

* Setting x-ms-long-running-operation-options to location.

Co-authored-by: Samir Solanki <samirsolanki@outlook.com>
Co-authored-by: Alexander Zaslonov <zaslonov.alexander@gmail.com>
Co-authored-by: DreamlessA <DreamlessA@users.noreply.github.com>
Co-authored-by: Alan Feng <alanfeng@microsoft.com>
Co-authored-by: Jatin Sanghvi <20547963+JatinSanghvi@users.noreply.github.com>
Co-authored-by: Nicolás Barrera <nicolasbarrera@outlook.com>
Co-authored-by: Nicolás Barrera <t-nbarrera@microsoft.com>
Co-authored-by: VitaliyKurokhtin <vitaliik@microsoft.com>
Co-authored-by: Christian Palomares <cpalomar@microsoft.com>
Co-authored-by: RupengLiu <rliu1211@terpmail.umd.edu>
Co-authored-by: msyyc <70930885+msyyc@users.noreply.github.com>
  • Loading branch information
12 people committed Dec 14, 2021
1 parent 91c198e commit 925e828
Show file tree
Hide file tree
Showing 11 changed files with 743 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -607,17 +607,6 @@
"description": "The name of the resource group.",
"x-ms-parameter-location": "method"
},
"SchemaIdParameter": {
"name": "schemaId",
"in": "path",
"required": true,
"type": "string",
"description": "Schema identifier within an API. Must be unique in the current API Management service instance.",
"minLength": 1,
"maxLength": 80,
"pattern": "^[^*#&+:<>?]+$",
"x-ms-parameter-location": "method"
},
"ServiceNameParameter": {
"name": "serviceName",
"in": "path",
Expand Down Expand Up @@ -765,6 +754,16 @@
"minLength": 1,
"maxLength": 80,
"x-ms-parameter-location": "method"
},
"SchemaIdParameter": {
"name": "schemaId",
"in": "path",
"required": true,
"type": "string",
"description": "Schema id identifier. Must be unique in the current API Management service instance.",
"minLength": 1,
"maxLength": 80,
"x-ms-parameter-location": "method"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,331 @@
{
"swagger": "2.0",
"info": {
"title": "ApiManagementClient",
"description": "Use these REST APIs for performing operations on Schema entity in Azure API Management deployment.",
"version": "2021-08-01"
},
"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}/schemas": {
"get": {
"tags": [
"Schema"
],
"operationId": "GlobalSchema_ListByService",
"description": "Lists a collection of schemas registered with service instance.",
"x-ms-examples": {
"ApiManagementListSchemas": {
"$ref": "./examples/ApiManagementListGlobalSchemas.json"
}
},
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
"name": "$filter",
"in": "query",
"required": false,
"type": "string",
"description": "| Field | Usage | Supported operators | Supported functions |</br>|-------------|-------------|-------------|-------------|</br>| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |</br>"
},
{
"$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 Schema entities.",
"schema": {
"$ref": "./definitions.json#/definitions/GlobalSchemaCollection"
}
},
"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/GlobalSchemaContract"
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/schemas/{schemaId}": {
"head": {
"tags": [
"Schema"
],
"operationId": "GlobalSchema_GetEntityTag",
"description": "Gets the entity state (Etag) version of the Schema specified by its identifier.",
"x-ms-examples": {
"ApiManagementHeadApi": {
"$ref": "./examples/ApiManagementHeadGlobalSchema.json"
}
},
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "Specified Schema 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": [
"Schema"
],
"operationId": "GlobalSchema_Get",
"description": "Gets the details of the Schema specified by its identifier.",
"x-ms-examples": {
"ApiManagementGetSchema1": {
"$ref": "./examples/ApiManagementGetGlobalSchema1.json"
},
"ApiManagementGetSchema2": {
"$ref": "./examples/ApiManagementGetGlobalSchema2.json"
}
},
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "The response body contains the specified Schema entity.",
"schema": {
"$ref": "./definitions.json#/definitions/GlobalSchemaContract"
},
"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": [
"Schema"
],
"operationId": "GlobalSchema_CreateOrUpdate",
"description": "Creates new or updates existing specified Schema of the API Management service instance.",
"x-ms-examples": {
"ApiManagementCreateSchema1": {
"$ref": "./examples/ApiManagementCreateGlobalSchema1.json"
},
"ApiManagementCreateSchema2": {
"$ref": "./examples/ApiManagementCreateGlobalSchema2.json"
}
},
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
},
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
"$ref": "./definitions.json#/definitions/GlobalSchemaContract"
},
"description": "Create or update parameters."
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"201": {
"description": "The new Schema 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/GlobalSchemaContract"
}
},
"200": {
"description": "The Schema 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/GlobalSchemaContract"
}
},
"202": {
"description": "Accepted the change when updating the service."
},
"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"
}
},
"delete": {
"tags": [
"Schema"
],
"operationId": "GlobalSchema_Delete",
"description": "Deletes specific Schema.",
"x-ms-examples": {
"ApiManagementDeleteSchema": {
"$ref": "./examples/ApiManagementDeleteGlobalSchema.json"
}
},
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "The Schema was successfully deleted."
},
"204": {
"description": "The Schema was successfully deleted."
},
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
"$ref": "./apimanagement.json#/definitions/ErrorResponse"
}
}
}
}
}
},
"definitions": {},
"parameters": {}
}
Loading

0 comments on commit 925e828

Please sign in to comment.