From cfa19ffb9a991e8358605077f7aa0dfba3c86d5b Mon Sep 17 00:00:00 2001 From: Rob Chambers Date: Fri, 10 Nov 2023 13:51:12 -0800 Subject: [PATCH] better output formatting if created resource group (#110) --- .../AiSdkConsoleGui_PickOrCreateAiHubResource.cs | 10 ++++++++-- src/common/details/azcli/AzCliConsoleGui.cs | 10 ++++++++-- .../AzCliConsoleGui_CognitiveServicesResourcePicker.cs | 2 +- .../azcli/AzCliConsoleGui_ResourceGroupPicker.cs | 6 ++++-- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/common/details/ai_python_generative_sdk/AiSdkConsoleGui_PickOrCreateAiHubResource.cs b/src/common/details/ai_python_generative_sdk/AiSdkConsoleGui_PickOrCreateAiHubResource.cs index 5f175cb8..6b2b70d7 100644 --- a/src/common/details/ai_python_generative_sdk/AiSdkConsoleGui_PickOrCreateAiHubResource.cs +++ b/src/common/details/ai_python_generative_sdk/AiSdkConsoleGui_PickOrCreateAiHubResource.cs @@ -145,7 +145,8 @@ private static AiHubResourceInfo FinishPickOrCreateAiHubResource(ICommandValues private static async Task TryCreateAiHubResourceInteractive(ICommandValues values, string subscription, string locationName, string groupName, string displayName, string description, string openAiResourceId, string openAiResourceKind, string smartName = null, string smartNameKind = null) { - ConsoleHelpers.WriteLineWithHighlight($"\n`CREATE AZURE AI RESOURCE`"); + var sectionHeader = $"\n`CREATE AZURE AI RESOURCE`"; + ConsoleHelpers.WriteLineWithHighlight(sectionHeader); var groupOk = !string.IsNullOrEmpty(groupName); if (!groupOk) @@ -154,7 +155,7 @@ private static async Task TryCreateAiHubResourceInteractive(ICommandValu locationName = location.Name; } - var group = await AzCliConsoleGui.PickOrCreateResourceGroup(true, subscription, groupOk ? null : locationName, groupName); + var (group, createdNew) = await AzCliConsoleGui.PickOrCreateResourceGroup(true, subscription, groupOk ? null : locationName, groupName); groupName = group.Name; if (string.IsNullOrEmpty(smartName)) @@ -163,6 +164,11 @@ private static async Task TryCreateAiHubResourceInteractive(ICommandValu smartNameKind = "rg"; } + if (createdNew) + { + ConsoleHelpers.WriteLineWithHighlight(sectionHeader); + } + var name = NamePickerHelper.DemandPickOrEnterName("Name: ", "ai", smartName, smartNameKind, AzCliConsoleGui.GetSubscriptionUserName(subscription)); displayName ??= name; description ??= name; diff --git a/src/common/details/azcli/AzCliConsoleGui.cs b/src/common/details/azcli/AzCliConsoleGui.cs index 1575c9e7..5e4f8e2a 100644 --- a/src/common/details/azcli/AzCliConsoleGui.cs +++ b/src/common/details/azcli/AzCliConsoleGui.cs @@ -79,7 +79,8 @@ public partial class AzCliConsoleGui private static async Task TryCreateSearchInteractive(string subscription, string locationName, string groupName, string smartName = null, string smartNameKind = null) { - ConsoleHelpers.WriteLineWithHighlight($"\n`CREATE AI SEARCH RESOURCE`"); + var sectionHeader = "\n`CREATE SEARCH RESOURCE`"; + ConsoleHelpers.WriteLineWithHighlight(sectionHeader); var groupOk = !string.IsNullOrEmpty(groupName); if (!groupOk) @@ -88,7 +89,7 @@ public partial class AzCliConsoleGui locationName = location.Name; } - var group = await AzCliConsoleGui.PickOrCreateResourceGroup(true, subscription, groupOk ? null : locationName, groupName); + var (group, createdNew) = await AzCliConsoleGui.PickOrCreateResourceGroup(true, subscription, groupOk ? null : locationName, groupName); groupName = group.Name; if (string.IsNullOrEmpty(smartName)) @@ -97,6 +98,11 @@ public partial class AzCliConsoleGui smartNameKind = "rg"; } + if (createdNew) + { + ConsoleHelpers.WriteLineWithHighlight(sectionHeader); + } + var name = NamePickerHelper.DemandPickOrEnterName("Name: ", "search", smartName, smartNameKind, AzCliConsoleGui.GetSubscriptionUserName(subscription)); Console.Write("*** CREATING ***"); diff --git a/src/common/details/azcli/AzCliConsoleGui_CognitiveServicesResourcePicker.cs b/src/common/details/azcli/AzCliConsoleGui_CognitiveServicesResourcePicker.cs index 5443f3b5..73c10e83 100644 --- a/src/common/details/azcli/AzCliConsoleGui_CognitiveServicesResourcePicker.cs +++ b/src/common/details/azcli/AzCliConsoleGui_CognitiveServicesResourcePicker.cs @@ -114,7 +114,7 @@ public partial class AzCliConsoleGui var regionLocation = !string.IsNullOrEmpty(regionLocationFilter) ? await FindRegionAsync(interactive, regionLocationFilter, true) : new AzCli.AccountRegionLocationInfo(); if (regionLocation == null) return null; - var group = await PickOrCreateResourceGroup(interactive, subscriptionId, regionLocation?.Name, groupFilter); + var (group, createdNew) = await PickOrCreateResourceGroup(interactive, subscriptionId, regionLocation?.Name, groupFilter); var createKind = kinds.Split(';').Last(); ConsoleHelpers.WriteLineWithHighlight($"\n`CREATE {sectionHeader}`"); diff --git a/src/common/details/azcli/AzCliConsoleGui_ResourceGroupPicker.cs b/src/common/details/azcli/AzCliConsoleGui_ResourceGroupPicker.cs index 9fcfecb3..bb11aa33 100644 --- a/src/common/details/azcli/AzCliConsoleGui_ResourceGroupPicker.cs +++ b/src/common/details/azcli/AzCliConsoleGui_ResourceGroupPicker.cs @@ -19,8 +19,9 @@ namespace Azure.AI.Details.Common.CLI { public partial class AzCliConsoleGui { - public static async Task PickOrCreateResourceGroup(bool interactive, string subscriptionId = null, string regionFilter = null, string groupFilter = null) + public static async Task<(AzCli.ResourceGroupInfo, bool createdNew)> PickOrCreateResourceGroup(bool interactive, string subscriptionId = null, string regionFilter = null, string groupFilter = null) { + var createdNew = false; var createNewItem = !string.IsNullOrEmpty(groupFilter) ? $"(Create `{groupFilter}`)" : interactive ? "(Create new)" : null; @@ -29,6 +30,7 @@ public partial class AzCliConsoleGui if ((group != null && group.Value.Name == null) || (group == null && groupFilter == null)) { group = await TryCreateResourceGroup(interactive, subscriptionId, regionFilter, groupFilter); + createdNew = true; } if (group == null) @@ -36,7 +38,7 @@ public partial class AzCliConsoleGui throw new ApplicationException($"CANCELED: No resource selected"); } - return group.Value; + return (group.Value, createdNew); } public static async Task FindGroupAsync(bool interactive, string subscription = null, string regionLocation = null, string groupFilter = null, string allowCreateGroupOption = null)