Skip to content

Commit e6e9de4

Browse files
committed
add optional encodings to GetDataRequest
1 parent 7d4148c commit e6e9de4

File tree

11 files changed

+743
-194
lines changed

11 files changed

+743
-194
lines changed

Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ build:
1313
mkdir -p bin
1414
CGO_ENABLED=0 ${GO_BIN} build -o bin/datactl client/main.go
1515
CGO_ENABLED=0 ${GO_BIN} build -o bin/data-server main.go
16-
CGO_ENABLED=0 ${GO_BIN} build -o bin/bulk tests/bulk/main.go
1716

1817
test:
1918
robot tests/robot

client/cmd/data_get.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ var paths []string
1919
var dataType string
2020
var format string
2121
var intended bool
22+
var encoding string
2223

2324
// dataGetCmd represents the get command
2425
var dataGetCmd = &cobra.Command{
@@ -40,9 +41,22 @@ var dataGetCmd = &cobra.Command{
4041
return fmt.Errorf("invalid flag value --type %s", dataType)
4142
}
4243

44+
var enc sdcpb.Encoding
45+
switch encoding {
46+
case "STRING":
47+
enc = sdcpb.Encoding_STRING
48+
case "JSON":
49+
enc = sdcpb.Encoding_JSON
50+
case "JSON_IETF":
51+
enc = sdcpb.Encoding_JSON_IETF
52+
case "PROTO":
53+
enc = sdcpb.Encoding_PROTO
54+
}
55+
4356
req := &sdcpb.GetDataRequest{
4457
Name: datastoreName,
4558
DataType: dt,
59+
Encoding: enc,
4660
}
4761
for _, p := range paths {
4862
xp, err := utils.ParsePath(p)
@@ -117,6 +131,7 @@ func init() {
117131
dataCmd.AddCommand(dataGetCmd)
118132
dataGetCmd.Flags().StringArrayVarP(&paths, "path", "", []string{}, "get path(s)")
119133
dataGetCmd.Flags().StringVarP(&dataType, "type", "", "ALL", "data type, one of: ALL, CONFIG, STATE")
134+
dataGetCmd.Flags().StringVarP(&encoding, "encoding", "", "STRING", "encoding of the returned data: STRING, JSON, JSON_IETF or PROTO")
120135

121136
// intended store
122137
dataGetCmd.Flags().BoolVarP(&intended, "intended", "", false, "get data from intended store")

go.mod

Lines changed: 43 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -4,105 +4,104 @@ go 1.21.4
44

55
require (
66
github.com/AlekSi/pointer v1.2.0
7-
github.com/beevik/etree v1.2.0
7+
github.com/beevik/etree v1.3.0
88
github.com/google/go-cmp v0.6.0
99
github.com/gorilla/mux v1.8.1
1010
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
1111
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
1212
github.com/iptecharch/cache v0.0.29
13-
github.com/iptecharch/schema-server v0.0.13
14-
github.com/iptecharch/sdc-protos v0.0.19
13+
github.com/iptecharch/schema-server v0.0.14
14+
github.com/iptecharch/sdc-protos v0.0.20
1515
github.com/iptecharch/yang-parser v0.0.3
1616
github.com/jellydator/ttlcache/v3 v3.1.1
1717
github.com/kylelemons/godebug v1.1.0
1818
github.com/olekukonko/tablewriter v0.0.5
1919
github.com/openconfig/gnmi v0.10.0
20-
github.com/openconfig/gnmic/pkg/api v0.1.1
21-
github.com/openconfig/gnmic/pkg/target v0.1.1
20+
github.com/openconfig/gnmic/pkg/api v0.1.2
21+
github.com/openconfig/gnmic/pkg/target v0.1.4
2222
github.com/openconfig/gnmic/pkg/types v0.1.2
23-
github.com/prometheus/client_golang v1.17.0
23+
github.com/prometheus/client_golang v1.18.0
2424
github.com/scrapli/scrapligo v1.2.0
2525
github.com/sirupsen/logrus v1.9.3
26-
github.com/spf13/cobra v1.7.0
26+
github.com/spf13/cobra v1.8.0
2727
github.com/spf13/pflag v1.0.5
2828
go.uber.org/mock v0.4.0
2929
golang.org/x/sync v0.6.0
30-
google.golang.org/grpc v1.60.1
30+
google.golang.org/grpc v1.61.0
3131
google.golang.org/protobuf v1.32.0
3232
gopkg.in/yaml.v2 v2.4.0
33-
sigs.k8s.io/controller-runtime v0.16.3
33+
sigs.k8s.io/controller-runtime v0.17.0
3434
)
3535

3636
require (
37-
cloud.google.com/go/compute v1.23.0 // indirect
37+
cloud.google.com/go/compute v1.23.3 // indirect
3838
cloud.google.com/go/compute/metadata v0.2.3 // indirect
3939
github.com/beorn7/perks v1.0.1 // indirect
40-
github.com/bufbuild/protocompile v0.6.0 // indirect
40+
github.com/bufbuild/protocompile v0.8.0 // indirect
4141
github.com/cespare/xxhash/v2 v2.2.0 // indirect
42-
github.com/creack/pty v1.1.18 // indirect
42+
github.com/creack/pty v1.1.21 // indirect
4343
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
4444
github.com/dgraph-io/badger/v4 v4.2.0 // indirect
4545
github.com/dgraph-io/ristretto v0.1.1 // indirect
4646
github.com/dustin/go-humanize v1.0.1 // indirect
47-
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
48-
github.com/fsnotify/fsnotify v1.6.0 // indirect
49-
github.com/go-logr/logr v1.2.4 // indirect
50-
github.com/go-openapi/jsonpointer v0.19.6 // indirect
51-
github.com/go-openapi/jsonreference v0.20.2 // indirect
52-
github.com/go-openapi/swag v0.22.3 // indirect
47+
github.com/emicklei/go-restful/v3 v3.11.2 // indirect
48+
github.com/fsnotify/fsnotify v1.7.0 // indirect
49+
github.com/go-logr/logr v1.4.1 // indirect
50+
github.com/go-openapi/jsonpointer v0.20.2 // indirect
51+
github.com/go-openapi/jsonreference v0.20.4 // indirect
52+
github.com/go-openapi/swag v0.22.9 // indirect
5353
github.com/gogo/protobuf v1.3.2 // indirect
54-
github.com/golang/glog v1.1.2 // indirect
54+
github.com/golang/glog v1.2.0 // indirect
5555
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
5656
github.com/golang/protobuf v1.5.3 // indirect
5757
github.com/golang/snappy v0.0.4 // indirect
58-
github.com/google/flatbuffers v23.3.3+incompatible // indirect
58+
github.com/google/flatbuffers v23.5.26+incompatible // indirect
5959
github.com/google/gnostic-models v0.6.8 // indirect
6060
github.com/google/gofuzz v1.2.0 // indirect
61-
github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 // indirect
62-
github.com/google/uuid v1.3.1 // indirect
61+
github.com/google/pprof v0.0.0-20240125082051-42cd04596328 // indirect
62+
github.com/google/uuid v1.6.0 // indirect
6363
github.com/inconshreveable/mousetrap v1.1.0 // indirect
64-
github.com/jhump/protoreflect v1.15.3 // indirect
64+
github.com/jhump/protoreflect v1.15.5 // indirect
6565
github.com/josharian/intern v1.0.0 // indirect
6666
github.com/json-iterator/go v1.1.12 // indirect
67-
github.com/klauspost/compress v1.17.2 // indirect
67+
github.com/klauspost/compress v1.17.5 // indirect
6868
github.com/mailru/easyjson v0.7.7 // indirect
69-
github.com/mattn/go-runewidth v0.0.14 // indirect
70-
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
69+
github.com/mattn/go-runewidth v0.0.15 // indirect
7170
github.com/mitchellh/go-homedir v1.1.0 // indirect
7271
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
7372
github.com/modern-go/reflect2 v1.0.2 // indirect
7473
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
75-
github.com/openconfig/gnmic/pkg/path v0.1.1 // indirect
74+
github.com/openconfig/gnmic/pkg/path v0.34.1 // indirect
7675
github.com/openconfig/gnmic/pkg/utils v0.1.0 // indirect
7776
github.com/openconfig/goyang v1.4.5 // indirect
7877
github.com/openconfig/grpctunnel v0.1.0 // indirect
7978
github.com/pkg/errors v0.9.1 // indirect
8079
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
81-
github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect
82-
github.com/prometheus/common v0.44.0 // indirect
83-
github.com/prometheus/procfs v0.11.1 // indirect
80+
github.com/prometheus/client_model v0.5.0 // indirect
81+
github.com/prometheus/common v0.46.0 // indirect
82+
github.com/prometheus/procfs v0.12.0 // indirect
8483
github.com/rivo/uniseg v0.4.4 // indirect
8584
github.com/rs/xid v1.5.0 // indirect
8685
github.com/sirikothe/gotextfsm v1.0.1-0.20200816110946-6aa2cfd355e4 // indirect
8786
go.opencensus.io v0.24.0 // indirect
88-
golang.org/x/crypto v0.16.0 // indirect
89-
golang.org/x/net v0.19.0 // indirect
90-
golang.org/x/oauth2 v0.15.0 // indirect
91-
golang.org/x/sys v0.15.0 // indirect
92-
golang.org/x/term v0.15.0 // indirect
87+
golang.org/x/crypto v0.18.0 // indirect
88+
golang.org/x/net v0.20.0 // indirect
89+
golang.org/x/oauth2 v0.16.0 // indirect
90+
golang.org/x/sys v0.16.0 // indirect
91+
golang.org/x/term v0.16.0 // indirect
9392
golang.org/x/text v0.14.0 // indirect
9493
golang.org/x/time v0.5.0 // indirect
9594
google.golang.org/appengine v1.6.8 // indirect
96-
google.golang.org/genproto/googleapis/rpc v0.0.0-20231127180814-3a041ad873d4 // indirect
95+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe // indirect
9796
gopkg.in/inf.v0 v0.9.1 // indirect
9897
gopkg.in/yaml.v3 v3.0.1 // indirect
99-
k8s.io/api v0.28.3 // indirect
100-
k8s.io/apimachinery v0.28.3 // indirect
101-
k8s.io/client-go v0.28.3 // indirect
102-
k8s.io/klog/v2 v2.100.1 // indirect
103-
k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect
104-
k8s.io/utils v0.0.0-20230406110748-d93618cff8a2 // indirect
98+
k8s.io/api v0.29.1 // indirect
99+
k8s.io/apimachinery v0.29.1 // indirect
100+
k8s.io/client-go v0.29.1 // indirect
101+
k8s.io/klog/v2 v2.120.1 // indirect
102+
k8s.io/kube-openapi v0.0.0-20240126223410-2919ad4fcfec // indirect
103+
k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect
105104
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
106-
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
107-
sigs.k8s.io/yaml v1.3.0 // indirect
105+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
106+
sigs.k8s.io/yaml v1.4.0 // indirect
108107
)

0 commit comments

Comments
 (0)