You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<i>MSFT employees can try out our new experience at <b>[OpenAPI Hub](https://aka.ms/openapiportal) </b> - one location for using our validation tools and finding your workflow.
2
-
</i>
3
-
Azure 1st Party Service can try out the [Shift Left](https://aka.ms/ShiftLeft) experience to initiate API design review from ADO code repo. If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
1
+
# Choose a PR Template
4
2
5
-
### Changelog
6
-
Add a changelog entry for this PR by answering the following questions:
7
-
1. What's the purpose of the update?
8
-
-[ ] new service onboarding
9
-
-[ ] new API version
10
-
-[ ] update existing version for new feature
11
-
-[ ] update existing version to fix swagger quality issue in s360
12
-
-[ ] Other, please clarify
13
-
2. When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
14
-
3. When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
15
-
4. If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published.
16
-
-[ ] SDK of .NET (need service team to ensure code readiness)
17
-
-[ ] SDK of Python
18
-
-[ ] SDK of Java
19
-
-[ ] SDK of Js
20
-
-[ ] SDK of Go
21
-
-[ ] PowerShell
22
-
-[ ] CLI
23
-
-[ ] Terraform
24
-
-[ ] No refresh required for updates in this PR
3
+
Switch to "Preview" on this description then select one of the choices below.
25
4
26
-
### Contribution checklist:
27
-
-[ ] I commit to follow the [Breaking Change Policy](http://aka.ms/bcforapi) of "no breaking changes"
28
-
-[ ] I have reviewed the [documentation](https://aka.ms/ameonboard) for the workflow.
29
-
-[ ][Validation tools](https://aka.ms/swaggertools) were run on swagger spec(s) and errors have all been fixed in this PR. [How to fix?](https://aka.ms/ci-fix)
5
+
<ahref="?expand=1&template=data_plane_template.md">Click here</a> to open a PR for a Data Plane API.
30
6
31
-
If any further question about AME onboarding or validation tools, please view the [FAQ](https://aka.ms/faqinprreview).
32
-
33
-
### ARM API Review Checklist
34
-
35
-
> **Applicability**: :warning:
36
-
>
37
-
> If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.
38
-
> - Change to data plane APIs
39
-
> - Adding new properties
40
-
> - All removals
41
-
42
-
Otherwise your PR may be subject to ARM review requirements. Complete the following:
43
-
-[ ] Check this box if any of the following appy to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review. Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.
44
-
- Adding a new service
45
-
- Adding new API(s)
46
-
- Adding a new API version
47
-
-[] To review changes efficiently, ensure you are using OpenAPIHub to initialize the PR for adding a new version. More details, refer to the [wiki](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/208/OpenAPI-Hub-Adding-new-API-version).
48
-
49
-
-[ ] Ensure you've reviewed following [guidelines](https://aka.ms/rpguidelines) including [ARM resource provider contract](https://github.com/Azure/azure-resource-manager-rpc) and [REST guidelines](https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md). Estimated time (4 hours). This is required before you can request review from ARM API Review board.
50
-
51
-
-[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (*RP Manifest Approvers* team under <ins>Azure Resource Manager service</ins>) from IcM and reach out to them.
52
-
53
-
### Breaking Change Review Checklist
54
-
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the [Breaking Change Policy](http://aka.ms/bcforapi).
55
-
-[ ] Removing API(s) in a stable version
56
-
-[ ] Removing properties in a stable version
57
-
-[ ] Removing API version(s) in a stable version
58
-
-[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
59
-
-[ ] Updating API(s) in public preview over 1 year (refer to [Retirement of Previews](https://dev.azure.com/msazure/AzureWiki/_wiki/wikis/AzureWiki.wiki/37683/Retirement-of-Previews))
60
-
61
-
**Action**: to initiate an evaluation of the breaking change, create a new intake using the [template for breaking changes](https://aka.ms/Breakingchangetemplate). Addition details on the process and office hours are on the [Breaking change Wiki](https://dev.azure.com/msazure/AzureWiki/_wiki/wikis/AzureWiki.wiki/37684/Breaking-Changes).
62
-
63
-
Please follow the link to find more details on [PR review process](https://aka.ms/SwaggerPRReview).
7
+
<ahref="?expand=1&template=control_plane_template.md">Click here</a> to open a PR for a Control Plane (ARM) API.
onLabeledComments: "Please ensure to respond feedbacks from the ARM API reviewer. When you are ready to continue the ARM API review, please remove `ARMChangesRequested`"
If you discover a problem with a REST API document in this repo, feel free to [open an issue](https://github.com/Azure/azure-rest-api-specs/issues/new). But please do not report issues with service behavior / functionality in this repo.
28
29
@@ -40,7 +41,7 @@ There is a [YouTube video series](https://www.youtube.com/watch?v=9Ng00IlBCtw) b
40
41
41
42
Another resource is the [Considerations for Service Design](https://github.com/microsoft/api-guidelines/blob/vNext/azure/ConsiderationsForServiceDesign.md), which is an introduction to REST API design mainly for services that are just getting started.
42
43
43
-
### Exceptions for consistency within a service
44
+
### Exceptions for Consistency within a Service
44
45
45
46
There are situations where a service has GA'd their API with design patterns that do not follow our guidelines and it would be a breaking change to adopt the API design in the guidelines.
46
47
Because the first rule is to avoid breaking changes and because we want APIs to be consistent within a service, these design patterns are considered the standard for that service and should be followed in all subsequent (non-breaking) versions of that service's REST API.
@@ -70,7 +71,7 @@ If you want to contribute to the repository, follow these steps:
70
71
71
72
Microsoft employees can try out the experience at [OpenAPI Hub](https://aka.ms/openapihub) for [adding a new API version using OpenAPI Hub](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/208/OpenAPI-Hub-Adding-new-API-version).
72
73
73
-
## Pull Request checks
74
+
## Pull Request Checks
74
75
75
76
Every PR in this repo will go through a series of PR checks, including:
76
77
@@ -90,3 +91,10 @@ Every PR in this repo will go through a series of PR checks, including:
90
91
91
92
When any of these PR checks fails it will post a comment to the PR with links to information on how to resolve the problem.
92
93
There is also the [CI Fix Guide](https://aka.ms/ci-fix) that describes how to fix common PR check failures.
94
+
95
+
## Internal Contribution Guide
96
+
For management plane, please refer to https://aka.ms/rpguidelines;
97
+
98
+
For data-plane, please refer to [Guide to design and creation of Data Plane REST API and Client Libraries](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/591/Guide-to-design-and-creation-of-Data-Plane-REST-API-and-Client-Libraries);
99
+
100
+
For contribution access to spec repos, please refer to [Public repo vs. Private repo: To get write access](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/202/Overall-Process-of-Management-Plane-SDK-Onboarding?anchor=2.-create/update-the-openapi-specifications%2C-and-launch-swagger-pr-review)
Copy file name to clipboardExpand all lines: README.md
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ External Contributors can read [Getting Started with OpenAPI Specifications](htt
17
17
18
18
-**Offerings**, **Skus**, and **Features** - These are distinct entities represented in Eco Manager and Service Tree. While the Offering/Sku/Feature entities and hierarchy represent the externally marketed product, **service/components** entities in service tree represent corresponding engineering entities that together power these external products. Refer to [Product Taxonomy](https://dev.azure.com/msazure/AzureWiki/_wiki/wikis/AzureWiki.wiki/40783/Service-Tree-Product-Taxonomy) for details.
19
19
20
-
-**Resource Provider** - When a service onboard new functionality onto ARM, it is required to complete [Resource Provider Registration](https://armwiki.azurewebsites.net/rp_onboarding/ResourceProviderRegistration.html). For existing **Resource Provider to Service Mapping**, refer to [Match resource provider to service](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-services-resource-providers#match-resource-provider-to-service)*
20
+
-**Resource Provider** - When a service onboards new functionality onto ARM, it is required to complete [Resource Provider Registration](https://armwiki.azurewebsites.net/rp_onboarding/ResourceProviderRegistration.html). For existing **Resource Provider to Service Mapping**, refer to [Match resource provider to service](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-services-resource-providers#match-resource-provider-to-service)*
21
21
22
22
23
23
## Directory Structure
@@ -34,13 +34,13 @@ The structure of the directory should strictly follow these rules:
34
34
>
35
35
> - An RP folder leads to a separate SDK package. Is it expected to have separate SDK packages for different service/component entities?
36
36
> - Service/component entities in one folder share the same versioning cycle. Can service/component entities in one folder share the same version label, and upgrade together in the future?
37
-
> - Specification files and AutoRest configuration files in one RP folder are better to refer to files in the same RP folder. Note: Entity type definition that need to be referred cross RP folders should to be placed and maintained under the folder [**common-types**](https://github.com/Azure/azure-rest-api-specs#common-types).
37
+
> - Specification files and AutoRest configuration files in one RP folder are better to refer to files in the same RP folder. Note: Entity type definition that needs to be referred cross RP folders should be placed and maintained under the folder [**common-types**](https://github.com/Azure/azure-rest-api-specs#common-types).
38
38
> - For more considerations, you may consult the reviewer in API design review. To initiate the review, Please submit an [Azure SDK intake questionnaire](https://aka.ms/sdk-apex).
39
39
40
-
4.**'resource-manager' and 'data-plane' Folders**: the RPs can put specs in one of two categories: `resource-manager` (for ARM resources) and `data-plane` (for everything else). There should be an AutoRest configuration file (`readme.md`) for the RP inside both of these folders when present.
40
+
4.**'resource-manager' and 'data-plane' Folders**: the RPs can put specs in one of two categories: `resource-manager` (for ARM resources) and `data-plane` (for everything else). There should be an AutoRest configuration file (`readme.md`) for the RP inside both of these folders when present.
41
41
42
42
43
-
5.**'cadl' Folders**: this folder holds CADL specs of either `resource-manager` or `data-plane`. CADL is a language for describing cloud service APIs and generating other API description languages, client and service code, documentation, and other assets. Explore more by visiting the tutorial in the CADL repo: [CADL tutorial](http://aka.ms/cadlTutorial). You can also ask questions for provide feedback in the teams channel [CADL Discussion](https://teams.microsoft.com/l/channel/19%3a906c1efbbec54dc8949ac736633e6bdf%40thread.skype/Cadl%2520Discussion%2520%25F0%259F%2590%25AE?groupId=3e17dcb0-4257-4a30-b843-77f47f1d4121&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47).
43
+
5.**'cadl' Folders**: this folder holds CADL specs of either `resource-manager` or `data-plane`. CADL is a language for describing cloud service APIs and generating other API description languages, client and service code, documentation, and other assets. Explore more by visiting the tutorial in the CADL repo: [CADL tutorial](http://aka.ms/cadlTutorial). You can also ask questions for providing feedback in the teams channel [CADL Discussion](https://teams.microsoft.com/l/channel/19%3a906c1efbbec54dc8949ac736633e6bdf%40thread.skype/Cadl%2520Discussion%2520%25F0%259F%2590%25AE?groupId=3e17dcb0-4257-4a30-b843-77f47f1d4121&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47).
44
44
45
45
46
46
6.**'Microsoft.{ARMNamespace}' Folders**: the folders are only required under the 'resource-manager' folder, which means only management-plane API specs require to have ARM Namespace in the file path. For ARM Namespace and ARM onboarding, please refer to the ARM wiki of [RP Onboarding](https://armwiki.azurewebsites.net/rp_onboarding/process/onboarding.html#0-on-boarding-meeting).
@@ -56,7 +56,7 @@ The structure of the directory should strictly follow these rules:
56
56
57
57
9.**'examples' Folders**: the example folder will contain the x-ms-examples files. it will reside under the APIs or Resources' version folders as different APIs or Resource types version can have different examples.
58
58
59
-
> Note: some general guidance for folder names, file names under `specification`:
59
+
> Note: some general guidance for folder names, and file names under `specification`:
60
60
>
61
61
> - Folder names should be singular (ie, 'profile' not 'profiles' ) -- this removes ambiguity for some non-english speakers.
62
62
> - Generic folder names should be lower-case
@@ -110,7 +110,7 @@ The structure should appear like so:
110
110
|\---readme.md
111
111
```
112
112
### Folder Structure for Service Group
113
-
If you are working on API specification of a service group, then you may choose to build a folder structure as below. This folder structure brings more flexibility in multiple service teams collaboaration, especially supporting:
113
+
If you are working on API specification of a service group, then you may choose to build a folder structure as below. This folder structure brings more flexibility in multiple service teams collaboration, especially supporting:
114
114
115
115
- To collect API definition of multiple components/services with different versioning cycle in one rp folder
116
116
- To share some common entity types among services or components under the same rp folder.
@@ -174,7 +174,7 @@ Specification files and AutoRest configuration files in one RP folder are better
174
174
175
175
176
176
## Next steps
177
-
The next step in the process after a spec is completed is to generate SDKs and API reference documentation. If you're Microsoft employee, go to the [Azure SDK - Internal Wiki](https://aka.ms/jointhesdk) for more information.
177
+
The next step in the process after a spec is completed is to generate SDKs and API reference documentation. If you're a Microsoft employee, go to the [Azure SDK - Internal Wiki](https://aka.ms/jointhesdk) for more information.
178
178
179
179
External Contributors can read [Getting Started with OpenAPI Specifications](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/Getting%20started%20with%20OpenAPI%20specifications.md).
0 commit comments