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
The SDK packages a batch of APIs, and when one API has new change and is released in a new SDK version,
64
64
we have to test and update the commands that use the whole batch of APIs in SDK instead of the one API we care about.
65
-
Each time we bump up a SDK, hundreds of tests need to rerun in live and their recording files need to be updated, we also need to fix other commands that are broken by new SDK.
65
+
Each time we bump up an SDK, hundreds of tests need to rerun in live and their recording files need to be updated, we also need to fix other commands that are broken by new SDK.
66
66
It wasted a lot of time and created a lot of hidden problems. By applying Atomic CLI commands, we can avoid them.
67
67
68
68
## Overview
@@ -73,7 +73,7 @@ AAZDev Tool consists of 4 parts:
73
73
- API Translators:
74
74
They are responsible for translating the API specification into a command model. We've implemented the swagger 2.0 translator which can support to translate the API specs in [azure-rest-api-specs](https://github.com/Azure/azure-rest-api-specs) repo and [azure-rest-api-specs-pr](https://github.com/Azure/azure-rest-api-specs-pr) repo.
75
75
- Model Editors:
76
-
They are used to edit command models. Currently _Workspace Editor_ is implemented. More details are introduced in _Workspace_ paragraph.
76
+
They are used to edit command models. Currently,_Workspace Editor_ is implemented. More details are introduced in _Workspace_ paragraph.
77
77
- Command Models:
78
78
The command models generated from translators and modified in editors will be persisted in a repo called AAZ. The persistence of models can be useful in many ways. More details are introduced in _AAZ Repo_ paragraph.
79
79
- Code Generators:
@@ -89,9 +89,10 @@ A Resource can be translated into a single command or multiple commands under a
89
89
90
90
Swagger V2 translator uses the `valid part` of url to generate the group part of a command.
91
91
92
-
The `valid part` of url is the url suffix starts by it's Resource Provider with parameter placeholders replaced by `{}` and locations segment removed.
92
+
The `valid part` of url is the url suffix starts by its Resource Provider with parameter placeholders replaced by `{}` and locations segment removed.
93
93
94
94
The table below show some examples with valid part highlighted.
95
+
95
96
| Resource Provider | Resource Url | valid part of url |
Translators will automatic merge them into one `list` commands if their response schemas are the same. If their response schemas are different, a special suffix will be added after `list` operation name to distinguish two commands. And the name can be renamed in editor.
164
+
Translators will automatically merge them into one `list` commands if their response schemas are the same. If their response schemas are different, a special suffix will be added after `list` operation name to distinguish two commands. And the name can be renamed in editor.
164
165
165
166
The `POST` method is special. If a resource has `POST` method only and the last segment of valid part is not a parameter segment, that segment will be used as operation name, else a temporary name will be generated, which can be renamed in editor later.
166
167
@@ -169,7 +170,7 @@ The `POST` method is special. If a resource has `POST` method only and the last
169
170
Before developers finish customizing the command models and export them in AAZ repo for persistence, the draft is saved in a workspace.
170
171
Workspaces are like containers, they are isolated so that changes in one do not affect the others. Therefore, developers can create as many workspaces as needed for different purposes.
171
172
172
-
It's possible to add resources from different resource providers, but they should be in the same plane. Currently we only support Management plane.
173
+
It's possible to add resources from different resource providers, but they should be in the same plane. Currently, we only support Management plane.
173
174
Another note is that a workspace don't allow to add a resource multiple times in different versions. For example, if virtual network resource('/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/virtualnetworks/{}') of version 2021-05-01 is added in a workspace, it's not allowed to add other versions of this resource in this workspace.
174
175
175
176
Please jump to [Workspace Editor](pages/usage/workspace_editor_usage.md) for more details.
@@ -178,7 +179,7 @@ Please jump to [Workspace Editor](pages/usage/workspace_editor_usage.md) for mor
178
179
179
180
The name __AAZ__ comes from the abbreviation of Atomic Azure. This repo is to maintain Atomic Azure Cli command models. You can access this repo by [link](https://github.com/Azure/aaz/tree/main).
180
181
181
-
There a two folders in the root of AAZ:
182
+
There are two folders in the root of AAZ:
182
183
183
184
- Commands:
184
185
This folder provides an index of command models available in AAZ. They are organized in a command tree.
@@ -214,7 +215,7 @@ The diagram below show the structure of command configuration file.
214
215
215
216
The commands in a configuration file organized in hierarchy.
216
217
217
-
There are three sections in every commands:
218
+
There are three sections in every command:
218
219
219
220
- Argument Section:
220
221
The arguments defined in argument section and grouped by Argument Group.
0 commit comments