Skip to content
This repository was archived by the owner on May 14, 2025. It is now read-only.

Refactor to put the AZ CLI related calls behind an interface#259

Open
ralph-msft wants to merge 57 commits intomainfrom
ralphe/refactor_azcli_to_interface
Open

Refactor to put the AZ CLI related calls behind an interface#259
ralph-msft wants to merge 57 commits intomainfrom
ralphe/refactor_azcli_to_interface

Conversation

@ralph-msft
Copy link
Copy Markdown
Contributor

This adds the following interfaces:

  • ICognitiveServicesClient
  • ISubscriptionsClient
  • ISearchClient
  • ILoginManager

Each of these abstracts way the details of how things are retrieved (e.g. getting a list of AI Services resources) or handled making it simpler to swap them out later. All of their methods are asynchronous, and return a ClientResult<>. This makes it simpler for calling code to inspect errors and decide whether to throw exceptions or not. The ClientResult struct contains helper methods for this.

Model classes have also been added to streamline deserialization into concrete types, as well as helper attributes and JSON converters to make it easier to retrieve nested properties. This will reduce the need for deserialization code and make it easier to standardize our code base.

Ralph El Hage added 30 commits January 10, 2024 23:06
Still to do:#
- Create configurtion to select telemetry type (e.g. Aria, or none)
- Capture the use of the help command that has slightly different path
- Other telemetry events
- Cleanup
Also includes work in progress funnel telemetry for ai init
Ralph El Hage added 22 commits February 7, 2024 18:29
- Use classes directly to deserialize. This makes future maintenance easier and clearer
- Updated list box picker to allow choosing a "value". Also added classes and interface to make this more generic
- Fixed bug where python installed using .msi on Windows would not work
- Improved robustness of deleting temporary files
- Fixed null reference exception in some cases in python runner
- Fixed variable name typo
- Remove unnecessary new line in config.json that was causing inconsistent line endings on windows
- Fix bug in parsing config.json where it was not handling empty config.json or invalid JSON correctly
- Project Existing works
- Project new
- Simplified the wrapping with telemetry code
- Simplified ITelemetry to remove async
- Added documtation to ITelemetry code
- Minor bug fixes
Also includes some "integration" tests
@ralph-msft ralph-msft requested a review from robch as a code owner April 1, 2024 18:17
@ralph-msft ralph-msft requested a review from rhurey April 1, 2024 18:17
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant