event

package
v0.0.0-...-f282198 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 2, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Sort

func Sort(events []types.BaseEvent)

Sort events in ascending order base on Key From the EventHistoryCollector.latestPage sdk docs:

The "oldest event" is the one with the smallest key (event ID).
The events in the returned page are unordered.

Types

type HistoryCollector

type HistoryCollector struct {
	*history.Collector
}

func (HistoryCollector) LatestPage

func (h HistoryCollector) LatestPage(ctx context.Context) ([]types.BaseEvent, error)

func (HistoryCollector) ReadNextEvents

func (h HistoryCollector) ReadNextEvents(ctx context.Context, maxCount int32) ([]types.BaseEvent, error)

func (HistoryCollector) ReadPreviousEvents

func (h HistoryCollector) ReadPreviousEvents(ctx context.Context, maxCount int32) ([]types.BaseEvent, error)

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

func NewManager

func NewManager(c *vim25.Client) *Manager

func (Manager) Client

func (m Manager) Client() *vim25.Client

func (Manager) CreateCollectorForEvents

func (m Manager) CreateCollectorForEvents(ctx context.Context, filter types.EventFilterSpec) (*HistoryCollector, error)

func (Manager) EventCategory

func (m Manager) EventCategory(ctx context.Context, event types.BaseEvent) (string, error)

EventCategory returns the category for an event, such as "info" or "error" for example.

func (Manager) Events

func (m Manager) Events(ctx context.Context, objects []types.ManagedObjectReference, pageSize int32, tail bool, force bool, f func(types.ManagedObjectReference, []types.BaseEvent) error, kind ...string) error

Events gets the events from the specified object(s) and optionanlly tail the event stream

Example
package main

import (
	"context"
	"fmt"

	"github.com/vmware/govmomi/event"
	"github.com/vmware/govmomi/find"
	"github.com/vmware/govmomi/simulator"
	"github.com/vmware/govmomi/vim25"
	"github.com/vmware/govmomi/vim25/mo"
	"github.com/vmware/govmomi/vim25/types"
)

// ensure event.Manager implements the mo.Reference interface
var _ mo.Reference = new(event.Manager)

func main() {
	simulator.Run(func(ctx context.Context, c *vim25.Client) error {
		m := event.NewManager(c)

		vm, err := find.NewFinder(c).VirtualMachine(ctx, "DC0_H0_VM0")
		if err != nil {
			return err
		}

		objs := []types.ManagedObjectReference{vm.Reference()}

		return m.Events(ctx, objs, 10, false, false, func(ref types.ManagedObjectReference, events []types.BaseEvent) error {
			event.Sort(events)
			for _, event := range events {
				fmt.Printf("%T\n", event)
			}
			return nil
		})
	})
}
Output:

*types.VmBeingCreatedEvent
*types.VmInstanceUuidAssignedEvent
*types.VmUuidAssignedEvent
*types.VmCreatedEvent
*types.VmStartingEvent
*types.VmPoweredOnEvent

func (Manager) LogUserEvent

func (m Manager) LogUserEvent(ctx context.Context, entity types.ManagedObjectReference, msg string) error

func (Manager) PostEvent

func (m Manager) PostEvent(ctx context.Context, eventToPost types.BaseEvent, taskInfo ...types.TaskInfo) error

func (Manager) QueryEvents

func (m Manager) QueryEvents(ctx context.Context, filter types.EventFilterSpec) ([]types.BaseEvent, error)

func (Manager) Reference

func (m Manager) Reference() types.ManagedObjectReference

Reference returns the event.Manager MOID

func (Manager) RetrieveArgumentDescription

func (m Manager) RetrieveArgumentDescription(ctx context.Context, eventTypeID string) ([]types.EventArgDesc, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL