Skip to content
This repository was archived by the owner on Feb 23, 2024. It is now read-only.

Commit 265a2bf

Browse files
DeagleGrossHardell
andauthored
Add docs on supported resources by extractor (#694)
* add documentation on supported functionality * add link to supported docs from root readme * fix review comments * Update docs/SupportedResources/README.md Co-authored-by: Milan Zolota <Hardell@users.noreply.github.com> * Update docs/SupportedResources/README.md Co-authored-by: Milan Zolota <Hardell@users.noreply.github.com> * add operation as not supported resource Co-authored-by: Dmitrii Korolev <dmkorolev@microsoft.com> Co-authored-by: Milan Zolota <Hardell@users.noreply.github.com>
1 parent b365eef commit 265a2bf

File tree

3 files changed

+98
-1
lines changed

3 files changed

+98
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ We realize there are two challenges for API developers when working with Resourc
4141

4242
* First, API developers often work with [OpenAPI Specification](https://github.com/OAI/OpenAPI-Specification) and may not be familiar with Resource Manager schemas. Authoring templates manually might be an error-prone task. Therefore, we created a utility tool called [**Creator**](./src/README.md#Creator) to automate the creation of API templates based on an Open API Specification file. Optionally, developers can supply API Management policies for an API in XML format. Basically, the tool inserts the Open API specification and policies into a Resource Manager template in the proper format. With this tool, API developers can continue focusing on the formats and artifacts they are familiar with.
4343

44-
* Second, for customers who have already been using API Management, another challenge is how to extract existing configurations into Resource Manager templates. For those customers, We have created another tool called [**Extractor**](./src/README.md#extractor) to help them generate templates by extracting configurations from their exisitng API Management instances.
44+
* Second, for customers who have already been using API Management, another challenge is how to extract existing configurations into Resource Manager templates. For those customers, We have created another tool called [**Extractor**](./src/README.md#extractor) to help them generate templates by extracting configurations from their exisitng API Management instances. You can view [Supported Resources](./docs/SupportedResources/README.md) to view the supported functionality for each public APIM API version.
4545

4646
Once API developers have finished developing and testing an API, and have generated the API template, they can submit a pull request to merge the changes to the publisher repository. API publishers can validate the pull request and make sure the changes are safe and compliant. For example, they can check if only HTTPS is allowed to communicate with the API. Most of these validations can be automated as a step in the CI/CD pipeline. Once the changes are approved and merged successfully, API publishers can choose to deploy them to the Production instance either on schedule or on demand. The deployment of the templates can be automated using [Github Actions](https://github.com/Azure/apimanagement-devops-samples), [Azure Pipeline](https://docs.microsoft.com/en-us/azure/devops/pipelines/?view=azure-devops), [PowerShell](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-deploy), [Azure CLI](Azure-cli-example.md) or other tools. An example using Azure DevOps can be find [here](docs/AzDO-Example.md)
4747

docs/SupportedResources/2021-08-01.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Supported 2021-08-01
2+
Below there is a table with all [operation-groups exposed by API Management](https://docs.microsoft.com/en-us/rest/api/apimanagement/). Every operation group is marked as *supported* ✓, *not supported* ✗ or *skipped* **-**. Also, there is information in which first resource-kit version resource extraction was supported.
3+
4+
Some of operations could be skipped (not needed for extraction), because they are not providing any **resource-specific** information about the Azure APIM Instance.
5+
6+
| Operation | Supported | Resource-kit version | Developer comment |
7+
|---|---|---|---|
8+
| Api | - | | |
9+
| Api Diagnostic || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
10+
| Api Export | - | | |
11+
| Api Issue || | |
12+
| API Issue Attachment || | |
13+
| API Issue Comment || | |
14+
| API Management Operations | - | | |
15+
| API Management Service || | we can load service description |
16+
| API Management Service Skus | - | | |
17+
| Api Operation || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
18+
| Api Operation Policy || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
19+
| Api Policy || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
20+
| Api Product || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
21+
| Api Release || | |
22+
| Api Revision || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | Probably needs refactoring (Move out of `ApiExtractor`) |
23+
| Api Schema || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
24+
| Api Tags || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
25+
| Api Version Set || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | probably needs refactoring (Move out of `ApiExtractor`) |
26+
| APIs || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
27+
| Authorization Server || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
28+
| Backend || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
29+
| Cache || | |
30+
| Certificate || | |
31+
| Content Item || | |
32+
| Content Type || | |
33+
| Delegation Settings || | |
34+
| Deleted Services | - | | |
35+
| Diagnostic || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | Move out of `ApiExtractor` |
36+
| Email Template || | |
37+
| Gateway || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
38+
| Gateway Api || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
39+
| Gateway Certificate Authority || | |
40+
| Gateway Hostname Configuration || | |
41+
| Group || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
42+
| Group User || | |
43+
| Identity Provider || | |
44+
| Issue || | |
45+
| Logger || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
46+
| Network Status || | |
47+
| Notification || | |
48+
| Notification Recipient Email || | |
49+
| Notification Recipient User || | |
50+
| Notification Recipient User || | |
51+
| OpenId Connect Provider || | |
52+
| Operation || | |
53+
| Policy || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
54+
| Policy Description | - | | |
55+
| Portal Revision || | |
56+
| Portal Settings || | |
57+
| Private Endpoint Connection || | |
58+
| Product || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
59+
| Product Api || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
60+
| Product Group || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
61+
| Product Policy || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
62+
| Product Subscriptions || | |
63+
| Product Tag || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
64+
| Quota By Counter Keys | - | | |
65+
| Quota By Period Keys | - | | |
66+
| Region | - | | |
67+
| Reports | - | | |
68+
| Sign-In Settings || | |
69+
| Sign-Up Settings || | |
70+
| Subscription || | |
71+
| Tag || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
72+
| Tag Entity | - | | |
73+
| Tag Product || [1.0.0-beta.2](https://github.com/Azure/azure-api-management-devops-resource-kit/releases/tag/1.0.0-beta.2) | |
74+
| Tag Resource | - | | |
75+
| Tenant Access | - | | |
76+
| Tenant Access Git | - | | |
77+
| Tenant Configuration | - | | |
78+
| User || | |
79+
| User Confirmation Password | - | | |
80+
| User Group | - | | |
81+
| User Identities | - | | |
82+
| User Subscription | - | | |

docs/SupportedResources/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Supported Resources by Resource Kit
2+
3+
## What is the resource
4+
---
5+
Azure-ApiManagement-Devops-Resources-Kit heavily uses Azure API Management public API and relies on it to get all the information about running services.
6+
7+
Azure API Management team develops services and products continuously, and public API happens to change from time to time. You can always view the **Current-GA**, **current-Preview** and **Previous-GA** public API references on [Azure REST API page](https://docs.microsoft.com/en-us/rest/api/apimanagement/)
8+
9+
This **Resource-Kit** works with `Resource` entities. Let's define, what `Resource` in this case means:
10+
`Resource` - entity, that is exposed by ApiManagement, representing some information regarding specific ApiManagement instance. If one contains some set of `resources` describing ApiManagement instance, he\she can recreate another instance one by one (with absolutely the same resources)
11+
12+
## Supported Resources
13+
Please, refer to this document to understand what resources are supported in each of the Api-Versions published by the ApiManagement team:
14+
15+
- [api-version = 2021-08-01](./2021-08-01.md)

0 commit comments

Comments
 (0)