@@ -242,30 +242,34 @@ func (a *mqlAzureSubscriptionMonitorServiceActivityLog) alerts() ([]any, error)
242242 actions := []mqlAlertAction {}
243243 conditions := []mqlAlertCondition {}
244244
245- for _ , act := range entry .Properties .Actions .ActionGroups {
246- mqlAction := mqlAlertAction {
247- ActionGroupId : convert .ToValue (act .ActionGroupID ),
248- WebhookProperties : convert .PtrMapStrToStr (act .WebhookProperties ),
245+ if entry .Properties != nil && entry .Properties .Actions != nil {
246+ for _ , act := range entry .Properties .Actions .ActionGroups {
247+ mqlAction := mqlAlertAction {
248+ ActionGroupId : convert .ToValue (act .ActionGroupID ),
249+ WebhookProperties : convert .PtrMapStrToStr (act .WebhookProperties ),
250+ }
251+ actions = append (actions , mqlAction )
249252 }
250- actions = append (actions , mqlAction )
251253 }
252- for _ , cond := range entry .Properties .Condition .AllOf {
253- anyOf := []mqlAlertLeafCondition {}
254- for _ , leaf := range cond .AnyOf {
255- mqlAnyOfLeaf := mqlAlertLeafCondition {
256- FieldName : convert .ToValue (leaf .Field ),
257- Equals : convert .ToValue (leaf .Equals ),
258- ContainsAny : convert .SliceStrPtrToStr (leaf .ContainsAny ),
254+ if entry .Properties != nil && entry .Properties .Condition != nil {
255+ for _ , cond := range entry .Properties .Condition .AllOf {
256+ anyOf := []mqlAlertLeafCondition {}
257+ for _ , leaf := range cond .AnyOf {
258+ mqlAnyOfLeaf := mqlAlertLeafCondition {
259+ FieldName : convert .ToValue (leaf .Field ),
260+ Equals : convert .ToValue (leaf .Equals ),
261+ ContainsAny : convert .SliceStrPtrToStr (leaf .ContainsAny ),
262+ }
263+ anyOf = append (anyOf , mqlAnyOfLeaf )
259264 }
260- anyOf = append ( anyOf , mqlAnyOfLeaf )
261- }
262- mqlCondition := mqlAlertCondition {
263- FieldName : convert .ToValue (cond .Field ),
264- Equals : convert . ToValue ( cond . Equals ) ,
265- ContainsAny : convert . SliceStrPtrToStr ( cond . ContainsAny ),
266- AnyOf : anyOf ,
265+ mqlCondition := mqlAlertCondition {
266+ FieldName : convert . ToValue ( cond . Field ),
267+ Equals : convert . ToValue ( cond . Equals ),
268+ ContainsAny : convert .SliceStrPtrToStr (cond .ContainsAny ),
269+ AnyOf : anyOf ,
270+ }
271+ conditions = append ( conditions , mqlCondition )
267272 }
268- conditions = append (conditions , mqlCondition )
269273 }
270274
271275 actionsDict := []any {}
0 commit comments