vSphere Cloud Provider: update vmware/gomvomi godeps
This commit is contained in:
55
vendor/github.com/vmware/govmomi/simulator/event_manager.go
generated
vendored
55
vendor/github.com/vmware/govmomi/simulator/event_manager.go
generated
vendored
@@ -63,17 +63,14 @@ func NewEventManager(ref types.ManagedObjectReference) object.Reference {
|
||||
}
|
||||
}
|
||||
|
||||
func (m *EventManager) CreateCollectorForEvents(ctx *Context, req *types.CreateCollectorForEvents) soap.HasFault {
|
||||
body := new(methods.CreateCollectorForEventsBody)
|
||||
func (m *EventManager) createCollector(ctx *Context, req *types.CreateCollectorForEvents) (*EventHistoryCollector, *soap.Fault) {
|
||||
size, err := validatePageSize(req.Filter.MaxCount)
|
||||
if err != nil {
|
||||
body.Fault_ = err
|
||||
return body
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if len(m.collectors) >= int(m.MaxCollector) {
|
||||
body.Fault_ = Fault("Too many event collectors to create", new(types.InvalidState))
|
||||
return body
|
||||
return nil, Fault("Too many event collectors to create", new(types.InvalidState))
|
||||
}
|
||||
|
||||
collector := &EventHistoryCollector{
|
||||
@@ -83,6 +80,17 @@ func (m *EventManager) CreateCollectorForEvents(ctx *Context, req *types.CreateC
|
||||
collector.Filter = req.Filter
|
||||
collector.fillPage(size)
|
||||
|
||||
return collector, nil
|
||||
}
|
||||
|
||||
func (m *EventManager) CreateCollectorForEvents(ctx *Context, req *types.CreateCollectorForEvents) soap.HasFault {
|
||||
body := new(methods.CreateCollectorForEventsBody)
|
||||
collector, err := m.createCollector(ctx, req)
|
||||
if err != nil {
|
||||
body.Fault_ = err
|
||||
return body
|
||||
}
|
||||
|
||||
ref := ctx.Session.Put(collector).Reference()
|
||||
m.collectors[ref] = collector
|
||||
|
||||
@@ -93,6 +101,27 @@ func (m *EventManager) CreateCollectorForEvents(ctx *Context, req *types.CreateC
|
||||
return body
|
||||
}
|
||||
|
||||
func (m *EventManager) QueryEvents(ctx *Context, req *types.QueryEvents) soap.HasFault {
|
||||
if Map.IsESX() {
|
||||
return &methods.QueryEventsBody{
|
||||
Fault_: Fault("", new(types.NotImplemented)),
|
||||
}
|
||||
}
|
||||
|
||||
body := new(methods.QueryEventsBody)
|
||||
collector, err := m.createCollector(ctx, &types.CreateCollectorForEvents{Filter: req.Filter})
|
||||
if err != nil {
|
||||
body.Fault_ = err
|
||||
return body
|
||||
}
|
||||
|
||||
body.Res = &types.QueryEventsResponse{
|
||||
Returnval: collector.GetLatestPage(),
|
||||
}
|
||||
|
||||
return body
|
||||
}
|
||||
|
||||
// formatMessage applies the EventDescriptionEventDetail.FullFormat template to the given event's FullFormattedMessage field.
|
||||
func (m *EventManager) formatMessage(event types.BaseEvent) {
|
||||
id := reflect.ValueOf(event).Elem().Type().Name()
|
||||
@@ -372,15 +401,23 @@ func (c *EventHistoryCollector) DestroyCollector(ctx *Context, req *types.Destro
|
||||
}
|
||||
}
|
||||
|
||||
func (c *EventHistoryCollector) Get() mo.Reference {
|
||||
clone := *c
|
||||
func (c *EventHistoryCollector) GetLatestPage() []types.BaseEvent {
|
||||
var latestPage []types.BaseEvent
|
||||
|
||||
c.page.Do(func(val interface{}) {
|
||||
if val == nil {
|
||||
return
|
||||
}
|
||||
clone.LatestPage = append(clone.LatestPage, val.(types.BaseEvent))
|
||||
latestPage = append(latestPage, val.(types.BaseEvent))
|
||||
})
|
||||
|
||||
return latestPage
|
||||
}
|
||||
|
||||
func (c *EventHistoryCollector) Get() mo.Reference {
|
||||
clone := *c
|
||||
|
||||
clone.LatestPage = clone.GetLatestPage()
|
||||
|
||||
return &clone
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user