forked from raystack/siren
-
Notifications
You must be signed in to change notification settings - Fork 0
/
v1beta1.go
53 lines (49 loc) · 1.6 KB
/
v1beta1.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package alert
import (
sirenv1beta1 "github.com/goto/siren/proto/gotocompany/siren/v1beta1"
"google.golang.org/protobuf/types/known/timestamppb"
)
func (a *Alert) ToV1beta1Proto() *sirenv1beta1.Alert {
return &sirenv1beta1.Alert{
Id: a.ID,
ProviderId: a.ProviderID,
ResourceName: a.ResourceName,
MetricName: a.MetricName,
MetricValue: a.MetricValue,
Severity: a.Severity,
Rule: a.Rule,
TriggeredAt: timestamppb.New(a.TriggeredAt),
NamespaceId: a.NamespaceID,
SilenceStatus: a.SilenceStatus,
CreatedAt: timestamppb.New(a.CreatedAt),
UpdatedAt: timestamppb.New(a.UpdatedAt),
GroupKey: a.GroupKey,
Status: a.Status,
Annotations: a.Annotations,
Labels: a.Labels,
GeneratorUrl: a.GeneratorURL,
Fingerprint: a.Fingerprint,
}
}
func FromV1beta1Proto(proto *sirenv1beta1.Alert) *Alert {
return &Alert{
ID: proto.GetId(),
ProviderID: proto.GetProviderId(),
NamespaceID: proto.GetNamespaceId(),
ResourceName: proto.GetResourceName(),
MetricName: proto.GetMetricName(),
MetricValue: proto.GetMetricValue(),
Severity: proto.GetSeverity(),
Rule: proto.GetRule(),
TriggeredAt: proto.GetTriggeredAt().AsTime(),
CreatedAt: proto.GetCreatedAt().AsTime(),
UpdatedAt: proto.GetUpdatedAt().AsTime(),
SilenceStatus: proto.GetSilenceStatus(),
GroupKey: proto.GetGroupKey(),
Status: proto.GetStatus(),
Annotations: proto.GetAnnotations(),
Labels: proto.GetLabels(),
GeneratorURL: proto.GetGeneratorUrl(),
Fingerprint: proto.GetFingerprint(),
}
}