| 489 | } |
| 490 | |
| 491 | func detectCreatedGuests(before, after []*api.VM, nodeName string) []guestOutput { |
| 492 | beforeGuests := map[guestIdentity]struct{}{} |
| 493 | for _, vm := range before { |
| 494 | if vm != nil { |
| 495 | beforeGuests[guestIdentityFromVM(vm)] = struct{}{} |
| 496 | } |
| 497 | } |
| 498 | |
| 499 | var created []guestOutput |
| 500 | for _, vm := range after { |
| 501 | if vm == nil || vm.Node != nodeName { |
| 502 | continue |
| 503 | } |
| 504 | if _, existed := beforeGuests[guestIdentityFromVM(vm)]; existed { |
| 505 | continue |
| 506 | } |
| 507 | created = append(created, vmToGuestOutput(vm)) |
| 508 | } |
| 509 | |
| 510 | return created |
| 511 | } |
| 512 | |
| 513 | type guestIdentity struct { |
| 514 | id int |