diff --git a/src/Az.props b/src/Az.props index f843183a882d..a372193dcbe7 100644 --- a/src/Az.props +++ b/src/Az.props @@ -34,6 +34,8 @@ true Resources.resx + + @@ -47,6 +49,7 @@ + diff --git a/src/Functions/README.md b/src/Functions/README.md index c299ced7c63f..ce01fb4e2d9d 100644 --- a/src/Functions/README.md +++ b/src/Functions/README.md @@ -65,7 +65,7 @@ directive: ``` ``` yaml -branch: powershell-function +branch: main require: - $(this-folder)/../readme.azure.noprofile.md input-file: diff --git a/src/Functions/custom/HelperFunctions.ps1 b/src/Functions/custom/HelperFunctions.ps1 index 62d9deb71562..3b1b93179f62 100644 --- a/src/Functions/custom/HelperFunctions.ps1 +++ b/src/Functions/custom/HelperFunctions.ps1 @@ -42,6 +42,8 @@ $constants["FunctionsNoV2Version"] = @( "USSec East" ) +$constants["SetDefaultValueParameterWarningMessage"] = "This default value is subject to change over time. Please set this value explicitly to ensure the behavior is not accidentally impacted by future changes." + foreach ($variableName in $constants.Keys) { if (-not (Get-Variable $variableName -ErrorAction SilentlyContinue)) @@ -1018,7 +1020,7 @@ function GetRuntimeJsonDefinition $RuntimeVersion = $latestVersion.ToString() } - Write-Verbose "RuntimeVersion not specified. Setting default runtime version for '$Runtime' to '$RuntimeVersion'." -Verbose + Write-Warning "RuntimeVersion not specified. Setting default value to '$RuntimeVersion'. $SetDefaultValueParameterWarningMessage" } # Get the RuntimeJsonDefinition diff --git a/src/Functions/custom/New-AzFunctionApp.ps1 b/src/Functions/custom/New-AzFunctionApp.ps1 index 77378f3e8f40..12b41b93e1b8 100644 --- a/src/Functions/custom/New-AzFunctionApp.ps1 +++ b/src/Functions/custom/New-AzFunctionApp.ps1 @@ -266,7 +266,7 @@ function New-AzFunctionApp { } $FunctionsVersion = $DefaultFunctionsVersion - Write-Verbose "FunctionsVersion not specified. Setting default FunctionsVersion to '$FunctionsVersion'." -Verbose + Write-Warning "FunctionsVersion not specified. Setting default value to '$FunctionsVersion'. $SetDefaultValueParameterWarningMessage" } ValidateFunctionsVersion -FunctionsVersion $FunctionsVersion @@ -284,7 +284,7 @@ function New-AzFunctionApp { if (-not $OSType) { $OSType = GetDefaultOSType -Runtime $Runtime - Write-Verbose "OSType for $Runtime is '$OSType'." -Verbose + Write-Warning "OSType not specified. Setting default value to '$OSType'. $SetDefaultValueParameterWarningMessage" } $runtimeJsonDefintion = GetRuntimeJsonDefinition -FunctionsVersion $FunctionsVersion -Runtime $Runtime -RuntimeVersion $RuntimeVersion -OSType $OSType diff --git a/src/Functions/test/New-AzFunctionApp.Tests.ps1 b/src/Functions/test/New-AzFunctionApp.Tests.ps1 index 1f7bc50d2ef7..a63cc8302817 100644 --- a/src/Functions/test/New-AzFunctionApp.Tests.ps1 +++ b/src/Functions/test/New-AzFunctionApp.Tests.ps1 @@ -128,11 +128,11 @@ Describe 'New-AzFunctionApp' { -FunctionsVersion $functionsVersion ` -WhatIf - } 4>&1 2>&1 > $filePath + } 3>&1 2>&1 > $filePath $logFileContent = Get-Content -Path $filePath -Raw $expectectedRuntimeVersion = $expectedDefaultRuntimeVersion[$OSType][$functionsVersion][$runtime] - $expectedMessage = "RuntimeVersion not specified. Setting default runtime version for '$runtime' to '$expectectedRuntimeVersion'." + $expectedMessage = "RuntimeVersion not specified. Setting default value to '$expectectedRuntimeVersion'." $logFileContent | Should Match $expectedMessage } finally @@ -234,12 +234,12 @@ Describe 'New-AzFunctionApp' { -RuntimeVersion $runtimeVersion ` -WhatIf - } 4>&1 2>&1 > $filePath + } 3>&1 2>&1 > $filePath $logFileContent = Get-Content -Path $filePath -Raw - $expectectedFunctionsVersionWarning = "FunctionsVersion not specified. Setting default FunctionsVersion to '$expectedFunctionsVersion'." - $expectectedOSTypeWarning = "OSType for $runtime is '$expectedOSType'." + $expectectedFunctionsVersionWarning = "FunctionsVersion not specified. Setting default value to '$expectedFunctionsVersion'." + $expectectedOSTypeWarning = "OSType not specified. Setting default value to '$expectedOSType'." $logFileContent | Should Match $expectectedFunctionsVersionWarning $logFileContent | Should Match $expectectedOSTypeWarning diff --git a/src/shared/ConfigKeys.cs b/src/shared/ConfigKeys.cs new file mode 100644 index 000000000000..c3e067ddca5a --- /dev/null +++ b/src/shared/ConfigKeys.cs @@ -0,0 +1,32 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.Shared.Config +{ + /// + /// This class stores keys of all the pre-defined configs. + /// + /// + /// All keys should be defined here. + /// If the key is used in Azure/azure-powershell-common repo, duplicate it in ConfigKeysForCommon class. + /// Keys defined here should NEVER be removed or changed to prevent breaking change. + /// + internal static class ConfigKeys + { + public const string EnableInterceptSurvey = "EnableInterceptSurvey"; + public const string DisplayBreakingChangeWarning = "DisplayBreakingChangeWarning"; + public const string DefaultSubscriptionForLogin = "DefaultSubscriptionForLogin"; + public const string EnableDataCollection = "EnableDataCollection"; + } +}