diff --git a/src/Common/AzurePSCmdlet.cs b/src/Common/AzurePSCmdlet.cs index 55a827670a..f8f3718aa1 100644 --- a/src/Common/AzurePSCmdlet.cs +++ b/src/Common/AzurePSCmdlet.cs @@ -548,7 +548,9 @@ protected void WriteSurvey() private void SanitizeOutput(object sendToPipeline) { - if (OutputSanitizer?.RequireSecretsDetection == true) + if (OutputSanitizer != null && OutputSanitizer.RequireSecretsDetection + && !OutputSanitizer.IgnoredModules.Contains(MyInvocation?.MyCommand?.ModuleName) + && !OutputSanitizer.IgnoredCmdlets.Contains(MyInvocation?.MyCommand?.Name)) { OutputSanitizer.Sanitize(sendToPipeline, out var telemetry); _qosEvent?.SanitizerInfo.Combine(telemetry); diff --git a/src/Common/Sanitizer/IOutputSanitizer.cs b/src/Common/Sanitizer/IOutputSanitizer.cs index 50ea0c1a95..eb784f12e0 100644 --- a/src/Common/Sanitizer/IOutputSanitizer.cs +++ b/src/Common/Sanitizer/IOutputSanitizer.cs @@ -12,12 +12,18 @@ // limitations under the License. // ---------------------------------------------------------------------------------- +using System.Collections.Generic; + namespace Microsoft.WindowsAzure.Commands.Common.Sanitizer { public interface IOutputSanitizer { bool RequireSecretsDetection { get; } + IEnumerable IgnoredModules { get; } + + IEnumerable IgnoredCmdlets { get; } + void Sanitize(object sanitizingObject, out SanitizerTelemetry telemetryData); } }