ParseEventWithType parses the raw event data into the specified Go type. It fails if there is any unknown fields or extra data after the event. The returned event is validated. If the event type is unknown, UnknownEventTypeError is returned.
(eventType UsageEventType, data json.RawMessage)
| 92 | // |
| 93 | // If the event type is unknown, UnknownEventTypeError is returned. |
| 94 | func ParseEventWithType(eventType UsageEventType, data json.RawMessage) (Event, error) { |
| 95 | switch eventType { |
| 96 | case UsageEventTypeDCManagedAgentsV1: |
| 97 | var event DCManagedAgentsV1 |
| 98 | if err := ParseEvent(data, &event); err != nil { |
| 99 | return nil, err |
| 100 | } |
| 101 | return event, nil |
| 102 | case UsageEventTypeHBAISeatsV1: |
| 103 | var event HBAISeats |
| 104 | if err := ParseEvent(data, &event); err != nil { |
| 105 | return nil, err |
| 106 | } |
| 107 | return event, nil |
| 108 | default: |
| 109 | return nil, UnknownEventTypeError{EventType: string(eventType)} |
| 110 | } |
| 111 | } |
| 112 | |
| 113 | // Event is a usage event that can be collected by the usage collector. |
| 114 | // |