-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi Profile Support - Part 1 #254
Conversation
src/Authentication/Authentication/Extensions/PSCmdletExtensions.cs
Outdated
Show resolved
Hide resolved
src/Authentication/Authentication/Extensions/PSCmdletExtensions.cs
Outdated
Show resolved
Hide resolved
src/Authentication/Authentication/Extensions/StringExtensions.cs
Outdated
Show resolved
Hide resolved
/// </summary> | ||
/// <param name="profileName">The name of a profile.</param> | ||
/// <returns>A full description of a profile.</returns> | ||
internal static string GetProfileDescription(string profileName) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
consider whether these mapping should just be a json file for maintainability.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moving the mapping to a json fill will result in duplicate descriptions; per cloud per api version. We don't expect the sovreign clouds and API versions to change frequently.
This PR is divided into 2 parts, part 1 of this PR closes #72, AB#4769 by proposing the following changes:
tools/GenerateProfiles.ps1
script which will generate profiles definition files from downloaded OpenAPI files.readme.md
that imports all supported profiles, and input-files to the profile's OpenAPI doc e.g. Users.User module profile readme.tools/GenerateModules.ps1
to add supported profiles to a modules manifest (.psd1). This will be used byGet-MgProfile -ListAvailable
to get all supported profiles. e.g. Users.User module manifest.src/Authentication/Authentication/Cmdlets/GetMgProfile.cs
andsrc/Authentication/Authentication/Cmdlets/SelectMgProfile.cs
to manage supported Microsoft Graph Profiles.The profile definitions will be generated, and consumed to generate modules as show below:
![image](https://user-images.githubusercontent.com/7061532/84215313-b9504900-aa7a-11ea-823f-a66ac6d69c12.png)
Profiles in actions
Part 2 of this PR has the profiles generated by
tools/GenerateProfiles.ps1
, an updated project structure, and a complete regeneration of all modules using v1.0 & beta OpenAPI docs.