From ca93c7badad46ac5d817e875e18debb8ca3569f9 Mon Sep 17 00:00:00 2001 From: Aviv Haddad Date: Wed, 10 Jun 2020 14:14:05 +0200 Subject: [PATCH 1/3] remove duplication of action/conditions. this fixes the update alert rule issue. --- .../Monitor/TransitionalClasses/ActivityLogAlertResource.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/Monitor/Monitor/TransitionalClasses/ActivityLogAlertResource.cs b/src/Monitor/Monitor/TransitionalClasses/ActivityLogAlertResource.cs index 38f280f774ac..9a97f07bf1d7 100644 --- a/src/Monitor/Monitor/TransitionalClasses/ActivityLogAlertResource.cs +++ b/src/Monitor/Monitor/TransitionalClasses/ActivityLogAlertResource.cs @@ -54,11 +54,7 @@ public ActivityLogAlertResource(Monitor.Models.ActivityLogAlertResource activity enabled: activityLogAlertResource?.Enabled, description: activityLogAlertResource?.Description) { - if (activityLogAlertResource != null) - { - this.Actions = activityLogAlertResource.Actions != null ? new ActivityLogAlertActionList(activityLogAlertResource.Actions) : null; - this.Condition = activityLogAlertResource.Condition != null ? new ActivityLogAlertAllOfCondition(activityLogAlertResource.Condition) : null; - } + } } } From 607360eca1e501f078f6d39bc9087aeed1f3bff2 Mon Sep 17 00:00:00 2001 From: Aviv Haddad Date: Wed, 10 Jun 2020 18:09:03 +0200 Subject: [PATCH 2/3] correct fix - convert the type --- .../SetAzureRmActivityLogAlertCommand.cs | 19 ++++++++++++++++++- .../ActivityLogAlertResource.cs | 6 +++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/Monitor/Monitor/ActivityLogAlert/SetAzureRmActivityLogAlertCommand.cs b/src/Monitor/Monitor/ActivityLogAlert/SetAzureRmActivityLogAlertCommand.cs index 71a6c93f5249..f58dcb0d6931 100644 --- a/src/Monitor/Monitor/ActivityLogAlert/SetAzureRmActivityLogAlertCommand.cs +++ b/src/Monitor/Monitor/ActivityLogAlert/SetAzureRmActivityLogAlertCommand.cs @@ -150,7 +150,7 @@ protected override void ProcessRecordInternal() resourceGroupName: out resourceGroupName, activityLogAlertName: out activityLogAlertName); - requestBody = this.UpdateActivityLogAlertResource(this.InputObject); + requestBody = this.UpdateActivityLogAlertPsResource(this.InputObject); } else if (this.MyInvocation.BoundParameters.ContainsKey("ResourceId") || !string.IsNullOrWhiteSpace(this.ResourceId)) { @@ -205,6 +205,23 @@ protected override void ProcessRecordInternal() } } + private ActivityLogAlertResource UpdateActivityLogAlertPsResource(PSActivityLogAlertResource inputObject) + { + var activityLogAlertResource = new ActivityLogAlertResource( + inputObject.Location, + inputObject.Scopes, + new ActivityLogAlertAllOfCondition(inputObject.Condition.AllOf.Select(e => new ActivityLogAlertLeafCondition(field: e.Field, equals: e.Equals)).ToList()), + new ActivityLogAlertActionList(inputObject.Actions.ActionGroups.Select(e => new ActivityLogAlertActionGroup(actionGroupId: e.ActionGroupId, webhookProperties: e.WebhookProperties)).ToList()), + inputObject.Id, + inputObject.Name, + inputObject.Type, + inputObject.Tags, + inputObject.Enabled, + inputObject.Description); + + return UpdateActivityLogAlertResource(activityLogAlertResource); + } + private ActivityLogAlertResource UpdateActivityLogAlertResource(ActivityLogAlertResource requestBody) { // There was an ActivityLogAlert already there, just modify what can be modifed diff --git a/src/Monitor/Monitor/TransitionalClasses/ActivityLogAlertResource.cs b/src/Monitor/Monitor/TransitionalClasses/ActivityLogAlertResource.cs index 9a97f07bf1d7..38f280f774ac 100644 --- a/src/Monitor/Monitor/TransitionalClasses/ActivityLogAlertResource.cs +++ b/src/Monitor/Monitor/TransitionalClasses/ActivityLogAlertResource.cs @@ -54,7 +54,11 @@ public ActivityLogAlertResource(Monitor.Models.ActivityLogAlertResource activity enabled: activityLogAlertResource?.Enabled, description: activityLogAlertResource?.Description) { - + if (activityLogAlertResource != null) + { + this.Actions = activityLogAlertResource.Actions != null ? new ActivityLogAlertActionList(activityLogAlertResource.Actions) : null; + this.Condition = activityLogAlertResource.Condition != null ? new ActivityLogAlertAllOfCondition(activityLogAlertResource.Condition) : null; + } } } } From df427c24a481e95a1a4c4a7487a769e895536d9d Mon Sep 17 00:00:00 2001 From: Yabo Hu Date: Thu, 11 Jun 2020 10:15:21 +0800 Subject: [PATCH 3/3] Update ChangeLog.md --- src/Monitor/Monitor/ChangeLog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Monitor/Monitor/ChangeLog.md b/src/Monitor/Monitor/ChangeLog.md index e892d422f126..ac76d74dc932 100644 --- a/src/Monitor/Monitor/ChangeLog.md +++ b/src/Monitor/Monitor/ChangeLog.md @@ -19,6 +19,7 @@ --> ## Upcoming Release +* Fixed input object parameter for `Set-AzActivityLogAlert` ## Version 2.0.0 * Fixed bug for `Set-AzDiagnosticSettings`, retention policy won't apply to all categories [#11589]