github.com/cloudwan/edgelq-sdk@v1.15.4/alerting/resources/v1/notifications/notification_msg.pb.object_ext.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/alerting/proto/v1/notification_msg.proto 3 // DO NOT EDIT!!! 4 5 package notification_msg 6 7 import ( 8 "fmt" 9 "sort" 10 11 "google.golang.org/protobuf/proto" 12 googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 13 14 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 15 ) 16 17 // proto imports 18 import ( 19 alert "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/alert" 20 rcommon "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/common" 21 log_condition "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/log_condition" 22 policy "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/policy" 23 ts_condition "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/ts_condition" 24 iam_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization" 25 iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project" 26 monitoring_common "github.com/cloudwan/edgelq-sdk/monitoring/resources/v4/common" 27 durationpb "google.golang.org/protobuf/types/known/durationpb" 28 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 29 ) 30 31 // ensure the imports are used 32 var ( 33 _ = new(fmt.Stringer) 34 _ = new(sort.Interface) 35 36 _ = new(proto.Message) 37 _ = googlefieldmaskpb.FieldMask{} 38 39 _ = new(gotenobject.FieldPath) 40 ) 41 42 // make sure we're using proto imports 43 var ( 44 _ = &alert.Alert{} 45 _ = &log_condition.LogCondition{} 46 _ = &policy.Policy{} 47 _ = &rcommon.LogCndSpec{} 48 _ = &ts_condition.TsCondition{} 49 _ = &iam_organization.Organization{} 50 _ = &iam_project.Project{} 51 _ = &monitoring_common.LabelDescriptor{} 52 _ = &durationpb.Duration{} 53 _ = ×tamppb.Timestamp{} 54 ) 55 56 func (o *NotificationMsg) GotenObjectExt() {} 57 58 func (o *NotificationMsg) MakeFullFieldMask() *NotificationMsg_FieldMask { 59 return FullNotificationMsg_FieldMask() 60 } 61 62 func (o *NotificationMsg) MakeRawFullFieldMask() gotenobject.FieldMask { 63 return FullNotificationMsg_FieldMask() 64 } 65 66 func (o *NotificationMsg) MakeDiffFieldMask(other *NotificationMsg) *NotificationMsg_FieldMask { 67 if o == nil && other == nil { 68 return &NotificationMsg_FieldMask{} 69 } 70 if o == nil || other == nil { 71 return FullNotificationMsg_FieldMask() 72 } 73 74 res := &NotificationMsg_FieldMask{} 75 if o.GetProjectFqn().String() != other.GetProjectFqn().String() { 76 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorProjectFqn}) 77 } 78 if o.GetProjectDisplayName() != other.GetProjectDisplayName() { 79 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorProjectDisplayName}) 80 } 81 if o.GetOrganizationFqn().String() != other.GetOrganizationFqn().String() { 82 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorOrganizationFqn}) 83 } 84 if o.GetOrganizationDisplayName() != other.GetOrganizationDisplayName() { 85 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorOrganizationDisplayName}) 86 } 87 if o.GetPolicyFqn().String() != other.GetPolicyFqn().String() { 88 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorPolicyFqn}) 89 } 90 if o.GetPolicyDisplayName() != other.GetPolicyDisplayName() { 91 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorPolicyDisplayName}) 92 } 93 { 94 subMask := o.GetNewFiringAlerts().MakeDiffFieldMask(other.GetNewFiringAlerts()) 95 if subMask.IsFull() { 96 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorNewFiringAlerts}) 97 } else { 98 for _, subpath := range subMask.Paths { 99 res.Paths = append(res.Paths, &NotificationMsg_FieldSubPath{selector: NotificationMsg_FieldPathSelectorNewFiringAlerts, subPath: subpath}) 100 } 101 } 102 } 103 { 104 subMask := o.GetAlertsEscalatedByAiToOperator().MakeDiffFieldMask(other.GetAlertsEscalatedByAiToOperator()) 105 if subMask.IsFull() { 106 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorAlertsEscalatedByAiToOperator}) 107 } else { 108 for _, subpath := range subMask.Paths { 109 res.Paths = append(res.Paths, &NotificationMsg_FieldSubPath{selector: NotificationMsg_FieldPathSelectorAlertsEscalatedByAiToOperator, subPath: subpath}) 110 } 111 } 112 } 113 { 114 subMask := o.GetAlertsAwaitingForApprovalWithAiRemediation().MakeDiffFieldMask(other.GetAlertsAwaitingForApprovalWithAiRemediation()) 115 if subMask.IsFull() { 116 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorAlertsAwaitingForApprovalWithAiRemediation}) 117 } else { 118 for _, subpath := range subMask.Paths { 119 res.Paths = append(res.Paths, &NotificationMsg_FieldSubPath{selector: NotificationMsg_FieldPathSelectorAlertsAwaitingForApprovalWithAiRemediation, subPath: subpath}) 120 } 121 } 122 } 123 { 124 subMask := o.GetAlertsFlaggedToIgnoreByAi().MakeDiffFieldMask(other.GetAlertsFlaggedToIgnoreByAi()) 125 if subMask.IsFull() { 126 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorAlertsFlaggedToIgnoreByAi}) 127 } else { 128 for _, subpath := range subMask.Paths { 129 res.Paths = append(res.Paths, &NotificationMsg_FieldSubPath{selector: NotificationMsg_FieldPathSelectorAlertsFlaggedToIgnoreByAi, subPath: subpath}) 130 } 131 } 132 } 133 { 134 subMask := o.GetAlertsWithConditionMarkedForAdjustingByAi().MakeDiffFieldMask(other.GetAlertsWithConditionMarkedForAdjustingByAi()) 135 if subMask.IsFull() { 136 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorAlertsWithConditionMarkedForAdjustingByAi}) 137 } else { 138 for _, subpath := range subMask.Paths { 139 res.Paths = append(res.Paths, &NotificationMsg_FieldSubPath{selector: NotificationMsg_FieldPathSelectorAlertsWithConditionMarkedForAdjustingByAi, subPath: subpath}) 140 } 141 } 142 } 143 { 144 subMask := o.GetAlertsWithAiRemediationApplied().MakeDiffFieldMask(other.GetAlertsWithAiRemediationApplied()) 145 if subMask.IsFull() { 146 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorAlertsWithAiRemediationApplied}) 147 } else { 148 for _, subpath := range subMask.Paths { 149 res.Paths = append(res.Paths, &NotificationMsg_FieldSubPath{selector: NotificationMsg_FieldPathSelectorAlertsWithAiRemediationApplied, subPath: subpath}) 150 } 151 } 152 } 153 { 154 subMask := o.GetAlertsWithOperatorRemediationApplied().MakeDiffFieldMask(other.GetAlertsWithOperatorRemediationApplied()) 155 if subMask.IsFull() { 156 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorAlertsWithOperatorRemediationApplied}) 157 } else { 158 for _, subpath := range subMask.Paths { 159 res.Paths = append(res.Paths, &NotificationMsg_FieldSubPath{selector: NotificationMsg_FieldPathSelectorAlertsWithOperatorRemediationApplied, subPath: subpath}) 160 } 161 } 162 } 163 { 164 subMask := o.GetStoppedAlerts().MakeDiffFieldMask(other.GetStoppedAlerts()) 165 if subMask.IsFull() { 166 res.Paths = append(res.Paths, &NotificationMsg_FieldTerminalPath{selector: NotificationMsg_FieldPathSelectorStoppedAlerts}) 167 } else { 168 for _, subpath := range subMask.Paths { 169 res.Paths = append(res.Paths, &NotificationMsg_FieldSubPath{selector: NotificationMsg_FieldPathSelectorStoppedAlerts, subPath: subpath}) 170 } 171 } 172 } 173 return res 174 } 175 176 func (o *NotificationMsg) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 177 return o.MakeDiffFieldMask(other.(*NotificationMsg)) 178 } 179 180 func (o *NotificationMsg) Clone() *NotificationMsg { 181 if o == nil { 182 return nil 183 } 184 result := &NotificationMsg{} 185 if o.ProjectFqn == nil { 186 result.ProjectFqn = nil 187 } else if data, err := o.ProjectFqn.ProtoString(); err != nil { 188 panic(err) 189 } else { 190 result.ProjectFqn = &iam_project.Name{} 191 if err := result.ProjectFqn.ParseProtoString(data); err != nil { 192 panic(err) 193 } 194 } 195 result.ProjectDisplayName = o.ProjectDisplayName 196 if o.OrganizationFqn == nil { 197 result.OrganizationFqn = nil 198 } else if data, err := o.OrganizationFqn.ProtoString(); err != nil { 199 panic(err) 200 } else { 201 result.OrganizationFqn = &iam_organization.Name{} 202 if err := result.OrganizationFqn.ParseProtoString(data); err != nil { 203 panic(err) 204 } 205 } 206 result.OrganizationDisplayName = o.OrganizationDisplayName 207 if o.PolicyFqn == nil { 208 result.PolicyFqn = nil 209 } else if data, err := o.PolicyFqn.ProtoString(); err != nil { 210 panic(err) 211 } else { 212 result.PolicyFqn = &policy.Name{} 213 if err := result.PolicyFqn.ParseProtoString(data); err != nil { 214 panic(err) 215 } 216 } 217 result.PolicyDisplayName = o.PolicyDisplayName 218 result.NewFiringAlerts = o.NewFiringAlerts.Clone() 219 result.AlertsEscalatedByAiToOperator = o.AlertsEscalatedByAiToOperator.Clone() 220 result.AlertsAwaitingForApprovalWithAiRemediation = o.AlertsAwaitingForApprovalWithAiRemediation.Clone() 221 result.AlertsFlaggedToIgnoreByAi = o.AlertsFlaggedToIgnoreByAi.Clone() 222 result.AlertsWithConditionMarkedForAdjustingByAi = o.AlertsWithConditionMarkedForAdjustingByAi.Clone() 223 result.AlertsWithAiRemediationApplied = o.AlertsWithAiRemediationApplied.Clone() 224 result.AlertsWithOperatorRemediationApplied = o.AlertsWithOperatorRemediationApplied.Clone() 225 result.StoppedAlerts = o.StoppedAlerts.Clone() 226 return result 227 } 228 229 func (o *NotificationMsg) CloneRaw() gotenobject.GotenObjectExt { 230 return o.Clone() 231 } 232 233 func (o *NotificationMsg) Merge(source *NotificationMsg) { 234 if source.GetProjectFqn() != nil { 235 if data, err := source.GetProjectFqn().ProtoString(); err != nil { 236 panic(err) 237 } else { 238 o.ProjectFqn = &iam_project.Name{} 239 if err := o.ProjectFqn.ParseProtoString(data); err != nil { 240 panic(err) 241 } 242 } 243 } else { 244 o.ProjectFqn = nil 245 } 246 o.ProjectDisplayName = source.GetProjectDisplayName() 247 if source.GetOrganizationFqn() != nil { 248 if data, err := source.GetOrganizationFqn().ProtoString(); err != nil { 249 panic(err) 250 } else { 251 o.OrganizationFqn = &iam_organization.Name{} 252 if err := o.OrganizationFqn.ParseProtoString(data); err != nil { 253 panic(err) 254 } 255 } 256 } else { 257 o.OrganizationFqn = nil 258 } 259 o.OrganizationDisplayName = source.GetOrganizationDisplayName() 260 if source.GetPolicyFqn() != nil { 261 if data, err := source.GetPolicyFqn().ProtoString(); err != nil { 262 panic(err) 263 } else { 264 o.PolicyFqn = &policy.Name{} 265 if err := o.PolicyFqn.ParseProtoString(data); err != nil { 266 panic(err) 267 } 268 } 269 } else { 270 o.PolicyFqn = nil 271 } 272 o.PolicyDisplayName = source.GetPolicyDisplayName() 273 if source.GetNewFiringAlerts() != nil { 274 if o.NewFiringAlerts == nil { 275 o.NewFiringAlerts = new(NotificationMsg_AlertsGroup) 276 } 277 o.NewFiringAlerts.Merge(source.GetNewFiringAlerts()) 278 } 279 if source.GetAlertsEscalatedByAiToOperator() != nil { 280 if o.AlertsEscalatedByAiToOperator == nil { 281 o.AlertsEscalatedByAiToOperator = new(NotificationMsg_AlertsGroup) 282 } 283 o.AlertsEscalatedByAiToOperator.Merge(source.GetAlertsEscalatedByAiToOperator()) 284 } 285 if source.GetAlertsAwaitingForApprovalWithAiRemediation() != nil { 286 if o.AlertsAwaitingForApprovalWithAiRemediation == nil { 287 o.AlertsAwaitingForApprovalWithAiRemediation = new(NotificationMsg_AlertsGroup) 288 } 289 o.AlertsAwaitingForApprovalWithAiRemediation.Merge(source.GetAlertsAwaitingForApprovalWithAiRemediation()) 290 } 291 if source.GetAlertsFlaggedToIgnoreByAi() != nil { 292 if o.AlertsFlaggedToIgnoreByAi == nil { 293 o.AlertsFlaggedToIgnoreByAi = new(NotificationMsg_AlertsGroup) 294 } 295 o.AlertsFlaggedToIgnoreByAi.Merge(source.GetAlertsFlaggedToIgnoreByAi()) 296 } 297 if source.GetAlertsWithConditionMarkedForAdjustingByAi() != nil { 298 if o.AlertsWithConditionMarkedForAdjustingByAi == nil { 299 o.AlertsWithConditionMarkedForAdjustingByAi = new(NotificationMsg_AlertsGroup) 300 } 301 o.AlertsWithConditionMarkedForAdjustingByAi.Merge(source.GetAlertsWithConditionMarkedForAdjustingByAi()) 302 } 303 if source.GetAlertsWithAiRemediationApplied() != nil { 304 if o.AlertsWithAiRemediationApplied == nil { 305 o.AlertsWithAiRemediationApplied = new(NotificationMsg_AlertsGroup) 306 } 307 o.AlertsWithAiRemediationApplied.Merge(source.GetAlertsWithAiRemediationApplied()) 308 } 309 if source.GetAlertsWithOperatorRemediationApplied() != nil { 310 if o.AlertsWithOperatorRemediationApplied == nil { 311 o.AlertsWithOperatorRemediationApplied = new(NotificationMsg_AlertsGroup) 312 } 313 o.AlertsWithOperatorRemediationApplied.Merge(source.GetAlertsWithOperatorRemediationApplied()) 314 } 315 if source.GetStoppedAlerts() != nil { 316 if o.StoppedAlerts == nil { 317 o.StoppedAlerts = new(NotificationMsg_AlertsGroup) 318 } 319 o.StoppedAlerts.Merge(source.GetStoppedAlerts()) 320 } 321 } 322 323 func (o *NotificationMsg) MergeRaw(source gotenobject.GotenObjectExt) { 324 o.Merge(source.(*NotificationMsg)) 325 } 326 327 func (o *NotificationMsg_AlertsGroup) GotenObjectExt() {} 328 329 func (o *NotificationMsg_AlertsGroup) MakeFullFieldMask() *NotificationMsg_AlertsGroup_FieldMask { 330 return FullNotificationMsg_AlertsGroup_FieldMask() 331 } 332 333 func (o *NotificationMsg_AlertsGroup) MakeRawFullFieldMask() gotenobject.FieldMask { 334 return FullNotificationMsg_AlertsGroup_FieldMask() 335 } 336 337 func (o *NotificationMsg_AlertsGroup) MakeDiffFieldMask(other *NotificationMsg_AlertsGroup) *NotificationMsg_AlertsGroup_FieldMask { 338 if o == nil && other == nil { 339 return &NotificationMsg_AlertsGroup_FieldMask{} 340 } 341 if o == nil || other == nil { 342 return FullNotificationMsg_AlertsGroup_FieldMask() 343 } 344 345 res := &NotificationMsg_AlertsGroup_FieldMask{} 346 347 if len(o.GetByCondition()) == len(other.GetByCondition()) { 348 for i, lValue := range o.GetByCondition() { 349 rValue := other.GetByCondition()[i] 350 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 351 res.Paths = append(res.Paths, &NotificationMsgAlertsGroup_FieldTerminalPath{selector: NotificationMsgAlertsGroup_FieldPathSelectorByCondition}) 352 break 353 } 354 } 355 } else { 356 res.Paths = append(res.Paths, &NotificationMsgAlertsGroup_FieldTerminalPath{selector: NotificationMsgAlertsGroup_FieldPathSelectorByCondition}) 357 } 358 return res 359 } 360 361 func (o *NotificationMsg_AlertsGroup) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 362 return o.MakeDiffFieldMask(other.(*NotificationMsg_AlertsGroup)) 363 } 364 365 func (o *NotificationMsg_AlertsGroup) Clone() *NotificationMsg_AlertsGroup { 366 if o == nil { 367 return nil 368 } 369 result := &NotificationMsg_AlertsGroup{} 370 result.ByCondition = make([]*NotificationMsg_AlertsGroup_ConditionAlerts, len(o.ByCondition)) 371 for i, sourceValue := range o.ByCondition { 372 result.ByCondition[i] = sourceValue.Clone() 373 } 374 return result 375 } 376 377 func (o *NotificationMsg_AlertsGroup) CloneRaw() gotenobject.GotenObjectExt { 378 return o.Clone() 379 } 380 381 func (o *NotificationMsg_AlertsGroup) Merge(source *NotificationMsg_AlertsGroup) { 382 for _, sourceValue := range source.GetByCondition() { 383 exists := false 384 for _, currentValue := range o.ByCondition { 385 if proto.Equal(sourceValue, currentValue) { 386 exists = true 387 break 388 } 389 } 390 if !exists { 391 var newDstElement *NotificationMsg_AlertsGroup_ConditionAlerts 392 if sourceValue != nil { 393 newDstElement = new(NotificationMsg_AlertsGroup_ConditionAlerts) 394 newDstElement.Merge(sourceValue) 395 } 396 o.ByCondition = append(o.ByCondition, newDstElement) 397 } 398 } 399 400 } 401 402 func (o *NotificationMsg_AlertsGroup) MergeRaw(source gotenobject.GotenObjectExt) { 403 o.Merge(source.(*NotificationMsg_AlertsGroup)) 404 } 405 406 func (o *NotificationMsg_AlertsGroup_ConditionAlerts) GotenObjectExt() {} 407 408 func (o *NotificationMsg_AlertsGroup_ConditionAlerts) MakeFullFieldMask() *NotificationMsg_AlertsGroup_ConditionAlerts_FieldMask { 409 return FullNotificationMsg_AlertsGroup_ConditionAlerts_FieldMask() 410 } 411 412 func (o *NotificationMsg_AlertsGroup_ConditionAlerts) MakeRawFullFieldMask() gotenobject.FieldMask { 413 return FullNotificationMsg_AlertsGroup_ConditionAlerts_FieldMask() 414 } 415 416 func (o *NotificationMsg_AlertsGroup_ConditionAlerts) MakeDiffFieldMask(other *NotificationMsg_AlertsGroup_ConditionAlerts) *NotificationMsg_AlertsGroup_ConditionAlerts_FieldMask { 417 if o == nil && other == nil { 418 return &NotificationMsg_AlertsGroup_ConditionAlerts_FieldMask{} 419 } 420 if o == nil || other == nil { 421 return FullNotificationMsg_AlertsGroup_ConditionAlerts_FieldMask() 422 } 423 424 res := &NotificationMsg_AlertsGroup_ConditionAlerts_FieldMask{} 425 { 426 _, leftSelected := o.Type.(*NotificationMsg_AlertsGroup_ConditionAlerts_TimeSeriesCondition) 427 _, rightSelected := other.Type.(*NotificationMsg_AlertsGroup_ConditionAlerts_TimeSeriesCondition) 428 if leftSelected == rightSelected { 429 subMask := o.GetTimeSeriesCondition().MakeDiffFieldMask(other.GetTimeSeriesCondition()) 430 if subMask.IsFull() { 431 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlerts_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlerts_FieldPathSelectorTimeSeriesCondition}) 432 } else { 433 for _, subpath := range subMask.Paths { 434 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlerts_FieldSubPath{selector: NotificationMsgAlertsGroupConditionAlerts_FieldPathSelectorTimeSeriesCondition, subPath: subpath}) 435 } 436 } 437 } else { 438 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlerts_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlerts_FieldPathSelectorTimeSeriesCondition}) 439 } 440 } 441 { 442 _, leftSelected := o.Type.(*NotificationMsg_AlertsGroup_ConditionAlerts_LogCondition) 443 _, rightSelected := other.Type.(*NotificationMsg_AlertsGroup_ConditionAlerts_LogCondition) 444 if leftSelected == rightSelected { 445 subMask := o.GetLogCondition().MakeDiffFieldMask(other.GetLogCondition()) 446 if subMask.IsFull() { 447 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlerts_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlerts_FieldPathSelectorLogCondition}) 448 } else { 449 for _, subpath := range subMask.Paths { 450 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlerts_FieldSubPath{selector: NotificationMsgAlertsGroupConditionAlerts_FieldPathSelectorLogCondition, subPath: subpath}) 451 } 452 } 453 } else { 454 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlerts_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlerts_FieldPathSelectorLogCondition}) 455 } 456 } 457 458 if len(o.GetAlerts()) == len(other.GetAlerts()) { 459 for i, lValue := range o.GetAlerts() { 460 rValue := other.GetAlerts()[i] 461 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 462 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlerts_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlerts_FieldPathSelectorAlerts}) 463 break 464 } 465 } 466 } else { 467 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlerts_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlerts_FieldPathSelectorAlerts}) 468 } 469 if o.GetMoreAlertsCount() != other.GetMoreAlertsCount() { 470 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlerts_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlerts_FieldPathSelectorMoreAlertsCount}) 471 } 472 return res 473 } 474 475 func (o *NotificationMsg_AlertsGroup_ConditionAlerts) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 476 return o.MakeDiffFieldMask(other.(*NotificationMsg_AlertsGroup_ConditionAlerts)) 477 } 478 479 func (o *NotificationMsg_AlertsGroup_ConditionAlerts) Clone() *NotificationMsg_AlertsGroup_ConditionAlerts { 480 if o == nil { 481 return nil 482 } 483 result := &NotificationMsg_AlertsGroup_ConditionAlerts{} 484 if o, ok := o.Type.(*NotificationMsg_AlertsGroup_ConditionAlerts_TimeSeriesCondition); ok { 485 result.Type = (*NotificationMsg_AlertsGroup_ConditionAlerts_TimeSeriesCondition)(nil) 486 if o != nil { 487 result.Type = &NotificationMsg_AlertsGroup_ConditionAlerts_TimeSeriesCondition{} 488 result := result.Type.(*NotificationMsg_AlertsGroup_ConditionAlerts_TimeSeriesCondition) 489 result.TimeSeriesCondition = o.TimeSeriesCondition.Clone() 490 } 491 } 492 if o, ok := o.Type.(*NotificationMsg_AlertsGroup_ConditionAlerts_LogCondition); ok { 493 result.Type = (*NotificationMsg_AlertsGroup_ConditionAlerts_LogCondition)(nil) 494 if o != nil { 495 result.Type = &NotificationMsg_AlertsGroup_ConditionAlerts_LogCondition{} 496 result := result.Type.(*NotificationMsg_AlertsGroup_ConditionAlerts_LogCondition) 497 result.LogCondition = o.LogCondition.Clone() 498 } 499 } 500 result.Alerts = make([]*NotificationMsg_AlertsGroup_ConditionAlerts_Alert, len(o.Alerts)) 501 for i, sourceValue := range o.Alerts { 502 result.Alerts[i] = sourceValue.Clone() 503 } 504 result.MoreAlertsCount = o.MoreAlertsCount 505 return result 506 } 507 508 func (o *NotificationMsg_AlertsGroup_ConditionAlerts) CloneRaw() gotenobject.GotenObjectExt { 509 return o.Clone() 510 } 511 512 func (o *NotificationMsg_AlertsGroup_ConditionAlerts) Merge(source *NotificationMsg_AlertsGroup_ConditionAlerts) { 513 if source, ok := source.GetType().(*NotificationMsg_AlertsGroup_ConditionAlerts_TimeSeriesCondition); ok { 514 if dstOneOf, ok := o.Type.(*NotificationMsg_AlertsGroup_ConditionAlerts_TimeSeriesCondition); !ok || dstOneOf == nil { 515 o.Type = &NotificationMsg_AlertsGroup_ConditionAlerts_TimeSeriesCondition{} 516 } 517 if source != nil { 518 o := o.Type.(*NotificationMsg_AlertsGroup_ConditionAlerts_TimeSeriesCondition) 519 if source.TimeSeriesCondition != nil { 520 if o.TimeSeriesCondition == nil { 521 o.TimeSeriesCondition = new(NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType) 522 } 523 o.TimeSeriesCondition.Merge(source.TimeSeriesCondition) 524 } 525 } 526 } 527 if source, ok := source.GetType().(*NotificationMsg_AlertsGroup_ConditionAlerts_LogCondition); ok { 528 if dstOneOf, ok := o.Type.(*NotificationMsg_AlertsGroup_ConditionAlerts_LogCondition); !ok || dstOneOf == nil { 529 o.Type = &NotificationMsg_AlertsGroup_ConditionAlerts_LogCondition{} 530 } 531 if source != nil { 532 o := o.Type.(*NotificationMsg_AlertsGroup_ConditionAlerts_LogCondition) 533 if source.LogCondition != nil { 534 if o.LogCondition == nil { 535 o.LogCondition = new(NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType) 536 } 537 o.LogCondition.Merge(source.LogCondition) 538 } 539 } 540 } 541 for _, sourceValue := range source.GetAlerts() { 542 exists := false 543 for _, currentValue := range o.Alerts { 544 if proto.Equal(sourceValue, currentValue) { 545 exists = true 546 break 547 } 548 } 549 if !exists { 550 var newDstElement *NotificationMsg_AlertsGroup_ConditionAlerts_Alert 551 if sourceValue != nil { 552 newDstElement = new(NotificationMsg_AlertsGroup_ConditionAlerts_Alert) 553 newDstElement.Merge(sourceValue) 554 } 555 o.Alerts = append(o.Alerts, newDstElement) 556 } 557 } 558 559 o.MoreAlertsCount = source.GetMoreAlertsCount() 560 } 561 562 func (o *NotificationMsg_AlertsGroup_ConditionAlerts) MergeRaw(source gotenobject.GotenObjectExt) { 563 o.Merge(source.(*NotificationMsg_AlertsGroup_ConditionAlerts)) 564 } 565 566 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType) GotenObjectExt() {} 567 568 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType) MakeFullFieldMask() *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_FieldMask { 569 return FullNotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_FieldMask() 570 } 571 572 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType) MakeRawFullFieldMask() gotenobject.FieldMask { 573 return FullNotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_FieldMask() 574 } 575 576 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType) MakeDiffFieldMask(other *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType) *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_FieldMask { 577 if o == nil && other == nil { 578 return &NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_FieldMask{} 579 } 580 if o == nil || other == nil { 581 return FullNotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_FieldMask() 582 } 583 584 res := &NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_FieldMask{} 585 if o.GetFqn().String() != other.GetFqn().String() { 586 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsTsCndType_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsTsCndType_FieldPathSelectorFqn}) 587 } 588 if o.GetDisplayName() != other.GetDisplayName() { 589 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsTsCndType_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsTsCndType_FieldPathSelectorDisplayName}) 590 } 591 592 if len(o.GetQueries()) == len(other.GetQueries()) { 593 for i, lValue := range o.GetQueries() { 594 rValue := other.GetQueries()[i] 595 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 596 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsTsCndType_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsTsCndType_FieldPathSelectorQueries}) 597 break 598 } 599 } 600 } else { 601 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsTsCndType_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsTsCndType_FieldPathSelectorQueries}) 602 } 603 return res 604 } 605 606 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 607 return o.MakeDiffFieldMask(other.(*NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType)) 608 } 609 610 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType) Clone() *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType { 611 if o == nil { 612 return nil 613 } 614 result := &NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType{} 615 if o.Fqn == nil { 616 result.Fqn = nil 617 } else if data, err := o.Fqn.ProtoString(); err != nil { 618 panic(err) 619 } else { 620 result.Fqn = &ts_condition.Name{} 621 if err := result.Fqn.ParseProtoString(data); err != nil { 622 panic(err) 623 } 624 } 625 result.DisplayName = o.DisplayName 626 result.Queries = make([]*NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query, len(o.Queries)) 627 for i, sourceValue := range o.Queries { 628 result.Queries[i] = sourceValue.Clone() 629 } 630 return result 631 } 632 633 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType) CloneRaw() gotenobject.GotenObjectExt { 634 return o.Clone() 635 } 636 637 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType) Merge(source *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType) { 638 if source.GetFqn() != nil { 639 if data, err := source.GetFqn().ProtoString(); err != nil { 640 panic(err) 641 } else { 642 o.Fqn = &ts_condition.Name{} 643 if err := o.Fqn.ParseProtoString(data); err != nil { 644 panic(err) 645 } 646 } 647 } else { 648 o.Fqn = nil 649 } 650 o.DisplayName = source.GetDisplayName() 651 for _, sourceValue := range source.GetQueries() { 652 exists := false 653 for _, currentValue := range o.Queries { 654 if proto.Equal(sourceValue, currentValue) { 655 exists = true 656 break 657 } 658 } 659 if !exists { 660 var newDstElement *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query 661 if sourceValue != nil { 662 newDstElement = new(NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query) 663 newDstElement.Merge(sourceValue) 664 } 665 o.Queries = append(o.Queries, newDstElement) 666 } 667 } 668 669 } 670 671 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType) MergeRaw(source gotenobject.GotenObjectExt) { 672 o.Merge(source.(*NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType)) 673 } 674 675 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType) GotenObjectExt() {} 676 677 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType) MakeFullFieldMask() *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_FieldMask { 678 return FullNotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_FieldMask() 679 } 680 681 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType) MakeRawFullFieldMask() gotenobject.FieldMask { 682 return FullNotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_FieldMask() 683 } 684 685 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType) MakeDiffFieldMask(other *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType) *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_FieldMask { 686 if o == nil && other == nil { 687 return &NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_FieldMask{} 688 } 689 if o == nil || other == nil { 690 return FullNotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_FieldMask() 691 } 692 693 res := &NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_FieldMask{} 694 if o.GetFqn().String() != other.GetFqn().String() { 695 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsLogCndType_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsLogCndType_FieldPathSelectorFqn}) 696 } 697 if o.GetDisplayName() != other.GetDisplayName() { 698 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsLogCndType_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsLogCndType_FieldPathSelectorDisplayName}) 699 } 700 701 if len(o.GetQueries()) == len(other.GetQueries()) { 702 for i, lValue := range o.GetQueries() { 703 rValue := other.GetQueries()[i] 704 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 705 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsLogCndType_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsLogCndType_FieldPathSelectorQueries}) 706 break 707 } 708 } 709 } else { 710 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsLogCndType_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsLogCndType_FieldPathSelectorQueries}) 711 } 712 return res 713 } 714 715 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 716 return o.MakeDiffFieldMask(other.(*NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType)) 717 } 718 719 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType) Clone() *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType { 720 if o == nil { 721 return nil 722 } 723 result := &NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType{} 724 if o.Fqn == nil { 725 result.Fqn = nil 726 } else if data, err := o.Fqn.ProtoString(); err != nil { 727 panic(err) 728 } else { 729 result.Fqn = &log_condition.Name{} 730 if err := result.Fqn.ParseProtoString(data); err != nil { 731 panic(err) 732 } 733 } 734 result.DisplayName = o.DisplayName 735 result.Queries = make([]*NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query, len(o.Queries)) 736 for i, sourceValue := range o.Queries { 737 result.Queries[i] = sourceValue.Clone() 738 } 739 return result 740 } 741 742 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType) CloneRaw() gotenobject.GotenObjectExt { 743 return o.Clone() 744 } 745 746 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType) Merge(source *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType) { 747 if source.GetFqn() != nil { 748 if data, err := source.GetFqn().ProtoString(); err != nil { 749 panic(err) 750 } else { 751 o.Fqn = &log_condition.Name{} 752 if err := o.Fqn.ParseProtoString(data); err != nil { 753 panic(err) 754 } 755 } 756 } else { 757 o.Fqn = nil 758 } 759 o.DisplayName = source.GetDisplayName() 760 for _, sourceValue := range source.GetQueries() { 761 exists := false 762 for _, currentValue := range o.Queries { 763 if proto.Equal(sourceValue, currentValue) { 764 exists = true 765 break 766 } 767 } 768 if !exists { 769 var newDstElement *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query 770 if sourceValue != nil { 771 newDstElement = new(NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query) 772 newDstElement.Merge(sourceValue) 773 } 774 o.Queries = append(o.Queries, newDstElement) 775 } 776 } 777 778 } 779 780 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType) MergeRaw(source gotenobject.GotenObjectExt) { 781 o.Merge(source.(*NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType)) 782 } 783 784 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert) GotenObjectExt() {} 785 786 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert) MakeFullFieldMask() *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_FieldMask { 787 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_FieldMask() 788 } 789 790 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert) MakeRawFullFieldMask() gotenobject.FieldMask { 791 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_FieldMask() 792 } 793 794 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert) MakeDiffFieldMask(other *NotificationMsg_AlertsGroup_ConditionAlerts_Alert) *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_FieldMask { 795 if o == nil && other == nil { 796 return &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_FieldMask{} 797 } 798 if o == nil || other == nil { 799 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_FieldMask() 800 } 801 802 res := &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_FieldMask{} 803 if o.GetType() != other.GetType() { 804 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorType}) 805 } 806 if o.GetFqn().String() != other.GetFqn().String() { 807 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorFqn}) 808 } 809 if o.GetDisplayName() != other.GetDisplayName() { 810 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorDisplayName}) 811 } 812 if o.GetIsFiring() != other.GetIsFiring() { 813 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorIsFiring}) 814 } 815 if !proto.Equal(o.GetStartTime(), other.GetStartTime()) { 816 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorStartTime}) 817 } 818 if !proto.Equal(o.GetStopTime(), other.GetStopTime()) { 819 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorStopTime}) 820 } 821 { 822 subMask := o.GetIdentification().MakeDiffFieldMask(other.GetIdentification()) 823 if subMask.IsFull() { 824 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorIdentification}) 825 } else { 826 for _, subpath := range subMask.Paths { 827 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldSubPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorIdentification, subPath: subpath}) 828 } 829 } 830 } 831 { 832 subMask := o.GetViolationInfo().MakeDiffFieldMask(other.GetViolationInfo()) 833 if subMask.IsFull() { 834 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorViolationInfo}) 835 } else { 836 for _, subpath := range subMask.Paths { 837 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldSubPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorViolationInfo, subPath: subpath}) 838 } 839 } 840 } 841 if o.GetEscalationLevel() != other.GetEscalationLevel() { 842 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorEscalationLevel}) 843 } 844 { 845 subMask := o.GetAiHandling().MakeDiffFieldMask(other.GetAiHandling()) 846 if subMask.IsFull() { 847 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorAiHandling}) 848 } else { 849 for _, subpath := range subMask.Paths { 850 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldSubPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorAiHandling, subPath: subpath}) 851 } 852 } 853 } 854 { 855 subMask := o.GetOperatorHandling().MakeDiffFieldMask(other.GetOperatorHandling()) 856 if subMask.IsFull() { 857 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorOperatorHandling}) 858 } else { 859 for _, subpath := range subMask.Paths { 860 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlert_FieldSubPath{selector: NotificationMsgAlertsGroupConditionAlertsAlert_FieldPathSelectorOperatorHandling, subPath: subpath}) 861 } 862 } 863 } 864 return res 865 } 866 867 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 868 return o.MakeDiffFieldMask(other.(*NotificationMsg_AlertsGroup_ConditionAlerts_Alert)) 869 } 870 871 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert) Clone() *NotificationMsg_AlertsGroup_ConditionAlerts_Alert { 872 if o == nil { 873 return nil 874 } 875 result := &NotificationMsg_AlertsGroup_ConditionAlerts_Alert{} 876 result.Type = o.Type 877 if o.Fqn == nil { 878 result.Fqn = nil 879 } else if data, err := o.Fqn.ProtoString(); err != nil { 880 panic(err) 881 } else { 882 result.Fqn = &alert.Name{} 883 if err := result.Fqn.ParseProtoString(data); err != nil { 884 panic(err) 885 } 886 } 887 result.DisplayName = o.DisplayName 888 result.IsFiring = o.IsFiring 889 result.StartTime = proto.Clone(o.StartTime).(*timestamppb.Timestamp) 890 result.StopTime = proto.Clone(o.StopTime).(*timestamppb.Timestamp) 891 result.Identification = o.Identification.Clone() 892 result.ViolationInfo = o.ViolationInfo.Clone() 893 result.EscalationLevel = o.EscalationLevel 894 result.AiHandling = o.AiHandling.Clone() 895 result.OperatorHandling = o.OperatorHandling.Clone() 896 return result 897 } 898 899 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert) CloneRaw() gotenobject.GotenObjectExt { 900 return o.Clone() 901 } 902 903 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert) Merge(source *NotificationMsg_AlertsGroup_ConditionAlerts_Alert) { 904 o.Type = source.GetType() 905 if source.GetFqn() != nil { 906 if data, err := source.GetFqn().ProtoString(); err != nil { 907 panic(err) 908 } else { 909 o.Fqn = &alert.Name{} 910 if err := o.Fqn.ParseProtoString(data); err != nil { 911 panic(err) 912 } 913 } 914 } else { 915 o.Fqn = nil 916 } 917 o.DisplayName = source.GetDisplayName() 918 o.IsFiring = source.GetIsFiring() 919 if source.GetStartTime() != nil { 920 if o.StartTime == nil { 921 o.StartTime = new(timestamppb.Timestamp) 922 } 923 proto.Merge(o.StartTime, source.GetStartTime()) 924 } 925 if source.GetStopTime() != nil { 926 if o.StopTime == nil { 927 o.StopTime = new(timestamppb.Timestamp) 928 } 929 proto.Merge(o.StopTime, source.GetStopTime()) 930 } 931 if source.GetIdentification() != nil { 932 if o.Identification == nil { 933 o.Identification = new(NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification) 934 } 935 o.Identification.Merge(source.GetIdentification()) 936 } 937 if source.GetViolationInfo() != nil { 938 if o.ViolationInfo == nil { 939 o.ViolationInfo = new(NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo) 940 } 941 o.ViolationInfo.Merge(source.GetViolationInfo()) 942 } 943 o.EscalationLevel = source.GetEscalationLevel() 944 if source.GetAiHandling() != nil { 945 if o.AiHandling == nil { 946 o.AiHandling = new(NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling) 947 } 948 o.AiHandling.Merge(source.GetAiHandling()) 949 } 950 if source.GetOperatorHandling() != nil { 951 if o.OperatorHandling == nil { 952 o.OperatorHandling = new(NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling) 953 } 954 o.OperatorHandling.Merge(source.GetOperatorHandling()) 955 } 956 } 957 958 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert) MergeRaw(source gotenobject.GotenObjectExt) { 959 o.Merge(source.(*NotificationMsg_AlertsGroup_ConditionAlerts_Alert)) 960 } 961 962 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query) GotenObjectExt() {} 963 964 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query) MakeFullFieldMask() *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query_FieldMask { 965 return FullNotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query_FieldMask() 966 } 967 968 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query) MakeRawFullFieldMask() gotenobject.FieldMask { 969 return FullNotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query_FieldMask() 970 } 971 972 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query) MakeDiffFieldMask(other *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query) *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query_FieldMask { 973 if o == nil && other == nil { 974 return &NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query_FieldMask{} 975 } 976 if o == nil || other == nil { 977 return FullNotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query_FieldMask() 978 } 979 980 res := &NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query_FieldMask{} 981 if o.GetDescription() != other.GetDescription() { 982 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsTsCndTypeQuery_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsTsCndTypeQuery_FieldPathSelectorDescription}) 983 } 984 if o.GetFilter() != other.GetFilter() { 985 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsTsCndTypeQuery_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsTsCndTypeQuery_FieldPathSelectorFilter}) 986 } 987 { 988 subMask := o.GetAggregation().MakeDiffFieldMask(other.GetAggregation()) 989 if subMask.IsFull() { 990 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsTsCndTypeQuery_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsTsCndTypeQuery_FieldPathSelectorAggregation}) 991 } else { 992 for _, subpath := range subMask.Paths { 993 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsTsCndTypeQuery_FieldSubPath{selector: NotificationMsgAlertsGroupConditionAlertsTsCndTypeQuery_FieldPathSelectorAggregation, subPath: subpath}) 994 } 995 } 996 } 997 return res 998 } 999 1000 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 1001 return o.MakeDiffFieldMask(other.(*NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query)) 1002 } 1003 1004 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query) Clone() *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query { 1005 if o == nil { 1006 return nil 1007 } 1008 result := &NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query{} 1009 result.Description = o.Description 1010 result.Filter = o.Filter 1011 result.Aggregation = o.Aggregation.Clone() 1012 return result 1013 } 1014 1015 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query) CloneRaw() gotenobject.GotenObjectExt { 1016 return o.Clone() 1017 } 1018 1019 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query) Merge(source *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query) { 1020 o.Description = source.GetDescription() 1021 o.Filter = source.GetFilter() 1022 if source.GetAggregation() != nil { 1023 if o.Aggregation == nil { 1024 o.Aggregation = new(monitoring_common.Aggregation) 1025 } 1026 o.Aggregation.Merge(source.GetAggregation()) 1027 } 1028 } 1029 1030 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query) MergeRaw(source gotenobject.GotenObjectExt) { 1031 o.Merge(source.(*NotificationMsg_AlertsGroup_ConditionAlerts_TsCndType_Query)) 1032 } 1033 1034 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query) GotenObjectExt() {} 1035 1036 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query) MakeFullFieldMask() *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query_FieldMask { 1037 return FullNotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query_FieldMask() 1038 } 1039 1040 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query) MakeRawFullFieldMask() gotenobject.FieldMask { 1041 return FullNotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query_FieldMask() 1042 } 1043 1044 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query) MakeDiffFieldMask(other *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query) *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query_FieldMask { 1045 if o == nil && other == nil { 1046 return &NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query_FieldMask{} 1047 } 1048 if o == nil || other == nil { 1049 return FullNotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query_FieldMask() 1050 } 1051 1052 res := &NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query_FieldMask{} 1053 if o.GetDescription() != other.GetDescription() { 1054 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsLogCndTypeQuery_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsLogCndTypeQuery_FieldPathSelectorDescription}) 1055 } 1056 if o.GetFilter() != other.GetFilter() { 1057 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsLogCndTypeQuery_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsLogCndTypeQuery_FieldPathSelectorFilter}) 1058 } 1059 return res 1060 } 1061 1062 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 1063 return o.MakeDiffFieldMask(other.(*NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query)) 1064 } 1065 1066 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query) Clone() *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query { 1067 if o == nil { 1068 return nil 1069 } 1070 result := &NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query{} 1071 result.Description = o.Description 1072 result.Filter = o.Filter 1073 return result 1074 } 1075 1076 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query) CloneRaw() gotenobject.GotenObjectExt { 1077 return o.Clone() 1078 } 1079 1080 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query) Merge(source *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query) { 1081 o.Description = source.GetDescription() 1082 o.Filter = source.GetFilter() 1083 } 1084 1085 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query) MergeRaw(source gotenobject.GotenObjectExt) { 1086 o.Merge(source.(*NotificationMsg_AlertsGroup_ConditionAlerts_LogCndType_Query)) 1087 } 1088 1089 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification) GotenObjectExt() {} 1090 1091 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification) MakeFullFieldMask() *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification_FieldMask { 1092 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification_FieldMask() 1093 } 1094 1095 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification) MakeRawFullFieldMask() gotenobject.FieldMask { 1096 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification_FieldMask() 1097 } 1098 1099 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification) MakeDiffFieldMask(other *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification) *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification_FieldMask { 1100 if o == nil && other == nil { 1101 return &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification_FieldMask{} 1102 } 1103 if o == nil || other == nil { 1104 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification_FieldMask() 1105 } 1106 1107 res := &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification_FieldMask{} 1108 1109 if len(o.GetLogLabels()) == len(other.GetLogLabels()) { 1110 for i, lValue := range o.GetLogLabels() { 1111 rValue := other.GetLogLabels()[i] 1112 if lValue != rValue { 1113 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertIdentification_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertIdentification_FieldPathSelectorLogLabels}) 1114 break 1115 } 1116 } 1117 } else { 1118 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertIdentification_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertIdentification_FieldPathSelectorLogLabels}) 1119 } 1120 1121 if len(o.GetMetricLabels()) == len(other.GetMetricLabels()) { 1122 for i, lValue := range o.GetMetricLabels() { 1123 rValue := other.GetMetricLabels()[i] 1124 if lValue != rValue { 1125 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertIdentification_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertIdentification_FieldPathSelectorMetricLabels}) 1126 break 1127 } 1128 } 1129 } else { 1130 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertIdentification_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertIdentification_FieldPathSelectorMetricLabels}) 1131 } 1132 1133 if len(o.GetResourceLabels()) == len(other.GetResourceLabels()) { 1134 for i, lValue := range o.GetResourceLabels() { 1135 rValue := other.GetResourceLabels()[i] 1136 if lValue != rValue { 1137 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertIdentification_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertIdentification_FieldPathSelectorResourceLabels}) 1138 break 1139 } 1140 } 1141 } else { 1142 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertIdentification_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertIdentification_FieldPathSelectorResourceLabels}) 1143 } 1144 return res 1145 } 1146 1147 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 1148 return o.MakeDiffFieldMask(other.(*NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification)) 1149 } 1150 1151 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification) Clone() *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification { 1152 if o == nil { 1153 return nil 1154 } 1155 result := &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification{} 1156 result.LogLabels = map[string]string{} 1157 for key, sourceValue := range o.LogLabels { 1158 result.LogLabels[key] = sourceValue 1159 } 1160 result.MetricLabels = map[string]string{} 1161 for key, sourceValue := range o.MetricLabels { 1162 result.MetricLabels[key] = sourceValue 1163 } 1164 result.ResourceLabels = map[string]string{} 1165 for key, sourceValue := range o.ResourceLabels { 1166 result.ResourceLabels[key] = sourceValue 1167 } 1168 return result 1169 } 1170 1171 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification) CloneRaw() gotenobject.GotenObjectExt { 1172 return o.Clone() 1173 } 1174 1175 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification) Merge(source *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification) { 1176 if source.GetLogLabels() != nil { 1177 if o.LogLabels == nil { 1178 o.LogLabels = make(map[string]string, len(source.GetLogLabels())) 1179 } 1180 for key, sourceValue := range source.GetLogLabels() { 1181 o.LogLabels[key] = sourceValue 1182 } 1183 } 1184 if source.GetMetricLabels() != nil { 1185 if o.MetricLabels == nil { 1186 o.MetricLabels = make(map[string]string, len(source.GetMetricLabels())) 1187 } 1188 for key, sourceValue := range source.GetMetricLabels() { 1189 o.MetricLabels[key] = sourceValue 1190 } 1191 } 1192 if source.GetResourceLabels() != nil { 1193 if o.ResourceLabels == nil { 1194 o.ResourceLabels = make(map[string]string, len(source.GetResourceLabels())) 1195 } 1196 for key, sourceValue := range source.GetResourceLabels() { 1197 o.ResourceLabels[key] = sourceValue 1198 } 1199 } 1200 } 1201 1202 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification) MergeRaw(source gotenobject.GotenObjectExt) { 1203 o.Merge(source.(*NotificationMsg_AlertsGroup_ConditionAlerts_Alert_Identification)) 1204 } 1205 1206 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo) GotenObjectExt() {} 1207 1208 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo) MakeFullFieldMask() *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_FieldMask { 1209 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_FieldMask() 1210 } 1211 1212 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo) MakeRawFullFieldMask() gotenobject.FieldMask { 1213 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_FieldMask() 1214 } 1215 1216 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo) MakeDiffFieldMask(other *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo) *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_FieldMask { 1217 if o == nil && other == nil { 1218 return &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_FieldMask{} 1219 } 1220 if o == nil || other == nil { 1221 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_FieldMask() 1222 } 1223 1224 res := &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_FieldMask{} 1225 if o.GetLogValue() != other.GetLogValue() { 1226 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertViolationInfo_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertViolationInfo_FieldPathSelectorLogValue}) 1227 } 1228 1229 if len(o.GetTimeSeries()) == len(other.GetTimeSeries()) { 1230 for i, lValue := range o.GetTimeSeries() { 1231 rValue := other.GetTimeSeries()[i] 1232 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 1233 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertViolationInfo_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertViolationInfo_FieldPathSelectorTimeSeries}) 1234 break 1235 } 1236 } 1237 } else { 1238 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertViolationInfo_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertViolationInfo_FieldPathSelectorTimeSeries}) 1239 } 1240 return res 1241 } 1242 1243 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 1244 return o.MakeDiffFieldMask(other.(*NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo)) 1245 } 1246 1247 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo) Clone() *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo { 1248 if o == nil { 1249 return nil 1250 } 1251 result := &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo{} 1252 result.LogValue = o.LogValue 1253 result.TimeSeries = make([]*NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries, len(o.TimeSeries)) 1254 for i, sourceValue := range o.TimeSeries { 1255 result.TimeSeries[i] = sourceValue.Clone() 1256 } 1257 return result 1258 } 1259 1260 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo) CloneRaw() gotenobject.GotenObjectExt { 1261 return o.Clone() 1262 } 1263 1264 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo) Merge(source *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo) { 1265 o.LogValue = source.GetLogValue() 1266 for _, sourceValue := range source.GetTimeSeries() { 1267 exists := false 1268 for _, currentValue := range o.TimeSeries { 1269 if proto.Equal(sourceValue, currentValue) { 1270 exists = true 1271 break 1272 } 1273 } 1274 if !exists { 1275 var newDstElement *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries 1276 if sourceValue != nil { 1277 newDstElement = new(NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries) 1278 newDstElement.Merge(sourceValue) 1279 } 1280 o.TimeSeries = append(o.TimeSeries, newDstElement) 1281 } 1282 } 1283 1284 } 1285 1286 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo) MergeRaw(source gotenobject.GotenObjectExt) { 1287 o.Merge(source.(*NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo)) 1288 } 1289 1290 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling) GotenObjectExt() {} 1291 1292 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling) MakeFullFieldMask() *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling_FieldMask { 1293 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling_FieldMask() 1294 } 1295 1296 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling) MakeRawFullFieldMask() gotenobject.FieldMask { 1297 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling_FieldMask() 1298 } 1299 1300 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling) MakeDiffFieldMask(other *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling) *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling_FieldMask { 1301 if o == nil && other == nil { 1302 return &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling_FieldMask{} 1303 } 1304 if o == nil || other == nil { 1305 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling_FieldMask() 1306 } 1307 1308 res := &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling_FieldMask{} 1309 if o.GetCurrentState() != other.GetCurrentState() { 1310 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertAiHandling_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertAiHandling_FieldPathSelectorCurrentState}) 1311 } 1312 if o.GetTroubleshootingNotes() != other.GetTroubleshootingNotes() { 1313 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertAiHandling_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertAiHandling_FieldPathSelectorTroubleshootingNotes}) 1314 } 1315 { 1316 subMask := o.GetAiRemediation().MakeDiffFieldMask(other.GetAiRemediation()) 1317 if subMask.IsFull() { 1318 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertAiHandling_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertAiHandling_FieldPathSelectorAiRemediation}) 1319 } else { 1320 for _, subpath := range subMask.Paths { 1321 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertAiHandling_FieldSubPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertAiHandling_FieldPathSelectorAiRemediation, subPath: subpath}) 1322 } 1323 } 1324 } 1325 if o.GetRemediationArg() != other.GetRemediationArg() { 1326 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertAiHandling_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertAiHandling_FieldPathSelectorRemediationArg}) 1327 } 1328 return res 1329 } 1330 1331 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 1332 return o.MakeDiffFieldMask(other.(*NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling)) 1333 } 1334 1335 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling) Clone() *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling { 1336 if o == nil { 1337 return nil 1338 } 1339 result := &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling{} 1340 result.CurrentState = o.CurrentState 1341 result.TroubleshootingNotes = o.TroubleshootingNotes 1342 result.AiRemediation = o.AiRemediation.Clone() 1343 result.RemediationArg = o.RemediationArg 1344 return result 1345 } 1346 1347 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling) CloneRaw() gotenobject.GotenObjectExt { 1348 return o.Clone() 1349 } 1350 1351 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling) Merge(source *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling) { 1352 o.CurrentState = source.GetCurrentState() 1353 o.TroubleshootingNotes = source.GetTroubleshootingNotes() 1354 if source.GetAiRemediation() != nil { 1355 if o.AiRemediation == nil { 1356 o.AiRemediation = new(rcommon.PolicySpec_AIAgentHandling_Remediation) 1357 } 1358 o.AiRemediation.Merge(source.GetAiRemediation()) 1359 } 1360 o.RemediationArg = source.GetRemediationArg() 1361 } 1362 1363 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling) MergeRaw(source gotenobject.GotenObjectExt) { 1364 o.Merge(source.(*NotificationMsg_AlertsGroup_ConditionAlerts_Alert_AiHandling)) 1365 } 1366 1367 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling) GotenObjectExt() {} 1368 1369 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling) MakeFullFieldMask() *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling_FieldMask { 1370 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling_FieldMask() 1371 } 1372 1373 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling) MakeRawFullFieldMask() gotenobject.FieldMask { 1374 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling_FieldMask() 1375 } 1376 1377 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling) MakeDiffFieldMask(other *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling) *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling_FieldMask { 1378 if o == nil && other == nil { 1379 return &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling_FieldMask{} 1380 } 1381 if o == nil || other == nil { 1382 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling_FieldMask() 1383 } 1384 1385 res := &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling_FieldMask{} 1386 if o.GetCurrentState() != other.GetCurrentState() { 1387 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertOperatorHandling_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertOperatorHandling_FieldPathSelectorCurrentState}) 1388 } 1389 if o.GetNotes() != other.GetNotes() { 1390 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertOperatorHandling_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertOperatorHandling_FieldPathSelectorNotes}) 1391 } 1392 return res 1393 } 1394 1395 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 1396 return o.MakeDiffFieldMask(other.(*NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling)) 1397 } 1398 1399 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling) Clone() *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling { 1400 if o == nil { 1401 return nil 1402 } 1403 result := &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling{} 1404 result.CurrentState = o.CurrentState 1405 result.Notes = o.Notes 1406 return result 1407 } 1408 1409 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling) CloneRaw() gotenobject.GotenObjectExt { 1410 return o.Clone() 1411 } 1412 1413 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling) Merge(source *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling) { 1414 o.CurrentState = source.GetCurrentState() 1415 o.Notes = source.GetNotes() 1416 } 1417 1418 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling) MergeRaw(source gotenobject.GotenObjectExt) { 1419 o.Merge(source.(*NotificationMsg_AlertsGroup_ConditionAlerts_Alert_OperatorHandling)) 1420 } 1421 1422 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries) GotenObjectExt() { 1423 } 1424 1425 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries) MakeFullFieldMask() *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries_FieldMask { 1426 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries_FieldMask() 1427 } 1428 1429 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries) MakeRawFullFieldMask() gotenobject.FieldMask { 1430 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries_FieldMask() 1431 } 1432 1433 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries) MakeDiffFieldMask(other *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries) *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries_FieldMask { 1434 if o == nil && other == nil { 1435 return &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries_FieldMask{} 1436 } 1437 if o == nil || other == nil { 1438 return FullNotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries_FieldMask() 1439 } 1440 1441 res := &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries_FieldMask{} 1442 if o.GetQuery() != other.GetQuery() { 1443 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldPathSelectorQuery}) 1444 } 1445 1446 if len(o.GetValues()) == len(other.GetValues()) { 1447 for i, lValue := range o.GetValues() { 1448 rValue := other.GetValues()[i] 1449 if lValue != rValue { 1450 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldPathSelectorValues}) 1451 break 1452 } 1453 } 1454 } else { 1455 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldPathSelectorValues}) 1456 } 1457 { 1458 subMask := o.GetUpperThreshold().MakeDiffFieldMask(other.GetUpperThreshold()) 1459 if subMask.IsFull() { 1460 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldPathSelectorUpperThreshold}) 1461 } else { 1462 for _, subpath := range subMask.Paths { 1463 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldSubPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldPathSelectorUpperThreshold, subPath: subpath}) 1464 } 1465 } 1466 } 1467 { 1468 subMask := o.GetLowerThreshold().MakeDiffFieldMask(other.GetLowerThreshold()) 1469 if subMask.IsFull() { 1470 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldPathSelectorLowerThreshold}) 1471 } else { 1472 for _, subpath := range subMask.Paths { 1473 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldSubPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldPathSelectorLowerThreshold, subPath: subpath}) 1474 } 1475 } 1476 } 1477 if !proto.Equal(o.GetRaisedAfter(), other.GetRaisedAfter()) { 1478 res.Paths = append(res.Paths, &NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldTerminalPath{selector: NotificationMsgAlertsGroupConditionAlertsAlertViolationInfoTimeSeries_FieldPathSelectorRaisedAfter}) 1479 } 1480 return res 1481 } 1482 1483 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 1484 return o.MakeDiffFieldMask(other.(*NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries)) 1485 } 1486 1487 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries) Clone() *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries { 1488 if o == nil { 1489 return nil 1490 } 1491 result := &NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries{} 1492 result.Query = o.Query 1493 result.Values = make([]float64, len(o.Values)) 1494 for i, sourceValue := range o.Values { 1495 result.Values[i] = sourceValue 1496 } 1497 result.UpperThreshold = o.UpperThreshold.Clone() 1498 result.LowerThreshold = o.LowerThreshold.Clone() 1499 result.RaisedAfter = proto.Clone(o.RaisedAfter).(*durationpb.Duration) 1500 return result 1501 } 1502 1503 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries) CloneRaw() gotenobject.GotenObjectExt { 1504 return o.Clone() 1505 } 1506 1507 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries) Merge(source *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries) { 1508 o.Query = source.GetQuery() 1509 for _, sourceValue := range source.GetValues() { 1510 exists := false 1511 for _, currentValue := range o.Values { 1512 if currentValue == sourceValue { 1513 exists = true 1514 break 1515 } 1516 } 1517 if !exists { 1518 var newDstElement float64 1519 newDstElement = sourceValue 1520 o.Values = append(o.Values, newDstElement) 1521 } 1522 } 1523 1524 if source.GetUpperThreshold() != nil { 1525 if o.UpperThreshold == nil { 1526 o.UpperThreshold = new(rcommon.AlertingThreshold) 1527 } 1528 o.UpperThreshold.Merge(source.GetUpperThreshold()) 1529 } 1530 if source.GetLowerThreshold() != nil { 1531 if o.LowerThreshold == nil { 1532 o.LowerThreshold = new(rcommon.AlertingThreshold) 1533 } 1534 o.LowerThreshold.Merge(source.GetLowerThreshold()) 1535 } 1536 if source.GetRaisedAfter() != nil { 1537 if o.RaisedAfter == nil { 1538 o.RaisedAfter = new(durationpb.Duration) 1539 } 1540 proto.Merge(o.RaisedAfter, source.GetRaisedAfter()) 1541 } 1542 } 1543 1544 func (o *NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries) MergeRaw(source gotenobject.GotenObjectExt) { 1545 o.Merge(source.(*NotificationMsg_AlertsGroup_ConditionAlerts_Alert_ViolationInfo_TimeSeries)) 1546 }