...
1 package snapshot
2
3 import (
4 "encoding/json"
5
6 "github.com/emissary-ingress/emissary/v3/pkg/kates"
7 "github.com/emissary-ingress/emissary/v3/pkg/kates/k8s_resource_types"
8 )
9
10 type Ingress struct {
11 k8s_resource_types.Ingress
12 }
13
14 func (ingress *Ingress) UnmarshalJSON(bs []byte) error {
15 var untyped kates.Unstructured
16 if err := json.Unmarshal(bs, &untyped); err != nil {
17 return err
18 }
19 typed, err := k8s_resource_types.NewIngress(&untyped)
20 if err != nil {
21 return err
22 }
23 ingress.Ingress = *typed
24 return nil
25 }
26
27 type IngressClass struct {
28 k8s_resource_types.IngressClass
29 }
30
31 func (ingressclass *IngressClass) UnmarshalJSON(bs []byte) error {
32 var untyped kates.Unstructured
33 if err := json.Unmarshal(bs, &untyped); err != nil {
34 return err
35 }
36 typed, err := k8s_resource_types.NewIngressClass(&untyped)
37 if err != nil {
38 return err
39 }
40 ingressclass.IngressClass = *typed
41 return nil
42 }
43
View as plain text