From c1d3cc140bd040b3f079eef4ba287dc57f8d6eb4 Mon Sep 17 00:00:00 2001 From: balajisundaravel Date: Wed, 9 Oct 2024 14:49:11 -0700 Subject: [PATCH 1/3] Update go.mod go.sum --- go.mod | 31 ++++++++++++++++--------------- go.sum | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 12f8b6a..86998ec 100644 --- a/go.mod +++ b/go.mod @@ -1,30 +1,31 @@ module github.com/openconfig/gnmi -go 1.21 +go 1.22.0 toolchain go1.22.5 require ( bitbucket.org/creachadair/stringset v0.0.14 - github.com/cenkalti/backoff/v4 v4.1.1 - github.com/golang/glog v1.2.1 + github.com/cenkalti/backoff/v4 v4.3.0 + github.com/golang/glog v1.2.2 github.com/google/go-cmp v0.6.0 github.com/kylelemons/godebug v1.1.0 - github.com/openconfig/grpctunnel v0.0.0-20220819142823-6f5422b8ca70 - github.com/openconfig/ygot v0.6.0 - github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a - golang.org/x/crypto v0.26.0 - golang.org/x/net v0.28.0 - google.golang.org/grpc v1.66.0 - google.golang.org/protobuf v1.34.2 + github.com/openconfig/grpctunnel v0.1.0 + github.com/openconfig/ygot v0.29.20 + github.com/protocolbuffers/txtpbfmt v0.0.0-20240823084532-8e6b51fa9bef + golang.org/x/crypto v0.28.0 + golang.org/x/net v0.30.0 + google.golang.org/grpc v1.67.1 + google.golang.org/protobuf v1.35.1 ) require ( github.com/golang/protobuf v1.5.4 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect - github.com/openconfig/goyang v0.0.0-20200115183954-d0a48929f0ea // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed // indirect + github.com/openconfig/goyang v1.6.0 // indirect + golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/term v0.25.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect ) diff --git a/go.sum b/go.sum index b071fd4..98e9666 100644 --- a/go.sum +++ b/go.sum @@ -7,6 +7,8 @@ github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAE github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/cenkalti/backoff/v4 v4.1.1 h1:G2HAfAmvm/GcKan2oOQpBXOd2tT2G57ZnZGWa1PxPBQ= github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -24,6 +26,8 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.2.1 h1:OptwRhECazUx5ix5TTWC3EZhsZEHWcYWY4FQHTIubm4= github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= +github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -55,17 +59,27 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/openconfig/gnmi v0.10.0/go.mod h1:Y9os75GmSkhHw2wX8sMsxfI7qRGAEcDh8NTa5a8vj6E= github.com/openconfig/goyang v0.0.0-20200115183954-d0a48929f0ea h1:5MyIz4bN4vpH6aHDN339bkWXAjTkhg1ZKMhR4aIi5Rk= github.com/openconfig/goyang v0.0.0-20200115183954-d0a48929f0ea/go.mod h1:dhXaV0JgHJzdrHi2l+w0fZrwArtXL7jEFoiqLEdmkvU= +github.com/openconfig/goyang v1.6.0 h1:JjnPbLY1/y28VyTO67LsEV0TaLWNiZyDcsppGq4F4is= +github.com/openconfig/goyang v1.6.0/go.mod h1:sdNZi/wdTZyLNBNfgLzmmbi7kISm7FskMDKKzMY+x1M= github.com/openconfig/grpctunnel v0.0.0-20220819142823-6f5422b8ca70 h1:t6SvvdfWCMlw0XPlsdxO8EgO+q/fXnTevDjdYREKFwU= github.com/openconfig/grpctunnel v0.0.0-20220819142823-6f5422b8ca70/go.mod h1:OmTWe7RyZj2CIzIgy4ovEBzCLBJzRvWSZmn7u02U9gU= +github.com/openconfig/grpctunnel v0.1.0 h1:EN99qtlExZczgQgp5ANnHRC/Rs62cAG+Tz2BQ5m/maM= +github.com/openconfig/grpctunnel v0.1.0/go.mod h1:G04Pdu0pml98tdvXrvLaU+EBo3PxYfI9MYqpvdaEHLo= github.com/openconfig/ygot v0.6.0 h1:kJJFPBrczC6TDnz/HMlFTJEdW2CuyUftV13XveIukg0= github.com/openconfig/ygot v0.6.0/go.mod h1:o30svNf7O0xK+R35tlx95odkDmZWS9JyWWQSmIhqwAs= +github.com/openconfig/ygot v0.29.20 h1:XHLpwCN91QuKc2LAvnEqtCmH8OuxgLlErDhrdl2mJw8= +github.com/openconfig/ygot v0.29.20/go.mod h1:K8HbrPm/v8/emtGQ9+RsJXx6UPKC5JzS/FqK7pN+tMo= +github.com/pborman/getopt v1.1.0/go.mod h1:FxXoW1Re00sQG/+KIkuSqRL/LwQgSkv7uyac+STFsbk= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a h1:AKJY61V2SQtJ2a2PdeswKk0NM1qF77X+julRNYRxPOk= github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a/go.mod h1:KjY0wibdYKc4DYkerHSbguaf3JeIPGhNJBp2BNiFH78= +github.com/protocolbuffers/txtpbfmt v0.0.0-20240823084532-8e6b51fa9bef h1:ej+64jiny5VETZTqcc1GFVAPEtaSk6U1D0kKC2MS5Yc= +github.com/protocolbuffers/txtpbfmt v0.0.0-20240823084532-8e6b51fa9bef/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -77,7 +91,11 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c h1:7dEasQXItcW1xKJ2+gg5VOiBnqWrJc+rq0DPKyvvdbY= +golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c/go.mod h1:NQtJDoLvd6faHhE7m4T/1IY708gDefGGjR/iUW8yQQ8= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -96,6 +114,8 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -114,9 +134,13 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -124,6 +148,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -145,6 +171,8 @@ google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEY google.golang.org/genproto v0.0.0-20210811021853-ddbe55d93216/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed h1:J6izYgfBXAI3xTKLgxzTmUltdYaLsuBxFCgDHWJ/eXg= google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= @@ -155,6 +183,8 @@ google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -168,8 +198,11 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= From 066617a21664db533bb26a4807206fc58a50e81b Mon Sep 17 00:00:00 2001 From: Balaji Sundaravel Date: Wed, 2 Oct 2024 10:05:43 -0700 Subject: [PATCH 2/3] Project import generated by Copybara. PiperOrigin-RevId: 681495425 --- cache/cache.go | 15 +- cache/cache_test.go | 48 + cli/cli.go | 32 +- cli/cli_test.go | 84 + cmd/gnmi_cli/gnmi_cli.go | 6 + go.mod | 37 +- go.sum | 65 +- metadata/metadata.go | 29 +- metadata/metadata_test.go | 20 +- proto/collector/collector.pb.go | 219 -- proto/collector/collector_grpc.pb.go | 103 - proto/collector/collector_pb2.py | 127 - proto/collector/collector_pb2_grpc.py | 47 - proto/gnmi/gnmi.pb.go | 3067 ------------------------- proto/gnmi/gnmi_grpc.pb.go | 280 --- proto/gnmi/gnmi_pb2.py | 1824 --------------- proto/gnmi/gnmi_pb2_grpc.py | 113 - proto/gnmi_ext/gnmi_ext.pb.go | 1302 ----------- proto/gnmi_ext/gnmi_ext_pb2.py | 702 ------ proto/gnmi_ext/gnmi_ext_pb2_grpc.py | 3 - proto/target/target.pb.go | 460 ---- proto/target/target.proto | 4 +- proto/target/target_pb2.py | 420 ---- proto/target/target_pb2_grpc.py | 3 - testing/fake/gnmi/agent.go | 5 +- testing/fake/gnmi/client.go | 96 +- testing/fake/gnmi/gnmi_test.go | 79 + testing/fake/proto/fake.pb.go | 2563 --------------------- testing/fake/proto/fake_grpc.pb.go | 177 -- testing/fake/proto/fake_pb2.py | 1470 ------------ testing/fake/proto/fake_pb2_grpc.py | 80 - 31 files changed, 397 insertions(+), 13083 deletions(-) delete mode 100644 proto/collector/collector.pb.go delete mode 100644 proto/collector/collector_grpc.pb.go delete mode 100644 proto/collector/collector_pb2.py delete mode 100644 proto/collector/collector_pb2_grpc.py delete mode 100644 proto/gnmi/gnmi.pb.go delete mode 100644 proto/gnmi/gnmi_grpc.pb.go delete mode 100644 proto/gnmi/gnmi_pb2.py delete mode 100644 proto/gnmi/gnmi_pb2_grpc.py delete mode 100644 proto/gnmi_ext/gnmi_ext.pb.go delete mode 100644 proto/gnmi_ext/gnmi_ext_pb2.py delete mode 100644 proto/gnmi_ext/gnmi_ext_pb2_grpc.py delete mode 100644 proto/target/target.pb.go delete mode 100644 proto/target/target_pb2.py delete mode 100644 proto/target/target_pb2_grpc.py delete mode 100644 testing/fake/proto/fake.pb.go delete mode 100644 testing/fake/proto/fake_grpc.pb.go delete mode 100644 testing/fake/proto/fake_pb2.py delete mode 100644 testing/fake/proto/fake_pb2_grpc.py diff --git a/cache/cache.go b/cache/cache.go index 81cee86..0b974f1 100644 --- a/cache/cache.go +++ b/cache/cache.go @@ -67,6 +67,7 @@ type Target struct { ts time.Time // latest timestamp for an update excludedMeta stringset.Set // set of metadata not to generate update for futureThreshold time.Duration // how far in the future an update can be accepted + eventDriven bool // whether to emulate event driven } // Name returns the name of the target. @@ -83,6 +84,7 @@ type options struct { serverName string excludedUpdateMeta stringset.Set futureThreshold time.Duration + DisableEventDriven bool } // Option defines the function prototype to set options for creating a Cache. @@ -139,6 +141,16 @@ func WithFutureThreshold(futureThreshold time.Duration) Option { } } +// DisableEventDrivenEmulation returns an Option to disable event-driven +// emulation. Note that it only disables event-driven emulation. If the +// input data to Cache is already event-driven, this won't be able to +// disable the event-driven nature of the original data. +func DisableEventDrivenEmulation() Option { + return func(o *options) { + o.DisableEventDriven = true + } +} + // Cache is a structure holding state information for multiple targets. type Cache struct { opts options @@ -287,6 +299,7 @@ func (c *Cache) Add(target string) *Target { lat: latency.New(c.opts.latencyWindows, latOpts), excludedMeta: c.opts.excludedUpdateMeta, futureThreshold: c.opts.futureThreshold, + eventDriven: !c.opts.DisableEventDriven, } t.meta.SetStr(metadata.ServerName, c.opts.serverName) c.targets[target] = t @@ -556,7 +569,7 @@ func (t *Target) gnmiUpdate(n *pb.Notification) (*ctree.Leaf, error) { } oldval.Update(n) // Simulate event-driven for all non-atomic updates. - if !n.Atomic && value.Equal(old.Update[0].Val, n.Update[0].Val) { + if !n.Atomic && value.Equal(old.Update[0].Val, n.Update[0].Val) && t.eventDriven { t.meta.AddInt(metadata.SuppressedCount, 1) return nil, nil } diff --git a/cache/cache_test.go b/cache/cache_test.go index ce9245d..bd05173 100644 --- a/cache/cache_test.go +++ b/cache/cache_test.go @@ -216,6 +216,54 @@ func TestMetadataSuppressed(t *testing.T) { } } +func TestMetadataSuppressedWithEventDrivenDisabled(t *testing.T) { + c := New([]string{"dev1"}, DisableEventDrivenEmulation()) + // Unique values not suppressed. + for i := 0; i < 10; i++ { + c.GnmiUpdate(gnmiNotification("dev1", []string{"prefix", "path"}, []string{"update", "path"}, int64(i), strconv.Itoa(i), false)) + c.GetTarget("dev1").updateMeta(nil) + path := metadata.Path(metadata.SuppressedCount) + c.Query("dev1", path, func(_ []string, _ *ctree.Leaf, v any) error { + suppressedCount := v.(*pb.Notification).Update[0].Val.GetIntVal() + if suppressedCount != 0 { + t.Errorf("got suppressedCount = %d, want 0", suppressedCount) + } + return nil + }) + path = metadata.Path(metadata.UpdateCount) + c.Query("dev1", path, func(_ []string, _ *ctree.Leaf, v any) error { + updates := v.(*pb.Notification).Update[0].Val.GetIntVal() + if updates != int64(i+1) { + t.Errorf("got updates %d, want %d", updates, i+1) + } + return nil + }) + } + c.Reset("dev1") + + // Duplicate values also not suppressed. + for i := 0; i < 10; i++ { + c.GnmiUpdate(gnmiNotification("dev1", []string{"prefix", "path"}, []string{"update", "path"}, int64(i), "same value", false)) + c.GetTarget("dev1").updateMeta(nil) + path := metadata.Path(metadata.SuppressedCount) + c.Query("dev1", path, func(_ []string, _ *ctree.Leaf, v any) error { + suppressedCount := v.(*pb.Notification).Update[0].Val.GetIntVal() + if suppressedCount != 0 { + t.Errorf("got suppressedCount = %d, want 0", suppressedCount) + } + return nil + }) + path = metadata.Path(metadata.UpdateCount) + c.Query("dev1", path, func(_ []string, _ *ctree.Leaf, v any) error { + updates := v.(*pb.Notification).Update[0].Val.GetIntVal() + if updates != int64(i+1) { + t.Errorf("got updates %d, want %d", updates, i+1) + } + return nil + }) + } +} + func TestMetadataLatency(t *testing.T) { window := 2 * time.Second opt, _ := WithLatencyWindows([]string{"2s"}, 2*time.Second) diff --git a/cli/cli.go b/cli/cli.go index 0d3c4d6..222955f 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -47,6 +47,8 @@ var ( "p": "PROTO", "proto": "PROTO", "PROTO": "PROTO", "sp": "SHORTPROTO", "shortproto": "SHORTPROTO", "SHORTPROTO": "SHORTPROTO", } + // Stub for testing. + since = time.Since ) // Config is a type to hold parameters that affect how the cli sends and @@ -66,11 +68,14 @@ type Config struct { // on - human readable timestamp according to layout // raw - int64 nanos since epoch // - human readable timestamp according to - Timestamp string // Formatting of timestamp in result output. - DisplaySize bool - Latency bool // Show latency to client - ClientTypes []string // List of client types to try. - Location *time.Location // Location that time formatting uses in lieu of the local time zone. + Timestamp string // Formatting of timestamp in result output. + DisplaySize bool + Latency bool // Show latency to client. For single DisplayType only. + ClientTypes []string // List of client types to try. + Location *time.Location // Location that time formatting uses in lieu of the local time zone. + FilterDeletes bool // Filter out delete results. For single DisplayType only. + FilterUpdates bool // Filter out update results. For single DisplayType only. + FilterMinLatency time.Duration // Filter out results not meeting minimum latency. For single DisplayType only. } // QueryType returns a client query type for t after trying aliases for the @@ -160,6 +165,13 @@ func genHandler(cfg *Config) client.NotificationHandler { var buf bytes.Buffer // Reuse the same buffer in either case. iDisplay := func(p client.Path, v interface{}, ts time.Time) { buf.Reset() + var latency time.Duration + if cfg.Latency || cfg.FilterMinLatency > 0 { + latency = since(ts) + } + if cfg.FilterMinLatency > 0 && latency < cfg.FilterMinLatency { + return + } buf.WriteString(strings.Join(p, cfg.Delimiter)) buf.WriteString(fmt.Sprintf(", %v", v)) t := formatTime(ts, cfg) @@ -167,7 +179,7 @@ func genHandler(cfg *Config) client.NotificationHandler { buf.WriteString(fmt.Sprintf(", %v", t)) } if cfg.Latency { - buf.WriteString(fmt.Sprintf(", %s", time.Since(ts))) + buf.WriteString(fmt.Sprintf(", %s", latency)) } cfg.Display(buf.Bytes()) } @@ -176,9 +188,13 @@ func genHandler(cfg *Config) client.NotificationHandler { default: return fmt.Errorf("invalid type: %#v", v) case client.Update: - iDisplay(v.Path, v.Val, v.TS) + if !cfg.FilterUpdates { + iDisplay(v.Path, v.Val, v.TS) + } case client.Delete: - iDisplay(v.Path, v.Val, v.TS) + if !cfg.FilterDeletes { + iDisplay(v.Path, v.Val, v.TS) + } case client.Sync, client.Connected: case client.Error: return v diff --git a/cli/cli_test.go b/cli/cli_test.go index 66fcf89..25c26f2 100644 --- a/cli/cli_test.go +++ b/cli/cli_test.go @@ -71,6 +71,7 @@ func TestSendQueryAndDisplay(t *testing.T) { display := func(b []byte) { displayOut += string(b) + "\n" } + now := time.Unix(300, 0) tests := []struct { desc string updates []*fpb.Value @@ -78,6 +79,7 @@ func TestSendQueryAndDisplay(t *testing.T) { cfg Config want string sort bool + since func(time.Time) time.Duration }{{ desc: "single target single output with provided layout", updates: []*fpb.Value{ @@ -271,6 +273,84 @@ func TestSendQueryAndDisplay(t *testing.T) { want: `dev1/a/b, 5 dev1/a/c, 5 dev1/a/c, +`, + }, { + desc: "single target single output with FilterMinLatency", + updates: []*fpb.Value{ + {Path: []string{"a", "b"}, Value: &fpb.Value_IntValue{IntValue: &fpb.IntValue{Value: 5}}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: now.Add(-62 * time.Second).UnixNano()}}, + {Path: []string{"a", "c"}, Value: &fpb.Value_IntValue{IntValue: &fpb.IntValue{Value: 5}}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: now.Add(-59 * time.Second).UnixNano()}}, + {Path: []string{"a", "d"}, Value: &fpb.Value_IntValue{IntValue: &fpb.IntValue{Value: 7}}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: now.Add(-61 * time.Second).UnixNano()}}, + {Path: []string{"a", "e"}, Value: &fpb.Value_Delete{Delete: &fpb.DeleteValue{}}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: now.Add(-60 * time.Second).UnixNano()}}, + {Path: []string{"a", "f"}, Value: &fpb.Value_Delete{Delete: &fpb.DeleteValue{}}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: now.Add(-59 * time.Second).UnixNano()}}, + {Value: &fpb.Value_Sync{Sync: 1}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: now.Add(-59 * time.Second).UnixNano()}}, + }, + query: client.Query{ + Target: "dev1", + Queries: []client.Path{{"a"}}, + Type: client.Once, + TLS: &tls.Config{InsecureSkipVerify: true}, + }, + cfg: Config{ + Delimiter: "/", + Display: display, + DisplayPrefix: "", + DisplayIndent: " ", + DisplayType: "single", + FilterMinLatency: time.Minute, + }, + since: func(ts time.Time) time.Duration { return now.Sub(ts) }, + want: `dev1/a/b, 5 +dev1/a/d, 7 +dev1/a/e, +`, + }, { + desc: "single target single output with FilterDeletes", + updates: []*fpb.Value{ + {Path: []string{"a", "b"}, Value: &fpb.Value_IntValue{IntValue: &fpb.IntValue{Value: 5}}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: 100}}, + {Path: []string{"a", "c"}, Value: &fpb.Value_Delete{Delete: &fpb.DeleteValue{}}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: 101}}, + {Path: []string{"a", "d"}, Value: &fpb.Value_IntValue{IntValue: &fpb.IntValue{Value: 7}}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: 102}}, + {Value: &fpb.Value_Sync{Sync: 1}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: 103}}, + }, + query: client.Query{ + Target: "dev1", + Queries: []client.Path{{"a"}}, + Type: client.Once, + TLS: &tls.Config{InsecureSkipVerify: true}, + }, + cfg: Config{ + Delimiter: "/", + Display: display, + DisplayPrefix: "", + DisplayIndent: " ", + DisplayType: "single", + FilterDeletes: true, + }, + want: `dev1/a/b, 5 +dev1/a/d, 7 +`, + }, { + desc: "single target single output with FilterUpdates", + updates: []*fpb.Value{ + {Path: []string{"a", "b"}, Value: &fpb.Value_IntValue{IntValue: &fpb.IntValue{Value: 5}}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: 100}}, + {Path: []string{"a", "c"}, Value: &fpb.Value_Delete{Delete: &fpb.DeleteValue{}}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: 101}}, + {Path: []string{"a", "d"}, Value: &fpb.Value_IntValue{IntValue: &fpb.IntValue{Value: 7}}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: 102}}, + {Value: &fpb.Value_Sync{Sync: 1}, Repeat: 1, Timestamp: &fpb.Timestamp{Timestamp: 103}}, + }, + query: client.Query{ + Target: "dev1", + Queries: []client.Path{{"a"}}, + Type: client.Once, + TLS: &tls.Config{InsecureSkipVerify: true}, + }, + cfg: Config{ + Delimiter: "/", + Display: display, + DisplayPrefix: "", + DisplayIndent: " ", + DisplayType: "single", + FilterUpdates: true, + }, + want: `dev1/a/c, `, }, { desc: "single target multiple paths", @@ -717,6 +797,10 @@ sync_response: true } for _, tt := range tests { t.Run(tt.desc, func(t *testing.T) { + if tt.since != nil { + since = tt.since + defer func() { since = time.Since }() + } displayOut = "" s, err := gnmi.New( &fpb.Config{ diff --git a/cmd/gnmi_cli/gnmi_cli.go b/cmd/gnmi_cli/gnmi_cli.go index d9065e6..c20044e 100644 --- a/cmd/gnmi_cli/gnmi_cli.go +++ b/cmd/gnmi_cli/gnmi_cli.go @@ -101,6 +101,9 @@ func init() { flag.StringVar(&cfg.Timestamp, "timestamp", "", "Specify timestamp formatting in output. One of (, on, raw, ) where is disabled, on is human readable, raw is int64 nanos since epoch, and is according to golang time.Format()") flag.BoolVar(&cfg.DisplaySize, "display_size", false, "Display the total size of query response.") flag.BoolVar(&cfg.Latency, "latency", false, "Display the latency for receiving each update (Now - update timestamp).") + flag.DurationVar(&cfg.FilterMinLatency, "filter_min_latency", 0, "Filter out results with latency < the specified minium latency. No filtering if 0. Works with single display type only.") + flag.BoolVar(&cfg.FilterDeletes, "filter_deletes", false, "Filter out delete results. Works with single display type only.") + flag.BoolVar(&cfg.FilterUpdates, "filter_updates", false, "Filter out update results. Works with single display type only.") flag.StringVar(&q.TLS.ServerName, "server_name", "", "When set, CLI will use this hostname to verify server certificate during TLS handshake.") flag.BoolVar(&q.TLS.InsecureSkipVerify, "tls_skip_verify", false, "When set, CLI will not verify the server certificate during TLS handshake.") @@ -118,6 +121,9 @@ func init() { flag.DurationVar(&cfg.PollingInterval, "pi", cfg.PollingInterval, "Short for polling_interval.") flag.BoolVar(&cfg.DisplaySize, "ds", cfg.DisplaySize, "Short for display_size.") flag.BoolVar(&cfg.Latency, "l", cfg.Latency, "Short for latency.") + flag.DurationVar(&cfg.FilterMinLatency, "flml", 0, "Short for filter_min_latency.") + flag.BoolVar(&cfg.FilterDeletes, "fld", false, "Short for filter_deletes.") + flag.BoolVar(&cfg.FilterUpdates, "flu", false, "Short for filter_updates.") flag.StringVar(reqProto, "p", *reqProto, "Short for request proto.") } diff --git a/go.mod b/go.mod index 86998ec..776cbf0 100644 --- a/go.mod +++ b/go.mod @@ -1,31 +1,28 @@ module github.com/openconfig/gnmi -go 1.22.0 - -toolchain go1.22.5 +go 1.21 require ( bitbucket.org/creachadair/stringset v0.0.14 - github.com/cenkalti/backoff/v4 v4.3.0 - github.com/golang/glog v1.2.2 - github.com/google/go-cmp v0.6.0 + github.com/cenkalti/backoff/v4 v4.1.1 + github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b + github.com/google/go-cmp v0.5.7 github.com/kylelemons/godebug v1.1.0 - github.com/openconfig/grpctunnel v0.1.0 - github.com/openconfig/ygot v0.29.20 - github.com/protocolbuffers/txtpbfmt v0.0.0-20240823084532-8e6b51fa9bef - golang.org/x/crypto v0.28.0 - golang.org/x/net v0.30.0 - google.golang.org/grpc v1.67.1 - google.golang.org/protobuf v1.35.1 + github.com/openconfig/grpctunnel v0.0.0-20220819142823-6f5422b8ca70 + github.com/openconfig/ygot v0.6.0 + github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a + golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 + golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d + google.golang.org/grpc v1.40.0 + google.golang.org/protobuf v1.28.0 ) require ( - github.com/golang/protobuf v1.5.4 // indirect + github.com/golang/protobuf v1.5.2 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect - github.com/openconfig/goyang v1.6.0 // indirect - golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c // indirect - golang.org/x/sys v0.26.0 // indirect - golang.org/x/term v0.25.0 // indirect - golang.org/x/text v0.19.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect + github.com/openconfig/goyang v0.0.0-20200115183954-d0a48929f0ea // indirect + golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e // indirect + golang.org/x/text v0.3.7 // indirect + golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect + google.golang.org/genproto v0.0.0-20210811021853-ddbe55d93216 // indirect ) diff --git a/go.sum b/go.sum index 98e9666..f5c597a 100644 --- a/go.sum +++ b/go.sum @@ -7,8 +7,6 @@ github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAE github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/cenkalti/backoff/v4 v4.1.1 h1:G2HAfAmvm/GcKan2oOQpBXOd2tT2G57ZnZGWa1PxPBQ= github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -23,11 +21,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.2.1 h1:OptwRhECazUx5ix5TTWC3EZhsZEHWcYWY4FQHTIubm4= -github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= -github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= -github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -41,45 +36,33 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= -github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= -github.com/openconfig/gnmi v0.10.0/go.mod h1:Y9os75GmSkhHw2wX8sMsxfI7qRGAEcDh8NTa5a8vj6E= github.com/openconfig/goyang v0.0.0-20200115183954-d0a48929f0ea h1:5MyIz4bN4vpH6aHDN339bkWXAjTkhg1ZKMhR4aIi5Rk= github.com/openconfig/goyang v0.0.0-20200115183954-d0a48929f0ea/go.mod h1:dhXaV0JgHJzdrHi2l+w0fZrwArtXL7jEFoiqLEdmkvU= -github.com/openconfig/goyang v1.6.0 h1:JjnPbLY1/y28VyTO67LsEV0TaLWNiZyDcsppGq4F4is= -github.com/openconfig/goyang v1.6.0/go.mod h1:sdNZi/wdTZyLNBNfgLzmmbi7kISm7FskMDKKzMY+x1M= github.com/openconfig/grpctunnel v0.0.0-20220819142823-6f5422b8ca70 h1:t6SvvdfWCMlw0XPlsdxO8EgO+q/fXnTevDjdYREKFwU= github.com/openconfig/grpctunnel v0.0.0-20220819142823-6f5422b8ca70/go.mod h1:OmTWe7RyZj2CIzIgy4ovEBzCLBJzRvWSZmn7u02U9gU= -github.com/openconfig/grpctunnel v0.1.0 h1:EN99qtlExZczgQgp5ANnHRC/Rs62cAG+Tz2BQ5m/maM= -github.com/openconfig/grpctunnel v0.1.0/go.mod h1:G04Pdu0pml98tdvXrvLaU+EBo3PxYfI9MYqpvdaEHLo= github.com/openconfig/ygot v0.6.0 h1:kJJFPBrczC6TDnz/HMlFTJEdW2CuyUftV13XveIukg0= github.com/openconfig/ygot v0.6.0/go.mod h1:o30svNf7O0xK+R35tlx95odkDmZWS9JyWWQSmIhqwAs= -github.com/openconfig/ygot v0.29.20 h1:XHLpwCN91QuKc2LAvnEqtCmH8OuxgLlErDhrdl2mJw8= -github.com/openconfig/ygot v0.29.20/go.mod h1:K8HbrPm/v8/emtGQ9+RsJXx6UPKC5JzS/FqK7pN+tMo= -github.com/pborman/getopt v1.1.0/go.mod h1:FxXoW1Re00sQG/+KIkuSqRL/LwQgSkv7uyac+STFsbk= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a h1:AKJY61V2SQtJ2a2PdeswKk0NM1qF77X+julRNYRxPOk= github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a/go.mod h1:KjY0wibdYKc4DYkerHSbguaf3JeIPGhNJBp2BNiFH78= -github.com/protocolbuffers/txtpbfmt v0.0.0-20240823084532-8e6b51fa9bef h1:ej+64jiny5VETZTqcc1GFVAPEtaSk6U1D0kKC2MS5Yc= -github.com/protocolbuffers/txtpbfmt v0.0.0-20240823084532-8e6b51fa9bef/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -88,14 +71,9 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= -golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= -golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c h1:7dEasQXItcW1xKJ2+gg5VOiBnqWrJc+rq0DPKyvvdbY= -golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c/go.mod h1:NQtJDoLvd6faHhE7m4T/1IY708gDefGGjR/iUW8yQQ8= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -111,11 +89,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d h1:20cMwl2fHAzkJMEA+8J4JgqBQcQGzbisXo31MIeenXI= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= -golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -131,25 +106,15 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e h1:WUoyKPm6nCo1BnNUvPGnFG3T5DUVem42yDJZZ4CNxMA= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= -golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= -golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= -golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= -golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -161,6 +126,7 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -168,11 +134,8 @@ google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoA google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20210811021853-ddbe55d93216 h1:qnrhhl4uoNFepTqE28u11llFcDH07Z6r/cQxpGR97A4= google.golang.org/genproto v0.0.0-20210811021853-ddbe55d93216/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed h1:J6izYgfBXAI3xTKLgxzTmUltdYaLsuBxFCgDHWJ/eXg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= @@ -180,11 +143,8 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0 h1:AGJ0Ih4mHjSeibYkFGh1dD9KJ/eOtZ93I6hoHhukQ5Q= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= -google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= -google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -198,11 +158,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= -google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= -google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/metadata/metadata.go b/metadata/metadata.go index d9a6859..8465652 100644 --- a/metadata/metadata.go +++ b/metadata/metadata.go @@ -71,6 +71,20 @@ const ( ServerName = "serverName" ) +// ResetAction indicates which action to take for a metadata field when Reset +// is called. +type ResetAction int + +const ( + // DefaultValue will initialize the field's value to the default value of that + // type on Reset. + DefaultValue ResetAction = iota + // Delete will delete the field on Reset. + Delete + // Keep will leave the field's value as is on Reset. + Keep +) + // IntValue contains the path and other options for an int64 metadata. type IntValue struct { Path []string // Path of the int64 metadata @@ -90,7 +104,7 @@ func UnregisterIntValue(name string) { // StrValue contains the valid and the option to reset to emptry string. type StrValue struct { - InitEmptyStr bool // Whether to initiate to "". + ResetAction ResetAction } // RegisterStrValue registers a string type metadata. @@ -126,8 +140,8 @@ var ( // TargetStrValues is the list of all string metadata fields. TargetStrValues = map[string]*StrValue{ - ConnectedAddr: {InitEmptyStr: true}, - ConnectError: {InitEmptyStr: false}, + ConnectedAddr: {ResetAction: DefaultValue}, + ConnectError: {ResetAction: Delete}, } ) @@ -217,9 +231,9 @@ func (m *Metadata) ResetEntry(entry string) error { if validStr(entry) == nil { val := TargetStrValues[entry] - if val.InitEmptyStr { + if val.ResetAction == DefaultValue { m.SetStr(entry, "") - } else { + } else if val.ResetAction == Delete { m.mu.Lock() delete(m.valuesStr, entry) m.mu.Unlock() @@ -352,7 +366,10 @@ func RegisterLatencyMetadata(windowSizes []time.Duration) { // RegisterServerNameMetadata registers the serverName metadata. func RegisterServerNameMetadata() { - RegisterStrValue(ServerName, &StrValue{InitEmptyStr: false}) + // We don't want the serverName to be deleted or initialized to an empty + // string on clear, because it won't be reset automatically. The serverName + // should not change, so it will not be cleared (i.e., no action). + RegisterStrValue(ServerName, &StrValue{ResetAction: Keep}) } // UnregisterServerNameMetadata registers the serverName metadata. diff --git a/metadata/metadata_test.go b/metadata/metadata_test.go index 3f0d9b5..c1301d2 100644 --- a/metadata/metadata_test.go +++ b/metadata/metadata_test.go @@ -74,7 +74,7 @@ func TestGetBool(t *testing.T) { func TestGetStr(t *testing.T) { m := New() for k, val := range TargetStrValues { - if !val.InitEmptyStr { + if val.ResetAction == Delete { m.SetStr(k, "") } v, err := m.GetStr(k) @@ -225,7 +225,7 @@ func TestResetEntry(t *testing.T) { m.ResetEntry(k) v, err := m.GetStr(k) - if !val.InitEmptyStr { + if val.ResetAction == Delete { if err == nil { t.Errorf("ResetEntry for %q failed. Expect not exist, but found.", k) } @@ -240,6 +240,16 @@ func TestResetEntry(t *testing.T) { } + RegisterServerNameMetadata() + m.SetStr(ServerName, "yy") + m.ResetEntry(ServerName) + if n, err := m.GetStr(ServerName); err != nil { + t.Errorf("ResetEntry for %q failed with error: %v", ServerName, err) + } else if n != "yy" { + t.Errorf("ResetEntry for %q failed. got %q, want %q", ServerName, n, "yy") + } + UnregisterServerNameMetadata() + if err := m.ResetEntry("unsupported"); err == nil { t.Errorf("ResetEntry expected error, but got nil") } @@ -278,7 +288,7 @@ func TestClear(t *testing.T) { for k, val := range TargetStrValues { v, err := m.GetStr(k) - if !val.InitEmptyStr { + if val.ResetAction == Delete { if err == nil { t.Errorf("ResetEntry for %q failed. Expect not exist, but found.", k) } @@ -334,4 +344,8 @@ func TestRegisterServerNameMetadata(t *testing.T) { if diff := cmp.Diff(want, path); diff != "" { t.Fatalf("Path(%q) returned diff (+got-want): %v", ServerName, diff) } + strVal := TargetStrValues[ServerName] + if strVal.ResetAction != Keep { + t.Fatalf("The serverName's TargetStrValues[%q] = %v, want noAction", ServerName, TargetStrValues[ServerName]) + } } diff --git a/proto/collector/collector.pb.go b/proto/collector/collector.pb.go deleted file mode 100644 index ef858ca..0000000 --- a/proto/collector/collector.pb.go +++ /dev/null @@ -1,219 +0,0 @@ -// -// Copyright 2020 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.0 -// source: proto/collector/collector.proto - -package gnmi - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type ReconnectRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Target []string `protobuf:"bytes,1,rep,name=target,proto3" json:"target,omitempty"` // List of targets to reconnect. -} - -func (x *ReconnectRequest) Reset() { - *x = ReconnectRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_collector_collector_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ReconnectRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReconnectRequest) ProtoMessage() {} - -func (x *ReconnectRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_collector_collector_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReconnectRequest.ProtoReflect.Descriptor instead. -func (*ReconnectRequest) Descriptor() ([]byte, []int) { - return file_proto_collector_collector_proto_rawDescGZIP(), []int{0} -} - -func (x *ReconnectRequest) GetTarget() []string { - if x != nil { - return x.Target - } - return nil -} - -type Nil struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *Nil) Reset() { - *x = Nil{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_collector_collector_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Nil) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Nil) ProtoMessage() {} - -func (x *Nil) ProtoReflect() protoreflect.Message { - mi := &file_proto_collector_collector_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Nil.ProtoReflect.Descriptor instead. -func (*Nil) Descriptor() ([]byte, []int) { - return file_proto_collector_collector_proto_rawDescGZIP(), []int{1} -} - -var File_proto_collector_collector_proto protoreflect.FileDescriptor - -var file_proto_collector_collector_proto_rawDesc = []byte{ - 0x0a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x04, 0x67, 0x6e, 0x6d, 0x69, 0x22, 0x2a, 0x0a, 0x10, 0x52, 0x65, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x22, 0x05, 0x0a, 0x03, 0x4e, 0x69, 0x6c, 0x32, 0x3d, 0x0a, 0x09, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x52, 0x65, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x09, 0x2e, 0x67, - 0x6e, 0x6d, 0x69, 0x2e, 0x4e, 0x69, 0x6c, 0x22, 0x00, 0x42, 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x3b, 0x67, 0x6e, 0x6d, 0x69, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_proto_collector_collector_proto_rawDescOnce sync.Once - file_proto_collector_collector_proto_rawDescData = file_proto_collector_collector_proto_rawDesc -) - -func file_proto_collector_collector_proto_rawDescGZIP() []byte { - file_proto_collector_collector_proto_rawDescOnce.Do(func() { - file_proto_collector_collector_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_collector_collector_proto_rawDescData) - }) - return file_proto_collector_collector_proto_rawDescData -} - -var file_proto_collector_collector_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_proto_collector_collector_proto_goTypes = []interface{}{ - (*ReconnectRequest)(nil), // 0: gnmi.ReconnectRequest - (*Nil)(nil), // 1: gnmi.Nil -} -var file_proto_collector_collector_proto_depIdxs = []int32{ - 0, // 0: gnmi.Collector.Reconnect:input_type -> gnmi.ReconnectRequest - 1, // 1: gnmi.Collector.Reconnect:output_type -> gnmi.Nil - 1, // [1:2] is the sub-list for method output_type - 0, // [0:1] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_proto_collector_collector_proto_init() } -func file_proto_collector_collector_proto_init() { - if File_proto_collector_collector_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_proto_collector_collector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReconnectRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_collector_collector_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Nil); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_collector_collector_proto_rawDesc, - NumEnums: 0, - NumMessages: 2, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_proto_collector_collector_proto_goTypes, - DependencyIndexes: file_proto_collector_collector_proto_depIdxs, - MessageInfos: file_proto_collector_collector_proto_msgTypes, - }.Build() - File_proto_collector_collector_proto = out.File - file_proto_collector_collector_proto_rawDesc = nil - file_proto_collector_collector_proto_goTypes = nil - file_proto_collector_collector_proto_depIdxs = nil -} diff --git a/proto/collector/collector_grpc.pb.go b/proto/collector/collector_grpc.pb.go deleted file mode 100644 index 806013f..0000000 --- a/proto/collector/collector_grpc.pb.go +++ /dev/null @@ -1,103 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. - -package gnmi - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// CollectorClient is the client API for Collector service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type CollectorClient interface { - // Reconnect requests that the existing connections for one or more specified - // targets will be stopped and new connections established. - Reconnect(ctx context.Context, in *ReconnectRequest, opts ...grpc.CallOption) (*Nil, error) -} - -type collectorClient struct { - cc grpc.ClientConnInterface -} - -func NewCollectorClient(cc grpc.ClientConnInterface) CollectorClient { - return &collectorClient{cc} -} - -func (c *collectorClient) Reconnect(ctx context.Context, in *ReconnectRequest, opts ...grpc.CallOption) (*Nil, error) { - out := new(Nil) - err := c.cc.Invoke(ctx, "/gnmi.Collector/Reconnect", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// CollectorServer is the server API for Collector service. -// All implementations should embed UnimplementedCollectorServer -// for forward compatibility -type CollectorServer interface { - // Reconnect requests that the existing connections for one or more specified - // targets will be stopped and new connections established. - Reconnect(context.Context, *ReconnectRequest) (*Nil, error) -} - -// UnimplementedCollectorServer should be embedded to have forward compatible implementations. -type UnimplementedCollectorServer struct { -} - -func (UnimplementedCollectorServer) Reconnect(context.Context, *ReconnectRequest) (*Nil, error) { - return nil, status.Errorf(codes.Unimplemented, "method Reconnect not implemented") -} - -// UnsafeCollectorServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to CollectorServer will -// result in compilation errors. -type UnsafeCollectorServer interface { - mustEmbedUnimplementedCollectorServer() -} - -func RegisterCollectorServer(s grpc.ServiceRegistrar, srv CollectorServer) { - s.RegisterService(&Collector_ServiceDesc, srv) -} - -func _Collector_Reconnect_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ReconnectRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CollectorServer).Reconnect(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gnmi.Collector/Reconnect", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CollectorServer).Reconnect(ctx, req.(*ReconnectRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// Collector_ServiceDesc is the grpc.ServiceDesc for Collector service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var Collector_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "gnmi.Collector", - HandlerType: (*CollectorServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Reconnect", - Handler: _Collector_Reconnect_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "proto/collector/collector.proto", -} diff --git a/proto/collector/collector_pb2.py b/proto/collector/collector_pb2.py deleted file mode 100644 index b696ad3..0000000 --- a/proto/collector/collector_pb2.py +++ /dev/null @@ -1,127 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: proto/collector/collector.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='proto/collector/collector.proto', - package='gnmi', - syntax='proto3', - serialized_pb=_b('\n\x1fproto/collector/collector.proto\x12\x04gnmi\"\"\n\x10ReconnectRequest\x12\x0e\n\x06target\x18\x01 \x03(\t\"\x05\n\x03Nil2=\n\tCollector\x12\x30\n\tReconnect\x12\x16.gnmi.ReconnectRequest\x1a\t.gnmi.Nil\"\x00\x42\x31Z/github.com/openconfig/gnmi/proto/collector;gnmib\x06proto3') -) - - - - -_RECONNECTREQUEST = _descriptor.Descriptor( - name='ReconnectRequest', - full_name='gnmi.ReconnectRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='target', full_name='gnmi.ReconnectRequest.target', index=0, - number=1, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=41, - serialized_end=75, -) - - -_NIL = _descriptor.Descriptor( - name='Nil', - full_name='gnmi.Nil', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=77, - serialized_end=82, -) - -DESCRIPTOR.message_types_by_name['ReconnectRequest'] = _RECONNECTREQUEST -DESCRIPTOR.message_types_by_name['Nil'] = _NIL -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -ReconnectRequest = _reflection.GeneratedProtocolMessageType('ReconnectRequest', (_message.Message,), dict( - DESCRIPTOR = _RECONNECTREQUEST, - __module__ = 'proto.collector.collector_pb2' - # @@protoc_insertion_point(class_scope:gnmi.ReconnectRequest) - )) -_sym_db.RegisterMessage(ReconnectRequest) - -Nil = _reflection.GeneratedProtocolMessageType('Nil', (_message.Message,), dict( - DESCRIPTOR = _NIL, - __module__ = 'proto.collector.collector_pb2' - # @@protoc_insertion_point(class_scope:gnmi.Nil) - )) -_sym_db.RegisterMessage(Nil) - - -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z/github.com/openconfig/gnmi/proto/collector;gnmi')) - -_COLLECTOR = _descriptor.ServiceDescriptor( - name='Collector', - full_name='gnmi.Collector', - file=DESCRIPTOR, - index=0, - options=None, - serialized_start=84, - serialized_end=145, - methods=[ - _descriptor.MethodDescriptor( - name='Reconnect', - full_name='gnmi.Collector.Reconnect', - index=0, - containing_service=None, - input_type=_RECONNECTREQUEST, - output_type=_NIL, - options=None, - ), -]) -_sym_db.RegisterServiceDescriptor(_COLLECTOR) - -DESCRIPTOR.services_by_name['Collector'] = _COLLECTOR - -# @@protoc_insertion_point(module_scope) diff --git a/proto/collector/collector_pb2_grpc.py b/proto/collector/collector_pb2_grpc.py deleted file mode 100644 index f623a4e..0000000 --- a/proto/collector/collector_pb2_grpc.py +++ /dev/null @@ -1,47 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - -from proto.collector import collector_pb2 as proto_dot_collector_dot_collector__pb2 - - -class CollectorStub(object): - # missing associated documentation comment in .proto file - pass - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.Reconnect = channel.unary_unary( - '/gnmi.Collector/Reconnect', - request_serializer=proto_dot_collector_dot_collector__pb2.ReconnectRequest.SerializeToString, - response_deserializer=proto_dot_collector_dot_collector__pb2.Nil.FromString, - ) - - -class CollectorServicer(object): - # missing associated documentation comment in .proto file - pass - - def Reconnect(self, request, context): - """Reconnect requests that the existing connections for one or more specified - targets will be stopped and new connections established. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_CollectorServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Reconnect': grpc.unary_unary_rpc_method_handler( - servicer.Reconnect, - request_deserializer=proto_dot_collector_dot_collector__pb2.ReconnectRequest.FromString, - response_serializer=proto_dot_collector_dot_collector__pb2.Nil.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'gnmi.Collector', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) diff --git a/proto/gnmi/gnmi.pb.go b/proto/gnmi/gnmi.pb.go deleted file mode 100644 index e9e67c8..0000000 --- a/proto/gnmi/gnmi.pb.go +++ /dev/null @@ -1,3067 +0,0 @@ -// -// Copyright 2016 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.0 -// source: proto/gnmi/gnmi.proto - -// Package gNMI defines a service specification for the gRPC Network Management -// Interface. This interface is defined to be a standard interface via which -// a network management system ("client") can subscribe to state values, -// retrieve snapshots of state information, and manipulate the state of a data -// tree supported by a device ("target"). -// -// This document references the gNMI Specification which can be found at -// http://github.com/openconfig/reference/blob/master/rpc/gnmi - -package gnmi - -import ( - gnmi_ext "github.com/openconfig/gnmi/proto/gnmi_ext" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - descriptorpb "google.golang.org/protobuf/types/descriptorpb" - anypb "google.golang.org/protobuf/types/known/anypb" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// Encoding defines the value encoding formats that are supported by the gNMI -// protocol. These encodings are used by both the client (when sending Set -// messages to modify the state of the target) and the target when serializing -// data to be returned to the client (in both Subscribe and Get RPCs). -// Reference: gNMI Specification Section 2.3 -type Encoding int32 - -const ( - Encoding_JSON Encoding = 0 // JSON encoded text. - Encoding_BYTES Encoding = 1 // Arbitrarily encoded bytes. - Encoding_PROTO Encoding = 2 // Encoded according to scalar values of TypedValue. - Encoding_ASCII Encoding = 3 // ASCII text of an out-of-band agreed format. - Encoding_JSON_IETF Encoding = 4 // JSON encoded text as per RFC7951. -) - -// Enum value maps for Encoding. -var ( - Encoding_name = map[int32]string{ - 0: "JSON", - 1: "BYTES", - 2: "PROTO", - 3: "ASCII", - 4: "JSON_IETF", - } - Encoding_value = map[string]int32{ - "JSON": 0, - "BYTES": 1, - "PROTO": 2, - "ASCII": 3, - "JSON_IETF": 4, - } -) - -func (x Encoding) Enum() *Encoding { - p := new(Encoding) - *p = x - return p -} - -func (x Encoding) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Encoding) Descriptor() protoreflect.EnumDescriptor { - return file_proto_gnmi_gnmi_proto_enumTypes[0].Descriptor() -} - -func (Encoding) Type() protoreflect.EnumType { - return &file_proto_gnmi_gnmi_proto_enumTypes[0] -} - -func (x Encoding) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Encoding.Descriptor instead. -func (Encoding) EnumDescriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{0} -} - -// SubscriptionMode is the mode of the subscription, specifying how the -// target must return values in a subscription. -// Reference: gNMI Specification Section 3.5.1.3 -type SubscriptionMode int32 - -const ( - SubscriptionMode_TARGET_DEFINED SubscriptionMode = 0 // The target selects the relevant mode for each element. - SubscriptionMode_ON_CHANGE SubscriptionMode = 1 // The target sends an update on element value change. - SubscriptionMode_SAMPLE SubscriptionMode = 2 // The target samples values according to the interval. -) - -// Enum value maps for SubscriptionMode. -var ( - SubscriptionMode_name = map[int32]string{ - 0: "TARGET_DEFINED", - 1: "ON_CHANGE", - 2: "SAMPLE", - } - SubscriptionMode_value = map[string]int32{ - "TARGET_DEFINED": 0, - "ON_CHANGE": 1, - "SAMPLE": 2, - } -) - -func (x SubscriptionMode) Enum() *SubscriptionMode { - p := new(SubscriptionMode) - *p = x - return p -} - -func (x SubscriptionMode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SubscriptionMode) Descriptor() protoreflect.EnumDescriptor { - return file_proto_gnmi_gnmi_proto_enumTypes[1].Descriptor() -} - -func (SubscriptionMode) Type() protoreflect.EnumType { - return &file_proto_gnmi_gnmi_proto_enumTypes[1] -} - -func (x SubscriptionMode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SubscriptionMode.Descriptor instead. -func (SubscriptionMode) EnumDescriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{1} -} - -// Mode of the subscription. -type SubscriptionList_Mode int32 - -const ( - SubscriptionList_STREAM SubscriptionList_Mode = 0 // Values streamed by the target (Sec. 3.5.1.5.2). - SubscriptionList_ONCE SubscriptionList_Mode = 1 // Values sent once-off by the target (Sec. 3.5.1.5.1). - SubscriptionList_POLL SubscriptionList_Mode = 2 // Values sent in response to a poll request (Sec. 3.5.1.5.3). -) - -// Enum value maps for SubscriptionList_Mode. -var ( - SubscriptionList_Mode_name = map[int32]string{ - 0: "STREAM", - 1: "ONCE", - 2: "POLL", - } - SubscriptionList_Mode_value = map[string]int32{ - "STREAM": 0, - "ONCE": 1, - "POLL": 2, - } -) - -func (x SubscriptionList_Mode) Enum() *SubscriptionList_Mode { - p := new(SubscriptionList_Mode) - *p = x - return p -} - -func (x SubscriptionList_Mode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SubscriptionList_Mode) Descriptor() protoreflect.EnumDescriptor { - return file_proto_gnmi_gnmi_proto_enumTypes[2].Descriptor() -} - -func (SubscriptionList_Mode) Type() protoreflect.EnumType { - return &file_proto_gnmi_gnmi_proto_enumTypes[2] -} - -func (x SubscriptionList_Mode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SubscriptionList_Mode.Descriptor instead. -func (SubscriptionList_Mode) EnumDescriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{12, 0} -} - -// The operation that was associated with the Path specified. -type UpdateResult_Operation int32 - -const ( - UpdateResult_INVALID UpdateResult_Operation = 0 - UpdateResult_DELETE UpdateResult_Operation = 1 // The result relates to a delete of Path. - UpdateResult_REPLACE UpdateResult_Operation = 2 // The result relates to a replace of Path. - UpdateResult_UPDATE UpdateResult_Operation = 3 // The result relates to an update of Path. - UpdateResult_UNION_REPLACE UpdateResult_Operation = 4 // The result of a union_replace of Path or CLI origin. -) - -// Enum value maps for UpdateResult_Operation. -var ( - UpdateResult_Operation_name = map[int32]string{ - 0: "INVALID", - 1: "DELETE", - 2: "REPLACE", - 3: "UPDATE", - 4: "UNION_REPLACE", - } - UpdateResult_Operation_value = map[string]int32{ - "INVALID": 0, - "DELETE": 1, - "REPLACE": 2, - "UPDATE": 3, - "UNION_REPLACE": 4, - } -) - -func (x UpdateResult_Operation) Enum() *UpdateResult_Operation { - p := new(UpdateResult_Operation) - *p = x - return p -} - -func (x UpdateResult_Operation) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (UpdateResult_Operation) Descriptor() protoreflect.EnumDescriptor { - return file_proto_gnmi_gnmi_proto_enumTypes[3].Descriptor() -} - -func (UpdateResult_Operation) Type() protoreflect.EnumType { - return &file_proto_gnmi_gnmi_proto_enumTypes[3] -} - -func (x UpdateResult_Operation) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UpdateResult_Operation.Descriptor instead. -func (UpdateResult_Operation) EnumDescriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{17, 0} -} - -// Type of elements within the data tree. -type GetRequest_DataType int32 - -const ( - GetRequest_ALL GetRequest_DataType = 0 // All data elements. - GetRequest_CONFIG GetRequest_DataType = 1 // Config (rw) only elements. - GetRequest_STATE GetRequest_DataType = 2 // State (ro) only elements. - // Data elements marked in the schema as operational. This refers to data - // elements whose value relates to the state of processes or interactions - // running on the device. - GetRequest_OPERATIONAL GetRequest_DataType = 3 -) - -// Enum value maps for GetRequest_DataType. -var ( - GetRequest_DataType_name = map[int32]string{ - 0: "ALL", - 1: "CONFIG", - 2: "STATE", - 3: "OPERATIONAL", - } - GetRequest_DataType_value = map[string]int32{ - "ALL": 0, - "CONFIG": 1, - "STATE": 2, - "OPERATIONAL": 3, - } -) - -func (x GetRequest_DataType) Enum() *GetRequest_DataType { - p := new(GetRequest_DataType) - *p = x - return p -} - -func (x GetRequest_DataType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (GetRequest_DataType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_gnmi_gnmi_proto_enumTypes[4].Descriptor() -} - -func (GetRequest_DataType) Type() protoreflect.EnumType { - return &file_proto_gnmi_gnmi_proto_enumTypes[4] -} - -func (x GetRequest_DataType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use GetRequest_DataType.Descriptor instead. -func (GetRequest_DataType) EnumDescriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{18, 0} -} - -// Notification is a re-usable message that is used to encode data from the -// target to the client. A Notification carries two types of changes to the data -// tree: -// - Deleted values (delete) - a set of paths that have been removed from the -// data tree. -// - Updated values (update) - a set of path-value pairs indicating the path -// whose value has changed in the data tree. -// -// Reference: gNMI Specification Section 2.1 -type Notification struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. - Prefix *Path `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` // Prefix used for paths in the message. - Update []*Update `protobuf:"bytes,4,rep,name=update,proto3" json:"update,omitempty"` // Data elements that have changed values. - Delete []*Path `protobuf:"bytes,5,rep,name=delete,proto3" json:"delete,omitempty"` // Data elements that have been deleted. - // This notification contains a set of paths that are always updated together - // referenced by a globally unique prefix. - Atomic bool `protobuf:"varint,6,opt,name=atomic,proto3" json:"atomic,omitempty"` -} - -func (x *Notification) Reset() { - *x = Notification{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Notification) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Notification) ProtoMessage() {} - -func (x *Notification) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Notification.ProtoReflect.Descriptor instead. -func (*Notification) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{0} -} - -func (x *Notification) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *Notification) GetPrefix() *Path { - if x != nil { - return x.Prefix - } - return nil -} - -func (x *Notification) GetUpdate() []*Update { - if x != nil { - return x.Update - } - return nil -} - -func (x *Notification) GetDelete() []*Path { - if x != nil { - return x.Delete - } - return nil -} - -func (x *Notification) GetAtomic() bool { - if x != nil { - return x.Atomic - } - return false -} - -// Update is a re-usable message that is used to store a particular Path, -// Value pair. -// Reference: gNMI Specification Section 2.1 -type Update struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Path *Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // The path (key) for the update. - // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. - Value *Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // The value (value) for the update. - Val *TypedValue `protobuf:"bytes,3,opt,name=val,proto3" json:"val,omitempty"` // The explicitly typed update value. - Duplicates uint32 `protobuf:"varint,4,opt,name=duplicates,proto3" json:"duplicates,omitempty"` // Number of coalesced duplicates. -} - -func (x *Update) Reset() { - *x = Update{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Update) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Update) ProtoMessage() {} - -func (x *Update) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Update.ProtoReflect.Descriptor instead. -func (*Update) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{1} -} - -func (x *Update) GetPath() *Path { - if x != nil { - return x.Path - } - return nil -} - -// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. -func (x *Update) GetValue() *Value { - if x != nil { - return x.Value - } - return nil -} - -func (x *Update) GetVal() *TypedValue { - if x != nil { - return x.Val - } - return nil -} - -func (x *Update) GetDuplicates() uint32 { - if x != nil { - return x.Duplicates - } - return 0 -} - -// TypedValue is used to encode a value being sent between the client and -// target (originated by either entity). -type TypedValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // One of the fields within the val oneof is populated with the value - // of the update. The type of the value being included in the Update - // determines which field should be populated. In the case that the - // encoding is a particular form of the base protobuf type, a specific - // field is used to store the value (e.g., json_val). - // - // Types that are assignable to Value: - // - // *TypedValue_StringVal - // *TypedValue_IntVal - // *TypedValue_UintVal - // *TypedValue_BoolVal - // *TypedValue_BytesVal - // *TypedValue_FloatVal - // *TypedValue_DoubleVal - // *TypedValue_DecimalVal - // *TypedValue_LeaflistVal - // *TypedValue_AnyVal - // *TypedValue_JsonVal - // *TypedValue_JsonIetfVal - // *TypedValue_AsciiVal - // *TypedValue_ProtoBytes - Value isTypedValue_Value `protobuf_oneof:"value"` -} - -func (x *TypedValue) Reset() { - *x = TypedValue{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TypedValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TypedValue) ProtoMessage() {} - -func (x *TypedValue) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TypedValue.ProtoReflect.Descriptor instead. -func (*TypedValue) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{2} -} - -func (m *TypedValue) GetValue() isTypedValue_Value { - if m != nil { - return m.Value - } - return nil -} - -func (x *TypedValue) GetStringVal() string { - if x, ok := x.GetValue().(*TypedValue_StringVal); ok { - return x.StringVal - } - return "" -} - -func (x *TypedValue) GetIntVal() int64 { - if x, ok := x.GetValue().(*TypedValue_IntVal); ok { - return x.IntVal - } - return 0 -} - -func (x *TypedValue) GetUintVal() uint64 { - if x, ok := x.GetValue().(*TypedValue_UintVal); ok { - return x.UintVal - } - return 0 -} - -func (x *TypedValue) GetBoolVal() bool { - if x, ok := x.GetValue().(*TypedValue_BoolVal); ok { - return x.BoolVal - } - return false -} - -func (x *TypedValue) GetBytesVal() []byte { - if x, ok := x.GetValue().(*TypedValue_BytesVal); ok { - return x.BytesVal - } - return nil -} - -// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. -func (x *TypedValue) GetFloatVal() float32 { - if x, ok := x.GetValue().(*TypedValue_FloatVal); ok { - return x.FloatVal - } - return 0 -} - -func (x *TypedValue) GetDoubleVal() float64 { - if x, ok := x.GetValue().(*TypedValue_DoubleVal); ok { - return x.DoubleVal - } - return 0 -} - -// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. -func (x *TypedValue) GetDecimalVal() *Decimal64 { - if x, ok := x.GetValue().(*TypedValue_DecimalVal); ok { - return x.DecimalVal - } - return nil -} - -func (x *TypedValue) GetLeaflistVal() *ScalarArray { - if x, ok := x.GetValue().(*TypedValue_LeaflistVal); ok { - return x.LeaflistVal - } - return nil -} - -func (x *TypedValue) GetAnyVal() *anypb.Any { - if x, ok := x.GetValue().(*TypedValue_AnyVal); ok { - return x.AnyVal - } - return nil -} - -func (x *TypedValue) GetJsonVal() []byte { - if x, ok := x.GetValue().(*TypedValue_JsonVal); ok { - return x.JsonVal - } - return nil -} - -func (x *TypedValue) GetJsonIetfVal() []byte { - if x, ok := x.GetValue().(*TypedValue_JsonIetfVal); ok { - return x.JsonIetfVal - } - return nil -} - -func (x *TypedValue) GetAsciiVal() string { - if x, ok := x.GetValue().(*TypedValue_AsciiVal); ok { - return x.AsciiVal - } - return "" -} - -func (x *TypedValue) GetProtoBytes() []byte { - if x, ok := x.GetValue().(*TypedValue_ProtoBytes); ok { - return x.ProtoBytes - } - return nil -} - -type isTypedValue_Value interface { - isTypedValue_Value() -} - -type TypedValue_StringVal struct { - StringVal string `protobuf:"bytes,1,opt,name=string_val,json=stringVal,proto3,oneof"` // String value. -} - -type TypedValue_IntVal struct { - IntVal int64 `protobuf:"varint,2,opt,name=int_val,json=intVal,proto3,oneof"` // Integer value. -} - -type TypedValue_UintVal struct { - UintVal uint64 `protobuf:"varint,3,opt,name=uint_val,json=uintVal,proto3,oneof"` // Unsigned integer value. -} - -type TypedValue_BoolVal struct { - BoolVal bool `protobuf:"varint,4,opt,name=bool_val,json=boolVal,proto3,oneof"` // Bool value. -} - -type TypedValue_BytesVal struct { - BytesVal []byte `protobuf:"bytes,5,opt,name=bytes_val,json=bytesVal,proto3,oneof"` // Arbitrary byte sequence value. -} - -type TypedValue_FloatVal struct { - // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. - FloatVal float32 `protobuf:"fixed32,6,opt,name=float_val,json=floatVal,proto3,oneof"` // Deprecated - use double_val. -} - -type TypedValue_DoubleVal struct { - DoubleVal float64 `protobuf:"fixed64,14,opt,name=double_val,json=doubleVal,proto3,oneof"` // Floating point value. -} - -type TypedValue_DecimalVal struct { - // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. - DecimalVal *Decimal64 `protobuf:"bytes,7,opt,name=decimal_val,json=decimalVal,proto3,oneof"` // Deprecated - use double_val. -} - -type TypedValue_LeaflistVal struct { - LeaflistVal *ScalarArray `protobuf:"bytes,8,opt,name=leaflist_val,json=leaflistVal,proto3,oneof"` // Mixed type scalar array value. -} - -type TypedValue_AnyVal struct { - AnyVal *anypb.Any `protobuf:"bytes,9,opt,name=any_val,json=anyVal,proto3,oneof"` // protobuf.Any encoded bytes. -} - -type TypedValue_JsonVal struct { - JsonVal []byte `protobuf:"bytes,10,opt,name=json_val,json=jsonVal,proto3,oneof"` // JSON-encoded text. -} - -type TypedValue_JsonIetfVal struct { - JsonIetfVal []byte `protobuf:"bytes,11,opt,name=json_ietf_val,json=jsonIetfVal,proto3,oneof"` // JSON-encoded text per RFC7951. -} - -type TypedValue_AsciiVal struct { - AsciiVal string `protobuf:"bytes,12,opt,name=ascii_val,json=asciiVal,proto3,oneof"` // Arbitrary ASCII text. -} - -type TypedValue_ProtoBytes struct { - // Protobuf binary encoded bytes. The message type is not included. - // See the specification at - // github.com/openconfig/reference/blob/master/rpc/gnmi/protobuf-vals.md - // for a complete specification. [Experimental] - ProtoBytes []byte `protobuf:"bytes,13,opt,name=proto_bytes,json=protoBytes,proto3,oneof"` -} - -func (*TypedValue_StringVal) isTypedValue_Value() {} - -func (*TypedValue_IntVal) isTypedValue_Value() {} - -func (*TypedValue_UintVal) isTypedValue_Value() {} - -func (*TypedValue_BoolVal) isTypedValue_Value() {} - -func (*TypedValue_BytesVal) isTypedValue_Value() {} - -func (*TypedValue_FloatVal) isTypedValue_Value() {} - -func (*TypedValue_DoubleVal) isTypedValue_Value() {} - -func (*TypedValue_DecimalVal) isTypedValue_Value() {} - -func (*TypedValue_LeaflistVal) isTypedValue_Value() {} - -func (*TypedValue_AnyVal) isTypedValue_Value() {} - -func (*TypedValue_JsonVal) isTypedValue_Value() {} - -func (*TypedValue_JsonIetfVal) isTypedValue_Value() {} - -func (*TypedValue_AsciiVal) isTypedValue_Value() {} - -func (*TypedValue_ProtoBytes) isTypedValue_Value() {} - -// Path encodes a data tree path as a series of repeated strings, with -// each element of the path representing a data tree node name and the -// associated attributes. -// Reference: gNMI Specification Section 2.2.2. -type Path struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Elements of the path are no longer encoded as a string, but rather within - // the elem field as a PathElem message. - // - // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. - Element []string `protobuf:"bytes,1,rep,name=element,proto3" json:"element,omitempty"` - Origin string `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin,omitempty"` // Label to disambiguate path. - Elem []*PathElem `protobuf:"bytes,3,rep,name=elem,proto3" json:"elem,omitempty"` // Elements of the path. - Target string `protobuf:"bytes,4,opt,name=target,proto3" json:"target,omitempty"` // The name of the target -} - -func (x *Path) Reset() { - *x = Path{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Path) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Path) ProtoMessage() {} - -func (x *Path) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Path.ProtoReflect.Descriptor instead. -func (*Path) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{3} -} - -// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. -func (x *Path) GetElement() []string { - if x != nil { - return x.Element - } - return nil -} - -func (x *Path) GetOrigin() string { - if x != nil { - return x.Origin - } - return "" -} - -func (x *Path) GetElem() []*PathElem { - if x != nil { - return x.Elem - } - return nil -} - -func (x *Path) GetTarget() string { - if x != nil { - return x.Target - } - return "" -} - -// PathElem encodes an element of a gNMI path, along with any attributes (keys) -// that may be associated with it. -// Reference: gNMI Specification Section 2.2.2. -type PathElem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The name of the element in the path. - Key map[string]string `protobuf:"bytes,2,rep,name=key,proto3" json:"key,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Map of key (attribute) name to value. -} - -func (x *PathElem) Reset() { - *x = PathElem{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PathElem) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PathElem) ProtoMessage() {} - -func (x *PathElem) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PathElem.ProtoReflect.Descriptor instead. -func (*PathElem) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{4} -} - -func (x *PathElem) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *PathElem) GetKey() map[string]string { - if x != nil { - return x.Key - } - return nil -} - -// Value encodes a data tree node's value - along with the way in which -// the value is encoded. This message is deprecated by gNMI 0.3.0. -// Reference: gNMI Specification Section 2.2.3. -// -// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. -type Value struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` // Value of the variable being transmitted. - Type Encoding `protobuf:"varint,2,opt,name=type,proto3,enum=gnmi.Encoding" json:"type,omitempty"` // Encoding used for the value field. -} - -func (x *Value) Reset() { - *x = Value{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Value) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Value) ProtoMessage() {} - -func (x *Value) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Value.ProtoReflect.Descriptor instead. -func (*Value) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{5} -} - -func (x *Value) GetValue() []byte { - if x != nil { - return x.Value - } - return nil -} - -func (x *Value) GetType() Encoding { - if x != nil { - return x.Type - } - return Encoding_JSON -} - -// Error message previously utilised to return errors to the client. Deprecated -// in favour of using the google.golang.org/genproto/googleapis/rpc/status -// message in the RPC response. -// Reference: gNMI Specification Section 2.5 -// -// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. -type Error struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // Canonical gRPC error code. - Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // Human readable error. - Data *anypb.Any `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` // Optional additional information. -} - -func (x *Error) Reset() { - *x = Error{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Error) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Error) ProtoMessage() {} - -func (x *Error) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Error.ProtoReflect.Descriptor instead. -func (*Error) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{6} -} - -func (x *Error) GetCode() uint32 { - if x != nil { - return x.Code - } - return 0 -} - -func (x *Error) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -func (x *Error) GetData() *anypb.Any { - if x != nil { - return x.Data - } - return nil -} - -// Decimal64 is used to encode a fixed precision decimal number. The value -// is expressed as a set of digits with the precision specifying the -// number of digits following the decimal point in the digit set. -// This message is deprecated in favor of encoding all floating point types -// as double precision. -// -// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. -type Decimal64 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Digits int64 `protobuf:"varint,1,opt,name=digits,proto3" json:"digits,omitempty"` // Set of digits. - Precision uint32 `protobuf:"varint,2,opt,name=precision,proto3" json:"precision,omitempty"` // Number of digits following the decimal point. -} - -func (x *Decimal64) Reset() { - *x = Decimal64{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Decimal64) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Decimal64) ProtoMessage() {} - -func (x *Decimal64) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Decimal64.ProtoReflect.Descriptor instead. -func (*Decimal64) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{7} -} - -func (x *Decimal64) GetDigits() int64 { - if x != nil { - return x.Digits - } - return 0 -} - -func (x *Decimal64) GetPrecision() uint32 { - if x != nil { - return x.Precision - } - return 0 -} - -// ScalarArray is used to encode a mixed-type array of values. -type ScalarArray struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The set of elements within the array. Each TypedValue message should - // specify only elements that have a field identifier of 1-7 (i.e., the - // values are scalar values). - Element []*TypedValue `protobuf:"bytes,1,rep,name=element,proto3" json:"element,omitempty"` -} - -func (x *ScalarArray) Reset() { - *x = ScalarArray{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ScalarArray) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ScalarArray) ProtoMessage() {} - -func (x *ScalarArray) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ScalarArray.ProtoReflect.Descriptor instead. -func (*ScalarArray) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{8} -} - -func (x *ScalarArray) GetElement() []*TypedValue { - if x != nil { - return x.Element - } - return nil -} - -// SubscribeRequest is the message sent by the client to the target when -// initiating a subscription to a set of paths within the data tree. The -// request field must be populated and the initial message must specify a -// SubscriptionList to initiate a subscription. -// Reference: gNMI Specification Section 3.5.1.1 -type SubscribeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Request: - // - // *SubscribeRequest_Subscribe - // *SubscribeRequest_Poll - Request isSubscribeRequest_Request `protobuf_oneof:"request"` - // Extension messages associated with the SubscribeRequest. See the - // gNMI extension specification for further definition. - Extension []*gnmi_ext.Extension `protobuf:"bytes,5,rep,name=extension,proto3" json:"extension,omitempty"` -} - -func (x *SubscribeRequest) Reset() { - *x = SubscribeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeRequest) ProtoMessage() {} - -func (x *SubscribeRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubscribeRequest.ProtoReflect.Descriptor instead. -func (*SubscribeRequest) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{9} -} - -func (m *SubscribeRequest) GetRequest() isSubscribeRequest_Request { - if m != nil { - return m.Request - } - return nil -} - -func (x *SubscribeRequest) GetSubscribe() *SubscriptionList { - if x, ok := x.GetRequest().(*SubscribeRequest_Subscribe); ok { - return x.Subscribe - } - return nil -} - -func (x *SubscribeRequest) GetPoll() *Poll { - if x, ok := x.GetRequest().(*SubscribeRequest_Poll); ok { - return x.Poll - } - return nil -} - -func (x *SubscribeRequest) GetExtension() []*gnmi_ext.Extension { - if x != nil { - return x.Extension - } - return nil -} - -type isSubscribeRequest_Request interface { - isSubscribeRequest_Request() -} - -type SubscribeRequest_Subscribe struct { - Subscribe *SubscriptionList `protobuf:"bytes,1,opt,name=subscribe,proto3,oneof"` // Specify the paths within a subscription. -} - -type SubscribeRequest_Poll struct { - Poll *Poll `protobuf:"bytes,3,opt,name=poll,proto3,oneof"` // Trigger a polled update. -} - -func (*SubscribeRequest_Subscribe) isSubscribeRequest_Request() {} - -func (*SubscribeRequest_Poll) isSubscribeRequest_Request() {} - -// Poll is sent within a SubscribeRequest to trigger the device to -// send telemetry updates for the paths that are associated with the -// subscription. -// Reference: gNMI Specification Section Section 3.5.1.4 -type Poll struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *Poll) Reset() { - *x = Poll{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Poll) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Poll) ProtoMessage() {} - -func (x *Poll) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Poll.ProtoReflect.Descriptor instead. -func (*Poll) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{10} -} - -// SubscribeResponse is the message used by the target within a Subscribe RPC. -// The target includes a Notification message which is used to transmit values -// of the path(s) that are associated with the subscription. The same message -// is to indicate that the target has sent all data values once (is -// synchronized). -// Reference: gNMI Specification Section 3.5.1.4 -type SubscribeResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Response: - // - // *SubscribeResponse_Update - // *SubscribeResponse_SyncResponse - // *SubscribeResponse_Error - Response isSubscribeResponse_Response `protobuf_oneof:"response"` - // Extension messages associated with the SubscribeResponse. See the - // gNMI extension specification for further definition. - Extension []*gnmi_ext.Extension `protobuf:"bytes,5,rep,name=extension,proto3" json:"extension,omitempty"` -} - -func (x *SubscribeResponse) Reset() { - *x = SubscribeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeResponse) ProtoMessage() {} - -func (x *SubscribeResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubscribeResponse.ProtoReflect.Descriptor instead. -func (*SubscribeResponse) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{11} -} - -func (m *SubscribeResponse) GetResponse() isSubscribeResponse_Response { - if m != nil { - return m.Response - } - return nil -} - -func (x *SubscribeResponse) GetUpdate() *Notification { - if x, ok := x.GetResponse().(*SubscribeResponse_Update); ok { - return x.Update - } - return nil -} - -func (x *SubscribeResponse) GetSyncResponse() bool { - if x, ok := x.GetResponse().(*SubscribeResponse_SyncResponse); ok { - return x.SyncResponse - } - return false -} - -// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. -func (x *SubscribeResponse) GetError() *Error { - if x, ok := x.GetResponse().(*SubscribeResponse_Error); ok { - return x.Error - } - return nil -} - -func (x *SubscribeResponse) GetExtension() []*gnmi_ext.Extension { - if x != nil { - return x.Extension - } - return nil -} - -type isSubscribeResponse_Response interface { - isSubscribeResponse_Response() -} - -type SubscribeResponse_Update struct { - Update *Notification `protobuf:"bytes,1,opt,name=update,proto3,oneof"` // Changed or sampled value for a path. -} - -type SubscribeResponse_SyncResponse struct { - // Indicate target has sent all values associated with the subscription - // at least once. - SyncResponse bool `protobuf:"varint,3,opt,name=sync_response,json=syncResponse,proto3,oneof"` -} - -type SubscribeResponse_Error struct { - // Deprecated in favour of google.golang.org/genproto/googleapis/rpc/status - // - // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. - Error *Error `protobuf:"bytes,4,opt,name=error,proto3,oneof"` -} - -func (*SubscribeResponse_Update) isSubscribeResponse_Response() {} - -func (*SubscribeResponse_SyncResponse) isSubscribeResponse_Response() {} - -func (*SubscribeResponse_Error) isSubscribeResponse_Response() {} - -// SubscriptionList is used within a Subscribe message to specify the list of -// paths that the client wishes to subscribe to. The message consists of a -// list of (possibly prefixed) paths, and options that relate to the -// subscription. -// Reference: gNMI Specification Section 3.5.1.2 -type SubscriptionList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Prefix *Path `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` // Prefix used for paths. - Subscription []*Subscription `protobuf:"bytes,2,rep,name=subscription,proto3" json:"subscription,omitempty"` // Set of subscriptions to create. - Qos *QOSMarking `protobuf:"bytes,4,opt,name=qos,proto3" json:"qos,omitempty"` // DSCP marking to be used. - Mode SubscriptionList_Mode `protobuf:"varint,5,opt,name=mode,proto3,enum=gnmi.SubscriptionList_Mode" json:"mode,omitempty"` - // Whether elements of the schema that are marked as eligible for aggregation - // should be aggregated or not. - AllowAggregation bool `protobuf:"varint,6,opt,name=allow_aggregation,json=allowAggregation,proto3" json:"allow_aggregation,omitempty"` - // The set of schemas that define the elements of the data tree that should - // be sent by the target. - UseModels []*ModelData `protobuf:"bytes,7,rep,name=use_models,json=useModels,proto3" json:"use_models,omitempty"` - // The encoding that the target should use within the Notifications generated - // corresponding to the SubscriptionList. - Encoding Encoding `protobuf:"varint,8,opt,name=encoding,proto3,enum=gnmi.Encoding" json:"encoding,omitempty"` - // An optional field to specify that only updates to current state should be - // sent to a client. If set, the initial state is not sent to the client but - // rather only the sync message followed by any subsequent updates to the - // current state. For ONCE and POLL modes, this causes the server to send only - // the sync message (Sec. 3.5.2.3). - UpdatesOnly bool `protobuf:"varint,9,opt,name=updates_only,json=updatesOnly,proto3" json:"updates_only,omitempty"` -} - -func (x *SubscriptionList) Reset() { - *x = SubscriptionList{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscriptionList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscriptionList) ProtoMessage() {} - -func (x *SubscriptionList) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubscriptionList.ProtoReflect.Descriptor instead. -func (*SubscriptionList) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{12} -} - -func (x *SubscriptionList) GetPrefix() *Path { - if x != nil { - return x.Prefix - } - return nil -} - -func (x *SubscriptionList) GetSubscription() []*Subscription { - if x != nil { - return x.Subscription - } - return nil -} - -func (x *SubscriptionList) GetQos() *QOSMarking { - if x != nil { - return x.Qos - } - return nil -} - -func (x *SubscriptionList) GetMode() SubscriptionList_Mode { - if x != nil { - return x.Mode - } - return SubscriptionList_STREAM -} - -func (x *SubscriptionList) GetAllowAggregation() bool { - if x != nil { - return x.AllowAggregation - } - return false -} - -func (x *SubscriptionList) GetUseModels() []*ModelData { - if x != nil { - return x.UseModels - } - return nil -} - -func (x *SubscriptionList) GetEncoding() Encoding { - if x != nil { - return x.Encoding - } - return Encoding_JSON -} - -func (x *SubscriptionList) GetUpdatesOnly() bool { - if x != nil { - return x.UpdatesOnly - } - return false -} - -// Subscription is a single request within a SubscriptionList. The path -// specified is interpreted (along with the prefix) as the elements of the data -// tree that the client is subscribing to. The mode determines how the target -// should trigger updates to be sent. -// Reference: gNMI Specification Section 3.5.1.3 -type Subscription struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Path *Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // The data tree path. - Mode SubscriptionMode `protobuf:"varint,2,opt,name=mode,proto3,enum=gnmi.SubscriptionMode" json:"mode,omitempty"` // Subscription mode to be used. - SampleInterval uint64 `protobuf:"varint,3,opt,name=sample_interval,json=sampleInterval,proto3" json:"sample_interval,omitempty"` // ns between samples in SAMPLE mode. - // Indicates whether values that have not changed should be sent in a SAMPLE - // subscription. - SuppressRedundant bool `protobuf:"varint,4,opt,name=suppress_redundant,json=suppressRedundant,proto3" json:"suppress_redundant,omitempty"` - // 1. A heartbeat interval MAY be specified along with an “on change” - // subscription - in this case, the value of the data item(s) MUST be re-sent - // once per heartbeat interval regardless of whether the value has changed or - // not. - // 2. A heartbeat_interval MAY be specified to modify the behavior of - // suppress_redundant in a sampled subscription. In this case, the - // target MUST generate one telemetry update per heartbeat interval, - // regardless of whether the suppress_redundant flag is set to true. - // This value is specified as an unsigned 64-bit integer in nanoseconds - HeartbeatInterval uint64 `protobuf:"varint,5,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"` -} - -func (x *Subscription) Reset() { - *x = Subscription{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Subscription) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Subscription) ProtoMessage() {} - -func (x *Subscription) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Subscription.ProtoReflect.Descriptor instead. -func (*Subscription) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{13} -} - -func (x *Subscription) GetPath() *Path { - if x != nil { - return x.Path - } - return nil -} - -func (x *Subscription) GetMode() SubscriptionMode { - if x != nil { - return x.Mode - } - return SubscriptionMode_TARGET_DEFINED -} - -func (x *Subscription) GetSampleInterval() uint64 { - if x != nil { - return x.SampleInterval - } - return 0 -} - -func (x *Subscription) GetSuppressRedundant() bool { - if x != nil { - return x.SuppressRedundant - } - return false -} - -func (x *Subscription) GetHeartbeatInterval() uint64 { - if x != nil { - return x.HeartbeatInterval - } - return 0 -} - -// QOSMarking specifies the DSCP value to be set on transmitted telemetry -// updates from the target. -// Reference: gNMI Specification Section 3.5.1.2 -type QOSMarking struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Marking uint32 `protobuf:"varint,1,opt,name=marking,proto3" json:"marking,omitempty"` -} - -func (x *QOSMarking) Reset() { - *x = QOSMarking{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QOSMarking) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QOSMarking) ProtoMessage() {} - -func (x *QOSMarking) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QOSMarking.ProtoReflect.Descriptor instead. -func (*QOSMarking) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{14} -} - -func (x *QOSMarking) GetMarking() uint32 { - if x != nil { - return x.Marking - } - return 0 -} - -// SetRequest is sent from a client to the target to update values in the data -// tree. Paths are either deleted by the client, or modified by means of being -// updated, or replaced. Where a replace is used, unspecified values are -// considered to be replaced, whereas when update is used the changes are -// considered to be incremental. The set of changes that are specified within -// a single SetRequest are considered to be a transaction. -// Reference: gNMI Specification Section 3.4.1 -type SetRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Prefix *Path `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` // Prefix used for paths in the message. - Delete []*Path `protobuf:"bytes,2,rep,name=delete,proto3" json:"delete,omitempty"` // Paths to be deleted from the data tree. - Replace []*Update `protobuf:"bytes,3,rep,name=replace,proto3" json:"replace,omitempty"` // Updates specifying elements to be replaced. - Update []*Update `protobuf:"bytes,4,rep,name=update,proto3" json:"update,omitempty"` // Updates specifying elements to updated. - // Updates specifying elements to union and then replace the data tree. - // See the gNMI specification at - // https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md - // for details. - UnionReplace []*Update `protobuf:"bytes,6,rep,name=union_replace,json=unionReplace,proto3" json:"union_replace,omitempty"` - // Extension messages associated with the SetRequest. See the - // gNMI extension specification for further definition. - Extension []*gnmi_ext.Extension `protobuf:"bytes,5,rep,name=extension,proto3" json:"extension,omitempty"` -} - -func (x *SetRequest) Reset() { - *x = SetRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetRequest) ProtoMessage() {} - -func (x *SetRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetRequest.ProtoReflect.Descriptor instead. -func (*SetRequest) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{15} -} - -func (x *SetRequest) GetPrefix() *Path { - if x != nil { - return x.Prefix - } - return nil -} - -func (x *SetRequest) GetDelete() []*Path { - if x != nil { - return x.Delete - } - return nil -} - -func (x *SetRequest) GetReplace() []*Update { - if x != nil { - return x.Replace - } - return nil -} - -func (x *SetRequest) GetUpdate() []*Update { - if x != nil { - return x.Update - } - return nil -} - -func (x *SetRequest) GetUnionReplace() []*Update { - if x != nil { - return x.UnionReplace - } - return nil -} - -func (x *SetRequest) GetExtension() []*gnmi_ext.Extension { - if x != nil { - return x.Extension - } - return nil -} - -// SetResponse is the response to a SetRequest, sent from the target to the -// client. It reports the result of the modifications to the data tree that were -// specified by the client. Errors for this RPC should be reported using the -// https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto -// message in the RPC return. The gnmi.Error message can be used to add -// additional details where required. Reference: gNMI Specification -// Section 3.4.2 -type SetResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Prefix *Path `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` // Prefix used for paths. - // A set of responses specifying the result of the operations specified in - // the SetRequest. - Response []*UpdateResult `protobuf:"bytes,2,rep,name=response,proto3" json:"response,omitempty"` - // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. - Message *Error `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // The overall status of the transaction. - Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp of transaction (ns since epoch). - // Extension messages associated with the SetResponse. See the - // gNMI extension specification for further definition. - Extension []*gnmi_ext.Extension `protobuf:"bytes,5,rep,name=extension,proto3" json:"extension,omitempty"` -} - -func (x *SetResponse) Reset() { - *x = SetResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetResponse) ProtoMessage() {} - -func (x *SetResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetResponse.ProtoReflect.Descriptor instead. -func (*SetResponse) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{16} -} - -func (x *SetResponse) GetPrefix() *Path { - if x != nil { - return x.Prefix - } - return nil -} - -func (x *SetResponse) GetResponse() []*UpdateResult { - if x != nil { - return x.Response - } - return nil -} - -// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. -func (x *SetResponse) GetMessage() *Error { - if x != nil { - return x.Message - } - return nil -} - -func (x *SetResponse) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *SetResponse) GetExtension() []*gnmi_ext.Extension { - if x != nil { - return x.Extension - } - return nil -} - -// UpdateResult is used within the SetResponse message to communicate the -// result of an operation specified within a SetRequest message. -// Reference: gNMI Specification Section 3.4.2 -type UpdateResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Deprecated timestamp for the UpdateResult, this field has been - // replaced by the timestamp within the SetResponse message, since - // all mutations effected by a set should be applied as a single - // transaction. - // - // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Path *Path `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // Path associated with the update. - // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. - Message *Error `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // Status of the update operation. - Op UpdateResult_Operation `protobuf:"varint,4,opt,name=op,proto3,enum=gnmi.UpdateResult_Operation" json:"op,omitempty"` // Update operation type. -} - -func (x *UpdateResult) Reset() { - *x = UpdateResult{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateResult) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateResult) ProtoMessage() {} - -func (x *UpdateResult) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateResult.ProtoReflect.Descriptor instead. -func (*UpdateResult) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{17} -} - -// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. -func (x *UpdateResult) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *UpdateResult) GetPath() *Path { - if x != nil { - return x.Path - } - return nil -} - -// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. -func (x *UpdateResult) GetMessage() *Error { - if x != nil { - return x.Message - } - return nil -} - -func (x *UpdateResult) GetOp() UpdateResult_Operation { - if x != nil { - return x.Op - } - return UpdateResult_INVALID -} - -// GetRequest is sent when a client initiates a Get RPC. It is used to specify -// the set of data elements for which the target should return a snapshot of -// data. The use_models field specifies the set of schema modules that are to -// be used by the target - where use_models is not specified then the target -// must use all schema models that it has. -// Reference: gNMI Specification Section 3.3.1 -type GetRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Prefix *Path `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` // Prefix used for paths. - Path []*Path `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` // Paths requested by the client. - Type GetRequest_DataType `protobuf:"varint,3,opt,name=type,proto3,enum=gnmi.GetRequest_DataType" json:"type,omitempty"` // The type of data being requested. - Encoding Encoding `protobuf:"varint,5,opt,name=encoding,proto3,enum=gnmi.Encoding" json:"encoding,omitempty"` // Encoding to be used. - UseModels []*ModelData `protobuf:"bytes,6,rep,name=use_models,json=useModels,proto3" json:"use_models,omitempty"` // The schema models to be used. - // Extension messages associated with the GetRequest. See the - // gNMI extension specification for further definition. - Extension []*gnmi_ext.Extension `protobuf:"bytes,7,rep,name=extension,proto3" json:"extension,omitempty"` -} - -func (x *GetRequest) Reset() { - *x = GetRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetRequest) ProtoMessage() {} - -func (x *GetRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetRequest.ProtoReflect.Descriptor instead. -func (*GetRequest) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{18} -} - -func (x *GetRequest) GetPrefix() *Path { - if x != nil { - return x.Prefix - } - return nil -} - -func (x *GetRequest) GetPath() []*Path { - if x != nil { - return x.Path - } - return nil -} - -func (x *GetRequest) GetType() GetRequest_DataType { - if x != nil { - return x.Type - } - return GetRequest_ALL -} - -func (x *GetRequest) GetEncoding() Encoding { - if x != nil { - return x.Encoding - } - return Encoding_JSON -} - -func (x *GetRequest) GetUseModels() []*ModelData { - if x != nil { - return x.UseModels - } - return nil -} - -func (x *GetRequest) GetExtension() []*gnmi_ext.Extension { - if x != nil { - return x.Extension - } - return nil -} - -// GetResponse is used by the target to respond to a GetRequest from a client. -// The set of Notifications corresponds to the data values that are requested -// by the client in the GetRequest. -// Reference: gNMI Specification Section 3.3.2 -type GetResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Notification []*Notification `protobuf:"bytes,1,rep,name=notification,proto3" json:"notification,omitempty"` // Data values. - // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. - Error *Error `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` // Errors that occurred in the Get. - // Extension messages associated with the GetResponse. See the - // gNMI extension specification for further definition. - Extension []*gnmi_ext.Extension `protobuf:"bytes,3,rep,name=extension,proto3" json:"extension,omitempty"` -} - -func (x *GetResponse) Reset() { - *x = GetResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetResponse) ProtoMessage() {} - -func (x *GetResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetResponse.ProtoReflect.Descriptor instead. -func (*GetResponse) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{19} -} - -func (x *GetResponse) GetNotification() []*Notification { - if x != nil { - return x.Notification - } - return nil -} - -// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. -func (x *GetResponse) GetError() *Error { - if x != nil { - return x.Error - } - return nil -} - -func (x *GetResponse) GetExtension() []*gnmi_ext.Extension { - if x != nil { - return x.Extension - } - return nil -} - -// CapabilityRequest is sent by the client in the Capabilities RPC to request -// that the target reports its capabilities. -// Reference: gNMI Specification Section 3.2.1 -type CapabilityRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Extension messages associated with the CapabilityRequest. See the - // gNMI extension specification for further definition. - Extension []*gnmi_ext.Extension `protobuf:"bytes,1,rep,name=extension,proto3" json:"extension,omitempty"` -} - -func (x *CapabilityRequest) Reset() { - *x = CapabilityRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CapabilityRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CapabilityRequest) ProtoMessage() {} - -func (x *CapabilityRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CapabilityRequest.ProtoReflect.Descriptor instead. -func (*CapabilityRequest) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{20} -} - -func (x *CapabilityRequest) GetExtension() []*gnmi_ext.Extension { - if x != nil { - return x.Extension - } - return nil -} - -// CapabilityResponse is used by the target to report its capabilities to the -// client within the Capabilities RPC. -// Reference: gNMI Specification Section 3.2.2 -type CapabilityResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SupportedModels []*ModelData `protobuf:"bytes,1,rep,name=supported_models,json=supportedModels,proto3" json:"supported_models,omitempty"` // Supported schema models. - SupportedEncodings []Encoding `protobuf:"varint,2,rep,packed,name=supported_encodings,json=supportedEncodings,proto3,enum=gnmi.Encoding" json:"supported_encodings,omitempty"` // Supported encodings. - GNMIVersion string `protobuf:"bytes,3,opt,name=gNMI_version,json=gNMIVersion,proto3" json:"gNMI_version,omitempty"` // Supported gNMI version. - // Extension messages associated with the CapabilityResponse. See the - // gNMI extension specification for further definition. - Extension []*gnmi_ext.Extension `protobuf:"bytes,4,rep,name=extension,proto3" json:"extension,omitempty"` -} - -func (x *CapabilityResponse) Reset() { - *x = CapabilityResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CapabilityResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CapabilityResponse) ProtoMessage() {} - -func (x *CapabilityResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CapabilityResponse.ProtoReflect.Descriptor instead. -func (*CapabilityResponse) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{21} -} - -func (x *CapabilityResponse) GetSupportedModels() []*ModelData { - if x != nil { - return x.SupportedModels - } - return nil -} - -func (x *CapabilityResponse) GetSupportedEncodings() []Encoding { - if x != nil { - return x.SupportedEncodings - } - return nil -} - -func (x *CapabilityResponse) GetGNMIVersion() string { - if x != nil { - return x.GNMIVersion - } - return "" -} - -func (x *CapabilityResponse) GetExtension() []*gnmi_ext.Extension { - if x != nil { - return x.Extension - } - return nil -} - -// ModelData is used to describe a set of schema modules. It can be used in a -// CapabilityResponse where a target reports the set of modules that it -// supports, and within the SubscribeRequest and GetRequest messages to specify -// the set of models from which data tree elements should be reported. -// Reference: gNMI Specification Section 3.2.3 -type ModelData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Name of the model. - Organization string `protobuf:"bytes,2,opt,name=organization,proto3" json:"organization,omitempty"` // Organization publishing the model. - Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // Semantic version of the model. -} - -func (x *ModelData) Reset() { - *x = ModelData{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ModelData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ModelData) ProtoMessage() {} - -func (x *ModelData) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_gnmi_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ModelData.ProtoReflect.Descriptor instead. -func (*ModelData) Descriptor() ([]byte, []int) { - return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{22} -} - -func (x *ModelData) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ModelData) GetOrganization() string { - if x != nil { - return x.Organization - } - return "" -} - -func (x *ModelData) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - -var file_proto_gnmi_gnmi_proto_extTypes = []protoimpl.ExtensionInfo{ - { - ExtendedType: (*descriptorpb.FileOptions)(nil), - ExtensionType: (*string)(nil), - Field: 1001, - Name: "gnmi.gnmi_service", - Tag: "bytes,1001,opt,name=gnmi_service", - Filename: "proto/gnmi/gnmi.proto", - }, -} - -// Extension fields to descriptorpb.FileOptions. -var ( - // The gNMI service semantic version. - // - // optional string gnmi_service = 1001; - E_GnmiService = &file_proto_gnmi_gnmi_proto_extTypes[0] -) - -var File_proto_gnmi_gnmi_proto protoreflect.FileDescriptor - -var file_proto_gnmi_gnmi_proto_rawDesc = []byte{ - 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x67, 0x6e, 0x6d, - 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x67, 0x6e, 0x6d, 0x69, 0x1a, 0x19, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, - 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, - 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x22, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, - 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, - 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, - 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, - 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0a, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x54, 0x79, 0x70, - 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, - 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0x94, 0x04, 0x0a, - 0x0a, 0x54, 0x79, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x07, - 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, - 0x06, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x75, 0x69, 0x6e, 0x74, 0x5f, - 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x07, 0x75, 0x69, 0x6e, - 0x74, 0x56, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, - 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x62, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, - 0x12, 0x21, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x08, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x56, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0a, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, - 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x64, 0x6f, 0x75, 0x62, 0x6c, - 0x65, 0x56, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x0b, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x5f, - 0x76, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x6e, 0x6d, 0x69, - 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x36, 0x34, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, - 0x52, 0x0a, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x0c, - 0x6c, 0x65, 0x61, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, - 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x65, 0x61, 0x66, 0x6c, 0x69, 0x73, - 0x74, 0x56, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x07, 0x61, 0x6e, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x06, 0x61, - 0x6e, 0x79, 0x56, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x76, 0x61, - 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x6a, 0x73, 0x6f, 0x6e, 0x56, - 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x65, 0x74, 0x66, 0x5f, - 0x76, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x6a, 0x73, 0x6f, - 0x6e, 0x49, 0x65, 0x74, 0x66, 0x56, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x61, 0x73, 0x63, 0x69, - 0x69, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x61, - 0x73, 0x63, 0x69, 0x69, 0x56, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x78, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x07, 0x65, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x65, 0x6d, 0x52, - 0x04, 0x65, 0x6c, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x81, 0x01, - 0x0a, 0x08, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x65, 0x6d, 0x2e, 0x4b, 0x65, 0x79, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x36, 0x0a, 0x08, 0x4b, 0x65, 0x79, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x45, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x22, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, - 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x63, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x45, 0x0a, - 0x09, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x36, 0x34, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, - 0x67, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x69, 0x67, 0x69, - 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x3a, 0x02, 0x18, 0x01, 0x22, 0x39, 0x0a, 0x0b, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x54, 0x79, 0x70, 0x65, - 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, - 0xb9, 0x01, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x20, 0x0a, 0x04, - 0x70, 0x6f, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, - 0x69, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6c, 0x6c, 0x12, 0x31, - 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x04, 0x08, 0x04, - 0x10, 0x05, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x22, 0x06, 0x0a, 0x04, 0x50, - 0x6f, 0x6c, 0x6c, 0x22, 0xd0, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6e, 0x6d, 0x69, - 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, - 0x52, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, - 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaa, 0x03, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, - 0x36, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x03, 0x71, 0x6f, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x51, 0x4f, 0x53, 0x4d, - 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x03, 0x71, 0x6f, 0x73, 0x12, 0x2f, 0x0a, 0x04, 0x6d, - 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x6e, 0x6d, 0x69, - 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, - 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x0a, 0x75, 0x73, 0x65, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, - 0x75, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x65, 0x6e, 0x63, - 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x65, 0x6e, 0x63, - 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, - 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x26, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, - 0x4f, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x4c, 0x4c, 0x10, 0x02, - 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, - 0x73, 0x65, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, - 0x70, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, - 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x75, 0x70, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x72, - 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x0a, 0x51, 0x4f, 0x53, 0x4d, 0x61, - 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, - 0x88, 0x02, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, - 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, - 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x12, 0x22, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x06, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x24, - 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x0d, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x75, 0x6e, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, - 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xdd, 0x01, 0x0a, 0x0b, 0x53, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, - 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2e, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, - 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xfb, 0x01, 0x0a, 0x0c, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, 0x22, 0x50, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, - 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, - 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x52, - 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x04, 0x22, 0xcb, 0x02, 0x0a, 0x0a, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, - 0x61, 0x74, 0x68, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1e, 0x0a, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, 0x69, - 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x2d, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x6e, 0x6d, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x65, 0x6e, - 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x67, - 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x65, 0x6e, - 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x6e, 0x6d, - 0x69, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x75, 0x73, 0x65, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, - 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3b, 0x0a, 0x08, 0x44, 0x61, 0x74, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0a, - 0x0a, 0x06, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x03, 0x22, 0x9f, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, - 0x6e, 0x6d, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, - 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x11, 0x43, 0x61, 0x70, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, - 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0xe7, 0x01, 0x0a, 0x12, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4d, 0x6f, 0x64, - 0x65, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, - 0x32, 0x0e, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, - 0x52, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x64, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x4e, 0x4d, 0x49, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x4e, 0x4d, 0x49, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, - 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x09, 0x4d, 0x6f, - 0x64, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2a, 0x44, 0x0a, 0x08, 0x45, 0x6e, 0x63, - 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x00, 0x12, - 0x09, 0x0a, 0x05, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x53, 0x43, 0x49, 0x49, 0x10, 0x03, - 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x45, 0x54, 0x46, 0x10, 0x04, 0x2a, - 0x41, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x4e, 0x5f, 0x43, 0x48, - 0x41, 0x4e, 0x47, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, - 0x10, 0x02, 0x32, 0xe3, 0x01, 0x0a, 0x04, 0x67, 0x4e, 0x4d, 0x49, 0x12, 0x41, 0x0a, 0x0c, 0x43, - 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x17, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x43, 0x61, 0x70, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, - 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x03, 0x53, 0x65, - 0x74, 0x12, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x3a, 0x40, 0x0a, 0x0c, 0x67, 0x6e, 0x6d, 0x69, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, - 0x6e, 0x6d, 0x69, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x54, 0xca, 0x3e, 0x06, 0x30, - 0x2e, 0x31, 0x30, 0x2e, 0x30, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x09, 0x47, 0x6e, - 0x6d, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, 0x69, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_proto_gnmi_gnmi_proto_rawDescOnce sync.Once - file_proto_gnmi_gnmi_proto_rawDescData = file_proto_gnmi_gnmi_proto_rawDesc -) - -func file_proto_gnmi_gnmi_proto_rawDescGZIP() []byte { - file_proto_gnmi_gnmi_proto_rawDescOnce.Do(func() { - file_proto_gnmi_gnmi_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_gnmi_gnmi_proto_rawDescData) - }) - return file_proto_gnmi_gnmi_proto_rawDescData -} - -var file_proto_gnmi_gnmi_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_proto_gnmi_gnmi_proto_msgTypes = make([]protoimpl.MessageInfo, 24) -var file_proto_gnmi_gnmi_proto_goTypes = []interface{}{ - (Encoding)(0), // 0: gnmi.Encoding - (SubscriptionMode)(0), // 1: gnmi.SubscriptionMode - (SubscriptionList_Mode)(0), // 2: gnmi.SubscriptionList.Mode - (UpdateResult_Operation)(0), // 3: gnmi.UpdateResult.Operation - (GetRequest_DataType)(0), // 4: gnmi.GetRequest.DataType - (*Notification)(nil), // 5: gnmi.Notification - (*Update)(nil), // 6: gnmi.Update - (*TypedValue)(nil), // 7: gnmi.TypedValue - (*Path)(nil), // 8: gnmi.Path - (*PathElem)(nil), // 9: gnmi.PathElem - (*Value)(nil), // 10: gnmi.Value - (*Error)(nil), // 11: gnmi.Error - (*Decimal64)(nil), // 12: gnmi.Decimal64 - (*ScalarArray)(nil), // 13: gnmi.ScalarArray - (*SubscribeRequest)(nil), // 14: gnmi.SubscribeRequest - (*Poll)(nil), // 15: gnmi.Poll - (*SubscribeResponse)(nil), // 16: gnmi.SubscribeResponse - (*SubscriptionList)(nil), // 17: gnmi.SubscriptionList - (*Subscription)(nil), // 18: gnmi.Subscription - (*QOSMarking)(nil), // 19: gnmi.QOSMarking - (*SetRequest)(nil), // 20: gnmi.SetRequest - (*SetResponse)(nil), // 21: gnmi.SetResponse - (*UpdateResult)(nil), // 22: gnmi.UpdateResult - (*GetRequest)(nil), // 23: gnmi.GetRequest - (*GetResponse)(nil), // 24: gnmi.GetResponse - (*CapabilityRequest)(nil), // 25: gnmi.CapabilityRequest - (*CapabilityResponse)(nil), // 26: gnmi.CapabilityResponse - (*ModelData)(nil), // 27: gnmi.ModelData - nil, // 28: gnmi.PathElem.KeyEntry - (*anypb.Any)(nil), // 29: google.protobuf.Any - (*gnmi_ext.Extension)(nil), // 30: gnmi_ext.Extension - (*descriptorpb.FileOptions)(nil), // 31: google.protobuf.FileOptions -} -var file_proto_gnmi_gnmi_proto_depIdxs = []int32{ - 8, // 0: gnmi.Notification.prefix:type_name -> gnmi.Path - 6, // 1: gnmi.Notification.update:type_name -> gnmi.Update - 8, // 2: gnmi.Notification.delete:type_name -> gnmi.Path - 8, // 3: gnmi.Update.path:type_name -> gnmi.Path - 10, // 4: gnmi.Update.value:type_name -> gnmi.Value - 7, // 5: gnmi.Update.val:type_name -> gnmi.TypedValue - 12, // 6: gnmi.TypedValue.decimal_val:type_name -> gnmi.Decimal64 - 13, // 7: gnmi.TypedValue.leaflist_val:type_name -> gnmi.ScalarArray - 29, // 8: gnmi.TypedValue.any_val:type_name -> google.protobuf.Any - 9, // 9: gnmi.Path.elem:type_name -> gnmi.PathElem - 28, // 10: gnmi.PathElem.key:type_name -> gnmi.PathElem.KeyEntry - 0, // 11: gnmi.Value.type:type_name -> gnmi.Encoding - 29, // 12: gnmi.Error.data:type_name -> google.protobuf.Any - 7, // 13: gnmi.ScalarArray.element:type_name -> gnmi.TypedValue - 17, // 14: gnmi.SubscribeRequest.subscribe:type_name -> gnmi.SubscriptionList - 15, // 15: gnmi.SubscribeRequest.poll:type_name -> gnmi.Poll - 30, // 16: gnmi.SubscribeRequest.extension:type_name -> gnmi_ext.Extension - 5, // 17: gnmi.SubscribeResponse.update:type_name -> gnmi.Notification - 11, // 18: gnmi.SubscribeResponse.error:type_name -> gnmi.Error - 30, // 19: gnmi.SubscribeResponse.extension:type_name -> gnmi_ext.Extension - 8, // 20: gnmi.SubscriptionList.prefix:type_name -> gnmi.Path - 18, // 21: gnmi.SubscriptionList.subscription:type_name -> gnmi.Subscription - 19, // 22: gnmi.SubscriptionList.qos:type_name -> gnmi.QOSMarking - 2, // 23: gnmi.SubscriptionList.mode:type_name -> gnmi.SubscriptionList.Mode - 27, // 24: gnmi.SubscriptionList.use_models:type_name -> gnmi.ModelData - 0, // 25: gnmi.SubscriptionList.encoding:type_name -> gnmi.Encoding - 8, // 26: gnmi.Subscription.path:type_name -> gnmi.Path - 1, // 27: gnmi.Subscription.mode:type_name -> gnmi.SubscriptionMode - 8, // 28: gnmi.SetRequest.prefix:type_name -> gnmi.Path - 8, // 29: gnmi.SetRequest.delete:type_name -> gnmi.Path - 6, // 30: gnmi.SetRequest.replace:type_name -> gnmi.Update - 6, // 31: gnmi.SetRequest.update:type_name -> gnmi.Update - 6, // 32: gnmi.SetRequest.union_replace:type_name -> gnmi.Update - 30, // 33: gnmi.SetRequest.extension:type_name -> gnmi_ext.Extension - 8, // 34: gnmi.SetResponse.prefix:type_name -> gnmi.Path - 22, // 35: gnmi.SetResponse.response:type_name -> gnmi.UpdateResult - 11, // 36: gnmi.SetResponse.message:type_name -> gnmi.Error - 30, // 37: gnmi.SetResponse.extension:type_name -> gnmi_ext.Extension - 8, // 38: gnmi.UpdateResult.path:type_name -> gnmi.Path - 11, // 39: gnmi.UpdateResult.message:type_name -> gnmi.Error - 3, // 40: gnmi.UpdateResult.op:type_name -> gnmi.UpdateResult.Operation - 8, // 41: gnmi.GetRequest.prefix:type_name -> gnmi.Path - 8, // 42: gnmi.GetRequest.path:type_name -> gnmi.Path - 4, // 43: gnmi.GetRequest.type:type_name -> gnmi.GetRequest.DataType - 0, // 44: gnmi.GetRequest.encoding:type_name -> gnmi.Encoding - 27, // 45: gnmi.GetRequest.use_models:type_name -> gnmi.ModelData - 30, // 46: gnmi.GetRequest.extension:type_name -> gnmi_ext.Extension - 5, // 47: gnmi.GetResponse.notification:type_name -> gnmi.Notification - 11, // 48: gnmi.GetResponse.error:type_name -> gnmi.Error - 30, // 49: gnmi.GetResponse.extension:type_name -> gnmi_ext.Extension - 30, // 50: gnmi.CapabilityRequest.extension:type_name -> gnmi_ext.Extension - 27, // 51: gnmi.CapabilityResponse.supported_models:type_name -> gnmi.ModelData - 0, // 52: gnmi.CapabilityResponse.supported_encodings:type_name -> gnmi.Encoding - 30, // 53: gnmi.CapabilityResponse.extension:type_name -> gnmi_ext.Extension - 31, // 54: gnmi.gnmi_service:extendee -> google.protobuf.FileOptions - 25, // 55: gnmi.gNMI.Capabilities:input_type -> gnmi.CapabilityRequest - 23, // 56: gnmi.gNMI.Get:input_type -> gnmi.GetRequest - 20, // 57: gnmi.gNMI.Set:input_type -> gnmi.SetRequest - 14, // 58: gnmi.gNMI.Subscribe:input_type -> gnmi.SubscribeRequest - 26, // 59: gnmi.gNMI.Capabilities:output_type -> gnmi.CapabilityResponse - 24, // 60: gnmi.gNMI.Get:output_type -> gnmi.GetResponse - 21, // 61: gnmi.gNMI.Set:output_type -> gnmi.SetResponse - 16, // 62: gnmi.gNMI.Subscribe:output_type -> gnmi.SubscribeResponse - 59, // [59:63] is the sub-list for method output_type - 55, // [55:59] is the sub-list for method input_type - 55, // [55:55] is the sub-list for extension type_name - 54, // [54:55] is the sub-list for extension extendee - 0, // [0:54] is the sub-list for field type_name -} - -func init() { file_proto_gnmi_gnmi_proto_init() } -func file_proto_gnmi_gnmi_proto_init() { - if File_proto_gnmi_gnmi_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_proto_gnmi_gnmi_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Notification); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Update); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TypedValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Path); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PathElem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Value); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Error); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Decimal64); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ScalarArray); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Poll); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscriptionList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Subscription); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QOSMarking); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CapabilityRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CapabilityResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_gnmi_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModelData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_proto_gnmi_gnmi_proto_msgTypes[2].OneofWrappers = []interface{}{ - (*TypedValue_StringVal)(nil), - (*TypedValue_IntVal)(nil), - (*TypedValue_UintVal)(nil), - (*TypedValue_BoolVal)(nil), - (*TypedValue_BytesVal)(nil), - (*TypedValue_FloatVal)(nil), - (*TypedValue_DoubleVal)(nil), - (*TypedValue_DecimalVal)(nil), - (*TypedValue_LeaflistVal)(nil), - (*TypedValue_AnyVal)(nil), - (*TypedValue_JsonVal)(nil), - (*TypedValue_JsonIetfVal)(nil), - (*TypedValue_AsciiVal)(nil), - (*TypedValue_ProtoBytes)(nil), - } - file_proto_gnmi_gnmi_proto_msgTypes[9].OneofWrappers = []interface{}{ - (*SubscribeRequest_Subscribe)(nil), - (*SubscribeRequest_Poll)(nil), - } - file_proto_gnmi_gnmi_proto_msgTypes[11].OneofWrappers = []interface{}{ - (*SubscribeResponse_Update)(nil), - (*SubscribeResponse_SyncResponse)(nil), - (*SubscribeResponse_Error)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_gnmi_gnmi_proto_rawDesc, - NumEnums: 5, - NumMessages: 24, - NumExtensions: 1, - NumServices: 1, - }, - GoTypes: file_proto_gnmi_gnmi_proto_goTypes, - DependencyIndexes: file_proto_gnmi_gnmi_proto_depIdxs, - EnumInfos: file_proto_gnmi_gnmi_proto_enumTypes, - MessageInfos: file_proto_gnmi_gnmi_proto_msgTypes, - ExtensionInfos: file_proto_gnmi_gnmi_proto_extTypes, - }.Build() - File_proto_gnmi_gnmi_proto = out.File - file_proto_gnmi_gnmi_proto_rawDesc = nil - file_proto_gnmi_gnmi_proto_goTypes = nil - file_proto_gnmi_gnmi_proto_depIdxs = nil -} diff --git a/proto/gnmi/gnmi_grpc.pb.go b/proto/gnmi/gnmi_grpc.pb.go deleted file mode 100644 index b597cad..0000000 --- a/proto/gnmi/gnmi_grpc.pb.go +++ /dev/null @@ -1,280 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. - -package gnmi - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// GNMIClient is the client API for GNMI service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type GNMIClient interface { - // Capabilities allows the client to retrieve the set of capabilities that - // is supported by the target. This allows the target to validate the - // service version that is implemented and retrieve the set of models that - // the target supports. The models can then be specified in subsequent RPCs - // to restrict the set of data that is utilized. - // Reference: gNMI Specification Section 3.2 - Capabilities(ctx context.Context, in *CapabilityRequest, opts ...grpc.CallOption) (*CapabilityResponse, error) - // Retrieve a snapshot of data from the target. A Get RPC requests that the - // target snapshots a subset of the data tree as specified by the paths - // included in the message and serializes this to be returned to the - // client using the specified encoding. - // Reference: gNMI Specification Section 3.3 - Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) - // Set allows the client to modify the state of data on the target. The - // paths to modified along with the new values that the client wishes - // to set the value to. - // Reference: gNMI Specification Section 3.4 - Set(ctx context.Context, in *SetRequest, opts ...grpc.CallOption) (*SetResponse, error) - // Subscribe allows a client to request the target to send it values - // of particular paths within the data tree. These values may be streamed - // at a particular cadence (STREAM), sent one off on a long-lived channel - // (POLL), or sent as a one-off retrieval (ONCE). - // Reference: gNMI Specification Section 3.5 - Subscribe(ctx context.Context, opts ...grpc.CallOption) (GNMI_SubscribeClient, error) -} - -type gNMIClient struct { - cc grpc.ClientConnInterface -} - -func NewGNMIClient(cc grpc.ClientConnInterface) GNMIClient { - return &gNMIClient{cc} -} - -func (c *gNMIClient) Capabilities(ctx context.Context, in *CapabilityRequest, opts ...grpc.CallOption) (*CapabilityResponse, error) { - out := new(CapabilityResponse) - err := c.cc.Invoke(ctx, "/gnmi.gNMI/Capabilities", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gNMIClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) { - out := new(GetResponse) - err := c.cc.Invoke(ctx, "/gnmi.gNMI/Get", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gNMIClient) Set(ctx context.Context, in *SetRequest, opts ...grpc.CallOption) (*SetResponse, error) { - out := new(SetResponse) - err := c.cc.Invoke(ctx, "/gnmi.gNMI/Set", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *gNMIClient) Subscribe(ctx context.Context, opts ...grpc.CallOption) (GNMI_SubscribeClient, error) { - stream, err := c.cc.NewStream(ctx, &GNMI_ServiceDesc.Streams[0], "/gnmi.gNMI/Subscribe", opts...) - if err != nil { - return nil, err - } - x := &gNMISubscribeClient{stream} - return x, nil -} - -type GNMI_SubscribeClient interface { - Send(*SubscribeRequest) error - Recv() (*SubscribeResponse, error) - grpc.ClientStream -} - -type gNMISubscribeClient struct { - grpc.ClientStream -} - -func (x *gNMISubscribeClient) Send(m *SubscribeRequest) error { - return x.ClientStream.SendMsg(m) -} - -func (x *gNMISubscribeClient) Recv() (*SubscribeResponse, error) { - m := new(SubscribeResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -// GNMIServer is the server API for GNMI service. -// All implementations should embed UnimplementedGNMIServer -// for forward compatibility -type GNMIServer interface { - // Capabilities allows the client to retrieve the set of capabilities that - // is supported by the target. This allows the target to validate the - // service version that is implemented and retrieve the set of models that - // the target supports. The models can then be specified in subsequent RPCs - // to restrict the set of data that is utilized. - // Reference: gNMI Specification Section 3.2 - Capabilities(context.Context, *CapabilityRequest) (*CapabilityResponse, error) - // Retrieve a snapshot of data from the target. A Get RPC requests that the - // target snapshots a subset of the data tree as specified by the paths - // included in the message and serializes this to be returned to the - // client using the specified encoding. - // Reference: gNMI Specification Section 3.3 - Get(context.Context, *GetRequest) (*GetResponse, error) - // Set allows the client to modify the state of data on the target. The - // paths to modified along with the new values that the client wishes - // to set the value to. - // Reference: gNMI Specification Section 3.4 - Set(context.Context, *SetRequest) (*SetResponse, error) - // Subscribe allows a client to request the target to send it values - // of particular paths within the data tree. These values may be streamed - // at a particular cadence (STREAM), sent one off on a long-lived channel - // (POLL), or sent as a one-off retrieval (ONCE). - // Reference: gNMI Specification Section 3.5 - Subscribe(GNMI_SubscribeServer) error -} - -// UnimplementedGNMIServer should be embedded to have forward compatible implementations. -type UnimplementedGNMIServer struct { -} - -func (UnimplementedGNMIServer) Capabilities(context.Context, *CapabilityRequest) (*CapabilityResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Capabilities not implemented") -} -func (UnimplementedGNMIServer) Get(context.Context, *GetRequest) (*GetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") -} -func (UnimplementedGNMIServer) Set(context.Context, *SetRequest) (*SetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Set not implemented") -} -func (UnimplementedGNMIServer) Subscribe(GNMI_SubscribeServer) error { - return status.Errorf(codes.Unimplemented, "method Subscribe not implemented") -} - -// UnsafeGNMIServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to GNMIServer will -// result in compilation errors. -type UnsafeGNMIServer interface { - mustEmbedUnimplementedGNMIServer() -} - -func RegisterGNMIServer(s grpc.ServiceRegistrar, srv GNMIServer) { - s.RegisterService(&GNMI_ServiceDesc, srv) -} - -func _GNMI_Capabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CapabilityRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GNMIServer).Capabilities(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gnmi.gNMI/Capabilities", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GNMIServer).Capabilities(ctx, req.(*CapabilityRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GNMI_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GNMIServer).Get(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gnmi.gNMI/Get", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GNMIServer).Get(ctx, req.(*GetRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GNMI_Set_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GNMIServer).Set(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gnmi.gNMI/Set", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GNMIServer).Set(ctx, req.(*SetRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _GNMI_Subscribe_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(GNMIServer).Subscribe(&gNMISubscribeServer{stream}) -} - -type GNMI_SubscribeServer interface { - Send(*SubscribeResponse) error - Recv() (*SubscribeRequest, error) - grpc.ServerStream -} - -type gNMISubscribeServer struct { - grpc.ServerStream -} - -func (x *gNMISubscribeServer) Send(m *SubscribeResponse) error { - return x.ServerStream.SendMsg(m) -} - -func (x *gNMISubscribeServer) Recv() (*SubscribeRequest, error) { - m := new(SubscribeRequest) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -// GNMI_ServiceDesc is the grpc.ServiceDesc for GNMI service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var GNMI_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "gnmi.gNMI", - HandlerType: (*GNMIServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Capabilities", - Handler: _GNMI_Capabilities_Handler, - }, - { - MethodName: "Get", - Handler: _GNMI_Get_Handler, - }, - { - MethodName: "Set", - Handler: _GNMI_Set_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "Subscribe", - Handler: _GNMI_Subscribe_Handler, - ServerStreams: true, - ClientStreams: true, - }, - }, - Metadata: "proto/gnmi/gnmi.proto", -} diff --git a/proto/gnmi/gnmi_pb2.py b/proto/gnmi/gnmi_pb2.py deleted file mode 100644 index 7fbf5be..0000000 --- a/proto/gnmi/gnmi_pb2.py +++ /dev/null @@ -1,1824 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: proto/gnmi/gnmi.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf.internal import enum_type_wrapper -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 -from github.com.openconfig.gnmi.proto.gnmi_ext import gnmi_ext_pb2 as github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi__ext_dot_gnmi__ext__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='proto/gnmi/gnmi.proto', - package='gnmi', - syntax='proto3', - serialized_pb=_b('\n\x15proto/gnmi/gnmi.proto\x12\x04gnmi\x1a\x19google/protobuf/any.proto\x1a google/protobuf/descriptor.proto\x1a\x38github.com/openconfig/gnmi/proto/gnmi_ext/gnmi_ext.proto\"\x94\x01\n\x0cNotification\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\x1a\n\x06prefix\x18\x02 \x01(\x0b\x32\n.gnmi.Path\x12\x1c\n\x06update\x18\x04 \x03(\x0b\x32\x0c.gnmi.Update\x12\x1a\n\x06\x64\x65lete\x18\x05 \x03(\x0b\x32\n.gnmi.Path\x12\x0e\n\x06\x61tomic\x18\x06 \x01(\x08J\x04\x08\x03\x10\x04R\x05\x61lias\"u\n\x06Update\x12\x18\n\x04path\x18\x01 \x01(\x0b\x32\n.gnmi.Path\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0b.gnmi.ValueB\x02\x18\x01\x12\x1d\n\x03val\x18\x03 \x01(\x0b\x32\x10.gnmi.TypedValue\x12\x12\n\nduplicates\x18\x04 \x01(\r\"\x83\x03\n\nTypedValue\x12\x14\n\nstring_val\x18\x01 \x01(\tH\x00\x12\x11\n\x07int_val\x18\x02 \x01(\x03H\x00\x12\x12\n\x08uint_val\x18\x03 \x01(\x04H\x00\x12\x12\n\x08\x62ool_val\x18\x04 \x01(\x08H\x00\x12\x13\n\tbytes_val\x18\x05 \x01(\x0cH\x00\x12\x17\n\tfloat_val\x18\x06 \x01(\x02\x42\x02\x18\x01H\x00\x12\x14\n\ndouble_val\x18\x0e \x01(\x01H\x00\x12*\n\x0b\x64\x65\x63imal_val\x18\x07 \x01(\x0b\x32\x0f.gnmi.Decimal64B\x02\x18\x01H\x00\x12)\n\x0cleaflist_val\x18\x08 \x01(\x0b\x32\x11.gnmi.ScalarArrayH\x00\x12\'\n\x07\x61ny_val\x18\t \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x12\x12\n\x08json_val\x18\n \x01(\x0cH\x00\x12\x17\n\rjson_ietf_val\x18\x0b \x01(\x0cH\x00\x12\x13\n\tascii_val\x18\x0c \x01(\tH\x00\x12\x15\n\x0bproto_bytes\x18\r \x01(\x0cH\x00\x42\x07\n\x05value\"Y\n\x04Path\x12\x13\n\x07\x65lement\x18\x01 \x03(\tB\x02\x18\x01\x12\x0e\n\x06origin\x18\x02 \x01(\t\x12\x1c\n\x04\x65lem\x18\x03 \x03(\x0b\x32\x0e.gnmi.PathElem\x12\x0e\n\x06target\x18\x04 \x01(\t\"j\n\x08PathElem\x12\x0c\n\x04name\x18\x01 \x01(\t\x12$\n\x03key\x18\x02 \x03(\x0b\x32\x17.gnmi.PathElem.KeyEntry\x1a*\n\x08KeyEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"8\n\x05Value\x12\r\n\x05value\x18\x01 \x01(\x0c\x12\x1c\n\x04type\x18\x02 \x01(\x0e\x32\x0e.gnmi.Encoding:\x02\x18\x01\"N\n\x05\x45rror\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x18\x01\"2\n\tDecimal64\x12\x0e\n\x06\x64igits\x18\x01 \x01(\x03\x12\x11\n\tprecision\x18\x02 \x01(\r:\x02\x18\x01\"0\n\x0bScalarArray\x12!\n\x07\x65lement\x18\x01 \x03(\x0b\x32\x10.gnmi.TypedValue\"\x9d\x01\n\x10SubscribeRequest\x12+\n\tsubscribe\x18\x01 \x01(\x0b\x32\x16.gnmi.SubscriptionListH\x00\x12\x1a\n\x04poll\x18\x03 \x01(\x0b\x32\n.gnmi.PollH\x00\x12&\n\textension\x18\x05 \x03(\x0b\x32\x13.gnmi_ext.ExtensionB\t\n\x07requestJ\x04\x08\x04\x10\x05R\x07\x61liases\"\x06\n\x04Poll\"\xa8\x01\n\x11SubscribeResponse\x12$\n\x06update\x18\x01 \x01(\x0b\x32\x12.gnmi.NotificationH\x00\x12\x17\n\rsync_response\x18\x03 \x01(\x08H\x00\x12 \n\x05\x65rror\x18\x04 \x01(\x0b\x32\x0b.gnmi.ErrorB\x02\x18\x01H\x00\x12&\n\textension\x18\x05 \x03(\x0b\x32\x13.gnmi_ext.ExtensionB\n\n\x08response\"\xd5\x02\n\x10SubscriptionList\x12\x1a\n\x06prefix\x18\x01 \x01(\x0b\x32\n.gnmi.Path\x12(\n\x0csubscription\x18\x02 \x03(\x0b\x32\x12.gnmi.Subscription\x12\x1d\n\x03qos\x18\x04 \x01(\x0b\x32\x10.gnmi.QOSMarking\x12)\n\x04mode\x18\x05 \x01(\x0e\x32\x1b.gnmi.SubscriptionList.Mode\x12\x19\n\x11\x61llow_aggregation\x18\x06 \x01(\x08\x12#\n\nuse_models\x18\x07 \x03(\x0b\x32\x0f.gnmi.ModelData\x12 \n\x08\x65ncoding\x18\x08 \x01(\x0e\x32\x0e.gnmi.Encoding\x12\x14\n\x0cupdates_only\x18\t \x01(\x08\"&\n\x04Mode\x12\n\n\x06STREAM\x10\x00\x12\x08\n\x04ONCE\x10\x01\x12\x08\n\x04POLL\x10\x02J\x04\x08\x03\x10\x04R\x0buse_aliases\"\x9f\x01\n\x0cSubscription\x12\x18\n\x04path\x18\x01 \x01(\x0b\x32\n.gnmi.Path\x12$\n\x04mode\x18\x02 \x01(\x0e\x32\x16.gnmi.SubscriptionMode\x12\x17\n\x0fsample_interval\x18\x03 \x01(\x04\x12\x1a\n\x12suppress_redundant\x18\x04 \x01(\x08\x12\x1a\n\x12heartbeat_interval\x18\x05 \x01(\x04\"\x1d\n\nQOSMarking\x12\x0f\n\x07marking\x18\x01 \x01(\r\"\xce\x01\n\nSetRequest\x12\x1a\n\x06prefix\x18\x01 \x01(\x0b\x32\n.gnmi.Path\x12\x1a\n\x06\x64\x65lete\x18\x02 \x03(\x0b\x32\n.gnmi.Path\x12\x1d\n\x07replace\x18\x03 \x03(\x0b\x32\x0c.gnmi.Update\x12\x1c\n\x06update\x18\x04 \x03(\x0b\x32\x0c.gnmi.Update\x12#\n\runion_replace\x18\x06 \x03(\x0b\x32\x0c.gnmi.Update\x12&\n\textension\x18\x05 \x03(\x0b\x32\x13.gnmi_ext.Extension\"\xac\x01\n\x0bSetResponse\x12\x1a\n\x06prefix\x18\x01 \x01(\x0b\x32\n.gnmi.Path\x12$\n\x08response\x18\x02 \x03(\x0b\x32\x12.gnmi.UpdateResult\x12 \n\x07message\x18\x03 \x01(\x0b\x32\x0b.gnmi.ErrorB\x02\x18\x01\x12\x11\n\ttimestamp\x18\x04 \x01(\x03\x12&\n\textension\x18\x05 \x03(\x0b\x32\x13.gnmi_ext.Extension\"\xdd\x01\n\x0cUpdateResult\x12\x15\n\ttimestamp\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x18\n\x04path\x18\x02 \x01(\x0b\x32\n.gnmi.Path\x12 \n\x07message\x18\x03 \x01(\x0b\x32\x0b.gnmi.ErrorB\x02\x18\x01\x12(\n\x02op\x18\x04 \x01(\x0e\x32\x1c.gnmi.UpdateResult.Operation\"P\n\tOperation\x12\x0b\n\x07INVALID\x10\x00\x12\n\n\x06\x44\x45LETE\x10\x01\x12\x0b\n\x07REPLACE\x10\x02\x12\n\n\x06UPDATE\x10\x03\x12\x11\n\rUNION_REPLACE\x10\x04\"\x97\x02\n\nGetRequest\x12\x1a\n\x06prefix\x18\x01 \x01(\x0b\x32\n.gnmi.Path\x12\x18\n\x04path\x18\x02 \x03(\x0b\x32\n.gnmi.Path\x12\'\n\x04type\x18\x03 \x01(\x0e\x32\x19.gnmi.GetRequest.DataType\x12 \n\x08\x65ncoding\x18\x05 \x01(\x0e\x32\x0e.gnmi.Encoding\x12#\n\nuse_models\x18\x06 \x03(\x0b\x32\x0f.gnmi.ModelData\x12&\n\textension\x18\x07 \x03(\x0b\x32\x13.gnmi_ext.Extension\";\n\x08\x44\x61taType\x12\x07\n\x03\x41LL\x10\x00\x12\n\n\x06\x43ONFIG\x10\x01\x12\t\n\x05STATE\x10\x02\x12\x0f\n\x0bOPERATIONAL\x10\x03\"\x7f\n\x0bGetResponse\x12(\n\x0cnotification\x18\x01 \x03(\x0b\x32\x12.gnmi.Notification\x12\x1e\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x0b.gnmi.ErrorB\x02\x18\x01\x12&\n\textension\x18\x03 \x03(\x0b\x32\x13.gnmi_ext.Extension\";\n\x11\x43\x61pabilityRequest\x12&\n\textension\x18\x01 \x03(\x0b\x32\x13.gnmi_ext.Extension\"\xaa\x01\n\x12\x43\x61pabilityResponse\x12)\n\x10supported_models\x18\x01 \x03(\x0b\x32\x0f.gnmi.ModelData\x12+\n\x13supported_encodings\x18\x02 \x03(\x0e\x32\x0e.gnmi.Encoding\x12\x14\n\x0cgNMI_version\x18\x03 \x01(\t\x12&\n\textension\x18\x04 \x03(\x0b\x32\x13.gnmi_ext.Extension\"@\n\tModelData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0corganization\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t*D\n\x08\x45ncoding\x12\x08\n\x04JSON\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05PROTO\x10\x02\x12\t\n\x05\x41SCII\x10\x03\x12\r\n\tJSON_IETF\x10\x04*A\n\x10SubscriptionMode\x12\x12\n\x0eTARGET_DEFINED\x10\x00\x12\r\n\tON_CHANGE\x10\x01\x12\n\n\x06SAMPLE\x10\x02\x32\xe3\x01\n\x04gNMI\x12\x41\n\x0c\x43\x61pabilities\x12\x17.gnmi.CapabilityRequest\x1a\x18.gnmi.CapabilityResponse\x12*\n\x03Get\x12\x10.gnmi.GetRequest\x1a\x11.gnmi.GetResponse\x12*\n\x03Set\x12\x10.gnmi.SetRequest\x1a\x11.gnmi.SetResponse\x12@\n\tSubscribe\x12\x16.gnmi.SubscribeRequest\x1a\x17.gnmi.SubscribeResponse(\x01\x30\x01:3\n\x0cgnmi_service\x12\x1c.google.protobuf.FileOptions\x18\xe9\x07 \x01(\tBT\n\x15\x63om.github.gnmi.protoB\tGnmiProtoP\x01Z%github.com/openconfig/gnmi/proto/gnmi\xca>\x06\x30.10.0b\x06proto3') - , - dependencies=[google_dot_protobuf_dot_any__pb2.DESCRIPTOR,google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi__ext_dot_gnmi__ext__pb2.DESCRIPTOR,]) - -_ENCODING = _descriptor.EnumDescriptor( - name='Encoding', - full_name='gnmi.Encoding', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='JSON', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='BYTES', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='PROTO', index=2, number=2, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='ASCII', index=3, number=3, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='JSON_IETF', index=4, number=4, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=3444, - serialized_end=3512, -) -_sym_db.RegisterEnumDescriptor(_ENCODING) - -Encoding = enum_type_wrapper.EnumTypeWrapper(_ENCODING) -_SUBSCRIPTIONMODE = _descriptor.EnumDescriptor( - name='SubscriptionMode', - full_name='gnmi.SubscriptionMode', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='TARGET_DEFINED', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='ON_CHANGE', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='SAMPLE', index=2, number=2, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=3514, - serialized_end=3579, -) -_sym_db.RegisterEnumDescriptor(_SUBSCRIPTIONMODE) - -SubscriptionMode = enum_type_wrapper.EnumTypeWrapper(_SUBSCRIPTIONMODE) -JSON = 0 -BYTES = 1 -PROTO = 2 -ASCII = 3 -JSON_IETF = 4 -TARGET_DEFINED = 0 -ON_CHANGE = 1 -SAMPLE = 2 - -GNMI_SERVICE_FIELD_NUMBER = 1001 -gnmi_service = _descriptor.FieldDescriptor( - name='gnmi_service', full_name='gnmi.gnmi_service', index=0, - number=1001, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=True, extension_scope=None, - options=None, file=DESCRIPTOR) - -_SUBSCRIPTIONLIST_MODE = _descriptor.EnumDescriptor( - name='Mode', - full_name='gnmi.SubscriptionList.Mode', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='STREAM', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='ONCE', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='POLL', index=2, number=2, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=1873, - serialized_end=1911, -) -_sym_db.RegisterEnumDescriptor(_SUBSCRIPTIONLIST_MODE) - -_UPDATERESULT_OPERATION = _descriptor.EnumDescriptor( - name='Operation', - full_name='gnmi.UpdateResult.Operation', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='INVALID', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='DELETE', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='REPLACE', index=2, number=2, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='UPDATE', index=3, number=3, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='UNION_REPLACE', index=4, number=4, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=2651, - serialized_end=2731, -) -_sym_db.RegisterEnumDescriptor(_UPDATERESULT_OPERATION) - -_GETREQUEST_DATATYPE = _descriptor.EnumDescriptor( - name='DataType', - full_name='gnmi.GetRequest.DataType', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='ALL', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='CONFIG', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='STATE', index=2, number=2, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='OPERATIONAL', index=3, number=3, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=2954, - serialized_end=3013, -) -_sym_db.RegisterEnumDescriptor(_GETREQUEST_DATATYPE) - - -_NOTIFICATION = _descriptor.Descriptor( - name='Notification', - full_name='gnmi.Notification', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='timestamp', full_name='gnmi.Notification.timestamp', index=0, - number=1, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='prefix', full_name='gnmi.Notification.prefix', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='update', full_name='gnmi.Notification.update', index=2, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delete', full_name='gnmi.Notification.delete', index=3, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='atomic', full_name='gnmi.Notification.atomic', index=4, - number=6, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=151, - serialized_end=299, -) - - -_UPDATE = _descriptor.Descriptor( - name='Update', - full_name='gnmi.Update', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='path', full_name='gnmi.Update.path', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value', full_name='gnmi.Update.value', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='val', full_name='gnmi.Update.val', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='duplicates', full_name='gnmi.Update.duplicates', index=3, - number=4, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=301, - serialized_end=418, -) - - -_TYPEDVALUE = _descriptor.Descriptor( - name='TypedValue', - full_name='gnmi.TypedValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='string_val', full_name='gnmi.TypedValue.string_val', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='int_val', full_name='gnmi.TypedValue.int_val', index=1, - number=2, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='uint_val', full_name='gnmi.TypedValue.uint_val', index=2, - number=3, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='bool_val', full_name='gnmi.TypedValue.bool_val', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='bytes_val', full_name='gnmi.TypedValue.bytes_val', index=4, - number=5, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='float_val', full_name='gnmi.TypedValue.float_val', index=5, - number=6, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='double_val', full_name='gnmi.TypedValue.double_val', index=6, - number=14, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='decimal_val', full_name='gnmi.TypedValue.decimal_val', index=7, - number=7, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='leaflist_val', full_name='gnmi.TypedValue.leaflist_val', index=8, - number=8, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='any_val', full_name='gnmi.TypedValue.any_val', index=9, - number=9, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='json_val', full_name='gnmi.TypedValue.json_val', index=10, - number=10, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='json_ietf_val', full_name='gnmi.TypedValue.json_ietf_val', index=11, - number=11, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='ascii_val', full_name='gnmi.TypedValue.ascii_val', index=12, - number=12, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='proto_bytes', full_name='gnmi.TypedValue.proto_bytes', index=13, - number=13, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='value', full_name='gnmi.TypedValue.value', - index=0, containing_type=None, fields=[]), - ], - serialized_start=421, - serialized_end=808, -) - - -_PATH = _descriptor.Descriptor( - name='Path', - full_name='gnmi.Path', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='element', full_name='gnmi.Path.element', index=0, - number=1, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='origin', full_name='gnmi.Path.origin', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='elem', full_name='gnmi.Path.elem', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='target', full_name='gnmi.Path.target', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=810, - serialized_end=899, -) - - -_PATHELEM_KEYENTRY = _descriptor.Descriptor( - name='KeyEntry', - full_name='gnmi.PathElem.KeyEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='gnmi.PathElem.KeyEntry.key', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value', full_name='gnmi.PathElem.KeyEntry.value', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=965, - serialized_end=1007, -) - -_PATHELEM = _descriptor.Descriptor( - name='PathElem', - full_name='gnmi.PathElem', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='gnmi.PathElem.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='key', full_name='gnmi.PathElem.key', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_PATHELEM_KEYENTRY, ], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=901, - serialized_end=1007, -) - - -_VALUE = _descriptor.Descriptor( - name='Value', - full_name='gnmi.Value', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='value', full_name='gnmi.Value.value', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='type', full_name='gnmi.Value.type', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\030\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1009, - serialized_end=1065, -) - - -_ERROR = _descriptor.Descriptor( - name='Error', - full_name='gnmi.Error', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='code', full_name='gnmi.Error.code', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='message', full_name='gnmi.Error.message', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='data', full_name='gnmi.Error.data', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\030\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1067, - serialized_end=1145, -) - - -_DECIMAL64 = _descriptor.Descriptor( - name='Decimal64', - full_name='gnmi.Decimal64', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='digits', full_name='gnmi.Decimal64.digits', index=0, - number=1, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='precision', full_name='gnmi.Decimal64.precision', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\030\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1147, - serialized_end=1197, -) - - -_SCALARARRAY = _descriptor.Descriptor( - name='ScalarArray', - full_name='gnmi.ScalarArray', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='element', full_name='gnmi.ScalarArray.element', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1199, - serialized_end=1247, -) - - -_SUBSCRIBEREQUEST = _descriptor.Descriptor( - name='SubscribeRequest', - full_name='gnmi.SubscribeRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='subscribe', full_name='gnmi.SubscribeRequest.subscribe', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='poll', full_name='gnmi.SubscribeRequest.poll', index=1, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='extension', full_name='gnmi.SubscribeRequest.extension', index=2, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='request', full_name='gnmi.SubscribeRequest.request', - index=0, containing_type=None, fields=[]), - ], - serialized_start=1250, - serialized_end=1407, -) - - -_POLL = _descriptor.Descriptor( - name='Poll', - full_name='gnmi.Poll', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1409, - serialized_end=1415, -) - - -_SUBSCRIBERESPONSE = _descriptor.Descriptor( - name='SubscribeResponse', - full_name='gnmi.SubscribeResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='update', full_name='gnmi.SubscribeResponse.update', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sync_response', full_name='gnmi.SubscribeResponse.sync_response', index=1, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='error', full_name='gnmi.SubscribeResponse.error', index=2, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='extension', full_name='gnmi.SubscribeResponse.extension', index=3, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='response', full_name='gnmi.SubscribeResponse.response', - index=0, containing_type=None, fields=[]), - ], - serialized_start=1418, - serialized_end=1586, -) - - -_SUBSCRIPTIONLIST = _descriptor.Descriptor( - name='SubscriptionList', - full_name='gnmi.SubscriptionList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='prefix', full_name='gnmi.SubscriptionList.prefix', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='subscription', full_name='gnmi.SubscriptionList.subscription', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='qos', full_name='gnmi.SubscriptionList.qos', index=2, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='mode', full_name='gnmi.SubscriptionList.mode', index=3, - number=5, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='allow_aggregation', full_name='gnmi.SubscriptionList.allow_aggregation', index=4, - number=6, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='use_models', full_name='gnmi.SubscriptionList.use_models', index=5, - number=7, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='encoding', full_name='gnmi.SubscriptionList.encoding', index=6, - number=8, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='updates_only', full_name='gnmi.SubscriptionList.updates_only', index=7, - number=9, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _SUBSCRIPTIONLIST_MODE, - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1589, - serialized_end=1930, -) - - -_SUBSCRIPTION = _descriptor.Descriptor( - name='Subscription', - full_name='gnmi.Subscription', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='path', full_name='gnmi.Subscription.path', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='mode', full_name='gnmi.Subscription.mode', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sample_interval', full_name='gnmi.Subscription.sample_interval', index=2, - number=3, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='suppress_redundant', full_name='gnmi.Subscription.suppress_redundant', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='heartbeat_interval', full_name='gnmi.Subscription.heartbeat_interval', index=4, - number=5, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1933, - serialized_end=2092, -) - - -_QOSMARKING = _descriptor.Descriptor( - name='QOSMarking', - full_name='gnmi.QOSMarking', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='marking', full_name='gnmi.QOSMarking.marking', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2094, - serialized_end=2123, -) - - -_SETREQUEST = _descriptor.Descriptor( - name='SetRequest', - full_name='gnmi.SetRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='prefix', full_name='gnmi.SetRequest.prefix', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delete', full_name='gnmi.SetRequest.delete', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='replace', full_name='gnmi.SetRequest.replace', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='update', full_name='gnmi.SetRequest.update', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='union_replace', full_name='gnmi.SetRequest.union_replace', index=4, - number=6, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='extension', full_name='gnmi.SetRequest.extension', index=5, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2126, - serialized_end=2332, -) - - -_SETRESPONSE = _descriptor.Descriptor( - name='SetResponse', - full_name='gnmi.SetResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='prefix', full_name='gnmi.SetResponse.prefix', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='response', full_name='gnmi.SetResponse.response', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='message', full_name='gnmi.SetResponse.message', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='timestamp', full_name='gnmi.SetResponse.timestamp', index=3, - number=4, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='extension', full_name='gnmi.SetResponse.extension', index=4, - number=5, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2335, - serialized_end=2507, -) - - -_UPDATERESULT = _descriptor.Descriptor( - name='UpdateResult', - full_name='gnmi.UpdateResult', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='timestamp', full_name='gnmi.UpdateResult.timestamp', index=0, - number=1, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='path', full_name='gnmi.UpdateResult.path', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='message', full_name='gnmi.UpdateResult.message', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='op', full_name='gnmi.UpdateResult.op', index=3, - number=4, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _UPDATERESULT_OPERATION, - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2510, - serialized_end=2731, -) - - -_GETREQUEST = _descriptor.Descriptor( - name='GetRequest', - full_name='gnmi.GetRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='prefix', full_name='gnmi.GetRequest.prefix', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='path', full_name='gnmi.GetRequest.path', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='type', full_name='gnmi.GetRequest.type', index=2, - number=3, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='encoding', full_name='gnmi.GetRequest.encoding', index=3, - number=5, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='use_models', full_name='gnmi.GetRequest.use_models', index=4, - number=6, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='extension', full_name='gnmi.GetRequest.extension', index=5, - number=7, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _GETREQUEST_DATATYPE, - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2734, - serialized_end=3013, -) - - -_GETRESPONSE = _descriptor.Descriptor( - name='GetResponse', - full_name='gnmi.GetResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='notification', full_name='gnmi.GetResponse.notification', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='error', full_name='gnmi.GetResponse.error', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='extension', full_name='gnmi.GetResponse.extension', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3015, - serialized_end=3142, -) - - -_CAPABILITYREQUEST = _descriptor.Descriptor( - name='CapabilityRequest', - full_name='gnmi.CapabilityRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='extension', full_name='gnmi.CapabilityRequest.extension', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3144, - serialized_end=3203, -) - - -_CAPABILITYRESPONSE = _descriptor.Descriptor( - name='CapabilityResponse', - full_name='gnmi.CapabilityResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='supported_models', full_name='gnmi.CapabilityResponse.supported_models', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='supported_encodings', full_name='gnmi.CapabilityResponse.supported_encodings', index=1, - number=2, type=14, cpp_type=8, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='gNMI_version', full_name='gnmi.CapabilityResponse.gNMI_version', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='extension', full_name='gnmi.CapabilityResponse.extension', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3206, - serialized_end=3376, -) - - -_MODELDATA = _descriptor.Descriptor( - name='ModelData', - full_name='gnmi.ModelData', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='gnmi.ModelData.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='organization', full_name='gnmi.ModelData.organization', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='version', full_name='gnmi.ModelData.version', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3378, - serialized_end=3442, -) - -_NOTIFICATION.fields_by_name['prefix'].message_type = _PATH -_NOTIFICATION.fields_by_name['update'].message_type = _UPDATE -_NOTIFICATION.fields_by_name['delete'].message_type = _PATH -_UPDATE.fields_by_name['path'].message_type = _PATH -_UPDATE.fields_by_name['value'].message_type = _VALUE -_UPDATE.fields_by_name['val'].message_type = _TYPEDVALUE -_TYPEDVALUE.fields_by_name['decimal_val'].message_type = _DECIMAL64 -_TYPEDVALUE.fields_by_name['leaflist_val'].message_type = _SCALARARRAY -_TYPEDVALUE.fields_by_name['any_val'].message_type = google_dot_protobuf_dot_any__pb2._ANY -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['string_val']) -_TYPEDVALUE.fields_by_name['string_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['int_val']) -_TYPEDVALUE.fields_by_name['int_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['uint_val']) -_TYPEDVALUE.fields_by_name['uint_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['bool_val']) -_TYPEDVALUE.fields_by_name['bool_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['bytes_val']) -_TYPEDVALUE.fields_by_name['bytes_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['float_val']) -_TYPEDVALUE.fields_by_name['float_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['double_val']) -_TYPEDVALUE.fields_by_name['double_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['decimal_val']) -_TYPEDVALUE.fields_by_name['decimal_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['leaflist_val']) -_TYPEDVALUE.fields_by_name['leaflist_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['any_val']) -_TYPEDVALUE.fields_by_name['any_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['json_val']) -_TYPEDVALUE.fields_by_name['json_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['json_ietf_val']) -_TYPEDVALUE.fields_by_name['json_ietf_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['ascii_val']) -_TYPEDVALUE.fields_by_name['ascii_val'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_TYPEDVALUE.oneofs_by_name['value'].fields.append( - _TYPEDVALUE.fields_by_name['proto_bytes']) -_TYPEDVALUE.fields_by_name['proto_bytes'].containing_oneof = _TYPEDVALUE.oneofs_by_name['value'] -_PATH.fields_by_name['elem'].message_type = _PATHELEM -_PATHELEM_KEYENTRY.containing_type = _PATHELEM -_PATHELEM.fields_by_name['key'].message_type = _PATHELEM_KEYENTRY -_VALUE.fields_by_name['type'].enum_type = _ENCODING -_ERROR.fields_by_name['data'].message_type = google_dot_protobuf_dot_any__pb2._ANY -_SCALARARRAY.fields_by_name['element'].message_type = _TYPEDVALUE -_SUBSCRIBEREQUEST.fields_by_name['subscribe'].message_type = _SUBSCRIPTIONLIST -_SUBSCRIBEREQUEST.fields_by_name['poll'].message_type = _POLL -_SUBSCRIBEREQUEST.fields_by_name['extension'].message_type = github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi__ext_dot_gnmi__ext__pb2._EXTENSION -_SUBSCRIBEREQUEST.oneofs_by_name['request'].fields.append( - _SUBSCRIBEREQUEST.fields_by_name['subscribe']) -_SUBSCRIBEREQUEST.fields_by_name['subscribe'].containing_oneof = _SUBSCRIBEREQUEST.oneofs_by_name['request'] -_SUBSCRIBEREQUEST.oneofs_by_name['request'].fields.append( - _SUBSCRIBEREQUEST.fields_by_name['poll']) -_SUBSCRIBEREQUEST.fields_by_name['poll'].containing_oneof = _SUBSCRIBEREQUEST.oneofs_by_name['request'] -_SUBSCRIBERESPONSE.fields_by_name['update'].message_type = _NOTIFICATION -_SUBSCRIBERESPONSE.fields_by_name['error'].message_type = _ERROR -_SUBSCRIBERESPONSE.fields_by_name['extension'].message_type = github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi__ext_dot_gnmi__ext__pb2._EXTENSION -_SUBSCRIBERESPONSE.oneofs_by_name['response'].fields.append( - _SUBSCRIBERESPONSE.fields_by_name['update']) -_SUBSCRIBERESPONSE.fields_by_name['update'].containing_oneof = _SUBSCRIBERESPONSE.oneofs_by_name['response'] -_SUBSCRIBERESPONSE.oneofs_by_name['response'].fields.append( - _SUBSCRIBERESPONSE.fields_by_name['sync_response']) -_SUBSCRIBERESPONSE.fields_by_name['sync_response'].containing_oneof = _SUBSCRIBERESPONSE.oneofs_by_name['response'] -_SUBSCRIBERESPONSE.oneofs_by_name['response'].fields.append( - _SUBSCRIBERESPONSE.fields_by_name['error']) -_SUBSCRIBERESPONSE.fields_by_name['error'].containing_oneof = _SUBSCRIBERESPONSE.oneofs_by_name['response'] -_SUBSCRIPTIONLIST.fields_by_name['prefix'].message_type = _PATH -_SUBSCRIPTIONLIST.fields_by_name['subscription'].message_type = _SUBSCRIPTION -_SUBSCRIPTIONLIST.fields_by_name['qos'].message_type = _QOSMARKING -_SUBSCRIPTIONLIST.fields_by_name['mode'].enum_type = _SUBSCRIPTIONLIST_MODE -_SUBSCRIPTIONLIST.fields_by_name['use_models'].message_type = _MODELDATA -_SUBSCRIPTIONLIST.fields_by_name['encoding'].enum_type = _ENCODING -_SUBSCRIPTIONLIST_MODE.containing_type = _SUBSCRIPTIONLIST -_SUBSCRIPTION.fields_by_name['path'].message_type = _PATH -_SUBSCRIPTION.fields_by_name['mode'].enum_type = _SUBSCRIPTIONMODE -_SETREQUEST.fields_by_name['prefix'].message_type = _PATH -_SETREQUEST.fields_by_name['delete'].message_type = _PATH -_SETREQUEST.fields_by_name['replace'].message_type = _UPDATE -_SETREQUEST.fields_by_name['update'].message_type = _UPDATE -_SETREQUEST.fields_by_name['union_replace'].message_type = _UPDATE -_SETREQUEST.fields_by_name['extension'].message_type = github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi__ext_dot_gnmi__ext__pb2._EXTENSION -_SETRESPONSE.fields_by_name['prefix'].message_type = _PATH -_SETRESPONSE.fields_by_name['response'].message_type = _UPDATERESULT -_SETRESPONSE.fields_by_name['message'].message_type = _ERROR -_SETRESPONSE.fields_by_name['extension'].message_type = github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi__ext_dot_gnmi__ext__pb2._EXTENSION -_UPDATERESULT.fields_by_name['path'].message_type = _PATH -_UPDATERESULT.fields_by_name['message'].message_type = _ERROR -_UPDATERESULT.fields_by_name['op'].enum_type = _UPDATERESULT_OPERATION -_UPDATERESULT_OPERATION.containing_type = _UPDATERESULT -_GETREQUEST.fields_by_name['prefix'].message_type = _PATH -_GETREQUEST.fields_by_name['path'].message_type = _PATH -_GETREQUEST.fields_by_name['type'].enum_type = _GETREQUEST_DATATYPE -_GETREQUEST.fields_by_name['encoding'].enum_type = _ENCODING -_GETREQUEST.fields_by_name['use_models'].message_type = _MODELDATA -_GETREQUEST.fields_by_name['extension'].message_type = github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi__ext_dot_gnmi__ext__pb2._EXTENSION -_GETREQUEST_DATATYPE.containing_type = _GETREQUEST -_GETRESPONSE.fields_by_name['notification'].message_type = _NOTIFICATION -_GETRESPONSE.fields_by_name['error'].message_type = _ERROR -_GETRESPONSE.fields_by_name['extension'].message_type = github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi__ext_dot_gnmi__ext__pb2._EXTENSION -_CAPABILITYREQUEST.fields_by_name['extension'].message_type = github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi__ext_dot_gnmi__ext__pb2._EXTENSION -_CAPABILITYRESPONSE.fields_by_name['supported_models'].message_type = _MODELDATA -_CAPABILITYRESPONSE.fields_by_name['supported_encodings'].enum_type = _ENCODING -_CAPABILITYRESPONSE.fields_by_name['extension'].message_type = github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi__ext_dot_gnmi__ext__pb2._EXTENSION -DESCRIPTOR.message_types_by_name['Notification'] = _NOTIFICATION -DESCRIPTOR.message_types_by_name['Update'] = _UPDATE -DESCRIPTOR.message_types_by_name['TypedValue'] = _TYPEDVALUE -DESCRIPTOR.message_types_by_name['Path'] = _PATH -DESCRIPTOR.message_types_by_name['PathElem'] = _PATHELEM -DESCRIPTOR.message_types_by_name['Value'] = _VALUE -DESCRIPTOR.message_types_by_name['Error'] = _ERROR -DESCRIPTOR.message_types_by_name['Decimal64'] = _DECIMAL64 -DESCRIPTOR.message_types_by_name['ScalarArray'] = _SCALARARRAY -DESCRIPTOR.message_types_by_name['SubscribeRequest'] = _SUBSCRIBEREQUEST -DESCRIPTOR.message_types_by_name['Poll'] = _POLL -DESCRIPTOR.message_types_by_name['SubscribeResponse'] = _SUBSCRIBERESPONSE -DESCRIPTOR.message_types_by_name['SubscriptionList'] = _SUBSCRIPTIONLIST -DESCRIPTOR.message_types_by_name['Subscription'] = _SUBSCRIPTION -DESCRIPTOR.message_types_by_name['QOSMarking'] = _QOSMARKING -DESCRIPTOR.message_types_by_name['SetRequest'] = _SETREQUEST -DESCRIPTOR.message_types_by_name['SetResponse'] = _SETRESPONSE -DESCRIPTOR.message_types_by_name['UpdateResult'] = _UPDATERESULT -DESCRIPTOR.message_types_by_name['GetRequest'] = _GETREQUEST -DESCRIPTOR.message_types_by_name['GetResponse'] = _GETRESPONSE -DESCRIPTOR.message_types_by_name['CapabilityRequest'] = _CAPABILITYREQUEST -DESCRIPTOR.message_types_by_name['CapabilityResponse'] = _CAPABILITYRESPONSE -DESCRIPTOR.message_types_by_name['ModelData'] = _MODELDATA -DESCRIPTOR.enum_types_by_name['Encoding'] = _ENCODING -DESCRIPTOR.enum_types_by_name['SubscriptionMode'] = _SUBSCRIPTIONMODE -DESCRIPTOR.extensions_by_name['gnmi_service'] = gnmi_service -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Notification = _reflection.GeneratedProtocolMessageType('Notification', (_message.Message,), dict( - DESCRIPTOR = _NOTIFICATION, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.Notification) - )) -_sym_db.RegisterMessage(Notification) - -Update = _reflection.GeneratedProtocolMessageType('Update', (_message.Message,), dict( - DESCRIPTOR = _UPDATE, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.Update) - )) -_sym_db.RegisterMessage(Update) - -TypedValue = _reflection.GeneratedProtocolMessageType('TypedValue', (_message.Message,), dict( - DESCRIPTOR = _TYPEDVALUE, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.TypedValue) - )) -_sym_db.RegisterMessage(TypedValue) - -Path = _reflection.GeneratedProtocolMessageType('Path', (_message.Message,), dict( - DESCRIPTOR = _PATH, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.Path) - )) -_sym_db.RegisterMessage(Path) - -PathElem = _reflection.GeneratedProtocolMessageType('PathElem', (_message.Message,), dict( - - KeyEntry = _reflection.GeneratedProtocolMessageType('KeyEntry', (_message.Message,), dict( - DESCRIPTOR = _PATHELEM_KEYENTRY, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.PathElem.KeyEntry) - )) - , - DESCRIPTOR = _PATHELEM, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.PathElem) - )) -_sym_db.RegisterMessage(PathElem) -_sym_db.RegisterMessage(PathElem.KeyEntry) - -Value = _reflection.GeneratedProtocolMessageType('Value', (_message.Message,), dict( - DESCRIPTOR = _VALUE, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.Value) - )) -_sym_db.RegisterMessage(Value) - -Error = _reflection.GeneratedProtocolMessageType('Error', (_message.Message,), dict( - DESCRIPTOR = _ERROR, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.Error) - )) -_sym_db.RegisterMessage(Error) - -Decimal64 = _reflection.GeneratedProtocolMessageType('Decimal64', (_message.Message,), dict( - DESCRIPTOR = _DECIMAL64, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.Decimal64) - )) -_sym_db.RegisterMessage(Decimal64) - -ScalarArray = _reflection.GeneratedProtocolMessageType('ScalarArray', (_message.Message,), dict( - DESCRIPTOR = _SCALARARRAY, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.ScalarArray) - )) -_sym_db.RegisterMessage(ScalarArray) - -SubscribeRequest = _reflection.GeneratedProtocolMessageType('SubscribeRequest', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBEREQUEST, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.SubscribeRequest) - )) -_sym_db.RegisterMessage(SubscribeRequest) - -Poll = _reflection.GeneratedProtocolMessageType('Poll', (_message.Message,), dict( - DESCRIPTOR = _POLL, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.Poll) - )) -_sym_db.RegisterMessage(Poll) - -SubscribeResponse = _reflection.GeneratedProtocolMessageType('SubscribeResponse', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBERESPONSE, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.SubscribeResponse) - )) -_sym_db.RegisterMessage(SubscribeResponse) - -SubscriptionList = _reflection.GeneratedProtocolMessageType('SubscriptionList', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIPTIONLIST, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.SubscriptionList) - )) -_sym_db.RegisterMessage(SubscriptionList) - -Subscription = _reflection.GeneratedProtocolMessageType('Subscription', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIPTION, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.Subscription) - )) -_sym_db.RegisterMessage(Subscription) - -QOSMarking = _reflection.GeneratedProtocolMessageType('QOSMarking', (_message.Message,), dict( - DESCRIPTOR = _QOSMARKING, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.QOSMarking) - )) -_sym_db.RegisterMessage(QOSMarking) - -SetRequest = _reflection.GeneratedProtocolMessageType('SetRequest', (_message.Message,), dict( - DESCRIPTOR = _SETREQUEST, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.SetRequest) - )) -_sym_db.RegisterMessage(SetRequest) - -SetResponse = _reflection.GeneratedProtocolMessageType('SetResponse', (_message.Message,), dict( - DESCRIPTOR = _SETRESPONSE, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.SetResponse) - )) -_sym_db.RegisterMessage(SetResponse) - -UpdateResult = _reflection.GeneratedProtocolMessageType('UpdateResult', (_message.Message,), dict( - DESCRIPTOR = _UPDATERESULT, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.UpdateResult) - )) -_sym_db.RegisterMessage(UpdateResult) - -GetRequest = _reflection.GeneratedProtocolMessageType('GetRequest', (_message.Message,), dict( - DESCRIPTOR = _GETREQUEST, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.GetRequest) - )) -_sym_db.RegisterMessage(GetRequest) - -GetResponse = _reflection.GeneratedProtocolMessageType('GetResponse', (_message.Message,), dict( - DESCRIPTOR = _GETRESPONSE, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.GetResponse) - )) -_sym_db.RegisterMessage(GetResponse) - -CapabilityRequest = _reflection.GeneratedProtocolMessageType('CapabilityRequest', (_message.Message,), dict( - DESCRIPTOR = _CAPABILITYREQUEST, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.CapabilityRequest) - )) -_sym_db.RegisterMessage(CapabilityRequest) - -CapabilityResponse = _reflection.GeneratedProtocolMessageType('CapabilityResponse', (_message.Message,), dict( - DESCRIPTOR = _CAPABILITYRESPONSE, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.CapabilityResponse) - )) -_sym_db.RegisterMessage(CapabilityResponse) - -ModelData = _reflection.GeneratedProtocolMessageType('ModelData', (_message.Message,), dict( - DESCRIPTOR = _MODELDATA, - __module__ = 'proto.gnmi.gnmi_pb2' - # @@protoc_insertion_point(class_scope:gnmi.ModelData) - )) -_sym_db.RegisterMessage(ModelData) - -google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(gnmi_service) - -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\025com.github.gnmi.protoB\tGnmiProtoP\001Z%github.com/openconfig/gnmi/proto/gnmi\312>\0060.10.0')) -_UPDATE.fields_by_name['value'].has_options = True -_UPDATE.fields_by_name['value']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) -_TYPEDVALUE.fields_by_name['float_val'].has_options = True -_TYPEDVALUE.fields_by_name['float_val']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) -_TYPEDVALUE.fields_by_name['decimal_val'].has_options = True -_TYPEDVALUE.fields_by_name['decimal_val']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) -_PATH.fields_by_name['element'].has_options = True -_PATH.fields_by_name['element']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) -_PATHELEM_KEYENTRY.has_options = True -_PATHELEM_KEYENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_VALUE.has_options = True -_VALUE._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\030\001')) -_ERROR.has_options = True -_ERROR._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\030\001')) -_DECIMAL64.has_options = True -_DECIMAL64._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\030\001')) -_SUBSCRIBERESPONSE.fields_by_name['error'].has_options = True -_SUBSCRIBERESPONSE.fields_by_name['error']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) -_SETRESPONSE.fields_by_name['message'].has_options = True -_SETRESPONSE.fields_by_name['message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) -_UPDATERESULT.fields_by_name['timestamp'].has_options = True -_UPDATERESULT.fields_by_name['timestamp']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) -_UPDATERESULT.fields_by_name['message'].has_options = True -_UPDATERESULT.fields_by_name['message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) -_GETRESPONSE.fields_by_name['error'].has_options = True -_GETRESPONSE.fields_by_name['error']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) - -_GNMI = _descriptor.ServiceDescriptor( - name='gNMI', - full_name='gnmi.gNMI', - file=DESCRIPTOR, - index=0, - options=None, - serialized_start=3582, - serialized_end=3809, - methods=[ - _descriptor.MethodDescriptor( - name='Capabilities', - full_name='gnmi.gNMI.Capabilities', - index=0, - containing_service=None, - input_type=_CAPABILITYREQUEST, - output_type=_CAPABILITYRESPONSE, - options=None, - ), - _descriptor.MethodDescriptor( - name='Get', - full_name='gnmi.gNMI.Get', - index=1, - containing_service=None, - input_type=_GETREQUEST, - output_type=_GETRESPONSE, - options=None, - ), - _descriptor.MethodDescriptor( - name='Set', - full_name='gnmi.gNMI.Set', - index=2, - containing_service=None, - input_type=_SETREQUEST, - output_type=_SETRESPONSE, - options=None, - ), - _descriptor.MethodDescriptor( - name='Subscribe', - full_name='gnmi.gNMI.Subscribe', - index=3, - containing_service=None, - input_type=_SUBSCRIBEREQUEST, - output_type=_SUBSCRIBERESPONSE, - options=None, - ), -]) -_sym_db.RegisterServiceDescriptor(_GNMI) - -DESCRIPTOR.services_by_name['gNMI'] = _GNMI - -# @@protoc_insertion_point(module_scope) diff --git a/proto/gnmi/gnmi_pb2_grpc.py b/proto/gnmi/gnmi_pb2_grpc.py deleted file mode 100644 index 7bf9433..0000000 --- a/proto/gnmi/gnmi_pb2_grpc.py +++ /dev/null @@ -1,113 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - -from proto.gnmi import gnmi_pb2 as proto_dot_gnmi_dot_gnmi__pb2 - - -class gNMIStub(object): - # missing associated documentation comment in .proto file - pass - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.Capabilities = channel.unary_unary( - '/gnmi.gNMI/Capabilities', - request_serializer=proto_dot_gnmi_dot_gnmi__pb2.CapabilityRequest.SerializeToString, - response_deserializer=proto_dot_gnmi_dot_gnmi__pb2.CapabilityResponse.FromString, - ) - self.Get = channel.unary_unary( - '/gnmi.gNMI/Get', - request_serializer=proto_dot_gnmi_dot_gnmi__pb2.GetRequest.SerializeToString, - response_deserializer=proto_dot_gnmi_dot_gnmi__pb2.GetResponse.FromString, - ) - self.Set = channel.unary_unary( - '/gnmi.gNMI/Set', - request_serializer=proto_dot_gnmi_dot_gnmi__pb2.SetRequest.SerializeToString, - response_deserializer=proto_dot_gnmi_dot_gnmi__pb2.SetResponse.FromString, - ) - self.Subscribe = channel.stream_stream( - '/gnmi.gNMI/Subscribe', - request_serializer=proto_dot_gnmi_dot_gnmi__pb2.SubscribeRequest.SerializeToString, - response_deserializer=proto_dot_gnmi_dot_gnmi__pb2.SubscribeResponse.FromString, - ) - - -class gNMIServicer(object): - # missing associated documentation comment in .proto file - pass - - def Capabilities(self, request, context): - """Capabilities allows the client to retrieve the set of capabilities that - is supported by the target. This allows the target to validate the - service version that is implemented and retrieve the set of models that - the target supports. The models can then be specified in subsequent RPCs - to restrict the set of data that is utilized. - Reference: gNMI Specification Section 3.2 - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Get(self, request, context): - """Retrieve a snapshot of data from the target. A Get RPC requests that the - target snapshots a subset of the data tree as specified by the paths - included in the message and serializes this to be returned to the - client using the specified encoding. - Reference: gNMI Specification Section 3.3 - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Set(self, request, context): - """Set allows the client to modify the state of data on the target. The - paths to modified along with the new values that the client wishes - to set the value to. - Reference: gNMI Specification Section 3.4 - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Subscribe(self, request_iterator, context): - """Subscribe allows a client to request the target to send it values - of particular paths within the data tree. These values may be streamed - at a particular cadence (STREAM), sent one off on a long-lived channel - (POLL), or sent as a one-off retrieval (ONCE). - Reference: gNMI Specification Section 3.5 - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_gNMIServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Capabilities': grpc.unary_unary_rpc_method_handler( - servicer.Capabilities, - request_deserializer=proto_dot_gnmi_dot_gnmi__pb2.CapabilityRequest.FromString, - response_serializer=proto_dot_gnmi_dot_gnmi__pb2.CapabilityResponse.SerializeToString, - ), - 'Get': grpc.unary_unary_rpc_method_handler( - servicer.Get, - request_deserializer=proto_dot_gnmi_dot_gnmi__pb2.GetRequest.FromString, - response_serializer=proto_dot_gnmi_dot_gnmi__pb2.GetResponse.SerializeToString, - ), - 'Set': grpc.unary_unary_rpc_method_handler( - servicer.Set, - request_deserializer=proto_dot_gnmi_dot_gnmi__pb2.SetRequest.FromString, - response_serializer=proto_dot_gnmi_dot_gnmi__pb2.SetResponse.SerializeToString, - ), - 'Subscribe': grpc.stream_stream_rpc_method_handler( - servicer.Subscribe, - request_deserializer=proto_dot_gnmi_dot_gnmi__pb2.SubscribeRequest.FromString, - response_serializer=proto_dot_gnmi_dot_gnmi__pb2.SubscribeResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'gnmi.gNMI', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) diff --git a/proto/gnmi_ext/gnmi_ext.pb.go b/proto/gnmi_ext/gnmi_ext.pb.go deleted file mode 100644 index 0386611..0000000 --- a/proto/gnmi_ext/gnmi_ext.pb.go +++ /dev/null @@ -1,1302 +0,0 @@ -// -// Copyright 2018 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.0 -// source: proto/gnmi_ext/gnmi_ext.proto - -// Package gnmi_ext defines a set of extensions messages which can be optionally -// included with the request and response messages of gNMI RPCs. A set of -// well-known extensions are defined within this file, along with a registry for -// extensions defined outside of this package. - -package gnmi_ext - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - durationpb "google.golang.org/protobuf/types/known/durationpb" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// RegisteredExtension is an enumeration acting as a registry for extensions -// defined by external sources. -type ExtensionID int32 - -const ( - ExtensionID_EID_UNSET ExtensionID = 0 - // An experimental extension that may be used during prototyping of a new - // extension. - ExtensionID_EID_EXPERIMENTAL ExtensionID = 999 -) - -// Enum value maps for ExtensionID. -var ( - ExtensionID_name = map[int32]string{ - 0: "EID_UNSET", - 999: "EID_EXPERIMENTAL", - } - ExtensionID_value = map[string]int32{ - "EID_UNSET": 0, - "EID_EXPERIMENTAL": 999, - } -) - -func (x ExtensionID) Enum() *ExtensionID { - p := new(ExtensionID) - *p = x - return p -} - -func (x ExtensionID) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ExtensionID) Descriptor() protoreflect.EnumDescriptor { - return file_proto_gnmi_ext_gnmi_ext_proto_enumTypes[0].Descriptor() -} - -func (ExtensionID) Type() protoreflect.EnumType { - return &file_proto_gnmi_ext_gnmi_ext_proto_enumTypes[0] -} - -func (x ExtensionID) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ExtensionID.Descriptor instead. -func (ExtensionID) EnumDescriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{0} -} - -// The Extension message contains a single gNMI extension. -type Extension struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Ext: - // - // *Extension_RegisteredExt - // *Extension_MasterArbitration - // *Extension_History - // *Extension_Commit - // *Extension_Depth - Ext isExtension_Ext `protobuf_oneof:"ext"` -} - -func (x *Extension) Reset() { - *x = Extension{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Extension) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Extension) ProtoMessage() {} - -func (x *Extension) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Extension.ProtoReflect.Descriptor instead. -func (*Extension) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{0} -} - -func (m *Extension) GetExt() isExtension_Ext { - if m != nil { - return m.Ext - } - return nil -} - -func (x *Extension) GetRegisteredExt() *RegisteredExtension { - if x, ok := x.GetExt().(*Extension_RegisteredExt); ok { - return x.RegisteredExt - } - return nil -} - -func (x *Extension) GetMasterArbitration() *MasterArbitration { - if x, ok := x.GetExt().(*Extension_MasterArbitration); ok { - return x.MasterArbitration - } - return nil -} - -func (x *Extension) GetHistory() *History { - if x, ok := x.GetExt().(*Extension_History); ok { - return x.History - } - return nil -} - -func (x *Extension) GetCommit() *Commit { - if x, ok := x.GetExt().(*Extension_Commit); ok { - return x.Commit - } - return nil -} - -func (x *Extension) GetDepth() *Depth { - if x, ok := x.GetExt().(*Extension_Depth); ok { - return x.Depth - } - return nil -} - -type isExtension_Ext interface { - isExtension_Ext() -} - -type Extension_RegisteredExt struct { - RegisteredExt *RegisteredExtension `protobuf:"bytes,1,opt,name=registered_ext,json=registeredExt,proto3,oneof"` // A registered extension. -} - -type Extension_MasterArbitration struct { - // Well known extensions. - MasterArbitration *MasterArbitration `protobuf:"bytes,2,opt,name=master_arbitration,json=masterArbitration,proto3,oneof"` // Master arbitration extension. -} - -type Extension_History struct { - History *History `protobuf:"bytes,3,opt,name=history,proto3,oneof"` // History extension. -} - -type Extension_Commit struct { - Commit *Commit `protobuf:"bytes,4,opt,name=commit,proto3,oneof"` // Commit confirmed extension. -} - -type Extension_Depth struct { - Depth *Depth `protobuf:"bytes,5,opt,name=depth,proto3,oneof"` // Depth extension. -} - -func (*Extension_RegisteredExt) isExtension_Ext() {} - -func (*Extension_MasterArbitration) isExtension_Ext() {} - -func (*Extension_History) isExtension_Ext() {} - -func (*Extension_Commit) isExtension_Ext() {} - -func (*Extension_Depth) isExtension_Ext() {} - -// The RegisteredExtension message defines an extension which is defined outside -// of this file. -type RegisteredExtension struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id ExtensionID `protobuf:"varint,1,opt,name=id,proto3,enum=gnmi_ext.ExtensionID" json:"id,omitempty"` // The unique ID assigned to this extension. - Msg []byte `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // The binary-marshalled protobuf extension payload. -} - -func (x *RegisteredExtension) Reset() { - *x = RegisteredExtension{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RegisteredExtension) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RegisteredExtension) ProtoMessage() {} - -func (x *RegisteredExtension) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RegisteredExtension.ProtoReflect.Descriptor instead. -func (*RegisteredExtension) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{1} -} - -func (x *RegisteredExtension) GetId() ExtensionID { - if x != nil { - return x.Id - } - return ExtensionID_EID_UNSET -} - -func (x *RegisteredExtension) GetMsg() []byte { - if x != nil { - return x.Msg - } - return nil -} - -// MasterArbitration is used to select the master among multiple gNMI clients -// with the same Roles. The client with the largest election_id is honored as -// the master. -// The document about gNMI master arbitration can be found at -// https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-master-arbitration.md -type MasterArbitration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Role *Role `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` - ElectionId *Uint128 `protobuf:"bytes,2,opt,name=election_id,json=electionId,proto3" json:"election_id,omitempty"` -} - -func (x *MasterArbitration) Reset() { - *x = MasterArbitration{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MasterArbitration) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MasterArbitration) ProtoMessage() {} - -func (x *MasterArbitration) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MasterArbitration.ProtoReflect.Descriptor instead. -func (*MasterArbitration) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{2} -} - -func (x *MasterArbitration) GetRole() *Role { - if x != nil { - return x.Role - } - return nil -} - -func (x *MasterArbitration) GetElectionId() *Uint128 { - if x != nil { - return x.ElectionId - } - return nil -} - -// Representation of unsigned 128-bit integer. -type Uint128 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - High uint64 `protobuf:"varint,1,opt,name=high,proto3" json:"high,omitempty"` - Low uint64 `protobuf:"varint,2,opt,name=low,proto3" json:"low,omitempty"` -} - -func (x *Uint128) Reset() { - *x = Uint128{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Uint128) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Uint128) ProtoMessage() {} - -func (x *Uint128) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Uint128.ProtoReflect.Descriptor instead. -func (*Uint128) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{3} -} - -func (x *Uint128) GetHigh() uint64 { - if x != nil { - return x.High - } - return 0 -} - -func (x *Uint128) GetLow() uint64 { - if x != nil { - return x.Low - } - return 0 -} - -// There can be one master for each role. The role is identified by its id. -type Role struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *Role) Reset() { - *x = Role{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Role) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Role) ProtoMessage() {} - -func (x *Role) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Role.ProtoReflect.Descriptor instead. -func (*Role) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{4} -} - -func (x *Role) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -// The History extension allows clients to request historical data. Its -// spec can be found at -// https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-history.md -type History struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Request: - // - // *History_SnapshotTime - // *History_Range - Request isHistory_Request `protobuf_oneof:"request"` -} - -func (x *History) Reset() { - *x = History{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *History) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*History) ProtoMessage() {} - -func (x *History) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use History.ProtoReflect.Descriptor instead. -func (*History) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{5} -} - -func (m *History) GetRequest() isHistory_Request { - if m != nil { - return m.Request - } - return nil -} - -func (x *History) GetSnapshotTime() int64 { - if x, ok := x.GetRequest().(*History_SnapshotTime); ok { - return x.SnapshotTime - } - return 0 -} - -func (x *History) GetRange() *TimeRange { - if x, ok := x.GetRequest().(*History_Range); ok { - return x.Range - } - return nil -} - -type isHistory_Request interface { - isHistory_Request() -} - -type History_SnapshotTime struct { - SnapshotTime int64 `protobuf:"varint,1,opt,name=snapshot_time,json=snapshotTime,proto3,oneof"` // Nanoseconds since the epoch -} - -type History_Range struct { - Range *TimeRange `protobuf:"bytes,2,opt,name=range,proto3,oneof"` -} - -func (*History_SnapshotTime) isHistory_Request() {} - -func (*History_Range) isHistory_Request() {} - -type TimeRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` // Nanoseconds since the epoch - End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` // Nanoseconds since the epoch -} - -func (x *TimeRange) Reset() { - *x = TimeRange{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TimeRange) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TimeRange) ProtoMessage() {} - -func (x *TimeRange) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TimeRange.ProtoReflect.Descriptor instead. -func (*TimeRange) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{6} -} - -func (x *TimeRange) GetStart() int64 { - if x != nil { - return x.Start - } - return 0 -} - -func (x *TimeRange) GetEnd() int64 { - if x != nil { - return x.End - } - return 0 -} - -// Commit confirmed extension allows automated revert of the configuration after -// certain duration if an explicit confirmation is not issued. It allows -// explicit cancellation of the commit during the rollback window. There cannot -// be more than one commit active at a given time. The document about gNMI -// commit confirmed can be found at -// https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-commit-confirmed.md -type Commit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // ID is provided by the client during the commit request. During confirm and - // cancel actions the provided ID should match the ID provided during commit. - // If ID is not passed in any actions server shall return error. - // Required. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // Types that are assignable to Action: - // - // *Commit_Commit - // *Commit_Confirm - // *Commit_Cancel - // *Commit_SetRollbackDuration - Action isCommit_Action `protobuf_oneof:"action"` -} - -func (x *Commit) Reset() { - *x = Commit{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Commit) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Commit) ProtoMessage() {} - -func (x *Commit) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Commit.ProtoReflect.Descriptor instead. -func (*Commit) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{7} -} - -func (x *Commit) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (m *Commit) GetAction() isCommit_Action { - if m != nil { - return m.Action - } - return nil -} - -func (x *Commit) GetCommit() *CommitRequest { - if x, ok := x.GetAction().(*Commit_Commit); ok { - return x.Commit - } - return nil -} - -func (x *Commit) GetConfirm() *CommitConfirm { - if x, ok := x.GetAction().(*Commit_Confirm); ok { - return x.Confirm - } - return nil -} - -func (x *Commit) GetCancel() *CommitCancel { - if x, ok := x.GetAction().(*Commit_Cancel); ok { - return x.Cancel - } - return nil -} - -func (x *Commit) GetSetRollbackDuration() *CommitSetRollbackDuration { - if x, ok := x.GetAction().(*Commit_SetRollbackDuration); ok { - return x.SetRollbackDuration - } - return nil -} - -type isCommit_Action interface { - isCommit_Action() -} - -type Commit_Commit struct { - // commit action creates a new commit. If a commit is on-going, server - // returns error. - Commit *CommitRequest `protobuf:"bytes,2,opt,name=commit,proto3,oneof"` -} - -type Commit_Confirm struct { - // confirm action will confirm an on-going commit, the ID provided during - // confirm should match the on-going commit ID. - Confirm *CommitConfirm `protobuf:"bytes,3,opt,name=confirm,proto3,oneof"` -} - -type Commit_Cancel struct { - // cancel action will cancel an on-going commit, the ID provided during - // cancel should match the on-going commit ID. - Cancel *CommitCancel `protobuf:"bytes,4,opt,name=cancel,proto3,oneof"` -} - -type Commit_SetRollbackDuration struct { - // set rollback duration action sets the rollback duration of an on-going commit - // to a new value. - // The ID provided with the Commit message should match the on-going commit ID. - SetRollbackDuration *CommitSetRollbackDuration `protobuf:"bytes,5,opt,name=set_rollback_duration,json=setRollbackDuration,proto3,oneof"` -} - -func (*Commit_Commit) isCommit_Action() {} - -func (*Commit_Confirm) isCommit_Action() {} - -func (*Commit_Cancel) isCommit_Action() {} - -func (*Commit_SetRollbackDuration) isCommit_Action() {} - -// CommitRequest is used to create a new confirmed commit. It hold additional -// parameter requried for commit action. -type CommitRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Maximum duration to wait for a confirmaton before reverting the commit. - RollbackDuration *durationpb.Duration `protobuf:"bytes,1,opt,name=rollback_duration,json=rollbackDuration,proto3" json:"rollback_duration,omitempty"` -} - -func (x *CommitRequest) Reset() { - *x = CommitRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommitRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommitRequest) ProtoMessage() {} - -func (x *CommitRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CommitRequest.ProtoReflect.Descriptor instead. -func (*CommitRequest) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{8} -} - -func (x *CommitRequest) GetRollbackDuration() *durationpb.Duration { - if x != nil { - return x.RollbackDuration - } - return nil -} - -// CommitConfirm is used to confirm an on-going commit. It hold additional -// parameter requried for confirm action. -type CommitConfirm struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *CommitConfirm) Reset() { - *x = CommitConfirm{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommitConfirm) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommitConfirm) ProtoMessage() {} - -func (x *CommitConfirm) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CommitConfirm.ProtoReflect.Descriptor instead. -func (*CommitConfirm) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{9} -} - -// CommitCancel is used to cancel an on-going commit. It hold additional -// parameter requried for cancel action. -type CommitCancel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *CommitCancel) Reset() { - *x = CommitCancel{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommitCancel) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommitCancel) ProtoMessage() {} - -func (x *CommitCancel) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CommitCancel.ProtoReflect.Descriptor instead. -func (*CommitCancel) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{10} -} - -// CommitSetRollbackDuration is used to set the existing rollback duration value -// of an on-going commit to a new desired value. -type CommitSetRollbackDuration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Maximum duration to wait for a confirmaton before reverting the commit. - RollbackDuration *durationpb.Duration `protobuf:"bytes,1,opt,name=rollback_duration,json=rollbackDuration,proto3" json:"rollback_duration,omitempty"` -} - -func (x *CommitSetRollbackDuration) Reset() { - *x = CommitSetRollbackDuration{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommitSetRollbackDuration) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommitSetRollbackDuration) ProtoMessage() {} - -func (x *CommitSetRollbackDuration) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CommitSetRollbackDuration.ProtoReflect.Descriptor instead. -func (*CommitSetRollbackDuration) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{11} -} - -func (x *CommitSetRollbackDuration) GetRollbackDuration() *durationpb.Duration { - if x != nil { - return x.RollbackDuration - } - return nil -} - -// Depth allows clients to specify the depth of the subtree to be returned in -// the response. The depth is specified as the number of levels below the -// specified path. -// The depth is applied to all paths in the Get or Subscribe request. -// The document about gNMI depth can be found at -// https://github.com/openconfig/reference/tree/master/rpc/gnmi/gnmi-depth.md -type Depth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The level of the subtree to be returned in the response. - // Value of 0 means no depth limit and behaves the same as if the extension - // was not specified. - // Value of 1 means only the specified path and its direct children will be - // returned. - Level uint32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"` -} - -func (x *Depth) Reset() { - *x = Depth{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Depth) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Depth) ProtoMessage() {} - -func (x *Depth) ProtoReflect() protoreflect.Message { - mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Depth.ProtoReflect.Descriptor instead. -func (*Depth) Descriptor() ([]byte, []int) { - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{12} -} - -func (x *Depth) GetLevel() uint32 { - if x != nil { - return x.Level - } - return 0 -} - -var File_proto_gnmi_ext_gnmi_ext_proto protoreflect.FileDescriptor - -var file_proto_gnmi_ext_gnmi_ext_proto_rawDesc = []byte{ - 0x0a, 0x1d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, - 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x08, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x02, 0x0a, 0x09, 0x45, 0x78, - 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x45, 0x78, 0x74, 0x12, - 0x4c, 0x0a, 0x12, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x62, - 0x69, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x6d, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x41, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, - 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x48, 0x00, 0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x06, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, - 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x48, 0x00, - 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, - 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, - 0x78, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x74, 0x68, 0x48, 0x00, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, - 0x68, 0x42, 0x05, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x22, 0x4e, 0x0a, 0x13, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x25, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6b, 0x0a, 0x11, 0x4d, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x41, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, - 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x12, 0x32, 0x0a, 0x0b, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, - 0x74, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x52, 0x0a, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x07, 0x55, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, - 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, - 0x68, 0x69, 0x67, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x22, 0x16, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x68, - 0x0a, 0x07, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0d, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x00, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x2b, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x09, 0x0a, - 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x33, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, - 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x97, 0x02, - 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, - 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, - 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x12, 0x30, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x12, 0x59, 0x0a, 0x15, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, - 0x63, 0x6b, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x73, 0x65, 0x74, 0x52, 0x6f, 0x6c, - 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, - 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x57, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x72, 0x6f, 0x6c, 0x6c, - 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, - 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x0f, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, - 0x6d, 0x22, 0x0e, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x22, 0x63, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x52, 0x6f, - 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, - 0x0a, 0x11, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1d, 0x0a, 0x05, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2a, 0x33, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x49, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x45, - 0x54, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x10, 0x45, 0x49, 0x44, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x52, - 0x49, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x10, 0xe7, 0x07, 0x42, 0x2b, 0x5a, 0x29, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, - 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_proto_gnmi_ext_gnmi_ext_proto_rawDescOnce sync.Once - file_proto_gnmi_ext_gnmi_ext_proto_rawDescData = file_proto_gnmi_ext_gnmi_ext_proto_rawDesc -) - -func file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP() []byte { - file_proto_gnmi_ext_gnmi_ext_proto_rawDescOnce.Do(func() { - file_proto_gnmi_ext_gnmi_ext_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_gnmi_ext_gnmi_ext_proto_rawDescData) - }) - return file_proto_gnmi_ext_gnmi_ext_proto_rawDescData -} - -var file_proto_gnmi_ext_gnmi_ext_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_proto_gnmi_ext_gnmi_ext_proto_msgTypes = make([]protoimpl.MessageInfo, 13) -var file_proto_gnmi_ext_gnmi_ext_proto_goTypes = []interface{}{ - (ExtensionID)(0), // 0: gnmi_ext.ExtensionID - (*Extension)(nil), // 1: gnmi_ext.Extension - (*RegisteredExtension)(nil), // 2: gnmi_ext.RegisteredExtension - (*MasterArbitration)(nil), // 3: gnmi_ext.MasterArbitration - (*Uint128)(nil), // 4: gnmi_ext.Uint128 - (*Role)(nil), // 5: gnmi_ext.Role - (*History)(nil), // 6: gnmi_ext.History - (*TimeRange)(nil), // 7: gnmi_ext.TimeRange - (*Commit)(nil), // 8: gnmi_ext.Commit - (*CommitRequest)(nil), // 9: gnmi_ext.CommitRequest - (*CommitConfirm)(nil), // 10: gnmi_ext.CommitConfirm - (*CommitCancel)(nil), // 11: gnmi_ext.CommitCancel - (*CommitSetRollbackDuration)(nil), // 12: gnmi_ext.CommitSetRollbackDuration - (*Depth)(nil), // 13: gnmi_ext.Depth - (*durationpb.Duration)(nil), // 14: google.protobuf.Duration -} -var file_proto_gnmi_ext_gnmi_ext_proto_depIdxs = []int32{ - 2, // 0: gnmi_ext.Extension.registered_ext:type_name -> gnmi_ext.RegisteredExtension - 3, // 1: gnmi_ext.Extension.master_arbitration:type_name -> gnmi_ext.MasterArbitration - 6, // 2: gnmi_ext.Extension.history:type_name -> gnmi_ext.History - 8, // 3: gnmi_ext.Extension.commit:type_name -> gnmi_ext.Commit - 13, // 4: gnmi_ext.Extension.depth:type_name -> gnmi_ext.Depth - 0, // 5: gnmi_ext.RegisteredExtension.id:type_name -> gnmi_ext.ExtensionID - 5, // 6: gnmi_ext.MasterArbitration.role:type_name -> gnmi_ext.Role - 4, // 7: gnmi_ext.MasterArbitration.election_id:type_name -> gnmi_ext.Uint128 - 7, // 8: gnmi_ext.History.range:type_name -> gnmi_ext.TimeRange - 9, // 9: gnmi_ext.Commit.commit:type_name -> gnmi_ext.CommitRequest - 10, // 10: gnmi_ext.Commit.confirm:type_name -> gnmi_ext.CommitConfirm - 11, // 11: gnmi_ext.Commit.cancel:type_name -> gnmi_ext.CommitCancel - 12, // 12: gnmi_ext.Commit.set_rollback_duration:type_name -> gnmi_ext.CommitSetRollbackDuration - 14, // 13: gnmi_ext.CommitRequest.rollback_duration:type_name -> google.protobuf.Duration - 14, // 14: gnmi_ext.CommitSetRollbackDuration.rollback_duration:type_name -> google.protobuf.Duration - 15, // [15:15] is the sub-list for method output_type - 15, // [15:15] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name -} - -func init() { file_proto_gnmi_ext_gnmi_ext_proto_init() } -func file_proto_gnmi_ext_gnmi_ext_proto_init() { - if File_proto_gnmi_ext_gnmi_ext_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Extension); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisteredExtension); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MasterArbitration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Uint128); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Role); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*History); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TimeRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Commit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitConfirm); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitCancel); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitSetRollbackDuration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Depth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[0].OneofWrappers = []interface{}{ - (*Extension_RegisteredExt)(nil), - (*Extension_MasterArbitration)(nil), - (*Extension_History)(nil), - (*Extension_Commit)(nil), - (*Extension_Depth)(nil), - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[5].OneofWrappers = []interface{}{ - (*History_SnapshotTime)(nil), - (*History_Range)(nil), - } - file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[7].OneofWrappers = []interface{}{ - (*Commit_Commit)(nil), - (*Commit_Confirm)(nil), - (*Commit_Cancel)(nil), - (*Commit_SetRollbackDuration)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_gnmi_ext_gnmi_ext_proto_rawDesc, - NumEnums: 1, - NumMessages: 13, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_proto_gnmi_ext_gnmi_ext_proto_goTypes, - DependencyIndexes: file_proto_gnmi_ext_gnmi_ext_proto_depIdxs, - EnumInfos: file_proto_gnmi_ext_gnmi_ext_proto_enumTypes, - MessageInfos: file_proto_gnmi_ext_gnmi_ext_proto_msgTypes, - }.Build() - File_proto_gnmi_ext_gnmi_ext_proto = out.File - file_proto_gnmi_ext_gnmi_ext_proto_rawDesc = nil - file_proto_gnmi_ext_gnmi_ext_proto_goTypes = nil - file_proto_gnmi_ext_gnmi_ext_proto_depIdxs = nil -} diff --git a/proto/gnmi_ext/gnmi_ext_pb2.py b/proto/gnmi_ext/gnmi_ext_pb2.py deleted file mode 100644 index a22be86..0000000 --- a/proto/gnmi_ext/gnmi_ext_pb2.py +++ /dev/null @@ -1,702 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: proto/gnmi_ext/gnmi_ext.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf.internal import enum_type_wrapper -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='proto/gnmi_ext/gnmi_ext.proto', - package='gnmi_ext', - syntax='proto3', - serialized_pb=_b('\n\x1dproto/gnmi_ext/gnmi_ext.proto\x12\x08gnmi_ext\x1a\x1egoogle/protobuf/duration.proto\"\xf2\x01\n\tExtension\x12\x37\n\x0eregistered_ext\x18\x01 \x01(\x0b\x32\x1d.gnmi_ext.RegisteredExtensionH\x00\x12\x39\n\x12master_arbitration\x18\x02 \x01(\x0b\x32\x1b.gnmi_ext.MasterArbitrationH\x00\x12$\n\x07history\x18\x03 \x01(\x0b\x32\x11.gnmi_ext.HistoryH\x00\x12\"\n\x06\x63ommit\x18\x04 \x01(\x0b\x32\x10.gnmi_ext.CommitH\x00\x12 \n\x05\x64\x65pth\x18\x05 \x01(\x0b\x32\x0f.gnmi_ext.DepthH\x00\x42\x05\n\x03\x65xt\"E\n\x13RegisteredExtension\x12!\n\x02id\x18\x01 \x01(\x0e\x32\x15.gnmi_ext.ExtensionID\x12\x0b\n\x03msg\x18\x02 \x01(\x0c\"Y\n\x11MasterArbitration\x12\x1c\n\x04role\x18\x01 \x01(\x0b\x32\x0e.gnmi_ext.Role\x12&\n\x0b\x65lection_id\x18\x02 \x01(\x0b\x32\x11.gnmi_ext.Uint128\"$\n\x07Uint128\x12\x0c\n\x04high\x18\x01 \x01(\x04\x12\x0b\n\x03low\x18\x02 \x01(\x04\"\x12\n\x04Role\x12\n\n\x02id\x18\x01 \x01(\t\"S\n\x07History\x12\x17\n\rsnapshot_time\x18\x01 \x01(\x03H\x00\x12$\n\x05range\x18\x02 \x01(\x0b\x32\x13.gnmi_ext.TimeRangeH\x00\x42\t\n\x07request\"\'\n\tTimeRange\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\"\xe5\x01\n\x06\x43ommit\x12\n\n\x02id\x18\x01 \x01(\t\x12)\n\x06\x63ommit\x18\x02 \x01(\x0b\x32\x17.gnmi_ext.CommitRequestH\x00\x12*\n\x07\x63onfirm\x18\x03 \x01(\x0b\x32\x17.gnmi_ext.CommitConfirmH\x00\x12(\n\x06\x63\x61ncel\x18\x04 \x01(\x0b\x32\x16.gnmi_ext.CommitCancelH\x00\x12\x44\n\x15set_rollback_duration\x18\x05 \x01(\x0b\x32#.gnmi_ext.CommitSetRollbackDurationH\x00\x42\x08\n\x06\x61\x63tion\"E\n\rCommitRequest\x12\x34\n\x11rollback_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x0f\n\rCommitConfirm\"\x0e\n\x0c\x43ommitCancel\"Q\n\x19\x43ommitSetRollbackDuration\x12\x34\n\x11rollback_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x16\n\x05\x44\x65pth\x12\r\n\x05level\x18\x01 \x01(\r*3\n\x0b\x45xtensionID\x12\r\n\tEID_UNSET\x10\x00\x12\x15\n\x10\x45ID_EXPERIMENTAL\x10\xe7\x07\x42+Z)github.com/openconfig/gnmi/proto/gnmi_extb\x06proto3') - , - dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,]) - -_EXTENSIONID = _descriptor.EnumDescriptor( - name='ExtensionID', - full_name='gnmi_ext.ExtensionID', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='EID_UNSET', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='EID_EXPERIMENTAL', index=1, number=999, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=1109, - serialized_end=1160, -) -_sym_db.RegisterEnumDescriptor(_EXTENSIONID) - -ExtensionID = enum_type_wrapper.EnumTypeWrapper(_EXTENSIONID) -EID_UNSET = 0 -EID_EXPERIMENTAL = 999 - - - -_EXTENSION = _descriptor.Descriptor( - name='Extension', - full_name='gnmi_ext.Extension', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='registered_ext', full_name='gnmi_ext.Extension.registered_ext', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='master_arbitration', full_name='gnmi_ext.Extension.master_arbitration', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='history', full_name='gnmi_ext.Extension.history', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='commit', full_name='gnmi_ext.Extension.commit', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='depth', full_name='gnmi_ext.Extension.depth', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='ext', full_name='gnmi_ext.Extension.ext', - index=0, containing_type=None, fields=[]), - ], - serialized_start=76, - serialized_end=318, -) - - -_REGISTEREDEXTENSION = _descriptor.Descriptor( - name='RegisteredExtension', - full_name='gnmi_ext.RegisteredExtension', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='id', full_name='gnmi_ext.RegisteredExtension.id', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='msg', full_name='gnmi_ext.RegisteredExtension.msg', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=320, - serialized_end=389, -) - - -_MASTERARBITRATION = _descriptor.Descriptor( - name='MasterArbitration', - full_name='gnmi_ext.MasterArbitration', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='role', full_name='gnmi_ext.MasterArbitration.role', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='election_id', full_name='gnmi_ext.MasterArbitration.election_id', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=391, - serialized_end=480, -) - - -_UINT128 = _descriptor.Descriptor( - name='Uint128', - full_name='gnmi_ext.Uint128', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='high', full_name='gnmi_ext.Uint128.high', index=0, - number=1, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='low', full_name='gnmi_ext.Uint128.low', index=1, - number=2, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=482, - serialized_end=518, -) - - -_ROLE = _descriptor.Descriptor( - name='Role', - full_name='gnmi_ext.Role', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='id', full_name='gnmi_ext.Role.id', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=520, - serialized_end=538, -) - - -_HISTORY = _descriptor.Descriptor( - name='History', - full_name='gnmi_ext.History', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='snapshot_time', full_name='gnmi_ext.History.snapshot_time', index=0, - number=1, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='range', full_name='gnmi_ext.History.range', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='request', full_name='gnmi_ext.History.request', - index=0, containing_type=None, fields=[]), - ], - serialized_start=540, - serialized_end=623, -) - - -_TIMERANGE = _descriptor.Descriptor( - name='TimeRange', - full_name='gnmi_ext.TimeRange', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='start', full_name='gnmi_ext.TimeRange.start', index=0, - number=1, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='end', full_name='gnmi_ext.TimeRange.end', index=1, - number=2, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=625, - serialized_end=664, -) - - -_COMMIT = _descriptor.Descriptor( - name='Commit', - full_name='gnmi_ext.Commit', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='id', full_name='gnmi_ext.Commit.id', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='commit', full_name='gnmi_ext.Commit.commit', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='confirm', full_name='gnmi_ext.Commit.confirm', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='cancel', full_name='gnmi_ext.Commit.cancel', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='set_rollback_duration', full_name='gnmi_ext.Commit.set_rollback_duration', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='action', full_name='gnmi_ext.Commit.action', - index=0, containing_type=None, fields=[]), - ], - serialized_start=667, - serialized_end=896, -) - - -_COMMITREQUEST = _descriptor.Descriptor( - name='CommitRequest', - full_name='gnmi_ext.CommitRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='rollback_duration', full_name='gnmi_ext.CommitRequest.rollback_duration', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=898, - serialized_end=967, -) - - -_COMMITCONFIRM = _descriptor.Descriptor( - name='CommitConfirm', - full_name='gnmi_ext.CommitConfirm', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=969, - serialized_end=984, -) - - -_COMMITCANCEL = _descriptor.Descriptor( - name='CommitCancel', - full_name='gnmi_ext.CommitCancel', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=986, - serialized_end=1000, -) - - -_COMMITSETROLLBACKDURATION = _descriptor.Descriptor( - name='CommitSetRollbackDuration', - full_name='gnmi_ext.CommitSetRollbackDuration', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='rollback_duration', full_name='gnmi_ext.CommitSetRollbackDuration.rollback_duration', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1002, - serialized_end=1083, -) - - -_DEPTH = _descriptor.Descriptor( - name='Depth', - full_name='gnmi_ext.Depth', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='level', full_name='gnmi_ext.Depth.level', index=0, - number=1, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1085, - serialized_end=1107, -) - -_EXTENSION.fields_by_name['registered_ext'].message_type = _REGISTEREDEXTENSION -_EXTENSION.fields_by_name['master_arbitration'].message_type = _MASTERARBITRATION -_EXTENSION.fields_by_name['history'].message_type = _HISTORY -_EXTENSION.fields_by_name['commit'].message_type = _COMMIT -_EXTENSION.fields_by_name['depth'].message_type = _DEPTH -_EXTENSION.oneofs_by_name['ext'].fields.append( - _EXTENSION.fields_by_name['registered_ext']) -_EXTENSION.fields_by_name['registered_ext'].containing_oneof = _EXTENSION.oneofs_by_name['ext'] -_EXTENSION.oneofs_by_name['ext'].fields.append( - _EXTENSION.fields_by_name['master_arbitration']) -_EXTENSION.fields_by_name['master_arbitration'].containing_oneof = _EXTENSION.oneofs_by_name['ext'] -_EXTENSION.oneofs_by_name['ext'].fields.append( - _EXTENSION.fields_by_name['history']) -_EXTENSION.fields_by_name['history'].containing_oneof = _EXTENSION.oneofs_by_name['ext'] -_EXTENSION.oneofs_by_name['ext'].fields.append( - _EXTENSION.fields_by_name['commit']) -_EXTENSION.fields_by_name['commit'].containing_oneof = _EXTENSION.oneofs_by_name['ext'] -_EXTENSION.oneofs_by_name['ext'].fields.append( - _EXTENSION.fields_by_name['depth']) -_EXTENSION.fields_by_name['depth'].containing_oneof = _EXTENSION.oneofs_by_name['ext'] -_REGISTEREDEXTENSION.fields_by_name['id'].enum_type = _EXTENSIONID -_MASTERARBITRATION.fields_by_name['role'].message_type = _ROLE -_MASTERARBITRATION.fields_by_name['election_id'].message_type = _UINT128 -_HISTORY.fields_by_name['range'].message_type = _TIMERANGE -_HISTORY.oneofs_by_name['request'].fields.append( - _HISTORY.fields_by_name['snapshot_time']) -_HISTORY.fields_by_name['snapshot_time'].containing_oneof = _HISTORY.oneofs_by_name['request'] -_HISTORY.oneofs_by_name['request'].fields.append( - _HISTORY.fields_by_name['range']) -_HISTORY.fields_by_name['range'].containing_oneof = _HISTORY.oneofs_by_name['request'] -_COMMIT.fields_by_name['commit'].message_type = _COMMITREQUEST -_COMMIT.fields_by_name['confirm'].message_type = _COMMITCONFIRM -_COMMIT.fields_by_name['cancel'].message_type = _COMMITCANCEL -_COMMIT.fields_by_name['set_rollback_duration'].message_type = _COMMITSETROLLBACKDURATION -_COMMIT.oneofs_by_name['action'].fields.append( - _COMMIT.fields_by_name['commit']) -_COMMIT.fields_by_name['commit'].containing_oneof = _COMMIT.oneofs_by_name['action'] -_COMMIT.oneofs_by_name['action'].fields.append( - _COMMIT.fields_by_name['confirm']) -_COMMIT.fields_by_name['confirm'].containing_oneof = _COMMIT.oneofs_by_name['action'] -_COMMIT.oneofs_by_name['action'].fields.append( - _COMMIT.fields_by_name['cancel']) -_COMMIT.fields_by_name['cancel'].containing_oneof = _COMMIT.oneofs_by_name['action'] -_COMMIT.oneofs_by_name['action'].fields.append( - _COMMIT.fields_by_name['set_rollback_duration']) -_COMMIT.fields_by_name['set_rollback_duration'].containing_oneof = _COMMIT.oneofs_by_name['action'] -_COMMITREQUEST.fields_by_name['rollback_duration'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION -_COMMITSETROLLBACKDURATION.fields_by_name['rollback_duration'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION -DESCRIPTOR.message_types_by_name['Extension'] = _EXTENSION -DESCRIPTOR.message_types_by_name['RegisteredExtension'] = _REGISTEREDEXTENSION -DESCRIPTOR.message_types_by_name['MasterArbitration'] = _MASTERARBITRATION -DESCRIPTOR.message_types_by_name['Uint128'] = _UINT128 -DESCRIPTOR.message_types_by_name['Role'] = _ROLE -DESCRIPTOR.message_types_by_name['History'] = _HISTORY -DESCRIPTOR.message_types_by_name['TimeRange'] = _TIMERANGE -DESCRIPTOR.message_types_by_name['Commit'] = _COMMIT -DESCRIPTOR.message_types_by_name['CommitRequest'] = _COMMITREQUEST -DESCRIPTOR.message_types_by_name['CommitConfirm'] = _COMMITCONFIRM -DESCRIPTOR.message_types_by_name['CommitCancel'] = _COMMITCANCEL -DESCRIPTOR.message_types_by_name['CommitSetRollbackDuration'] = _COMMITSETROLLBACKDURATION -DESCRIPTOR.message_types_by_name['Depth'] = _DEPTH -DESCRIPTOR.enum_types_by_name['ExtensionID'] = _EXTENSIONID -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Extension = _reflection.GeneratedProtocolMessageType('Extension', (_message.Message,), dict( - DESCRIPTOR = _EXTENSION, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.Extension) - )) -_sym_db.RegisterMessage(Extension) - -RegisteredExtension = _reflection.GeneratedProtocolMessageType('RegisteredExtension', (_message.Message,), dict( - DESCRIPTOR = _REGISTEREDEXTENSION, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.RegisteredExtension) - )) -_sym_db.RegisterMessage(RegisteredExtension) - -MasterArbitration = _reflection.GeneratedProtocolMessageType('MasterArbitration', (_message.Message,), dict( - DESCRIPTOR = _MASTERARBITRATION, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.MasterArbitration) - )) -_sym_db.RegisterMessage(MasterArbitration) - -Uint128 = _reflection.GeneratedProtocolMessageType('Uint128', (_message.Message,), dict( - DESCRIPTOR = _UINT128, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.Uint128) - )) -_sym_db.RegisterMessage(Uint128) - -Role = _reflection.GeneratedProtocolMessageType('Role', (_message.Message,), dict( - DESCRIPTOR = _ROLE, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.Role) - )) -_sym_db.RegisterMessage(Role) - -History = _reflection.GeneratedProtocolMessageType('History', (_message.Message,), dict( - DESCRIPTOR = _HISTORY, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.History) - )) -_sym_db.RegisterMessage(History) - -TimeRange = _reflection.GeneratedProtocolMessageType('TimeRange', (_message.Message,), dict( - DESCRIPTOR = _TIMERANGE, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.TimeRange) - )) -_sym_db.RegisterMessage(TimeRange) - -Commit = _reflection.GeneratedProtocolMessageType('Commit', (_message.Message,), dict( - DESCRIPTOR = _COMMIT, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.Commit) - )) -_sym_db.RegisterMessage(Commit) - -CommitRequest = _reflection.GeneratedProtocolMessageType('CommitRequest', (_message.Message,), dict( - DESCRIPTOR = _COMMITREQUEST, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.CommitRequest) - )) -_sym_db.RegisterMessage(CommitRequest) - -CommitConfirm = _reflection.GeneratedProtocolMessageType('CommitConfirm', (_message.Message,), dict( - DESCRIPTOR = _COMMITCONFIRM, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.CommitConfirm) - )) -_sym_db.RegisterMessage(CommitConfirm) - -CommitCancel = _reflection.GeneratedProtocolMessageType('CommitCancel', (_message.Message,), dict( - DESCRIPTOR = _COMMITCANCEL, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.CommitCancel) - )) -_sym_db.RegisterMessage(CommitCancel) - -CommitSetRollbackDuration = _reflection.GeneratedProtocolMessageType('CommitSetRollbackDuration', (_message.Message,), dict( - DESCRIPTOR = _COMMITSETROLLBACKDURATION, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.CommitSetRollbackDuration) - )) -_sym_db.RegisterMessage(CommitSetRollbackDuration) - -Depth = _reflection.GeneratedProtocolMessageType('Depth', (_message.Message,), dict( - DESCRIPTOR = _DEPTH, - __module__ = 'proto.gnmi_ext.gnmi_ext_pb2' - # @@protoc_insertion_point(class_scope:gnmi_ext.Depth) - )) -_sym_db.RegisterMessage(Depth) - - -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z)github.com/openconfig/gnmi/proto/gnmi_ext')) -# @@protoc_insertion_point(module_scope) diff --git a/proto/gnmi_ext/gnmi_ext_pb2_grpc.py b/proto/gnmi_ext/gnmi_ext_pb2_grpc.py deleted file mode 100644 index a894352..0000000 --- a/proto/gnmi_ext/gnmi_ext_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/proto/target/target.pb.go b/proto/target/target.pb.go deleted file mode 100644 index 8e0d3c6..0000000 --- a/proto/target/target.pb.go +++ /dev/null @@ -1,460 +0,0 @@ -// -// Copyright 2018 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.0 -// source: proto/target/target.proto - -// Package target contains messages for defining a configuration of a caching -// collector to connect to multiple gNMI targets. - -package target - -import ( - gnmi "github.com/openconfig/gnmi/proto/gnmi" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// Configuration holds all information necessary for a caching gNMI collector -// to establish subscriptions to a list of gNMI targets. -type Configuration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Request is a keyed list of all SubscriptionRequests that can be sent - // to targets in the Configuration. - // The request must have at minimum a SubscriptionList with a prefix - // containing origin and one or more Subscriptions. Only the STREAM mode is - // supported. - Request map[string]*gnmi.SubscribeRequest `protobuf:"bytes,1,rep,name=request,proto3" json:"request,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // Target is the full list of targets connected to by a caching gNMI - // collector. The key of the map is a unique name to identify a target and - // is set in the prefix.target of a SubscriptionRequest message when - // connecting to each respective target. - Target map[string]*Target `protobuf:"bytes,2,rep,name=target,proto3" json:"target,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // Identifier for the caching collector. - InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` - // Additional config metadata. - Meta map[string]string `protobuf:"bytes,4,rep,name=meta,proto3" json:"meta,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // Revision for this Configuration. Systems that non-atomically write - // configuration should populate and require revision, leveraging canonical - // protobuf serialization of fields in order. Presence of this field makes no - // guarantee. Consumers should account for atomicity constraints of their - // environment and any custom encoding. - Revision int64 `protobuf:"varint,536870911,opt,name=revision,proto3" json:"revision,omitempty"` -} - -func (x *Configuration) Reset() { - *x = Configuration{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_target_target_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Configuration) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Configuration) ProtoMessage() {} - -func (x *Configuration) ProtoReflect() protoreflect.Message { - mi := &file_proto_target_target_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Configuration.ProtoReflect.Descriptor instead. -func (*Configuration) Descriptor() ([]byte, []int) { - return file_proto_target_target_proto_rawDescGZIP(), []int{0} -} - -func (x *Configuration) GetRequest() map[string]*gnmi.SubscribeRequest { - if x != nil { - return x.Request - } - return nil -} - -func (x *Configuration) GetTarget() map[string]*Target { - if x != nil { - return x.Target - } - return nil -} - -func (x *Configuration) GetInstanceId() string { - if x != nil { - return x.InstanceId - } - return "" -} - -func (x *Configuration) GetMeta() map[string]string { - if x != nil { - return x.Meta - } - return nil -} - -func (x *Configuration) GetRevision() int64 { - if x != nil { - return x.Revision - } - return 0 -} - -// Target is the information necessary to establish a single gNMI Subscribe RPC -// to be collected and cached. -type Target struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A list of address and port or name that resolves to an address and port. - Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` - // Credentials to use in metadata for authorization of the RPC - Credentials *Credentials `protobuf:"bytes,2,opt,name=credentials,proto3" json:"credentials,omitempty"` - // The request to be sent to the target. The string supplied is looked up in - // the request map of the Configuration message. - Request string `protobuf:"bytes,3,opt,name=request,proto3" json:"request,omitempty"` - // Additional target metadata. - Meta map[string]string `protobuf:"bytes,4,rep,name=meta,proto3" json:"meta,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // How should the target be dialed. This option allows for a custom - // implementation for how this target is to be reached. If unset the - // collector's default implementation will be used. - Dialer string `protobuf:"bytes,5,opt,name=dialer,proto3" json:"dialer,omitempty"` -} - -func (x *Target) Reset() { - *x = Target{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_target_target_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Target) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Target) ProtoMessage() {} - -func (x *Target) ProtoReflect() protoreflect.Message { - mi := &file_proto_target_target_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Target.ProtoReflect.Descriptor instead. -func (*Target) Descriptor() ([]byte, []int) { - return file_proto_target_target_proto_rawDescGZIP(), []int{1} -} - -func (x *Target) GetAddresses() []string { - if x != nil { - return x.Addresses - } - return nil -} - -func (x *Target) GetCredentials() *Credentials { - if x != nil { - return x.Credentials - } - return nil -} - -func (x *Target) GetRequest() string { - if x != nil { - return x.Request - } - return "" -} - -func (x *Target) GetMeta() map[string]string { - if x != nil { - return x.Meta - } - return nil -} - -func (x *Target) GetDialer() string { - if x != nil { - return x.Dialer - } - return "" -} - -// Credentials contains the fields necessary for authentication of the client to -// the target. -type Credentials struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` - Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` - // Password lookup ID. - PasswordId string `protobuf:"bytes,3,opt,name=password_id,json=passwordId,proto3" json:"password_id,omitempty"` -} - -func (x *Credentials) Reset() { - *x = Credentials{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_target_target_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Credentials) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Credentials) ProtoMessage() {} - -func (x *Credentials) ProtoReflect() protoreflect.Message { - mi := &file_proto_target_target_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Credentials.ProtoReflect.Descriptor instead. -func (*Credentials) Descriptor() ([]byte, []int) { - return file_proto_target_target_proto_rawDescGZIP(), []int{2} -} - -func (x *Credentials) GetUsername() string { - if x != nil { - return x.Username - } - return "" -} - -func (x *Credentials) GetPassword() string { - if x != nil { - return x.Password - } - return "" -} - -func (x *Credentials) GetPasswordId() string { - if x != nil { - return x.PasswordId - } - return "" -} - -var File_proto_target_target_proto protoreflect.FileDescriptor - -var file_proto_target_target_proto_rawDesc = []byte{ - 0x0a, 0x19, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x1a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x03, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, - 0x64, 0x12, 0x33, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0xff, 0xff, 0xff, 0xff, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x52, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x49, 0x0a, 0x0b, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf6, - 0x01, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x73, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x61, 0x6c, 0x65, 0x72, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x61, 0x6c, 0x65, 0x72, 0x1a, 0x37, - 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x66, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x42, - 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, - 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, -} - -var ( - file_proto_target_target_proto_rawDescOnce sync.Once - file_proto_target_target_proto_rawDescData = file_proto_target_target_proto_rawDesc -) - -func file_proto_target_target_proto_rawDescGZIP() []byte { - file_proto_target_target_proto_rawDescOnce.Do(func() { - file_proto_target_target_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_target_target_proto_rawDescData) - }) - return file_proto_target_target_proto_rawDescData -} - -var file_proto_target_target_proto_msgTypes = make([]protoimpl.MessageInfo, 7) -var file_proto_target_target_proto_goTypes = []interface{}{ - (*Configuration)(nil), // 0: target.Configuration - (*Target)(nil), // 1: target.Target - (*Credentials)(nil), // 2: target.Credentials - nil, // 3: target.Configuration.RequestEntry - nil, // 4: target.Configuration.TargetEntry - nil, // 5: target.Configuration.MetaEntry - nil, // 6: target.Target.MetaEntry - (*gnmi.SubscribeRequest)(nil), // 7: gnmi.SubscribeRequest -} -var file_proto_target_target_proto_depIdxs = []int32{ - 3, // 0: target.Configuration.request:type_name -> target.Configuration.RequestEntry - 4, // 1: target.Configuration.target:type_name -> target.Configuration.TargetEntry - 5, // 2: target.Configuration.meta:type_name -> target.Configuration.MetaEntry - 2, // 3: target.Target.credentials:type_name -> target.Credentials - 6, // 4: target.Target.meta:type_name -> target.Target.MetaEntry - 7, // 5: target.Configuration.RequestEntry.value:type_name -> gnmi.SubscribeRequest - 1, // 6: target.Configuration.TargetEntry.value:type_name -> target.Target - 7, // [7:7] is the sub-list for method output_type - 7, // [7:7] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name -} - -func init() { file_proto_target_target_proto_init() } -func file_proto_target_target_proto_init() { - if File_proto_target_target_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_proto_target_target_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Configuration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_target_target_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Target); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_target_target_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Credentials); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_target_target_proto_rawDesc, - NumEnums: 0, - NumMessages: 7, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_proto_target_target_proto_goTypes, - DependencyIndexes: file_proto_target_target_proto_depIdxs, - MessageInfos: file_proto_target_target_proto_msgTypes, - }.Build() - File_proto_target_target_proto = out.File - file_proto_target_target_proto_rawDesc = nil - file_proto_target_target_proto_goTypes = nil - file_proto_target_target_proto_depIdxs = nil -} diff --git a/proto/target/target.proto b/proto/target/target.proto index 768f964..b55711e 100644 --- a/proto/target/target.proto +++ b/proto/target/target.proto @@ -19,6 +19,7 @@ syntax = "proto3"; // collector to connect to multiple gNMI targets. package target; +import "storage/datapol/annotations/proto/semantic_annotations.proto"; import "github.com/openconfig/gnmi/proto/gnmi/gnmi.proto"; option go_package = "github.com/openconfig/gnmi/proto/target"; @@ -47,7 +48,6 @@ message Configuration { // guarantee. Consumers should account for atomicity constraints of their // environment and any custom encoding. int64 revision = 536870911; - } // Target is the information necessary to establish a single gNMI Subscribe RPC @@ -72,7 +72,7 @@ message Target { // the target. message Credentials { string username = 1; - string password = 2; + string password = 2 [(datapol.semantic_type) = ST_ACCOUNT_CREDENTIAL]; // Password lookup ID. string password_id = 3; } diff --git a/proto/target/target_pb2.py b/proto/target/target_pb2.py deleted file mode 100644 index fecdf25..0000000 --- a/proto/target/target_pb2.py +++ /dev/null @@ -1,420 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: proto/target/target.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from github.com.openconfig.gnmi.proto.gnmi import gnmi_pb2 as github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi_dot_gnmi__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='proto/target/target.proto', - package='target', - syntax='proto3', - serialized_pb=_b('\n\x19proto/target/target.proto\x12\x06target\x1a\x30github.com/openconfig/gnmi/proto/gnmi/gnmi.proto\"\x85\x03\n\rConfiguration\x12\x33\n\x07request\x18\x01 \x03(\x0b\x32\".target.Configuration.RequestEntry\x12\x31\n\x06target\x18\x02 \x03(\x0b\x32!.target.Configuration.TargetEntry\x12\x13\n\x0binstance_id\x18\x03 \x01(\t\x12-\n\x04meta\x18\x04 \x03(\x0b\x32\x1f.target.Configuration.MetaEntry\x12\x14\n\x08revision\x18\xff\xff\xff\xff\x01 \x01(\x03\x1a\x46\n\x0cRequestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.gnmi.SubscribeRequest:\x02\x38\x01\x1a=\n\x0bTargetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.target.Target:\x02\x38\x01\x1a+\n\tMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbb\x01\n\x06Target\x12\x11\n\taddresses\x18\x01 \x03(\t\x12(\n\x0b\x63redentials\x18\x02 \x01(\x0b\x32\x13.target.Credentials\x12\x0f\n\x07request\x18\x03 \x01(\t\x12&\n\x04meta\x18\x04 \x03(\x0b\x32\x18.target.Target.MetaEntry\x12\x0e\n\x06\x64ialer\x18\x05 \x01(\t\x1a+\n\tMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"F\n\x0b\x43redentials\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x13\n\x0bpassword_id\x18\x03 \x01(\tB)Z\'github.com/openconfig/gnmi/proto/targetb\x06proto3') - , - dependencies=[github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi_dot_gnmi__pb2.DESCRIPTOR,]) - - - - -_CONFIGURATION_REQUESTENTRY = _descriptor.Descriptor( - name='RequestEntry', - full_name='target.Configuration.RequestEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='target.Configuration.RequestEntry.key', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value', full_name='target.Configuration.RequestEntry.value', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=299, - serialized_end=369, -) - -_CONFIGURATION_TARGETENTRY = _descriptor.Descriptor( - name='TargetEntry', - full_name='target.Configuration.TargetEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='target.Configuration.TargetEntry.key', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value', full_name='target.Configuration.TargetEntry.value', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=371, - serialized_end=432, -) - -_CONFIGURATION_METAENTRY = _descriptor.Descriptor( - name='MetaEntry', - full_name='target.Configuration.MetaEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='target.Configuration.MetaEntry.key', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value', full_name='target.Configuration.MetaEntry.value', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=434, - serialized_end=477, -) - -_CONFIGURATION = _descriptor.Descriptor( - name='Configuration', - full_name='target.Configuration', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='request', full_name='target.Configuration.request', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='target', full_name='target.Configuration.target', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='instance_id', full_name='target.Configuration.instance_id', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='meta', full_name='target.Configuration.meta', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='revision', full_name='target.Configuration.revision', index=4, - number=536870911, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_CONFIGURATION_REQUESTENTRY, _CONFIGURATION_TARGETENTRY, _CONFIGURATION_METAENTRY, ], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=88, - serialized_end=477, -) - - -_TARGET_METAENTRY = _descriptor.Descriptor( - name='MetaEntry', - full_name='target.Target.MetaEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='target.Target.MetaEntry.key', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value', full_name='target.Target.MetaEntry.value', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=434, - serialized_end=477, -) - -_TARGET = _descriptor.Descriptor( - name='Target', - full_name='target.Target', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='addresses', full_name='target.Target.addresses', index=0, - number=1, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='credentials', full_name='target.Target.credentials', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='request', full_name='target.Target.request', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='meta', full_name='target.Target.meta', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='dialer', full_name='target.Target.dialer', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_TARGET_METAENTRY, ], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=480, - serialized_end=667, -) - - -_CREDENTIALS = _descriptor.Descriptor( - name='Credentials', - full_name='target.Credentials', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='username', full_name='target.Credentials.username', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='password', full_name='target.Credentials.password', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='password_id', full_name='target.Credentials.password_id', index=2, - number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=669, - serialized_end=739, -) - -_CONFIGURATION_REQUESTENTRY.fields_by_name['value'].message_type = github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi_dot_gnmi__pb2._SUBSCRIBEREQUEST -_CONFIGURATION_REQUESTENTRY.containing_type = _CONFIGURATION -_CONFIGURATION_TARGETENTRY.fields_by_name['value'].message_type = _TARGET -_CONFIGURATION_TARGETENTRY.containing_type = _CONFIGURATION -_CONFIGURATION_METAENTRY.containing_type = _CONFIGURATION -_CONFIGURATION.fields_by_name['request'].message_type = _CONFIGURATION_REQUESTENTRY -_CONFIGURATION.fields_by_name['target'].message_type = _CONFIGURATION_TARGETENTRY -_CONFIGURATION.fields_by_name['meta'].message_type = _CONFIGURATION_METAENTRY -_TARGET_METAENTRY.containing_type = _TARGET -_TARGET.fields_by_name['credentials'].message_type = _CREDENTIALS -_TARGET.fields_by_name['meta'].message_type = _TARGET_METAENTRY -DESCRIPTOR.message_types_by_name['Configuration'] = _CONFIGURATION -DESCRIPTOR.message_types_by_name['Target'] = _TARGET -DESCRIPTOR.message_types_by_name['Credentials'] = _CREDENTIALS -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Configuration = _reflection.GeneratedProtocolMessageType('Configuration', (_message.Message,), dict( - - RequestEntry = _reflection.GeneratedProtocolMessageType('RequestEntry', (_message.Message,), dict( - DESCRIPTOR = _CONFIGURATION_REQUESTENTRY, - __module__ = 'proto.target.target_pb2' - # @@protoc_insertion_point(class_scope:target.Configuration.RequestEntry) - )) - , - - TargetEntry = _reflection.GeneratedProtocolMessageType('TargetEntry', (_message.Message,), dict( - DESCRIPTOR = _CONFIGURATION_TARGETENTRY, - __module__ = 'proto.target.target_pb2' - # @@protoc_insertion_point(class_scope:target.Configuration.TargetEntry) - )) - , - - MetaEntry = _reflection.GeneratedProtocolMessageType('MetaEntry', (_message.Message,), dict( - DESCRIPTOR = _CONFIGURATION_METAENTRY, - __module__ = 'proto.target.target_pb2' - # @@protoc_insertion_point(class_scope:target.Configuration.MetaEntry) - )) - , - DESCRIPTOR = _CONFIGURATION, - __module__ = 'proto.target.target_pb2' - # @@protoc_insertion_point(class_scope:target.Configuration) - )) -_sym_db.RegisterMessage(Configuration) -_sym_db.RegisterMessage(Configuration.RequestEntry) -_sym_db.RegisterMessage(Configuration.TargetEntry) -_sym_db.RegisterMessage(Configuration.MetaEntry) - -Target = _reflection.GeneratedProtocolMessageType('Target', (_message.Message,), dict( - - MetaEntry = _reflection.GeneratedProtocolMessageType('MetaEntry', (_message.Message,), dict( - DESCRIPTOR = _TARGET_METAENTRY, - __module__ = 'proto.target.target_pb2' - # @@protoc_insertion_point(class_scope:target.Target.MetaEntry) - )) - , - DESCRIPTOR = _TARGET, - __module__ = 'proto.target.target_pb2' - # @@protoc_insertion_point(class_scope:target.Target) - )) -_sym_db.RegisterMessage(Target) -_sym_db.RegisterMessage(Target.MetaEntry) - -Credentials = _reflection.GeneratedProtocolMessageType('Credentials', (_message.Message,), dict( - DESCRIPTOR = _CREDENTIALS, - __module__ = 'proto.target.target_pb2' - # @@protoc_insertion_point(class_scope:target.Credentials) - )) -_sym_db.RegisterMessage(Credentials) - - -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\'github.com/openconfig/gnmi/proto/target')) -_CONFIGURATION_REQUESTENTRY.has_options = True -_CONFIGURATION_REQUESTENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_CONFIGURATION_TARGETENTRY.has_options = True -_CONFIGURATION_TARGETENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_CONFIGURATION_METAENTRY.has_options = True -_CONFIGURATION_METAENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_TARGET_METAENTRY.has_options = True -_TARGET_METAENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -# @@protoc_insertion_point(module_scope) diff --git a/proto/target/target_pb2_grpc.py b/proto/target/target_pb2_grpc.py deleted file mode 100644 index a894352..0000000 --- a/proto/target/target_pb2_grpc.py +++ /dev/null @@ -1,3 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - diff --git a/testing/fake/gnmi/agent.go b/testing/fake/gnmi/agent.go index 034a5f8..326e764 100644 --- a/testing/fake/gnmi/agent.go +++ b/testing/fake/gnmi/agent.go @@ -205,5 +205,8 @@ func (a *Agent) Subscribe(stream gnmipb.GNMI_SubscribeServer) error { func (a *Agent) Requests() []*gnmipb.SubscribeRequest { a.cMu.Lock() defer a.cMu.Unlock() - return a.client.requests + if a.client == nil { + return nil + } + return a.client.Requests() } diff --git a/testing/fake/gnmi/client.go b/testing/fake/gnmi/client.go index 98c62b6..da33502 100644 --- a/testing/fake/gnmi/client.go +++ b/testing/fake/gnmi/client.go @@ -25,6 +25,7 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc" "google.golang.org/protobuf/encoding/prototext" + "google.golang.org/protobuf/proto" "github.com/openconfig/gnmi/testing/fake/queue" gpb "github.com/openconfig/gnmi/proto/gnmi" @@ -34,14 +35,19 @@ import ( // Client contains information about a client that has connected to the fake. type Client struct { errors int64 - config *fpb.Config + subscribe *gpb.SubscriptionList polled chan struct{} - mu sync.RWMutex - canceled bool canceledCh chan struct{} - q queue.Queue - subscribe *gpb.SubscriptionList - requests []*gpb.SubscribeRequest + + mu sync.RWMutex // mutex for read/write access to config and canceled values + config *fpb.Config + canceled bool + + qMu sync.Mutex // mutex for accessing the queue + q queue.Queue + + rMu sync.Mutex // mutex for accessing requests + requests []*gpb.SubscribeRequest } // NewClient returns a new initialized client. @@ -58,6 +64,13 @@ func (c *Client) String() string { return c.config.Target } +// addRequest adds a subscribe request to the list of requests received by the client. +func (c *Client) addRequest(req *gpb.SubscribeRequest) { + c.rMu.Lock() + defer c.rMu.Unlock() + c.requests = append(c.requests, req) +} + // Run starts the client. The first message received must be a // SubscriptionList. Once the client is started, it will run until the stream // is closed or the schedule completes. For Poll queries the Run will block @@ -86,7 +99,7 @@ func (c *Client) Run(stream gpb.GNMI_SubscribeServer) (err error) { } return grpc.Errorf(grpc.Code(err), "received error from client") } - c.requests = append(c.requests, query) + c.addRequest(query) log.V(1).Infof("Client %s received initial query: %v", c, query) c.subscribe = query.GetSubscribe() @@ -109,7 +122,7 @@ func (c *Client) Run(stream gpb.GNMI_SubscribeServer) (err error) { func (c *Client) Close() { c.mu.Lock() defer c.mu.Unlock() - if c.config.DisableEof { + if c.config != nil && c.config.DisableEof { // If the cancel signal has already been sent by a previous close, then we // do not need to resend it. select { @@ -143,7 +156,7 @@ func (c *Client) recv(stream gpb.GNMI_SubscribeServer) { log.V(1).Infof("Client %s received io.EOF", c) return case nil: - c.requests = append(c.requests, event) + c.addRequest(event) } if c.subscribe.Mode == gpb.SubscriptionList_POLL { log.V(1).Infof("Client %s received Poll event: %v", c, event) @@ -163,29 +176,55 @@ func (c *Client) recv(stream gpb.GNMI_SubscribeServer) { } } +// Requests returns the subscribe requests received by the client. +func (c *Client) Requests() []*gpb.SubscribeRequest { + c.rMu.Lock() + defer c.rMu.Unlock() + return c.requests +} + +// isCanceled returned whether the client has canceled. +func (c *Client) isCanceled() bool { + c.mu.RLock() + defer c.mu.RUnlock() + return c.canceled +} + +// setQueue sets the client's queue to the provided value. +func (c *Client) setQueue(q queue.Queue) { + c.qMu.Lock() + defer c.qMu.Unlock() + c.q = q +} + +// nextInQueue returns the next event in the client's queue, unless the client is canceled. +func (c *Client) nextInQueue() (any, error) { + c.qMu.Lock() + defer c.qMu.Unlock() + if c.q == nil { + return nil, fmt.Errorf("nil client queue: nothing to do") + } + if c.isCanceled() { + return nil, fmt.Errorf("client canceled") + } + n, err := c.q.Next() + if err != nil { + c.errors++ + return nil, fmt.Errorf("unexpected queue Next(): %v", err) + } + return n, nil +} + // processQueue makes a copy of q then will process values in the queue until // the queue is complete or an error. Each value is converted into a gNMI // notification and sent on stream. func (c *Client) processQueue(stream gpb.GNMI_SubscribeServer) error { - c.mu.RLock() - q := c.q - c.mu.RUnlock() - if q == nil { - return fmt.Errorf("nil client queue nothing to do") - } for { - c.mu.RLock() - canceled := c.canceled - c.mu.RUnlock() - if canceled { - return fmt.Errorf("client canceled") - } - - event, err := q.Next() + event, err := c.nextInQueue() if err != nil { - c.errors++ - return fmt.Errorf("unexpected queue Next(): %v", err) + return err } + if event == nil { switch { case c.subscribe.Mode == gpb.SubscriptionList_POLL: @@ -207,7 +246,8 @@ func (c *Client) processQueue(stream gpb.GNMI_SubscribeServer) error { return err } case *gpb.SubscribeResponse: - resp = v + // Copy into resp to not modify the original. + resp = proto.Clone(v).(*gpb.SubscribeResponse) } // If the subscription request specified a target explicitly... if sp := c.subscribe.GetPrefix(); sp != nil { @@ -271,14 +311,14 @@ func (c *Client) reset() error { Value: &fpb.Value_Sync{uint64(1)}, }) } - c.q = q + c.setQueue(q) case c.config.GetFixed() != nil: q := queue.NewFixed(c.config.GetFixed().Responses, c.config.EnableDelay) // Inject sync message after latest provided update in the config. if !c.config.DisableSync { q.Add(syncResp) } - c.q = q + c.setQueue(q) } return nil } diff --git a/testing/fake/gnmi/gnmi_test.go b/testing/fake/gnmi/gnmi_test.go index b29efc5..7032ae6 100644 --- a/testing/fake/gnmi/gnmi_test.go +++ b/testing/fake/gnmi/gnmi_test.go @@ -26,10 +26,12 @@ import ( "sync" "testing" + "github.com/google/go-cmp/cmp" "github.com/kylelemons/godebug/pretty" "google.golang.org/grpc/codes" "google.golang.org/grpc/credentials" "google.golang.org/grpc" + "google.golang.org/protobuf/testing/protocmp" "github.com/openconfig/gnmi/testing/fake/testing/grpc/config" gnmipb "github.com/openconfig/gnmi/proto/gnmi" @@ -443,6 +445,83 @@ func TestNewAgent(t *testing.T) { if got, want := a.State(), fpb.State_STOPPED; got != want { t.Errorf("New(%q).Close() failed: got %q, want %q", tc.config, got, want) } + gotSubscribeRequests := a.Requests() + if len(gotSubscribeRequests) != 1 { + t.Errorf("New(%q).Requests() failed: got %q, want %q", tc.config, gotSubscribeRequests, []*gnmipb.SubscribeRequest{sub}) + } }) } } + +func TestAddRequest(t *testing.T) { + t.Run("add requests client", func(t *testing.T) { + c := NewClient(&fpb.Config{}) + wantSR := &gnmipb.SubscribeRequest{ + Request: &gnmipb.SubscribeRequest_Subscribe{ + Subscribe: &gnmipb.SubscriptionList{}, + }, + } + c.addRequest(wantSR) + if got, want := len(c.Requests()), 1; got != want { + t.Errorf("addRequest() failed: got %d, want %d", got, want) + } + gotReq := c.Requests()[0] + if diff := cmp.Diff(gotReq, wantSR, protocmp.Transform()); diff != "" { + t.Errorf("addRequest() failed: got %v, want %v, diff %s", gotReq, wantSR, diff) + } + }) + t.Run("nil client, agent requests", func(t *testing.T) { + config := &fpb.Config{} + a, err := New(config, nil) + if err != nil { + t.Fatalf("New() returned unexpected error: %v", err) + } + requests := a.Requests() + if requests != nil { + t.Errorf("Received non-nil return from agent requests: %v, want nil", requests) + } + }) +} + +type fakeQueue struct { + val any + err error +} + +func (f *fakeQueue) Next() (any, error) { + return f.val, f.err +} + +func TestClientQueue(t *testing.T) { + t.Run("nil queue client", func(t *testing.T) { + c := NewClient(nil) + if _, err := c.nextInQueue(); err == nil { + t.Errorf("expected error from nextInQueue, but received nil") + } + }) + + t.Run("queue request after cancelled", func(t *testing.T) { + c := NewClient(nil) + f := &fakeQueue{} + c.setQueue(f) + if _, err := c.nextInQueue(); err != nil { + t.Fatalf("unexpected error from nextInQueue: %v", err) + } + c.Close() + if _, err := c.nextInQueue(); err == nil { + t.Errorf("nextInQueue processed, despite client being canceled") + } + }) + + t.Run("queue next unexpected err", func(t *testing.T) { + c := NewClient(nil) + f := &fakeQueue{err: fmt.Errorf("unexpected err")} + c.setQueue(f) + if _, err := c.nextInQueue(); err == nil { + t.Errorf("error not returned from nextInQueue, despite queue.Next() returning err") + } + if c.errors == 0 { + t.Errorf("expected error count to increment, but got 0") + } + }) +} diff --git a/testing/fake/proto/fake.pb.go b/testing/fake/proto/fake.pb.go deleted file mode 100644 index d8c541c..0000000 --- a/testing/fake/proto/fake.pb.go +++ /dev/null @@ -1,2563 +0,0 @@ -// -//Copyright 2022 Google Inc. -// -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at -// -//http://www.apache.org/licenses/LICENSE-2.0 -// -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. - -// fake.proto describes the message format for creating integration tests for -// streaming telemetry components by generating a reproducible stream of -// updates from fake targets. - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.0 -// source: testing/fake/proto/fake.proto - -package gnmi_fake - -import ( - gnmi "github.com/openconfig/gnmi/proto/gnmi" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - anypb "google.golang.org/protobuf/types/known/anypb" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type State int32 - -const ( - State_STOPPED State = 0 - State_INIT State = 1 - State_RUNNING State = 2 -) - -// Enum value maps for State. -var ( - State_name = map[int32]string{ - 0: "STOPPED", - 1: "INIT", - 2: "RUNNING", - } - State_value = map[string]int32{ - "STOPPED": 0, - "INIT": 1, - "RUNNING": 2, - } -) - -func (x State) Enum() *State { - p := new(State) - *p = x - return p -} - -func (x State) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (State) Descriptor() protoreflect.EnumDescriptor { - return file_testing_fake_proto_fake_proto_enumTypes[0].Descriptor() -} - -func (State) Type() protoreflect.EnumType { - return &file_testing_fake_proto_fake_proto_enumTypes[0] -} - -func (x State) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use State.Descriptor instead. -func (State) EnumDescriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{0} -} - -type Config_ClientType int32 - -const ( - Config_GRPC Config_ClientType = 0 - Config_STUBBY Config_ClientType = 1 - Config_GRPC_GNMI Config_ClientType = 2 - Config_GRPC_GNMI_PROD Config_ClientType = 3 -) - -// Enum value maps for Config_ClientType. -var ( - Config_ClientType_name = map[int32]string{ - 0: "GRPC", - 1: "STUBBY", - 2: "GRPC_GNMI", - 3: "GRPC_GNMI_PROD", - } - Config_ClientType_value = map[string]int32{ - "GRPC": 0, - "STUBBY": 1, - "GRPC_GNMI": 2, - "GRPC_GNMI_PROD": 3, - } -) - -func (x Config_ClientType) Enum() *Config_ClientType { - p := new(Config_ClientType) - *p = x - return p -} - -func (x Config_ClientType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Config_ClientType) Descriptor() protoreflect.EnumDescriptor { - return file_testing_fake_proto_fake_proto_enumTypes[1].Descriptor() -} - -func (Config_ClientType) Type() protoreflect.EnumType { - return &file_testing_fake_proto_fake_proto_enumTypes[1] -} - -func (x Config_ClientType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Config_ClientType.Descriptor instead. -func (Config_ClientType) EnumDescriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{2, 0} -} - -// Configuration is used to store all agent configuration for the fake agent -// server. Each config describes a single agent hosted on the server. -type Configuration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Repeated list of targets to emulate. - Config []*Config `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"` -} - -func (x *Configuration) Reset() { - *x = Configuration{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Configuration) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Configuration) ProtoMessage() {} - -func (x *Configuration) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Configuration.ProtoReflect.Descriptor instead. -func (*Configuration) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{0} -} - -func (x *Configuration) GetConfig() []*Config { - if x != nil { - return x.Config - } - return nil -} - -type Credentials struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` - Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` -} - -func (x *Credentials) Reset() { - *x = Credentials{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Credentials) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Credentials) ProtoMessage() {} - -func (x *Credentials) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Credentials.ProtoReflect.Descriptor instead. -func (*Credentials) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{1} -} - -func (x *Credentials) GetUsername() string { - if x != nil { - return x.Username - } - return "" -} - -func (x *Credentials) GetPassword() string { - if x != nil { - return x.Password - } - return "" -} - -// Config is a collection of values that together represent the update streams -// for one or more fake devices. -type Config struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The target for which the fake will publish values for. - Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` - // Port for the agent to listen on. If 0 or unset the agent will pick a port - // for this agent. - Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` - // A global random seed used in generating subsequent values. Set to have - // reproducible results. - // - // Deprecated: Marked as deprecated in testing/fake/proto/fake.proto. - Seed int64 `protobuf:"varint,6,opt,name=seed,proto3" json:"seed,omitempty"` - // The list of values generated. Each value will contain its corresponding - // target as the first string in the event.GetValue().path meaning that it is - // possible to generate streams that will be rejected by the cache for testing - // purposes. - // - // Deprecated: Marked as deprecated in testing/fake/proto/fake.proto. - Values []*Value `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` - // Setting disable sync will keep the configured client from autogenerating a - // sync message. This allows negative testing on sync handling. - DisableSync bool `protobuf:"varint,4,opt,name=disable_sync,json=disableSync,proto3" json:"disable_sync,omitempty"` - // Type of client to fake either Stubby or GRPC based fake. - ClientType Config_ClientType `protobuf:"varint,5,opt,name=client_type,json=clientType,proto3,enum=gnmi.fake.Config_ClientType" json:"client_type,omitempty"` - // Disable EOF will hold open the subscription and not automagically close - // the stream once the value queue is empty. - DisableEof bool `protobuf:"varint,7,opt,name=disable_eof,json=disableEof,proto3" json:"disable_eof,omitempty"` - // Per RPC credentials for the agent. If not set no per RPC auth will be used. - Credentials *Credentials `protobuf:"bytes,8,opt,name=credentials,proto3" json:"credentials,omitempty"` - // TLS cert for use on the agent. If not set the transport will not be TLS. - Cert []byte `protobuf:"bytes,9,opt,name=cert,proto3" json:"cert,omitempty"` - // Honor the delay between events in the generated value streams. Default will - // play events as fast as the can be streamed. - EnableDelay bool `protobuf:"varint,10,opt,name=enable_delay,json=enableDelay,proto3" json:"enable_delay,omitempty"` - // Generator for value series for the target. - // - // Types that are assignable to Generator: - // - // *Config_Custom - // *Config_Random - // *Config_Fixed - Generator isConfig_Generator `protobuf_oneof:"generator"` - // tunnel_addr is the address of the tunnel server. - TunnelAddr string `protobuf:"bytes,11,opt,name=tunnel_addr,json=tunnelAddr,proto3" json:"tunnel_addr,omitempty"` - // tunnel_crt is the certificate file for the tunnel conection. - TunnelCrt string `protobuf:"bytes,12,opt,name=tunnel_crt,json=tunnelCrt,proto3" json:"tunnel_crt,omitempty"` -} - -func (x *Config) Reset() { - *x = Config{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Config) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Config) ProtoMessage() {} - -func (x *Config) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Config.ProtoReflect.Descriptor instead. -func (*Config) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{2} -} - -func (x *Config) GetTarget() string { - if x != nil { - return x.Target - } - return "" -} - -func (x *Config) GetPort() int32 { - if x != nil { - return x.Port - } - return 0 -} - -// Deprecated: Marked as deprecated in testing/fake/proto/fake.proto. -func (x *Config) GetSeed() int64 { - if x != nil { - return x.Seed - } - return 0 -} - -// Deprecated: Marked as deprecated in testing/fake/proto/fake.proto. -func (x *Config) GetValues() []*Value { - if x != nil { - return x.Values - } - return nil -} - -func (x *Config) GetDisableSync() bool { - if x != nil { - return x.DisableSync - } - return false -} - -func (x *Config) GetClientType() Config_ClientType { - if x != nil { - return x.ClientType - } - return Config_GRPC -} - -func (x *Config) GetDisableEof() bool { - if x != nil { - return x.DisableEof - } - return false -} - -func (x *Config) GetCredentials() *Credentials { - if x != nil { - return x.Credentials - } - return nil -} - -func (x *Config) GetCert() []byte { - if x != nil { - return x.Cert - } - return nil -} - -func (x *Config) GetEnableDelay() bool { - if x != nil { - return x.EnableDelay - } - return false -} - -func (m *Config) GetGenerator() isConfig_Generator { - if m != nil { - return m.Generator - } - return nil -} - -func (x *Config) GetCustom() *anypb.Any { - if x, ok := x.GetGenerator().(*Config_Custom); ok { - return x.Custom - } - return nil -} - -func (x *Config) GetRandom() *RandomGenerator { - if x, ok := x.GetGenerator().(*Config_Random); ok { - return x.Random - } - return nil -} - -func (x *Config) GetFixed() *FixedGenerator { - if x, ok := x.GetGenerator().(*Config_Fixed); ok { - return x.Fixed - } - return nil -} - -func (x *Config) GetTunnelAddr() string { - if x != nil { - return x.TunnelAddr - } - return "" -} - -func (x *Config) GetTunnelCrt() string { - if x != nil { - return x.TunnelCrt - } - return "" -} - -type isConfig_Generator interface { - isConfig_Generator() -} - -type Config_Custom struct { - Custom *anypb.Any `protobuf:"bytes,100,opt,name=custom,proto3,oneof"` -} - -type Config_Random struct { - Random *RandomGenerator `protobuf:"bytes,101,opt,name=random,proto3,oneof"` -} - -type Config_Fixed struct { - Fixed *FixedGenerator `protobuf:"bytes,102,opt,name=fixed,proto3,oneof"` -} - -func (*Config_Custom) isConfig_Generator() {} - -func (*Config_Random) isConfig_Generator() {} - -func (*Config_Fixed) isConfig_Generator() {} - -type FixedGenerator struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Responses []*gnmi.SubscribeResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` -} - -func (x *FixedGenerator) Reset() { - *x = FixedGenerator{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FixedGenerator) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FixedGenerator) ProtoMessage() {} - -func (x *FixedGenerator) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FixedGenerator.ProtoReflect.Descriptor instead. -func (*FixedGenerator) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{3} -} - -func (x *FixedGenerator) GetResponses() []*gnmi.SubscribeResponse { - if x != nil { - return x.Responses - } - return nil -} - -type RandomGenerator struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Seed int64 `protobuf:"varint,1,opt,name=seed,proto3" json:"seed,omitempty"` - Values []*Value `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` -} - -func (x *RandomGenerator) Reset() { - *x = RandomGenerator{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RandomGenerator) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RandomGenerator) ProtoMessage() {} - -func (x *RandomGenerator) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RandomGenerator.ProtoReflect.Descriptor instead. -func (*RandomGenerator) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{4} -} - -func (x *RandomGenerator) GetSeed() int64 { - if x != nil { - return x.Seed - } - return 0 -} - -func (x *RandomGenerator) GetValues() []*Value { - if x != nil { - return x.Values - } - return nil -} - -// Delete will cause the value to be deleted at the Value's path. -type DeleteValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *DeleteValue) Reset() { - *x = DeleteValue{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteValue) ProtoMessage() {} - -func (x *DeleteValue) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteValue.ProtoReflect.Descriptor instead. -func (*DeleteValue) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{5} -} - -// Value is the main message that will trigger a stream of updates for a given -// path. A file containing a list of values can be used to simulate a network -// device for integration tests. -type Value struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The device specific, or OpenConfig path corresponding to a value. - Path []string `protobuf:"bytes,1,rep,name=path,proto3" json:"path,omitempty"` - // The initial timestamp and configuration on how the timestamp will change - // for subsequent values. If timestamp is not set the default will assume to - // be the current system time. - Timestamp *Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // If set, repeat indicates that the value should be repeated this many times, - // otherwise it is repeated indefinitely. - Repeat int32 `protobuf:"varint,6,opt,name=repeat,proto3" json:"repeat,omitempty"` - // A local random seed used in generating subsequent values for this path. If - // not set, will share the global random source with seed defined in Config. - Seed int64 `protobuf:"varint,7,opt,name=seed,proto3" json:"seed,omitempty"` - // The initial value of the chosen type including configuration on how the - // value will mutate for subsequent updates. - // - // Types that are assignable to Value: - // - // *Value_IntValue - // *Value_DoubleValue - // *Value_StringValue - // *Value_Sync - // *Value_Delete - // *Value_BoolValue - // *Value_UintValue - // *Value_StringListValue - Value isValue_Value `protobuf_oneof:"value"` -} - -func (x *Value) Reset() { - *x = Value{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Value) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Value) ProtoMessage() {} - -func (x *Value) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Value.ProtoReflect.Descriptor instead. -func (*Value) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{6} -} - -func (x *Value) GetPath() []string { - if x != nil { - return x.Path - } - return nil -} - -func (x *Value) GetTimestamp() *Timestamp { - if x != nil { - return x.Timestamp - } - return nil -} - -func (x *Value) GetRepeat() int32 { - if x != nil { - return x.Repeat - } - return 0 -} - -func (x *Value) GetSeed() int64 { - if x != nil { - return x.Seed - } - return 0 -} - -func (m *Value) GetValue() isValue_Value { - if m != nil { - return m.Value - } - return nil -} - -func (x *Value) GetIntValue() *IntValue { - if x, ok := x.GetValue().(*Value_IntValue); ok { - return x.IntValue - } - return nil -} - -func (x *Value) GetDoubleValue() *DoubleValue { - if x, ok := x.GetValue().(*Value_DoubleValue); ok { - return x.DoubleValue - } - return nil -} - -func (x *Value) GetStringValue() *StringValue { - if x, ok := x.GetValue().(*Value_StringValue); ok { - return x.StringValue - } - return nil -} - -func (x *Value) GetSync() uint64 { - if x, ok := x.GetValue().(*Value_Sync); ok { - return x.Sync - } - return 0 -} - -func (x *Value) GetDelete() *DeleteValue { - if x, ok := x.GetValue().(*Value_Delete); ok { - return x.Delete - } - return nil -} - -func (x *Value) GetBoolValue() *BoolValue { - if x, ok := x.GetValue().(*Value_BoolValue); ok { - return x.BoolValue - } - return nil -} - -func (x *Value) GetUintValue() *UintValue { - if x, ok := x.GetValue().(*Value_UintValue); ok { - return x.UintValue - } - return nil -} - -func (x *Value) GetStringListValue() *StringListValue { - if x, ok := x.GetValue().(*Value_StringListValue); ok { - return x.StringListValue - } - return nil -} - -type isValue_Value interface { - isValue_Value() -} - -type Value_IntValue struct { - IntValue *IntValue `protobuf:"bytes,100,opt,name=int_value,json=intValue,proto3,oneof"` -} - -type Value_DoubleValue struct { - DoubleValue *DoubleValue `protobuf:"bytes,101,opt,name=double_value,json=doubleValue,proto3,oneof"` -} - -type Value_StringValue struct { - StringValue *StringValue `protobuf:"bytes,102,opt,name=string_value,json=stringValue,proto3,oneof"` -} - -type Value_Sync struct { - Sync uint64 `protobuf:"varint,103,opt,name=sync,proto3,oneof"` -} - -type Value_Delete struct { - Delete *DeleteValue `protobuf:"bytes,104,opt,name=delete,proto3,oneof"` -} - -type Value_BoolValue struct { - BoolValue *BoolValue `protobuf:"bytes,105,opt,name=bool_value,json=boolValue,proto3,oneof"` -} - -type Value_UintValue struct { - UintValue *UintValue `protobuf:"bytes,106,opt,name=uint_value,json=uintValue,proto3,oneof"` -} - -type Value_StringListValue struct { - StringListValue *StringListValue `protobuf:"bytes,107,opt,name=string_list_value,json=stringListValue,proto3,oneof"` -} - -func (*Value_IntValue) isValue_Value() {} - -func (*Value_DoubleValue) isValue_Value() {} - -func (*Value_StringValue) isValue_Value() {} - -func (*Value_Sync) isValue_Value() {} - -func (*Value_Delete) isValue_Value() {} - -func (*Value_BoolValue) isValue_Value() {} - -func (*Value_UintValue) isValue_Value() {} - -func (*Value_StringListValue) isValue_Value() {} - -type Timestamp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Initial timestamp for the corresponding value, nanoseconds since epoch. - // This value need have no relation to absolute real-time as the stream of - // of updates is generated without regard to the real clock and can be run - // repeatably at any time if the seed is set in the corresponding Value. - Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // These values will vary the change in the timestamp for subsequent outputs - // by a value between delta_min and delta_max. Set to the same value to force - // a set periodic interval. - DeltaMin int64 `protobuf:"varint,2,opt,name=delta_min,json=deltaMin,proto3" json:"delta_min,omitempty"` - DeltaMax int64 `protobuf:"varint,3,opt,name=delta_max,json=deltaMax,proto3" json:"delta_max,omitempty"` -} - -func (x *Timestamp) Reset() { - *x = Timestamp{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Timestamp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Timestamp) ProtoMessage() {} - -func (x *Timestamp) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Timestamp.ProtoReflect.Descriptor instead. -func (*Timestamp) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{7} -} - -func (x *Timestamp) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *Timestamp) GetDeltaMin() int64 { - if x != nil { - return x.DeltaMin - } - return 0 -} - -func (x *Timestamp) GetDeltaMax() int64 { - if x != nil { - return x.DeltaMax - } - return 0 -} - -type IntValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // If distribution is IntRange, value is used as the initial value - // inside [minimum, maximum] and hold the value as it mutates. - // If distribution is IntList, value is only used to hold the value as it - // mutates. - // If no distribution is set, value is used as it mutates, i.e. constant - // update. - Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` - // Types that are assignable to Distribution: - // - // *IntValue_Range - // *IntValue_List - Distribution isIntValue_Distribution `protobuf_oneof:"distribution"` -} - -func (x *IntValue) Reset() { - *x = IntValue{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IntValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IntValue) ProtoMessage() {} - -func (x *IntValue) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IntValue.ProtoReflect.Descriptor instead. -func (*IntValue) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{8} -} - -func (x *IntValue) GetValue() int64 { - if x != nil { - return x.Value - } - return 0 -} - -func (m *IntValue) GetDistribution() isIntValue_Distribution { - if m != nil { - return m.Distribution - } - return nil -} - -func (x *IntValue) GetRange() *IntRange { - if x, ok := x.GetDistribution().(*IntValue_Range); ok { - return x.Range - } - return nil -} - -func (x *IntValue) GetList() *IntList { - if x, ok := x.GetDistribution().(*IntValue_List); ok { - return x.List - } - return nil -} - -type isIntValue_Distribution interface { - isIntValue_Distribution() -} - -type IntValue_Range struct { - Range *IntRange `protobuf:"bytes,2,opt,name=range,proto3,oneof"` -} - -type IntValue_List struct { - List *IntList `protobuf:"bytes,3,opt,name=list,proto3,oneof"` -} - -func (*IntValue_Range) isIntValue_Distribution() {} - -func (*IntValue_List) isIntValue_Distribution() {} - -type IntRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The range of the value allowed. - Minimum int64 `protobuf:"varint,1,opt,name=minimum,proto3" json:"minimum,omitempty"` - Maximum int64 `protobuf:"varint,2,opt,name=maximum,proto3" json:"maximum,omitempty"` - // If set, the value is cumulative and the subsequent value is value + delta - // where delta is randomly chosen between delta_min and delta_max. The range - // minimum and maximum are still respected and values will saturate at the - // boundaries if they are exceeded. If not set subsequent value is a value - // randomly chosen between minimum and maximum. - DeltaMin int64 `protobuf:"varint,3,opt,name=delta_min,json=deltaMin,proto3" json:"delta_min,omitempty"` - DeltaMax int64 `protobuf:"varint,4,opt,name=delta_max,json=deltaMax,proto3" json:"delta_max,omitempty"` -} - -func (x *IntRange) Reset() { - *x = IntRange{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IntRange) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IntRange) ProtoMessage() {} - -func (x *IntRange) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IntRange.ProtoReflect.Descriptor instead. -func (*IntRange) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{9} -} - -func (x *IntRange) GetMinimum() int64 { - if x != nil { - return x.Minimum - } - return 0 -} - -func (x *IntRange) GetMaximum() int64 { - if x != nil { - return x.Maximum - } - return 0 -} - -func (x *IntRange) GetDeltaMin() int64 { - if x != nil { - return x.DeltaMin - } - return 0 -} - -func (x *IntRange) GetDeltaMax() int64 { - if x != nil { - return x.DeltaMax - } - return 0 -} - -type IntList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The set of values which can be used. - Options []int64 `protobuf:"varint,1,rep,packed,name=options,proto3" json:"options,omitempty"` - // Set to true to randomize selection of value from options. If false, the - // values are cycled in order, starting at index 0. - Random bool `protobuf:"varint,2,opt,name=random,proto3" json:"random,omitempty"` -} - -func (x *IntList) Reset() { - *x = IntList{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IntList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IntList) ProtoMessage() {} - -func (x *IntList) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IntList.ProtoReflect.Descriptor instead. -func (*IntList) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{10} -} - -func (x *IntList) GetOptions() []int64 { - if x != nil { - return x.Options - } - return nil -} - -func (x *IntList) GetRandom() bool { - if x != nil { - return x.Random - } - return false -} - -type DoubleValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // If distribution is DoubleRange, value is used as the initial value - // inside [minimum, maximum] and hold the value as it mutates. - // If distribution is DoubleList, value is only used to hold the value as it - // mutates. - // If no distribution is set, value is used as it mutates, i.e. constant - // update. - Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` - // Types that are assignable to Distribution: - // - // *DoubleValue_Range - // *DoubleValue_List - Distribution isDoubleValue_Distribution `protobuf_oneof:"distribution"` -} - -func (x *DoubleValue) Reset() { - *x = DoubleValue{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DoubleValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DoubleValue) ProtoMessage() {} - -func (x *DoubleValue) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DoubleValue.ProtoReflect.Descriptor instead. -func (*DoubleValue) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{11} -} - -func (x *DoubleValue) GetValue() float64 { - if x != nil { - return x.Value - } - return 0 -} - -func (m *DoubleValue) GetDistribution() isDoubleValue_Distribution { - if m != nil { - return m.Distribution - } - return nil -} - -func (x *DoubleValue) GetRange() *DoubleRange { - if x, ok := x.GetDistribution().(*DoubleValue_Range); ok { - return x.Range - } - return nil -} - -func (x *DoubleValue) GetList() *DoubleList { - if x, ok := x.GetDistribution().(*DoubleValue_List); ok { - return x.List - } - return nil -} - -type isDoubleValue_Distribution interface { - isDoubleValue_Distribution() -} - -type DoubleValue_Range struct { - Range *DoubleRange `protobuf:"bytes,2,opt,name=range,proto3,oneof"` -} - -type DoubleValue_List struct { - List *DoubleList `protobuf:"bytes,3,opt,name=list,proto3,oneof"` -} - -func (*DoubleValue_Range) isDoubleValue_Distribution() {} - -func (*DoubleValue_List) isDoubleValue_Distribution() {} - -type DoubleRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The range of the value allowed. - Minimum float64 `protobuf:"fixed64,1,opt,name=minimum,proto3" json:"minimum,omitempty"` - Maximum float64 `protobuf:"fixed64,2,opt,name=maximum,proto3" json:"maximum,omitempty"` - // If set, the value is cumulative and the subsequent value is value + delta - // where delta is randomly chosen between delta_min and delta_max. The range - // minimum and maximum are still respected. If not set subsequent value is a - // value randomly chosen between minimum and maximum. - DeltaMin float64 `protobuf:"fixed64,3,opt,name=delta_min,json=deltaMin,proto3" json:"delta_min,omitempty"` - DeltaMax float64 `protobuf:"fixed64,4,opt,name=delta_max,json=deltaMax,proto3" json:"delta_max,omitempty"` -} - -func (x *DoubleRange) Reset() { - *x = DoubleRange{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DoubleRange) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DoubleRange) ProtoMessage() {} - -func (x *DoubleRange) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DoubleRange.ProtoReflect.Descriptor instead. -func (*DoubleRange) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{12} -} - -func (x *DoubleRange) GetMinimum() float64 { - if x != nil { - return x.Minimum - } - return 0 -} - -func (x *DoubleRange) GetMaximum() float64 { - if x != nil { - return x.Maximum - } - return 0 -} - -func (x *DoubleRange) GetDeltaMin() float64 { - if x != nil { - return x.DeltaMin - } - return 0 -} - -func (x *DoubleRange) GetDeltaMax() float64 { - if x != nil { - return x.DeltaMax - } - return 0 -} - -type DoubleList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The set of values which can be used. - Options []float64 `protobuf:"fixed64,1,rep,packed,name=options,proto3" json:"options,omitempty"` - // Set to true to randomize selection of value from options. If false, the - // values are cycled in order. - Random bool `protobuf:"varint,2,opt,name=random,proto3" json:"random,omitempty"` -} - -func (x *DoubleList) Reset() { - *x = DoubleList{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DoubleList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DoubleList) ProtoMessage() {} - -func (x *DoubleList) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DoubleList.ProtoReflect.Descriptor instead. -func (*DoubleList) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{13} -} - -func (x *DoubleList) GetOptions() []float64 { - if x != nil { - return x.Options - } - return nil -} - -func (x *DoubleList) GetRandom() bool { - if x != nil { - return x.Random - } - return false -} - -type StringValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // If distribution is StringList, value is used to hold the value as it - // mutates. - // If no distribution is set, value is used as it mutates, i.e. constant - // update. - Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` - // Types that are assignable to Distribution: - // - // *StringValue_List - Distribution isStringValue_Distribution `protobuf_oneof:"distribution"` -} - -func (x *StringValue) Reset() { - *x = StringValue{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StringValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StringValue) ProtoMessage() {} - -func (x *StringValue) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StringValue.ProtoReflect.Descriptor instead. -func (*StringValue) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{14} -} - -func (x *StringValue) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - -func (m *StringValue) GetDistribution() isStringValue_Distribution { - if m != nil { - return m.Distribution - } - return nil -} - -func (x *StringValue) GetList() *StringList { - if x, ok := x.GetDistribution().(*StringValue_List); ok { - return x.List - } - return nil -} - -type isStringValue_Distribution interface { - isStringValue_Distribution() -} - -type StringValue_List struct { - List *StringList `protobuf:"bytes,2,opt,name=list,proto3,oneof"` -} - -func (*StringValue_List) isStringValue_Distribution() {} - -type StringList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The set of strings which can be used. - Options []string `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"` - // Set to true to randomize selection of value from options. If false, the - // values are cycled in order, starting at index 0. - Random bool `protobuf:"varint,2,opt,name=random,proto3" json:"random,omitempty"` -} - -func (x *StringList) Reset() { - *x = StringList{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StringList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StringList) ProtoMessage() {} - -func (x *StringList) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StringList.ProtoReflect.Descriptor instead. -func (*StringList) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{15} -} - -func (x *StringList) GetOptions() []string { - if x != nil { - return x.Options - } - return nil -} - -func (x *StringList) GetRandom() bool { - if x != nil { - return x.Random - } - return false -} - -type StringListValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // If distribution is StringList, value is used to hold the value as it - // mutates. - // If no distribution is set, value is used as it mutates, i.e. constant - // update. - Value []string `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"` - // Types that are assignable to Distribution: - // - // *StringListValue_List - Distribution isStringListValue_Distribution `protobuf_oneof:"distribution"` -} - -func (x *StringListValue) Reset() { - *x = StringListValue{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StringListValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StringListValue) ProtoMessage() {} - -func (x *StringListValue) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StringListValue.ProtoReflect.Descriptor instead. -func (*StringListValue) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{16} -} - -func (x *StringListValue) GetValue() []string { - if x != nil { - return x.Value - } - return nil -} - -func (m *StringListValue) GetDistribution() isStringListValue_Distribution { - if m != nil { - return m.Distribution - } - return nil -} - -func (x *StringListValue) GetList() *StringList { - if x, ok := x.GetDistribution().(*StringListValue_List); ok { - return x.List - } - return nil -} - -type isStringListValue_Distribution interface { - isStringListValue_Distribution() -} - -type StringListValue_List struct { - List *StringList `protobuf:"bytes,2,opt,name=list,proto3,oneof"` -} - -func (*StringListValue_List) isStringListValue_Distribution() {} - -type BoolValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // If distribution is BoolList, value is only used to hold the value as it - // mutates. - // If no distribution is set, value is used as it mutates, i.e. constant - // update. - Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` - // Types that are assignable to Distribution: - // - // *BoolValue_List - Distribution isBoolValue_Distribution `protobuf_oneof:"distribution"` -} - -func (x *BoolValue) Reset() { - *x = BoolValue{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BoolValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BoolValue) ProtoMessage() {} - -func (x *BoolValue) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BoolValue.ProtoReflect.Descriptor instead. -func (*BoolValue) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{17} -} - -func (x *BoolValue) GetValue() bool { - if x != nil { - return x.Value - } - return false -} - -func (m *BoolValue) GetDistribution() isBoolValue_Distribution { - if m != nil { - return m.Distribution - } - return nil -} - -func (x *BoolValue) GetList() *BoolList { - if x, ok := x.GetDistribution().(*BoolValue_List); ok { - return x.List - } - return nil -} - -type isBoolValue_Distribution interface { - isBoolValue_Distribution() -} - -type BoolValue_List struct { - List *BoolList `protobuf:"bytes,2,opt,name=list,proto3,oneof"` -} - -func (*BoolValue_List) isBoolValue_Distribution() {} - -type BoolList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The set of values which can be used. - Options []bool `protobuf:"varint,1,rep,packed,name=options,proto3" json:"options,omitempty"` - // Set to true to randomize selection of value from options. If false, the - // values are cycled in order, starting at index 0. - Random bool `protobuf:"varint,2,opt,name=random,proto3" json:"random,omitempty"` -} - -func (x *BoolList) Reset() { - *x = BoolList{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BoolList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BoolList) ProtoMessage() {} - -func (x *BoolList) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BoolList.ProtoReflect.Descriptor instead. -func (*BoolList) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{18} -} - -func (x *BoolList) GetOptions() []bool { - if x != nil { - return x.Options - } - return nil -} - -func (x *BoolList) GetRandom() bool { - if x != nil { - return x.Random - } - return false -} - -type UintValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // If distribution is UintRange, value is used as the initial value - // inside [minimum, maximum] and hold the value as it mutates. - // If distribution is UintList, value is only used to hold the value as it - // mutates. - // If no distribution is set, value is used as it mutates, i.e. constant - // update. - Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` - // Types that are assignable to Distribution: - // - // *UintValue_Range - // *UintValue_List - Distribution isUintValue_Distribution `protobuf_oneof:"distribution"` -} - -func (x *UintValue) Reset() { - *x = UintValue{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UintValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UintValue) ProtoMessage() {} - -func (x *UintValue) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UintValue.ProtoReflect.Descriptor instead. -func (*UintValue) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{19} -} - -func (x *UintValue) GetValue() uint64 { - if x != nil { - return x.Value - } - return 0 -} - -func (m *UintValue) GetDistribution() isUintValue_Distribution { - if m != nil { - return m.Distribution - } - return nil -} - -func (x *UintValue) GetRange() *UintRange { - if x, ok := x.GetDistribution().(*UintValue_Range); ok { - return x.Range - } - return nil -} - -func (x *UintValue) GetList() *UintList { - if x, ok := x.GetDistribution().(*UintValue_List); ok { - return x.List - } - return nil -} - -type isUintValue_Distribution interface { - isUintValue_Distribution() -} - -type UintValue_Range struct { - Range *UintRange `protobuf:"bytes,2,opt,name=range,proto3,oneof"` -} - -type UintValue_List struct { - List *UintList `protobuf:"bytes,3,opt,name=list,proto3,oneof"` -} - -func (*UintValue_Range) isUintValue_Distribution() {} - -func (*UintValue_List) isUintValue_Distribution() {} - -type UintRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The range of the value allowed. - Minimum uint64 `protobuf:"varint,1,opt,name=minimum,proto3" json:"minimum,omitempty"` - Maximum uint64 `protobuf:"varint,2,opt,name=maximum,proto3" json:"maximum,omitempty"` - // If set, the value is cumulative and the subsequent value is value + delta - // where delta is randomly chosen between delta_min and delta_max. The range - // minimum and maximum are still respected and values will saturate at the - // boundaries if they are exceeded. If not set subsequent value is a value - // randomly chosen between minimum and maximum. - DeltaMin int64 `protobuf:"varint,3,opt,name=delta_min,json=deltaMin,proto3" json:"delta_min,omitempty"` - DeltaMax int64 `protobuf:"varint,4,opt,name=delta_max,json=deltaMax,proto3" json:"delta_max,omitempty"` -} - -func (x *UintRange) Reset() { - *x = UintRange{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UintRange) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UintRange) ProtoMessage() {} - -func (x *UintRange) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UintRange.ProtoReflect.Descriptor instead. -func (*UintRange) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{20} -} - -func (x *UintRange) GetMinimum() uint64 { - if x != nil { - return x.Minimum - } - return 0 -} - -func (x *UintRange) GetMaximum() uint64 { - if x != nil { - return x.Maximum - } - return 0 -} - -func (x *UintRange) GetDeltaMin() int64 { - if x != nil { - return x.DeltaMin - } - return 0 -} - -func (x *UintRange) GetDeltaMax() int64 { - if x != nil { - return x.DeltaMax - } - return 0 -} - -type UintList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The set of values which can be used. - Options []uint64 `protobuf:"varint,1,rep,packed,name=options,proto3" json:"options,omitempty"` - // Set to true to randomize selection of value from options. If false, the - // values are cycled in order, starting at index 0. - Random bool `protobuf:"varint,2,opt,name=random,proto3" json:"random,omitempty"` -} - -func (x *UintList) Reset() { - *x = UintList{} - if protoimpl.UnsafeEnabled { - mi := &file_testing_fake_proto_fake_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UintList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UintList) ProtoMessage() {} - -func (x *UintList) ProtoReflect() protoreflect.Message { - mi := &file_testing_fake_proto_fake_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UintList.ProtoReflect.Descriptor instead. -func (*UintList) Descriptor() ([]byte, []int) { - return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{21} -} - -func (x *UintList) GetOptions() []uint64 { - if x != nil { - return x.Options - } - return nil -} - -func (x *UintList) GetRandom() bool { - if x != nil { - return x.Random - } - return false -} - -var File_testing_fake_proto_fake_proto protoreflect.FileDescriptor - -var file_testing_fake_proto_fake_proto_rawDesc = []byte{ - 0x0a, 0x1d, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x09, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, - 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x67, 0x6e, 0x6d, - 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, - 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x22, 0x45, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x9b, 0x05, 0x0a, 0x06, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x65, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, - 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1c, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x6f, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6f, 0x66, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2e, 0x0a, 0x06, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, - 0x79, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x34, 0x0a, 0x06, 0x72, - 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, - 0x6d, 0x12, 0x31, 0x0a, 0x05, 0x66, 0x69, 0x78, 0x65, 0x64, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x46, 0x69, 0x78, - 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x63, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x43, 0x72, 0x74, 0x22, 0x45, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, - 0x53, 0x54, 0x55, 0x42, 0x42, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x52, 0x50, 0x43, - 0x5f, 0x47, 0x4e, 0x4d, 0x49, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x52, 0x50, 0x43, 0x5f, - 0x47, 0x4e, 0x4d, 0x49, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x10, 0x03, 0x42, 0x0b, 0x0a, 0x09, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x47, 0x0a, 0x0e, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x73, 0x22, 0x4f, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, - 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0xb2, 0x04, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, - 0x32, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x65, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x12, - 0x32, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x64, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x49, - 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, - 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x3b, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, - 0x6b, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, - 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, - 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x67, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x04, 0x73, - 0x79, 0x6e, 0x63, 0x12, 0x30, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x68, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x06, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6e, 0x6d, 0x69, - 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, - 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x35, 0x0a, 0x0a, - 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x55, 0x69, 0x6e, - 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x63, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x12, 0x1b, - 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x22, 0x87, 0x01, 0x0a, 0x08, - 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2b, - 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x6c, - 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6e, 0x6d, 0x69, - 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x04, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, - 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, - 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, - 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x78, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x22, - 0x3b, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x22, 0x90, 0x01, 0x0a, - 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x44, 0x6f, - 0x75, 0x62, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x44, 0x6f, 0x75, - 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x42, - 0x0e, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x7b, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, - 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, - 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x69, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x12, - 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x22, 0x3e, 0x0a, 0x0a, - 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x22, 0x60, 0x0a, 0x0b, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x0e, - 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, - 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x22, 0x64, - 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, - 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, - 0x6c, 0x69, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, - 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, - 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x08, 0x42, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x08, 0x52, - 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, - 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, - 0x22, 0x8a, 0x01, 0x0a, 0x09, 0x55, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, - 0x55, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x55, 0x69, 0x6e, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x0e, 0x0a, - 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, 0x0a, - 0x09, 0x55, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, - 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x69, 0x6e, - 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x1b, - 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, - 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, - 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x22, 0x3c, 0x0a, 0x08, 0x55, 0x69, 0x6e, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2a, 0x2b, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, - 0x49, 0x4e, 0x49, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, - 0x47, 0x10, 0x02, 0x32, 0x9b, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x03, 0x41, 0x64, 0x64, 0x12, 0x11, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x11, - 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x2e, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x11, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x11, - 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x2e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x11, 0x2e, 0x67, 0x6e, - 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x11, - 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x42, 0x39, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, - 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x3b, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x66, 0x61, 0x6b, 0x65, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_testing_fake_proto_fake_proto_rawDescOnce sync.Once - file_testing_fake_proto_fake_proto_rawDescData = file_testing_fake_proto_fake_proto_rawDesc -) - -func file_testing_fake_proto_fake_proto_rawDescGZIP() []byte { - file_testing_fake_proto_fake_proto_rawDescOnce.Do(func() { - file_testing_fake_proto_fake_proto_rawDescData = protoimpl.X.CompressGZIP(file_testing_fake_proto_fake_proto_rawDescData) - }) - return file_testing_fake_proto_fake_proto_rawDescData -} - -var file_testing_fake_proto_fake_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_testing_fake_proto_fake_proto_msgTypes = make([]protoimpl.MessageInfo, 22) -var file_testing_fake_proto_fake_proto_goTypes = []interface{}{ - (State)(0), // 0: gnmi.fake.State - (Config_ClientType)(0), // 1: gnmi.fake.Config.ClientType - (*Configuration)(nil), // 2: gnmi.fake.Configuration - (*Credentials)(nil), // 3: gnmi.fake.Credentials - (*Config)(nil), // 4: gnmi.fake.Config - (*FixedGenerator)(nil), // 5: gnmi.fake.FixedGenerator - (*RandomGenerator)(nil), // 6: gnmi.fake.RandomGenerator - (*DeleteValue)(nil), // 7: gnmi.fake.DeleteValue - (*Value)(nil), // 8: gnmi.fake.Value - (*Timestamp)(nil), // 9: gnmi.fake.Timestamp - (*IntValue)(nil), // 10: gnmi.fake.IntValue - (*IntRange)(nil), // 11: gnmi.fake.IntRange - (*IntList)(nil), // 12: gnmi.fake.IntList - (*DoubleValue)(nil), // 13: gnmi.fake.DoubleValue - (*DoubleRange)(nil), // 14: gnmi.fake.DoubleRange - (*DoubleList)(nil), // 15: gnmi.fake.DoubleList - (*StringValue)(nil), // 16: gnmi.fake.StringValue - (*StringList)(nil), // 17: gnmi.fake.StringList - (*StringListValue)(nil), // 18: gnmi.fake.StringListValue - (*BoolValue)(nil), // 19: gnmi.fake.BoolValue - (*BoolList)(nil), // 20: gnmi.fake.BoolList - (*UintValue)(nil), // 21: gnmi.fake.UintValue - (*UintRange)(nil), // 22: gnmi.fake.UintRange - (*UintList)(nil), // 23: gnmi.fake.UintList - (*anypb.Any)(nil), // 24: google.protobuf.Any - (*gnmi.SubscribeResponse)(nil), // 25: gnmi.SubscribeResponse -} -var file_testing_fake_proto_fake_proto_depIdxs = []int32{ - 4, // 0: gnmi.fake.Configuration.config:type_name -> gnmi.fake.Config - 8, // 1: gnmi.fake.Config.values:type_name -> gnmi.fake.Value - 1, // 2: gnmi.fake.Config.client_type:type_name -> gnmi.fake.Config.ClientType - 3, // 3: gnmi.fake.Config.credentials:type_name -> gnmi.fake.Credentials - 24, // 4: gnmi.fake.Config.custom:type_name -> google.protobuf.Any - 6, // 5: gnmi.fake.Config.random:type_name -> gnmi.fake.RandomGenerator - 5, // 6: gnmi.fake.Config.fixed:type_name -> gnmi.fake.FixedGenerator - 25, // 7: gnmi.fake.FixedGenerator.responses:type_name -> gnmi.SubscribeResponse - 8, // 8: gnmi.fake.RandomGenerator.values:type_name -> gnmi.fake.Value - 9, // 9: gnmi.fake.Value.timestamp:type_name -> gnmi.fake.Timestamp - 10, // 10: gnmi.fake.Value.int_value:type_name -> gnmi.fake.IntValue - 13, // 11: gnmi.fake.Value.double_value:type_name -> gnmi.fake.DoubleValue - 16, // 12: gnmi.fake.Value.string_value:type_name -> gnmi.fake.StringValue - 7, // 13: gnmi.fake.Value.delete:type_name -> gnmi.fake.DeleteValue - 19, // 14: gnmi.fake.Value.bool_value:type_name -> gnmi.fake.BoolValue - 21, // 15: gnmi.fake.Value.uint_value:type_name -> gnmi.fake.UintValue - 18, // 16: gnmi.fake.Value.string_list_value:type_name -> gnmi.fake.StringListValue - 11, // 17: gnmi.fake.IntValue.range:type_name -> gnmi.fake.IntRange - 12, // 18: gnmi.fake.IntValue.list:type_name -> gnmi.fake.IntList - 14, // 19: gnmi.fake.DoubleValue.range:type_name -> gnmi.fake.DoubleRange - 15, // 20: gnmi.fake.DoubleValue.list:type_name -> gnmi.fake.DoubleList - 17, // 21: gnmi.fake.StringValue.list:type_name -> gnmi.fake.StringList - 17, // 22: gnmi.fake.StringListValue.list:type_name -> gnmi.fake.StringList - 20, // 23: gnmi.fake.BoolValue.list:type_name -> gnmi.fake.BoolList - 22, // 24: gnmi.fake.UintValue.range:type_name -> gnmi.fake.UintRange - 23, // 25: gnmi.fake.UintValue.list:type_name -> gnmi.fake.UintList - 4, // 26: gnmi.fake.AgentManager.Add:input_type -> gnmi.fake.Config - 4, // 27: gnmi.fake.AgentManager.Remove:input_type -> gnmi.fake.Config - 4, // 28: gnmi.fake.AgentManager.Status:input_type -> gnmi.fake.Config - 4, // 29: gnmi.fake.AgentManager.Add:output_type -> gnmi.fake.Config - 4, // 30: gnmi.fake.AgentManager.Remove:output_type -> gnmi.fake.Config - 4, // 31: gnmi.fake.AgentManager.Status:output_type -> gnmi.fake.Config - 29, // [29:32] is the sub-list for method output_type - 26, // [26:29] is the sub-list for method input_type - 26, // [26:26] is the sub-list for extension type_name - 26, // [26:26] is the sub-list for extension extendee - 0, // [0:26] is the sub-list for field type_name -} - -func init() { file_testing_fake_proto_fake_proto_init() } -func file_testing_fake_proto_fake_proto_init() { - if File_testing_fake_proto_fake_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_testing_fake_proto_fake_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Configuration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Credentials); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FixedGenerator); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RandomGenerator); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Value); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Timestamp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IntValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IntRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IntList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DoubleValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DoubleRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DoubleList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StringValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StringList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StringListValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoolValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoolList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UintValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UintRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_testing_fake_proto_fake_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UintList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_testing_fake_proto_fake_proto_msgTypes[2].OneofWrappers = []interface{}{ - (*Config_Custom)(nil), - (*Config_Random)(nil), - (*Config_Fixed)(nil), - } - file_testing_fake_proto_fake_proto_msgTypes[6].OneofWrappers = []interface{}{ - (*Value_IntValue)(nil), - (*Value_DoubleValue)(nil), - (*Value_StringValue)(nil), - (*Value_Sync)(nil), - (*Value_Delete)(nil), - (*Value_BoolValue)(nil), - (*Value_UintValue)(nil), - (*Value_StringListValue)(nil), - } - file_testing_fake_proto_fake_proto_msgTypes[8].OneofWrappers = []interface{}{ - (*IntValue_Range)(nil), - (*IntValue_List)(nil), - } - file_testing_fake_proto_fake_proto_msgTypes[11].OneofWrappers = []interface{}{ - (*DoubleValue_Range)(nil), - (*DoubleValue_List)(nil), - } - file_testing_fake_proto_fake_proto_msgTypes[14].OneofWrappers = []interface{}{ - (*StringValue_List)(nil), - } - file_testing_fake_proto_fake_proto_msgTypes[16].OneofWrappers = []interface{}{ - (*StringListValue_List)(nil), - } - file_testing_fake_proto_fake_proto_msgTypes[17].OneofWrappers = []interface{}{ - (*BoolValue_List)(nil), - } - file_testing_fake_proto_fake_proto_msgTypes[19].OneofWrappers = []interface{}{ - (*UintValue_Range)(nil), - (*UintValue_List)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_testing_fake_proto_fake_proto_rawDesc, - NumEnums: 2, - NumMessages: 22, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_testing_fake_proto_fake_proto_goTypes, - DependencyIndexes: file_testing_fake_proto_fake_proto_depIdxs, - EnumInfos: file_testing_fake_proto_fake_proto_enumTypes, - MessageInfos: file_testing_fake_proto_fake_proto_msgTypes, - }.Build() - File_testing_fake_proto_fake_proto = out.File - file_testing_fake_proto_fake_proto_rawDesc = nil - file_testing_fake_proto_fake_proto_goTypes = nil - file_testing_fake_proto_fake_proto_depIdxs = nil -} diff --git a/testing/fake/proto/fake_grpc.pb.go b/testing/fake/proto/fake_grpc.pb.go deleted file mode 100644 index 63c433b..0000000 --- a/testing/fake/proto/fake_grpc.pb.go +++ /dev/null @@ -1,177 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. - -package gnmi_fake - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// AgentManagerClient is the client API for AgentManager service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type AgentManagerClient interface { - // Add adds an agent to the server. - Add(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) - // Remove removes an agent from the server. - Remove(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) - // Status returns the current status of an agent on the server. - Status(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) -} - -type agentManagerClient struct { - cc grpc.ClientConnInterface -} - -func NewAgentManagerClient(cc grpc.ClientConnInterface) AgentManagerClient { - return &agentManagerClient{cc} -} - -func (c *agentManagerClient) Add(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) { - out := new(Config) - err := c.cc.Invoke(ctx, "/gnmi.fake.AgentManager/Add", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *agentManagerClient) Remove(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) { - out := new(Config) - err := c.cc.Invoke(ctx, "/gnmi.fake.AgentManager/Remove", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *agentManagerClient) Status(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) { - out := new(Config) - err := c.cc.Invoke(ctx, "/gnmi.fake.AgentManager/Status", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// AgentManagerServer is the server API for AgentManager service. -// All implementations should embed UnimplementedAgentManagerServer -// for forward compatibility -type AgentManagerServer interface { - // Add adds an agent to the server. - Add(context.Context, *Config) (*Config, error) - // Remove removes an agent from the server. - Remove(context.Context, *Config) (*Config, error) - // Status returns the current status of an agent on the server. - Status(context.Context, *Config) (*Config, error) -} - -// UnimplementedAgentManagerServer should be embedded to have forward compatible implementations. -type UnimplementedAgentManagerServer struct { -} - -func (UnimplementedAgentManagerServer) Add(context.Context, *Config) (*Config, error) { - return nil, status.Errorf(codes.Unimplemented, "method Add not implemented") -} -func (UnimplementedAgentManagerServer) Remove(context.Context, *Config) (*Config, error) { - return nil, status.Errorf(codes.Unimplemented, "method Remove not implemented") -} -func (UnimplementedAgentManagerServer) Status(context.Context, *Config) (*Config, error) { - return nil, status.Errorf(codes.Unimplemented, "method Status not implemented") -} - -// UnsafeAgentManagerServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to AgentManagerServer will -// result in compilation errors. -type UnsafeAgentManagerServer interface { - mustEmbedUnimplementedAgentManagerServer() -} - -func RegisterAgentManagerServer(s grpc.ServiceRegistrar, srv AgentManagerServer) { - s.RegisterService(&AgentManager_ServiceDesc, srv) -} - -func _AgentManager_Add_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Config) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(AgentManagerServer).Add(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gnmi.fake.AgentManager/Add", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AgentManagerServer).Add(ctx, req.(*Config)) - } - return interceptor(ctx, in, info, handler) -} - -func _AgentManager_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Config) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(AgentManagerServer).Remove(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gnmi.fake.AgentManager/Remove", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AgentManagerServer).Remove(ctx, req.(*Config)) - } - return interceptor(ctx, in, info, handler) -} - -func _AgentManager_Status_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Config) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(AgentManagerServer).Status(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gnmi.fake.AgentManager/Status", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AgentManagerServer).Status(ctx, req.(*Config)) - } - return interceptor(ctx, in, info, handler) -} - -// AgentManager_ServiceDesc is the grpc.ServiceDesc for AgentManager service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var AgentManager_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "gnmi.fake.AgentManager", - HandlerType: (*AgentManagerServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Add", - Handler: _AgentManager_Add_Handler, - }, - { - MethodName: "Remove", - Handler: _AgentManager_Remove_Handler, - }, - { - MethodName: "Status", - Handler: _AgentManager_Status_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "testing/fake/proto/fake.proto", -} diff --git a/testing/fake/proto/fake_pb2.py b/testing/fake/proto/fake_pb2.py deleted file mode 100644 index effe388..0000000 --- a/testing/fake/proto/fake_pb2.py +++ /dev/null @@ -1,1470 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: testing/fake/proto/fake.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf.internal import enum_type_wrapper -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -from github.com.openconfig.gnmi.proto.gnmi import gnmi_pb2 as github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi_dot_gnmi__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='testing/fake/proto/fake.proto', - package='gnmi.fake', - syntax='proto3', - serialized_pb=_b('\n\x1dtesting/fake/proto/fake.proto\x12\tgnmi.fake\x1a\x19google/protobuf/any.proto\x1a\x30github.com/openconfig/gnmi/proto/gnmi/gnmi.proto\"2\n\rConfiguration\x12!\n\x06\x63onfig\x18\x01 \x03(\x0b\x32\x11.gnmi.fake.Config\"1\n\x0b\x43redentials\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\"\x8c\x04\n\x06\x43onfig\x12\x0e\n\x06target\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\x12\x10\n\x04seed\x18\x06 \x01(\x03\x42\x02\x18\x01\x12$\n\x06values\x18\x03 \x03(\x0b\x32\x10.gnmi.fake.ValueB\x02\x18\x01\x12\x14\n\x0c\x64isable_sync\x18\x04 \x01(\x08\x12\x31\n\x0b\x63lient_type\x18\x05 \x01(\x0e\x32\x1c.gnmi.fake.Config.ClientType\x12\x13\n\x0b\x64isable_eof\x18\x07 \x01(\x08\x12+\n\x0b\x63redentials\x18\x08 \x01(\x0b\x32\x16.gnmi.fake.Credentials\x12\x0c\n\x04\x63\x65rt\x18\t \x01(\x0c\x12\x14\n\x0c\x65nable_delay\x18\n \x01(\x08\x12&\n\x06\x63ustom\x18\x64 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x12,\n\x06random\x18\x65 \x01(\x0b\x32\x1a.gnmi.fake.RandomGeneratorH\x00\x12*\n\x05\x66ixed\x18\x66 \x01(\x0b\x32\x19.gnmi.fake.FixedGeneratorH\x00\x12\x13\n\x0btunnel_addr\x18\x0b \x01(\t\x12\x12\n\ntunnel_crt\x18\x0c \x01(\t\"E\n\nClientType\x12\x08\n\x04GRPC\x10\x00\x12\n\n\x06STUBBY\x10\x01\x12\r\n\tGRPC_GNMI\x10\x02\x12\x12\n\x0eGRPC_GNMI_PROD\x10\x03\x42\x0b\n\tgenerator\"<\n\x0e\x46ixedGenerator\x12*\n\tresponses\x18\x01 \x03(\x0b\x32\x17.gnmi.SubscribeResponse\"A\n\x0fRandomGenerator\x12\x0c\n\x04seed\x18\x01 \x01(\x03\x12 \n\x06values\x18\x02 \x03(\x0b\x32\x10.gnmi.fake.Value\"\r\n\x0b\x44\x65leteValue\"\xba\x03\n\x05Value\x12\x0c\n\x04path\x18\x01 \x03(\t\x12\'\n\ttimestamp\x18\x02 \x01(\x0b\x32\x14.gnmi.fake.Timestamp\x12\x0e\n\x06repeat\x18\x06 \x01(\x05\x12\x0c\n\x04seed\x18\x07 \x01(\x03\x12(\n\tint_value\x18\x64 \x01(\x0b\x32\x13.gnmi.fake.IntValueH\x00\x12.\n\x0c\x64ouble_value\x18\x65 \x01(\x0b\x32\x16.gnmi.fake.DoubleValueH\x00\x12.\n\x0cstring_value\x18\x66 \x01(\x0b\x32\x16.gnmi.fake.StringValueH\x00\x12\x0e\n\x04sync\x18g \x01(\x04H\x00\x12(\n\x06\x64\x65lete\x18h \x01(\x0b\x32\x16.gnmi.fake.DeleteValueH\x00\x12*\n\nbool_value\x18i \x01(\x0b\x32\x14.gnmi.fake.BoolValueH\x00\x12*\n\nuint_value\x18j \x01(\x0b\x32\x14.gnmi.fake.UintValueH\x00\x12\x37\n\x11string_list_value\x18k \x01(\x0b\x32\x1a.gnmi.fake.StringListValueH\x00\x42\x07\n\x05value\"D\n\tTimestamp\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\x11\n\tdelta_min\x18\x02 \x01(\x03\x12\x11\n\tdelta_max\x18\x03 \x01(\x03\"s\n\x08IntValue\x12\r\n\x05value\x18\x01 \x01(\x03\x12$\n\x05range\x18\x02 \x01(\x0b\x32\x13.gnmi.fake.IntRangeH\x00\x12\"\n\x04list\x18\x03 \x01(\x0b\x32\x12.gnmi.fake.IntListH\x00\x42\x0e\n\x0c\x64istribution\"R\n\x08IntRange\x12\x0f\n\x07minimum\x18\x01 \x01(\x03\x12\x0f\n\x07maximum\x18\x02 \x01(\x03\x12\x11\n\tdelta_min\x18\x03 \x01(\x03\x12\x11\n\tdelta_max\x18\x04 \x01(\x03\"*\n\x07IntList\x12\x0f\n\x07options\x18\x01 \x03(\x03\x12\x0e\n\x06random\x18\x02 \x01(\x08\"|\n\x0b\x44oubleValue\x12\r\n\x05value\x18\x01 \x01(\x01\x12\'\n\x05range\x18\x02 \x01(\x0b\x32\x16.gnmi.fake.DoubleRangeH\x00\x12%\n\x04list\x18\x03 \x01(\x0b\x32\x15.gnmi.fake.DoubleListH\x00\x42\x0e\n\x0c\x64istribution\"U\n\x0b\x44oubleRange\x12\x0f\n\x07minimum\x18\x01 \x01(\x01\x12\x0f\n\x07maximum\x18\x02 \x01(\x01\x12\x11\n\tdelta_min\x18\x03 \x01(\x01\x12\x11\n\tdelta_max\x18\x04 \x01(\x01\"-\n\nDoubleList\x12\x0f\n\x07options\x18\x01 \x03(\x01\x12\x0e\n\x06random\x18\x02 \x01(\x08\"S\n\x0bStringValue\x12\r\n\x05value\x18\x01 \x01(\t\x12%\n\x04list\x18\x02 \x01(\x0b\x32\x15.gnmi.fake.StringListH\x00\x42\x0e\n\x0c\x64istribution\"-\n\nStringList\x12\x0f\n\x07options\x18\x01 \x03(\t\x12\x0e\n\x06random\x18\x02 \x01(\x08\"W\n\x0fStringListValue\x12\r\n\x05value\x18\x01 \x03(\t\x12%\n\x04list\x18\x02 \x01(\x0b\x32\x15.gnmi.fake.StringListH\x00\x42\x0e\n\x0c\x64istribution\"O\n\tBoolValue\x12\r\n\x05value\x18\x01 \x01(\x08\x12#\n\x04list\x18\x02 \x01(\x0b\x32\x13.gnmi.fake.BoolListH\x00\x42\x0e\n\x0c\x64istribution\"+\n\x08\x42oolList\x12\x0f\n\x07options\x18\x01 \x03(\x08\x12\x0e\n\x06random\x18\x02 \x01(\x08\"v\n\tUintValue\x12\r\n\x05value\x18\x01 \x01(\x04\x12%\n\x05range\x18\x02 \x01(\x0b\x32\x14.gnmi.fake.UintRangeH\x00\x12#\n\x04list\x18\x03 \x01(\x0b\x32\x13.gnmi.fake.UintListH\x00\x42\x0e\n\x0c\x64istribution\"S\n\tUintRange\x12\x0f\n\x07minimum\x18\x01 \x01(\x04\x12\x0f\n\x07maximum\x18\x02 \x01(\x04\x12\x11\n\tdelta_min\x18\x03 \x01(\x03\x12\x11\n\tdelta_max\x18\x04 \x01(\x03\"+\n\x08UintList\x12\x0f\n\x07options\x18\x01 \x03(\x04\x12\x0e\n\x06random\x18\x02 \x01(\x08*+\n\x05State\x12\x0b\n\x07STOPPED\x10\x00\x12\x08\n\x04INIT\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x32\x9b\x01\n\x0c\x41gentManager\x12+\n\x03\x41\x64\x64\x12\x11.gnmi.fake.Config\x1a\x11.gnmi.fake.Config\x12.\n\x06Remove\x12\x11.gnmi.fake.Config\x1a\x11.gnmi.fake.Config\x12.\n\x06Status\x12\x11.gnmi.fake.Config\x1a\x11.gnmi.fake.ConfigB9Z7github.com/openconfig/gnmi/testing/fake/proto;gnmi_fakeb\x06proto3') - , - dependencies=[google_dot_protobuf_dot_any__pb2.DESCRIPTOR,github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi_dot_gnmi__pb2.DESCRIPTOR,]) - -_STATE = _descriptor.EnumDescriptor( - name='State', - full_name='gnmi.fake.State', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='STOPPED', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='INIT', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='RUNNING', index=2, number=2, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=2512, - serialized_end=2555, -) -_sym_db.RegisterEnumDescriptor(_STATE) - -State = enum_type_wrapper.EnumTypeWrapper(_STATE) -STOPPED = 0 -INIT = 1 -RUNNING = 2 - - -_CONFIG_CLIENTTYPE = _descriptor.EnumDescriptor( - name='ClientType', - full_name='gnmi.fake.Config.ClientType', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='GRPC', index=0, number=0, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='STUBBY', index=1, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='GRPC_GNMI', index=2, number=2, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='GRPC_GNMI_PROD', index=3, number=3, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=667, - serialized_end=736, -) -_sym_db.RegisterEnumDescriptor(_CONFIG_CLIENTTYPE) - - -_CONFIGURATION = _descriptor.Descriptor( - name='Configuration', - full_name='gnmi.fake.Configuration', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='config', full_name='gnmi.fake.Configuration.config', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=121, - serialized_end=171, -) - - -_CREDENTIALS = _descriptor.Descriptor( - name='Credentials', - full_name='gnmi.fake.Credentials', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='username', full_name='gnmi.fake.Credentials.username', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='password', full_name='gnmi.fake.Credentials.password', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=173, - serialized_end=222, -) - - -_CONFIG = _descriptor.Descriptor( - name='Config', - full_name='gnmi.fake.Config', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='target', full_name='gnmi.fake.Config.target', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='port', full_name='gnmi.fake.Config.port', index=1, - number=2, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='seed', full_name='gnmi.fake.Config.seed', index=2, - number=6, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='values', full_name='gnmi.fake.Config.values', index=3, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='disable_sync', full_name='gnmi.fake.Config.disable_sync', index=4, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='client_type', full_name='gnmi.fake.Config.client_type', index=5, - number=5, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='disable_eof', full_name='gnmi.fake.Config.disable_eof', index=6, - number=7, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='credentials', full_name='gnmi.fake.Config.credentials', index=7, - number=8, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='cert', full_name='gnmi.fake.Config.cert', index=8, - number=9, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='enable_delay', full_name='gnmi.fake.Config.enable_delay', index=9, - number=10, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='custom', full_name='gnmi.fake.Config.custom', index=10, - number=100, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='random', full_name='gnmi.fake.Config.random', index=11, - number=101, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fixed', full_name='gnmi.fake.Config.fixed', index=12, - number=102, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='tunnel_addr', full_name='gnmi.fake.Config.tunnel_addr', index=13, - number=11, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='tunnel_crt', full_name='gnmi.fake.Config.tunnel_crt', index=14, - number=12, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _CONFIG_CLIENTTYPE, - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='generator', full_name='gnmi.fake.Config.generator', - index=0, containing_type=None, fields=[]), - ], - serialized_start=225, - serialized_end=749, -) - - -_FIXEDGENERATOR = _descriptor.Descriptor( - name='FixedGenerator', - full_name='gnmi.fake.FixedGenerator', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='responses', full_name='gnmi.fake.FixedGenerator.responses', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=751, - serialized_end=811, -) - - -_RANDOMGENERATOR = _descriptor.Descriptor( - name='RandomGenerator', - full_name='gnmi.fake.RandomGenerator', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='seed', full_name='gnmi.fake.RandomGenerator.seed', index=0, - number=1, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='values', full_name='gnmi.fake.RandomGenerator.values', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=813, - serialized_end=878, -) - - -_DELETEVALUE = _descriptor.Descriptor( - name='DeleteValue', - full_name='gnmi.fake.DeleteValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=880, - serialized_end=893, -) - - -_VALUE = _descriptor.Descriptor( - name='Value', - full_name='gnmi.fake.Value', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='path', full_name='gnmi.fake.Value.path', index=0, - number=1, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='timestamp', full_name='gnmi.fake.Value.timestamp', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='repeat', full_name='gnmi.fake.Value.repeat', index=2, - number=6, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='seed', full_name='gnmi.fake.Value.seed', index=3, - number=7, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='int_value', full_name='gnmi.fake.Value.int_value', index=4, - number=100, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='double_value', full_name='gnmi.fake.Value.double_value', index=5, - number=101, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='string_value', full_name='gnmi.fake.Value.string_value', index=6, - number=102, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sync', full_name='gnmi.fake.Value.sync', index=7, - number=103, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delete', full_name='gnmi.fake.Value.delete', index=8, - number=104, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='bool_value', full_name='gnmi.fake.Value.bool_value', index=9, - number=105, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='uint_value', full_name='gnmi.fake.Value.uint_value', index=10, - number=106, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='string_list_value', full_name='gnmi.fake.Value.string_list_value', index=11, - number=107, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='value', full_name='gnmi.fake.Value.value', - index=0, containing_type=None, fields=[]), - ], - serialized_start=896, - serialized_end=1338, -) - - -_TIMESTAMP = _descriptor.Descriptor( - name='Timestamp', - full_name='gnmi.fake.Timestamp', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='timestamp', full_name='gnmi.fake.Timestamp.timestamp', index=0, - number=1, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delta_min', full_name='gnmi.fake.Timestamp.delta_min', index=1, - number=2, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delta_max', full_name='gnmi.fake.Timestamp.delta_max', index=2, - number=3, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1340, - serialized_end=1408, -) - - -_INTVALUE = _descriptor.Descriptor( - name='IntValue', - full_name='gnmi.fake.IntValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='value', full_name='gnmi.fake.IntValue.value', index=0, - number=1, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='range', full_name='gnmi.fake.IntValue.range', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='list', full_name='gnmi.fake.IntValue.list', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='distribution', full_name='gnmi.fake.IntValue.distribution', - index=0, containing_type=None, fields=[]), - ], - serialized_start=1410, - serialized_end=1525, -) - - -_INTRANGE = _descriptor.Descriptor( - name='IntRange', - full_name='gnmi.fake.IntRange', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='minimum', full_name='gnmi.fake.IntRange.minimum', index=0, - number=1, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='maximum', full_name='gnmi.fake.IntRange.maximum', index=1, - number=2, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delta_min', full_name='gnmi.fake.IntRange.delta_min', index=2, - number=3, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delta_max', full_name='gnmi.fake.IntRange.delta_max', index=3, - number=4, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1527, - serialized_end=1609, -) - - -_INTLIST = _descriptor.Descriptor( - name='IntList', - full_name='gnmi.fake.IntList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='options', full_name='gnmi.fake.IntList.options', index=0, - number=1, type=3, cpp_type=2, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='random', full_name='gnmi.fake.IntList.random', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1611, - serialized_end=1653, -) - - -_DOUBLEVALUE = _descriptor.Descriptor( - name='DoubleValue', - full_name='gnmi.fake.DoubleValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='value', full_name='gnmi.fake.DoubleValue.value', index=0, - number=1, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='range', full_name='gnmi.fake.DoubleValue.range', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='list', full_name='gnmi.fake.DoubleValue.list', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='distribution', full_name='gnmi.fake.DoubleValue.distribution', - index=0, containing_type=None, fields=[]), - ], - serialized_start=1655, - serialized_end=1779, -) - - -_DOUBLERANGE = _descriptor.Descriptor( - name='DoubleRange', - full_name='gnmi.fake.DoubleRange', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='minimum', full_name='gnmi.fake.DoubleRange.minimum', index=0, - number=1, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='maximum', full_name='gnmi.fake.DoubleRange.maximum', index=1, - number=2, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delta_min', full_name='gnmi.fake.DoubleRange.delta_min', index=2, - number=3, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delta_max', full_name='gnmi.fake.DoubleRange.delta_max', index=3, - number=4, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1781, - serialized_end=1866, -) - - -_DOUBLELIST = _descriptor.Descriptor( - name='DoubleList', - full_name='gnmi.fake.DoubleList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='options', full_name='gnmi.fake.DoubleList.options', index=0, - number=1, type=1, cpp_type=5, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='random', full_name='gnmi.fake.DoubleList.random', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1868, - serialized_end=1913, -) - - -_STRINGVALUE = _descriptor.Descriptor( - name='StringValue', - full_name='gnmi.fake.StringValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='value', full_name='gnmi.fake.StringValue.value', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='list', full_name='gnmi.fake.StringValue.list', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='distribution', full_name='gnmi.fake.StringValue.distribution', - index=0, containing_type=None, fields=[]), - ], - serialized_start=1915, - serialized_end=1998, -) - - -_STRINGLIST = _descriptor.Descriptor( - name='StringList', - full_name='gnmi.fake.StringList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='options', full_name='gnmi.fake.StringList.options', index=0, - number=1, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='random', full_name='gnmi.fake.StringList.random', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2000, - serialized_end=2045, -) - - -_STRINGLISTVALUE = _descriptor.Descriptor( - name='StringListValue', - full_name='gnmi.fake.StringListValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='value', full_name='gnmi.fake.StringListValue.value', index=0, - number=1, type=9, cpp_type=9, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='list', full_name='gnmi.fake.StringListValue.list', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='distribution', full_name='gnmi.fake.StringListValue.distribution', - index=0, containing_type=None, fields=[]), - ], - serialized_start=2047, - serialized_end=2134, -) - - -_BOOLVALUE = _descriptor.Descriptor( - name='BoolValue', - full_name='gnmi.fake.BoolValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='value', full_name='gnmi.fake.BoolValue.value', index=0, - number=1, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='list', full_name='gnmi.fake.BoolValue.list', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='distribution', full_name='gnmi.fake.BoolValue.distribution', - index=0, containing_type=None, fields=[]), - ], - serialized_start=2136, - serialized_end=2215, -) - - -_BOOLLIST = _descriptor.Descriptor( - name='BoolList', - full_name='gnmi.fake.BoolList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='options', full_name='gnmi.fake.BoolList.options', index=0, - number=1, type=8, cpp_type=7, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='random', full_name='gnmi.fake.BoolList.random', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2217, - serialized_end=2260, -) - - -_UINTVALUE = _descriptor.Descriptor( - name='UintValue', - full_name='gnmi.fake.UintValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='value', full_name='gnmi.fake.UintValue.value', index=0, - number=1, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='range', full_name='gnmi.fake.UintValue.range', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='list', full_name='gnmi.fake.UintValue.list', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='distribution', full_name='gnmi.fake.UintValue.distribution', - index=0, containing_type=None, fields=[]), - ], - serialized_start=2262, - serialized_end=2380, -) - - -_UINTRANGE = _descriptor.Descriptor( - name='UintRange', - full_name='gnmi.fake.UintRange', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='minimum', full_name='gnmi.fake.UintRange.minimum', index=0, - number=1, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='maximum', full_name='gnmi.fake.UintRange.maximum', index=1, - number=2, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delta_min', full_name='gnmi.fake.UintRange.delta_min', index=2, - number=3, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='delta_max', full_name='gnmi.fake.UintRange.delta_max', index=3, - number=4, type=3, cpp_type=2, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2382, - serialized_end=2465, -) - - -_UINTLIST = _descriptor.Descriptor( - name='UintList', - full_name='gnmi.fake.UintList', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='options', full_name='gnmi.fake.UintList.options', index=0, - number=1, type=4, cpp_type=4, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='random', full_name='gnmi.fake.UintList.random', index=1, - number=2, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2467, - serialized_end=2510, -) - -_CONFIGURATION.fields_by_name['config'].message_type = _CONFIG -_CONFIG.fields_by_name['values'].message_type = _VALUE -_CONFIG.fields_by_name['client_type'].enum_type = _CONFIG_CLIENTTYPE -_CONFIG.fields_by_name['credentials'].message_type = _CREDENTIALS -_CONFIG.fields_by_name['custom'].message_type = google_dot_protobuf_dot_any__pb2._ANY -_CONFIG.fields_by_name['random'].message_type = _RANDOMGENERATOR -_CONFIG.fields_by_name['fixed'].message_type = _FIXEDGENERATOR -_CONFIG_CLIENTTYPE.containing_type = _CONFIG -_CONFIG.oneofs_by_name['generator'].fields.append( - _CONFIG.fields_by_name['custom']) -_CONFIG.fields_by_name['custom'].containing_oneof = _CONFIG.oneofs_by_name['generator'] -_CONFIG.oneofs_by_name['generator'].fields.append( - _CONFIG.fields_by_name['random']) -_CONFIG.fields_by_name['random'].containing_oneof = _CONFIG.oneofs_by_name['generator'] -_CONFIG.oneofs_by_name['generator'].fields.append( - _CONFIG.fields_by_name['fixed']) -_CONFIG.fields_by_name['fixed'].containing_oneof = _CONFIG.oneofs_by_name['generator'] -_FIXEDGENERATOR.fields_by_name['responses'].message_type = github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi_dot_gnmi__pb2._SUBSCRIBERESPONSE -_RANDOMGENERATOR.fields_by_name['values'].message_type = _VALUE -_VALUE.fields_by_name['timestamp'].message_type = _TIMESTAMP -_VALUE.fields_by_name['int_value'].message_type = _INTVALUE -_VALUE.fields_by_name['double_value'].message_type = _DOUBLEVALUE -_VALUE.fields_by_name['string_value'].message_type = _STRINGVALUE -_VALUE.fields_by_name['delete'].message_type = _DELETEVALUE -_VALUE.fields_by_name['bool_value'].message_type = _BOOLVALUE -_VALUE.fields_by_name['uint_value'].message_type = _UINTVALUE -_VALUE.fields_by_name['string_list_value'].message_type = _STRINGLISTVALUE -_VALUE.oneofs_by_name['value'].fields.append( - _VALUE.fields_by_name['int_value']) -_VALUE.fields_by_name['int_value'].containing_oneof = _VALUE.oneofs_by_name['value'] -_VALUE.oneofs_by_name['value'].fields.append( - _VALUE.fields_by_name['double_value']) -_VALUE.fields_by_name['double_value'].containing_oneof = _VALUE.oneofs_by_name['value'] -_VALUE.oneofs_by_name['value'].fields.append( - _VALUE.fields_by_name['string_value']) -_VALUE.fields_by_name['string_value'].containing_oneof = _VALUE.oneofs_by_name['value'] -_VALUE.oneofs_by_name['value'].fields.append( - _VALUE.fields_by_name['sync']) -_VALUE.fields_by_name['sync'].containing_oneof = _VALUE.oneofs_by_name['value'] -_VALUE.oneofs_by_name['value'].fields.append( - _VALUE.fields_by_name['delete']) -_VALUE.fields_by_name['delete'].containing_oneof = _VALUE.oneofs_by_name['value'] -_VALUE.oneofs_by_name['value'].fields.append( - _VALUE.fields_by_name['bool_value']) -_VALUE.fields_by_name['bool_value'].containing_oneof = _VALUE.oneofs_by_name['value'] -_VALUE.oneofs_by_name['value'].fields.append( - _VALUE.fields_by_name['uint_value']) -_VALUE.fields_by_name['uint_value'].containing_oneof = _VALUE.oneofs_by_name['value'] -_VALUE.oneofs_by_name['value'].fields.append( - _VALUE.fields_by_name['string_list_value']) -_VALUE.fields_by_name['string_list_value'].containing_oneof = _VALUE.oneofs_by_name['value'] -_INTVALUE.fields_by_name['range'].message_type = _INTRANGE -_INTVALUE.fields_by_name['list'].message_type = _INTLIST -_INTVALUE.oneofs_by_name['distribution'].fields.append( - _INTVALUE.fields_by_name['range']) -_INTVALUE.fields_by_name['range'].containing_oneof = _INTVALUE.oneofs_by_name['distribution'] -_INTVALUE.oneofs_by_name['distribution'].fields.append( - _INTVALUE.fields_by_name['list']) -_INTVALUE.fields_by_name['list'].containing_oneof = _INTVALUE.oneofs_by_name['distribution'] -_DOUBLEVALUE.fields_by_name['range'].message_type = _DOUBLERANGE -_DOUBLEVALUE.fields_by_name['list'].message_type = _DOUBLELIST -_DOUBLEVALUE.oneofs_by_name['distribution'].fields.append( - _DOUBLEVALUE.fields_by_name['range']) -_DOUBLEVALUE.fields_by_name['range'].containing_oneof = _DOUBLEVALUE.oneofs_by_name['distribution'] -_DOUBLEVALUE.oneofs_by_name['distribution'].fields.append( - _DOUBLEVALUE.fields_by_name['list']) -_DOUBLEVALUE.fields_by_name['list'].containing_oneof = _DOUBLEVALUE.oneofs_by_name['distribution'] -_STRINGVALUE.fields_by_name['list'].message_type = _STRINGLIST -_STRINGVALUE.oneofs_by_name['distribution'].fields.append( - _STRINGVALUE.fields_by_name['list']) -_STRINGVALUE.fields_by_name['list'].containing_oneof = _STRINGVALUE.oneofs_by_name['distribution'] -_STRINGLISTVALUE.fields_by_name['list'].message_type = _STRINGLIST -_STRINGLISTVALUE.oneofs_by_name['distribution'].fields.append( - _STRINGLISTVALUE.fields_by_name['list']) -_STRINGLISTVALUE.fields_by_name['list'].containing_oneof = _STRINGLISTVALUE.oneofs_by_name['distribution'] -_BOOLVALUE.fields_by_name['list'].message_type = _BOOLLIST -_BOOLVALUE.oneofs_by_name['distribution'].fields.append( - _BOOLVALUE.fields_by_name['list']) -_BOOLVALUE.fields_by_name['list'].containing_oneof = _BOOLVALUE.oneofs_by_name['distribution'] -_UINTVALUE.fields_by_name['range'].message_type = _UINTRANGE -_UINTVALUE.fields_by_name['list'].message_type = _UINTLIST -_UINTVALUE.oneofs_by_name['distribution'].fields.append( - _UINTVALUE.fields_by_name['range']) -_UINTVALUE.fields_by_name['range'].containing_oneof = _UINTVALUE.oneofs_by_name['distribution'] -_UINTVALUE.oneofs_by_name['distribution'].fields.append( - _UINTVALUE.fields_by_name['list']) -_UINTVALUE.fields_by_name['list'].containing_oneof = _UINTVALUE.oneofs_by_name['distribution'] -DESCRIPTOR.message_types_by_name['Configuration'] = _CONFIGURATION -DESCRIPTOR.message_types_by_name['Credentials'] = _CREDENTIALS -DESCRIPTOR.message_types_by_name['Config'] = _CONFIG -DESCRIPTOR.message_types_by_name['FixedGenerator'] = _FIXEDGENERATOR -DESCRIPTOR.message_types_by_name['RandomGenerator'] = _RANDOMGENERATOR -DESCRIPTOR.message_types_by_name['DeleteValue'] = _DELETEVALUE -DESCRIPTOR.message_types_by_name['Value'] = _VALUE -DESCRIPTOR.message_types_by_name['Timestamp'] = _TIMESTAMP -DESCRIPTOR.message_types_by_name['IntValue'] = _INTVALUE -DESCRIPTOR.message_types_by_name['IntRange'] = _INTRANGE -DESCRIPTOR.message_types_by_name['IntList'] = _INTLIST -DESCRIPTOR.message_types_by_name['DoubleValue'] = _DOUBLEVALUE -DESCRIPTOR.message_types_by_name['DoubleRange'] = _DOUBLERANGE -DESCRIPTOR.message_types_by_name['DoubleList'] = _DOUBLELIST -DESCRIPTOR.message_types_by_name['StringValue'] = _STRINGVALUE -DESCRIPTOR.message_types_by_name['StringList'] = _STRINGLIST -DESCRIPTOR.message_types_by_name['StringListValue'] = _STRINGLISTVALUE -DESCRIPTOR.message_types_by_name['BoolValue'] = _BOOLVALUE -DESCRIPTOR.message_types_by_name['BoolList'] = _BOOLLIST -DESCRIPTOR.message_types_by_name['UintValue'] = _UINTVALUE -DESCRIPTOR.message_types_by_name['UintRange'] = _UINTRANGE -DESCRIPTOR.message_types_by_name['UintList'] = _UINTLIST -DESCRIPTOR.enum_types_by_name['State'] = _STATE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Configuration = _reflection.GeneratedProtocolMessageType('Configuration', (_message.Message,), dict( - DESCRIPTOR = _CONFIGURATION, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.Configuration) - )) -_sym_db.RegisterMessage(Configuration) - -Credentials = _reflection.GeneratedProtocolMessageType('Credentials', (_message.Message,), dict( - DESCRIPTOR = _CREDENTIALS, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.Credentials) - )) -_sym_db.RegisterMessage(Credentials) - -Config = _reflection.GeneratedProtocolMessageType('Config', (_message.Message,), dict( - DESCRIPTOR = _CONFIG, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.Config) - )) -_sym_db.RegisterMessage(Config) - -FixedGenerator = _reflection.GeneratedProtocolMessageType('FixedGenerator', (_message.Message,), dict( - DESCRIPTOR = _FIXEDGENERATOR, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.FixedGenerator) - )) -_sym_db.RegisterMessage(FixedGenerator) - -RandomGenerator = _reflection.GeneratedProtocolMessageType('RandomGenerator', (_message.Message,), dict( - DESCRIPTOR = _RANDOMGENERATOR, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.RandomGenerator) - )) -_sym_db.RegisterMessage(RandomGenerator) - -DeleteValue = _reflection.GeneratedProtocolMessageType('DeleteValue', (_message.Message,), dict( - DESCRIPTOR = _DELETEVALUE, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.DeleteValue) - )) -_sym_db.RegisterMessage(DeleteValue) - -Value = _reflection.GeneratedProtocolMessageType('Value', (_message.Message,), dict( - DESCRIPTOR = _VALUE, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.Value) - )) -_sym_db.RegisterMessage(Value) - -Timestamp = _reflection.GeneratedProtocolMessageType('Timestamp', (_message.Message,), dict( - DESCRIPTOR = _TIMESTAMP, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.Timestamp) - )) -_sym_db.RegisterMessage(Timestamp) - -IntValue = _reflection.GeneratedProtocolMessageType('IntValue', (_message.Message,), dict( - DESCRIPTOR = _INTVALUE, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.IntValue) - )) -_sym_db.RegisterMessage(IntValue) - -IntRange = _reflection.GeneratedProtocolMessageType('IntRange', (_message.Message,), dict( - DESCRIPTOR = _INTRANGE, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.IntRange) - )) -_sym_db.RegisterMessage(IntRange) - -IntList = _reflection.GeneratedProtocolMessageType('IntList', (_message.Message,), dict( - DESCRIPTOR = _INTLIST, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.IntList) - )) -_sym_db.RegisterMessage(IntList) - -DoubleValue = _reflection.GeneratedProtocolMessageType('DoubleValue', (_message.Message,), dict( - DESCRIPTOR = _DOUBLEVALUE, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.DoubleValue) - )) -_sym_db.RegisterMessage(DoubleValue) - -DoubleRange = _reflection.GeneratedProtocolMessageType('DoubleRange', (_message.Message,), dict( - DESCRIPTOR = _DOUBLERANGE, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.DoubleRange) - )) -_sym_db.RegisterMessage(DoubleRange) - -DoubleList = _reflection.GeneratedProtocolMessageType('DoubleList', (_message.Message,), dict( - DESCRIPTOR = _DOUBLELIST, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.DoubleList) - )) -_sym_db.RegisterMessage(DoubleList) - -StringValue = _reflection.GeneratedProtocolMessageType('StringValue', (_message.Message,), dict( - DESCRIPTOR = _STRINGVALUE, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.StringValue) - )) -_sym_db.RegisterMessage(StringValue) - -StringList = _reflection.GeneratedProtocolMessageType('StringList', (_message.Message,), dict( - DESCRIPTOR = _STRINGLIST, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.StringList) - )) -_sym_db.RegisterMessage(StringList) - -StringListValue = _reflection.GeneratedProtocolMessageType('StringListValue', (_message.Message,), dict( - DESCRIPTOR = _STRINGLISTVALUE, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.StringListValue) - )) -_sym_db.RegisterMessage(StringListValue) - -BoolValue = _reflection.GeneratedProtocolMessageType('BoolValue', (_message.Message,), dict( - DESCRIPTOR = _BOOLVALUE, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.BoolValue) - )) -_sym_db.RegisterMessage(BoolValue) - -BoolList = _reflection.GeneratedProtocolMessageType('BoolList', (_message.Message,), dict( - DESCRIPTOR = _BOOLLIST, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.BoolList) - )) -_sym_db.RegisterMessage(BoolList) - -UintValue = _reflection.GeneratedProtocolMessageType('UintValue', (_message.Message,), dict( - DESCRIPTOR = _UINTVALUE, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.UintValue) - )) -_sym_db.RegisterMessage(UintValue) - -UintRange = _reflection.GeneratedProtocolMessageType('UintRange', (_message.Message,), dict( - DESCRIPTOR = _UINTRANGE, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.UintRange) - )) -_sym_db.RegisterMessage(UintRange) - -UintList = _reflection.GeneratedProtocolMessageType('UintList', (_message.Message,), dict( - DESCRIPTOR = _UINTLIST, - __module__ = 'testing.fake.proto.fake_pb2' - # @@protoc_insertion_point(class_scope:gnmi.fake.UintList) - )) -_sym_db.RegisterMessage(UintList) - - -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z7github.com/openconfig/gnmi/testing/fake/proto;gnmi_fake')) -_CONFIG.fields_by_name['seed'].has_options = True -_CONFIG.fields_by_name['seed']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) -_CONFIG.fields_by_name['values'].has_options = True -_CONFIG.fields_by_name['values']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) - -_AGENTMANAGER = _descriptor.ServiceDescriptor( - name='AgentManager', - full_name='gnmi.fake.AgentManager', - file=DESCRIPTOR, - index=0, - options=None, - serialized_start=2558, - serialized_end=2713, - methods=[ - _descriptor.MethodDescriptor( - name='Add', - full_name='gnmi.fake.AgentManager.Add', - index=0, - containing_service=None, - input_type=_CONFIG, - output_type=_CONFIG, - options=None, - ), - _descriptor.MethodDescriptor( - name='Remove', - full_name='gnmi.fake.AgentManager.Remove', - index=1, - containing_service=None, - input_type=_CONFIG, - output_type=_CONFIG, - options=None, - ), - _descriptor.MethodDescriptor( - name='Status', - full_name='gnmi.fake.AgentManager.Status', - index=2, - containing_service=None, - input_type=_CONFIG, - output_type=_CONFIG, - options=None, - ), -]) -_sym_db.RegisterServiceDescriptor(_AGENTMANAGER) - -DESCRIPTOR.services_by_name['AgentManager'] = _AGENTMANAGER - -# @@protoc_insertion_point(module_scope) diff --git a/testing/fake/proto/fake_pb2_grpc.py b/testing/fake/proto/fake_pb2_grpc.py deleted file mode 100644 index e644a3c..0000000 --- a/testing/fake/proto/fake_pb2_grpc.py +++ /dev/null @@ -1,80 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - -from testing.fake.proto import fake_pb2 as testing_dot_fake_dot_proto_dot_fake__pb2 - - -class AgentManagerStub(object): - # missing associated documentation comment in .proto file - pass - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.Add = channel.unary_unary( - '/gnmi.fake.AgentManager/Add', - request_serializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, - response_deserializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, - ) - self.Remove = channel.unary_unary( - '/gnmi.fake.AgentManager/Remove', - request_serializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, - response_deserializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, - ) - self.Status = channel.unary_unary( - '/gnmi.fake.AgentManager/Status', - request_serializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, - response_deserializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, - ) - - -class AgentManagerServicer(object): - # missing associated documentation comment in .proto file - pass - - def Add(self, request, context): - """Add adds an agent to the server. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Remove(self, request, context): - """Remove removes an agent from the server. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def Status(self, request, context): - """Status returns the current status of an agent on the server. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_AgentManagerServicer_to_server(servicer, server): - rpc_method_handlers = { - 'Add': grpc.unary_unary_rpc_method_handler( - servicer.Add, - request_deserializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, - response_serializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, - ), - 'Remove': grpc.unary_unary_rpc_method_handler( - servicer.Remove, - request_deserializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, - response_serializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, - ), - 'Status': grpc.unary_unary_rpc_method_handler( - servicer.Status, - request_deserializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, - response_serializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'gnmi.fake.AgentManager', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) From 56523db4c7ed3ab3de172fb9b55dc83e1e4ac94f Mon Sep 17 00:00:00 2001 From: balajisundaravel Date: Wed, 9 Oct 2024 14:55:02 -0700 Subject: [PATCH 3/3] Updated generated proto files --- go.mod | 34 +- go.sum | 56 +- proto/collector/collector.pb.go | 219 ++ proto/collector/collector_grpc.pb.go | 99 + proto/collector/collector_pb2.py | 41 + proto/collector/collector_pb2_grpc.py | 99 + proto/gnmi/gnmi.pb.go | 3067 +++++++++++++++++++++++++ proto/gnmi/gnmi_grpc.pb.go | 276 +++ proto/gnmi/gnmi_pb2.py | 124 + proto/gnmi/gnmi_pb2_grpc.py | 246 ++ proto/gnmi_ext/gnmi_ext.pb.go | 1302 +++++++++++ proto/gnmi_ext/gnmi_ext_pb2.py | 64 + proto/gnmi_ext/gnmi_ext_pb2_grpc.py | 24 + proto/target/target.pb.go | 460 ++++ proto/target/target.proto | 3 +- proto/target/target_pb2.py | 58 + proto/target/target_pb2_grpc.py | 24 + testing/fake/proto/fake.pb.go | 2563 +++++++++++++++++++++ testing/fake/proto/fake_grpc.pb.go | 173 ++ testing/fake/proto/fake_pb2.py | 91 + testing/fake/proto/fake_pb2_grpc.py | 186 ++ 21 files changed, 9174 insertions(+), 35 deletions(-) create mode 100644 proto/collector/collector.pb.go create mode 100644 proto/collector/collector_grpc.pb.go create mode 100644 proto/collector/collector_pb2.py create mode 100644 proto/collector/collector_pb2_grpc.py create mode 100644 proto/gnmi/gnmi.pb.go create mode 100644 proto/gnmi/gnmi_grpc.pb.go create mode 100644 proto/gnmi/gnmi_pb2.py create mode 100644 proto/gnmi/gnmi_pb2_grpc.py create mode 100644 proto/gnmi_ext/gnmi_ext.pb.go create mode 100644 proto/gnmi_ext/gnmi_ext_pb2.py create mode 100644 proto/gnmi_ext/gnmi_ext_pb2_grpc.py create mode 100644 proto/target/target.pb.go create mode 100644 proto/target/target_pb2.py create mode 100644 proto/target/target_pb2_grpc.py create mode 100644 testing/fake/proto/fake.pb.go create mode 100644 testing/fake/proto/fake_grpc.pb.go create mode 100644 testing/fake/proto/fake_pb2.py create mode 100644 testing/fake/proto/fake_pb2_grpc.py diff --git a/go.mod b/go.mod index 776cbf0..8353af3 100644 --- a/go.mod +++ b/go.mod @@ -1,28 +1,28 @@ module github.com/openconfig/gnmi -go 1.21 +go 1.22.0 require ( bitbucket.org/creachadair/stringset v0.0.14 - github.com/cenkalti/backoff/v4 v4.1.1 - github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b - github.com/google/go-cmp v0.5.7 + github.com/cenkalti/backoff/v4 v4.3.0 + github.com/golang/glog v1.2.2 + github.com/google/go-cmp v0.6.0 github.com/kylelemons/godebug v1.1.0 - github.com/openconfig/grpctunnel v0.0.0-20220819142823-6f5422b8ca70 - github.com/openconfig/ygot v0.6.0 - github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a - golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 - golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d - google.golang.org/grpc v1.40.0 - google.golang.org/protobuf v1.28.0 + github.com/openconfig/grpctunnel v0.1.0 + github.com/openconfig/ygot v0.29.20 + github.com/protocolbuffers/txtpbfmt v0.0.0-20240823084532-8e6b51fa9bef + golang.org/x/crypto v0.28.0 + golang.org/x/net v0.30.0 + google.golang.org/grpc v1.67.1 + google.golang.org/protobuf v1.35.1 ) require ( - github.com/golang/protobuf v1.5.2 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect - github.com/openconfig/goyang v0.0.0-20200115183954-d0a48929f0ea // indirect - golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e // indirect - golang.org/x/text v0.3.7 // indirect - golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect - google.golang.org/genproto v0.0.0-20210811021853-ddbe55d93216 // indirect + github.com/openconfig/goyang v1.6.0 // indirect + golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c // indirect + golang.org/x/sys v0.26.0 // indirect + golang.org/x/term v0.25.0 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 // indirect ) diff --git a/go.sum b/go.sum index f5c597a..020756d 100644 --- a/go.sum +++ b/go.sum @@ -5,8 +5,9 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/cenkalti/backoff/v4 v4.1.1 h1:G2HAfAmvm/GcKan2oOQpBXOd2tT2G57ZnZGWa1PxPBQ= github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -21,8 +22,9 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= +github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -36,7 +38,6 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -44,26 +45,39 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= -github.com/openconfig/goyang v0.0.0-20200115183954-d0a48929f0ea h1:5MyIz4bN4vpH6aHDN339bkWXAjTkhg1ZKMhR4aIi5Rk= +github.com/openconfig/gnmi v0.10.0/go.mod h1:Y9os75GmSkhHw2wX8sMsxfI7qRGAEcDh8NTa5a8vj6E= github.com/openconfig/goyang v0.0.0-20200115183954-d0a48929f0ea/go.mod h1:dhXaV0JgHJzdrHi2l+w0fZrwArtXL7jEFoiqLEdmkvU= -github.com/openconfig/grpctunnel v0.0.0-20220819142823-6f5422b8ca70 h1:t6SvvdfWCMlw0XPlsdxO8EgO+q/fXnTevDjdYREKFwU= +github.com/openconfig/goyang v1.6.0 h1:JjnPbLY1/y28VyTO67LsEV0TaLWNiZyDcsppGq4F4is= +github.com/openconfig/goyang v1.6.0/go.mod h1:sdNZi/wdTZyLNBNfgLzmmbi7kISm7FskMDKKzMY+x1M= github.com/openconfig/grpctunnel v0.0.0-20220819142823-6f5422b8ca70/go.mod h1:OmTWe7RyZj2CIzIgy4ovEBzCLBJzRvWSZmn7u02U9gU= -github.com/openconfig/ygot v0.6.0 h1:kJJFPBrczC6TDnz/HMlFTJEdW2CuyUftV13XveIukg0= +github.com/openconfig/grpctunnel v0.1.0 h1:EN99qtlExZczgQgp5ANnHRC/Rs62cAG+Tz2BQ5m/maM= +github.com/openconfig/grpctunnel v0.1.0/go.mod h1:G04Pdu0pml98tdvXrvLaU+EBo3PxYfI9MYqpvdaEHLo= github.com/openconfig/ygot v0.6.0/go.mod h1:o30svNf7O0xK+R35tlx95odkDmZWS9JyWWQSmIhqwAs= +github.com/openconfig/ygot v0.29.20 h1:XHLpwCN91QuKc2LAvnEqtCmH8OuxgLlErDhrdl2mJw8= +github.com/openconfig/ygot v0.29.20/go.mod h1:K8HbrPm/v8/emtGQ9+RsJXx6UPKC5JzS/FqK7pN+tMo= +github.com/pborman/getopt v1.1.0/go.mod h1:FxXoW1Re00sQG/+KIkuSqRL/LwQgSkv7uyac+STFsbk= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a h1:AKJY61V2SQtJ2a2PdeswKk0NM1qF77X+julRNYRxPOk= github.com/protocolbuffers/txtpbfmt v0.0.0-20220608084003-fc78c767cd6a/go.mod h1:KjY0wibdYKc4DYkerHSbguaf3JeIPGhNJBp2BNiFH78= +github.com/protocolbuffers/txtpbfmt v0.0.0-20240823084532-8e6b51fa9bef h1:ej+64jiny5VETZTqcc1GFVAPEtaSk6U1D0kKC2MS5Yc= +github.com/protocolbuffers/txtpbfmt v0.0.0-20240823084532-8e6b51fa9bef/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= @@ -71,9 +85,12 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c h1:7dEasQXItcW1xKJ2+gg5VOiBnqWrJc+rq0DPKyvvdbY= +golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c/go.mod h1:NQtJDoLvd6faHhE7m4T/1IY708gDefGGjR/iUW8yQQ8= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -89,8 +106,9 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d h1:20cMwl2fHAzkJMEA+8J4JgqBQcQGzbisXo31MIeenXI= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -106,15 +124,19 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e h1:WUoyKPm6nCo1BnNUvPGnFG3T5DUVem42yDJZZ4CNxMA= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -126,7 +148,6 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -134,8 +155,9 @@ google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoA google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20210811021853-ddbe55d93216 h1:qnrhhl4uoNFepTqE28u11llFcDH07Z6r/cQxpGR97A4= google.golang.org/genproto v0.0.0-20210811021853-ddbe55d93216/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9 h1:QCqS/PdaHTSWGvupk2F/ehwHtGc0/GYkT+3GAcR1CCc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= @@ -143,8 +165,9 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0 h1:AGJ0Ih4mHjSeibYkFGh1dD9KJ/eOtZ93I6hoHhukQ5Q= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -158,8 +181,9 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/proto/collector/collector.pb.go b/proto/collector/collector.pb.go new file mode 100644 index 0000000..2a17186 --- /dev/null +++ b/proto/collector/collector.pb.go @@ -0,0 +1,219 @@ +// +// Copyright 2020 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v3.21.12 +// source: proto/collector/collector.proto + +package gnmi + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ReconnectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Target []string `protobuf:"bytes,1,rep,name=target,proto3" json:"target,omitempty"` // List of targets to reconnect. +} + +func (x *ReconnectRequest) Reset() { + *x = ReconnectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_collector_collector_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReconnectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReconnectRequest) ProtoMessage() {} + +func (x *ReconnectRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_collector_collector_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReconnectRequest.ProtoReflect.Descriptor instead. +func (*ReconnectRequest) Descriptor() ([]byte, []int) { + return file_proto_collector_collector_proto_rawDescGZIP(), []int{0} +} + +func (x *ReconnectRequest) GetTarget() []string { + if x != nil { + return x.Target + } + return nil +} + +type Nil struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Nil) Reset() { + *x = Nil{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_collector_collector_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Nil) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Nil) ProtoMessage() {} + +func (x *Nil) ProtoReflect() protoreflect.Message { + mi := &file_proto_collector_collector_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Nil.ProtoReflect.Descriptor instead. +func (*Nil) Descriptor() ([]byte, []int) { + return file_proto_collector_collector_proto_rawDescGZIP(), []int{1} +} + +var File_proto_collector_collector_proto protoreflect.FileDescriptor + +var file_proto_collector_collector_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x04, 0x67, 0x6e, 0x6d, 0x69, 0x22, 0x2a, 0x0a, 0x10, 0x52, 0x65, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x22, 0x05, 0x0a, 0x03, 0x4e, 0x69, 0x6c, 0x32, 0x3d, 0x0a, 0x09, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x52, 0x65, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x09, 0x2e, 0x67, + 0x6e, 0x6d, 0x69, 0x2e, 0x4e, 0x69, 0x6c, 0x22, 0x00, 0x42, 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x3b, 0x67, 0x6e, 0x6d, 0x69, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_proto_collector_collector_proto_rawDescOnce sync.Once + file_proto_collector_collector_proto_rawDescData = file_proto_collector_collector_proto_rawDesc +) + +func file_proto_collector_collector_proto_rawDescGZIP() []byte { + file_proto_collector_collector_proto_rawDescOnce.Do(func() { + file_proto_collector_collector_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_collector_collector_proto_rawDescData) + }) + return file_proto_collector_collector_proto_rawDescData +} + +var file_proto_collector_collector_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_proto_collector_collector_proto_goTypes = []interface{}{ + (*ReconnectRequest)(nil), // 0: gnmi.ReconnectRequest + (*Nil)(nil), // 1: gnmi.Nil +} +var file_proto_collector_collector_proto_depIdxs = []int32{ + 0, // 0: gnmi.Collector.Reconnect:input_type -> gnmi.ReconnectRequest + 1, // 1: gnmi.Collector.Reconnect:output_type -> gnmi.Nil + 1, // [1:2] is the sub-list for method output_type + 0, // [0:1] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_proto_collector_collector_proto_init() } +func file_proto_collector_collector_proto_init() { + if File_proto_collector_collector_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_proto_collector_collector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReconnectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_collector_collector_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Nil); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_proto_collector_collector_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_proto_collector_collector_proto_goTypes, + DependencyIndexes: file_proto_collector_collector_proto_depIdxs, + MessageInfos: file_proto_collector_collector_proto_msgTypes, + }.Build() + File_proto_collector_collector_proto = out.File + file_proto_collector_collector_proto_rawDesc = nil + file_proto_collector_collector_proto_goTypes = nil + file_proto_collector_collector_proto_depIdxs = nil +} diff --git a/proto/collector/collector_grpc.pb.go b/proto/collector/collector_grpc.pb.go new file mode 100644 index 0000000..4fbaddf --- /dev/null +++ b/proto/collector/collector_grpc.pb.go @@ -0,0 +1,99 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package gnmi + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion7 + +// CollectorClient is the client API for Collector service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type CollectorClient interface { + // Reconnect requests that the existing connections for one or more specified + // targets will be stopped and new connections established. + Reconnect(ctx context.Context, in *ReconnectRequest, opts ...grpc.CallOption) (*Nil, error) +} + +type collectorClient struct { + cc grpc.ClientConnInterface +} + +func NewCollectorClient(cc grpc.ClientConnInterface) CollectorClient { + return &collectorClient{cc} +} + +func (c *collectorClient) Reconnect(ctx context.Context, in *ReconnectRequest, opts ...grpc.CallOption) (*Nil, error) { + out := new(Nil) + err := c.cc.Invoke(ctx, "/gnmi.Collector/Reconnect", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// CollectorServer is the server API for Collector service. +// All implementations should embed UnimplementedCollectorServer +// for forward compatibility +type CollectorServer interface { + // Reconnect requests that the existing connections for one or more specified + // targets will be stopped and new connections established. + Reconnect(context.Context, *ReconnectRequest) (*Nil, error) +} + +// UnimplementedCollectorServer should be embedded to have forward compatible implementations. +type UnimplementedCollectorServer struct { +} + +func (UnimplementedCollectorServer) Reconnect(context.Context, *ReconnectRequest) (*Nil, error) { + return nil, status.Errorf(codes.Unimplemented, "method Reconnect not implemented") +} + +// UnsafeCollectorServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to CollectorServer will +// result in compilation errors. +type UnsafeCollectorServer interface { + mustEmbedUnimplementedCollectorServer() +} + +func RegisterCollectorServer(s *grpc.Server, srv CollectorServer) { + s.RegisterService(&_Collector_serviceDesc, srv) +} + +func _Collector_Reconnect_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReconnectRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CollectorServer).Reconnect(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gnmi.Collector/Reconnect", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CollectorServer).Reconnect(ctx, req.(*ReconnectRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Collector_serviceDesc = grpc.ServiceDesc{ + ServiceName: "gnmi.Collector", + HandlerType: (*CollectorServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Reconnect", + Handler: _Collector_Reconnect_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "proto/collector/collector.proto", +} diff --git a/proto/collector/collector_pb2.py b/proto/collector/collector_pb2.py new file mode 100644 index 0000000..7d2b3f8 --- /dev/null +++ b/proto/collector/collector_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: proto/collector/collector.proto +# Protobuf Python Version: 5.27.2 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 2, + '', + 'proto/collector/collector.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fproto/collector/collector.proto\x12\x04gnmi\"\"\n\x10ReconnectRequest\x12\x0e\n\x06target\x18\x01 \x03(\t\"\x05\n\x03Nil2=\n\tCollector\x12\x30\n\tReconnect\x12\x16.gnmi.ReconnectRequest\x1a\t.gnmi.Nil\"\x00\x42\x31Z/github.com/openconfig/gnmi/proto/collector;gnmib\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.collector.collector_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z/github.com/openconfig/gnmi/proto/collector;gnmi' + _globals['_RECONNECTREQUEST']._serialized_start=41 + _globals['_RECONNECTREQUEST']._serialized_end=75 + _globals['_NIL']._serialized_start=77 + _globals['_NIL']._serialized_end=82 + _globals['_COLLECTOR']._serialized_start=84 + _globals['_COLLECTOR']._serialized_end=145 +# @@protoc_insertion_point(module_scope) diff --git a/proto/collector/collector_pb2_grpc.py b/proto/collector/collector_pb2_grpc.py new file mode 100644 index 0000000..b1f303e --- /dev/null +++ b/proto/collector/collector_pb2_grpc.py @@ -0,0 +1,99 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + +from proto.collector import collector_pb2 as proto_dot_collector_dot_collector__pb2 + +GRPC_GENERATED_VERSION = '1.66.2' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in proto/collector/collector_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + + +class CollectorStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Reconnect = channel.unary_unary( + '/gnmi.Collector/Reconnect', + request_serializer=proto_dot_collector_dot_collector__pb2.ReconnectRequest.SerializeToString, + response_deserializer=proto_dot_collector_dot_collector__pb2.Nil.FromString, + _registered_method=True) + + +class CollectorServicer(object): + """Missing associated documentation comment in .proto file.""" + + def Reconnect(self, request, context): + """Reconnect requests that the existing connections for one or more specified + targets will be stopped and new connections established. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_CollectorServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Reconnect': grpc.unary_unary_rpc_method_handler( + servicer.Reconnect, + request_deserializer=proto_dot_collector_dot_collector__pb2.ReconnectRequest.FromString, + response_serializer=proto_dot_collector_dot_collector__pb2.Nil.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'gnmi.Collector', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('gnmi.Collector', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Collector(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def Reconnect(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/gnmi.Collector/Reconnect', + proto_dot_collector_dot_collector__pb2.ReconnectRequest.SerializeToString, + proto_dot_collector_dot_collector__pb2.Nil.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/proto/gnmi/gnmi.pb.go b/proto/gnmi/gnmi.pb.go new file mode 100644 index 0000000..22e43c0 --- /dev/null +++ b/proto/gnmi/gnmi.pb.go @@ -0,0 +1,3067 @@ +// +// Copyright 2016 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v3.21.12 +// source: proto/gnmi/gnmi.proto + +// Package gNMI defines a service specification for the gRPC Network Management +// Interface. This interface is defined to be a standard interface via which +// a network management system ("client") can subscribe to state values, +// retrieve snapshots of state information, and manipulate the state of a data +// tree supported by a device ("target"). +// +// This document references the gNMI Specification which can be found at +// http://github.com/openconfig/reference/blob/master/rpc/gnmi + +package gnmi + +import ( + gnmi_ext "github.com/openconfig/gnmi/proto/gnmi_ext" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + descriptorpb "google.golang.org/protobuf/types/descriptorpb" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Encoding defines the value encoding formats that are supported by the gNMI +// protocol. These encodings are used by both the client (when sending Set +// messages to modify the state of the target) and the target when serializing +// data to be returned to the client (in both Subscribe and Get RPCs). +// Reference: gNMI Specification Section 2.3 +type Encoding int32 + +const ( + Encoding_JSON Encoding = 0 // JSON encoded text. + Encoding_BYTES Encoding = 1 // Arbitrarily encoded bytes. + Encoding_PROTO Encoding = 2 // Encoded according to scalar values of TypedValue. + Encoding_ASCII Encoding = 3 // ASCII text of an out-of-band agreed format. + Encoding_JSON_IETF Encoding = 4 // JSON encoded text as per RFC7951. +) + +// Enum value maps for Encoding. +var ( + Encoding_name = map[int32]string{ + 0: "JSON", + 1: "BYTES", + 2: "PROTO", + 3: "ASCII", + 4: "JSON_IETF", + } + Encoding_value = map[string]int32{ + "JSON": 0, + "BYTES": 1, + "PROTO": 2, + "ASCII": 3, + "JSON_IETF": 4, + } +) + +func (x Encoding) Enum() *Encoding { + p := new(Encoding) + *p = x + return p +} + +func (x Encoding) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Encoding) Descriptor() protoreflect.EnumDescriptor { + return file_proto_gnmi_gnmi_proto_enumTypes[0].Descriptor() +} + +func (Encoding) Type() protoreflect.EnumType { + return &file_proto_gnmi_gnmi_proto_enumTypes[0] +} + +func (x Encoding) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Encoding.Descriptor instead. +func (Encoding) EnumDescriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{0} +} + +// SubscriptionMode is the mode of the subscription, specifying how the +// target must return values in a subscription. +// Reference: gNMI Specification Section 3.5.1.3 +type SubscriptionMode int32 + +const ( + SubscriptionMode_TARGET_DEFINED SubscriptionMode = 0 // The target selects the relevant mode for each element. + SubscriptionMode_ON_CHANGE SubscriptionMode = 1 // The target sends an update on element value change. + SubscriptionMode_SAMPLE SubscriptionMode = 2 // The target samples values according to the interval. +) + +// Enum value maps for SubscriptionMode. +var ( + SubscriptionMode_name = map[int32]string{ + 0: "TARGET_DEFINED", + 1: "ON_CHANGE", + 2: "SAMPLE", + } + SubscriptionMode_value = map[string]int32{ + "TARGET_DEFINED": 0, + "ON_CHANGE": 1, + "SAMPLE": 2, + } +) + +func (x SubscriptionMode) Enum() *SubscriptionMode { + p := new(SubscriptionMode) + *p = x + return p +} + +func (x SubscriptionMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SubscriptionMode) Descriptor() protoreflect.EnumDescriptor { + return file_proto_gnmi_gnmi_proto_enumTypes[1].Descriptor() +} + +func (SubscriptionMode) Type() protoreflect.EnumType { + return &file_proto_gnmi_gnmi_proto_enumTypes[1] +} + +func (x SubscriptionMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SubscriptionMode.Descriptor instead. +func (SubscriptionMode) EnumDescriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{1} +} + +// Mode of the subscription. +type SubscriptionList_Mode int32 + +const ( + SubscriptionList_STREAM SubscriptionList_Mode = 0 // Values streamed by the target (Sec. 3.5.1.5.2). + SubscriptionList_ONCE SubscriptionList_Mode = 1 // Values sent once-off by the target (Sec. 3.5.1.5.1). + SubscriptionList_POLL SubscriptionList_Mode = 2 // Values sent in response to a poll request (Sec. 3.5.1.5.3). +) + +// Enum value maps for SubscriptionList_Mode. +var ( + SubscriptionList_Mode_name = map[int32]string{ + 0: "STREAM", + 1: "ONCE", + 2: "POLL", + } + SubscriptionList_Mode_value = map[string]int32{ + "STREAM": 0, + "ONCE": 1, + "POLL": 2, + } +) + +func (x SubscriptionList_Mode) Enum() *SubscriptionList_Mode { + p := new(SubscriptionList_Mode) + *p = x + return p +} + +func (x SubscriptionList_Mode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SubscriptionList_Mode) Descriptor() protoreflect.EnumDescriptor { + return file_proto_gnmi_gnmi_proto_enumTypes[2].Descriptor() +} + +func (SubscriptionList_Mode) Type() protoreflect.EnumType { + return &file_proto_gnmi_gnmi_proto_enumTypes[2] +} + +func (x SubscriptionList_Mode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SubscriptionList_Mode.Descriptor instead. +func (SubscriptionList_Mode) EnumDescriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{12, 0} +} + +// The operation that was associated with the Path specified. +type UpdateResult_Operation int32 + +const ( + UpdateResult_INVALID UpdateResult_Operation = 0 + UpdateResult_DELETE UpdateResult_Operation = 1 // The result relates to a delete of Path. + UpdateResult_REPLACE UpdateResult_Operation = 2 // The result relates to a replace of Path. + UpdateResult_UPDATE UpdateResult_Operation = 3 // The result relates to an update of Path. + UpdateResult_UNION_REPLACE UpdateResult_Operation = 4 // The result of a union_replace of Path or CLI origin. +) + +// Enum value maps for UpdateResult_Operation. +var ( + UpdateResult_Operation_name = map[int32]string{ + 0: "INVALID", + 1: "DELETE", + 2: "REPLACE", + 3: "UPDATE", + 4: "UNION_REPLACE", + } + UpdateResult_Operation_value = map[string]int32{ + "INVALID": 0, + "DELETE": 1, + "REPLACE": 2, + "UPDATE": 3, + "UNION_REPLACE": 4, + } +) + +func (x UpdateResult_Operation) Enum() *UpdateResult_Operation { + p := new(UpdateResult_Operation) + *p = x + return p +} + +func (x UpdateResult_Operation) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (UpdateResult_Operation) Descriptor() protoreflect.EnumDescriptor { + return file_proto_gnmi_gnmi_proto_enumTypes[3].Descriptor() +} + +func (UpdateResult_Operation) Type() protoreflect.EnumType { + return &file_proto_gnmi_gnmi_proto_enumTypes[3] +} + +func (x UpdateResult_Operation) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use UpdateResult_Operation.Descriptor instead. +func (UpdateResult_Operation) EnumDescriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{17, 0} +} + +// Type of elements within the data tree. +type GetRequest_DataType int32 + +const ( + GetRequest_ALL GetRequest_DataType = 0 // All data elements. + GetRequest_CONFIG GetRequest_DataType = 1 // Config (rw) only elements. + GetRequest_STATE GetRequest_DataType = 2 // State (ro) only elements. + // Data elements marked in the schema as operational. This refers to data + // elements whose value relates to the state of processes or interactions + // running on the device. + GetRequest_OPERATIONAL GetRequest_DataType = 3 +) + +// Enum value maps for GetRequest_DataType. +var ( + GetRequest_DataType_name = map[int32]string{ + 0: "ALL", + 1: "CONFIG", + 2: "STATE", + 3: "OPERATIONAL", + } + GetRequest_DataType_value = map[string]int32{ + "ALL": 0, + "CONFIG": 1, + "STATE": 2, + "OPERATIONAL": 3, + } +) + +func (x GetRequest_DataType) Enum() *GetRequest_DataType { + p := new(GetRequest_DataType) + *p = x + return p +} + +func (x GetRequest_DataType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GetRequest_DataType) Descriptor() protoreflect.EnumDescriptor { + return file_proto_gnmi_gnmi_proto_enumTypes[4].Descriptor() +} + +func (GetRequest_DataType) Type() protoreflect.EnumType { + return &file_proto_gnmi_gnmi_proto_enumTypes[4] +} + +func (x GetRequest_DataType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GetRequest_DataType.Descriptor instead. +func (GetRequest_DataType) EnumDescriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{18, 0} +} + +// Notification is a re-usable message that is used to encode data from the +// target to the client. A Notification carries two types of changes to the data +// tree: +// - Deleted values (delete) - a set of paths that have been removed from the +// data tree. +// - Updated values (update) - a set of path-value pairs indicating the path +// whose value has changed in the data tree. +// +// Reference: gNMI Specification Section 2.1 +type Notification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp in nanoseconds since Epoch. + Prefix *Path `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` // Prefix used for paths in the message. + Update []*Update `protobuf:"bytes,4,rep,name=update,proto3" json:"update,omitempty"` // Data elements that have changed values. + Delete []*Path `protobuf:"bytes,5,rep,name=delete,proto3" json:"delete,omitempty"` // Data elements that have been deleted. + // This notification contains a set of paths that are always updated together + // referenced by a globally unique prefix. + Atomic bool `protobuf:"varint,6,opt,name=atomic,proto3" json:"atomic,omitempty"` +} + +func (x *Notification) Reset() { + *x = Notification{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Notification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Notification) ProtoMessage() {} + +func (x *Notification) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Notification.ProtoReflect.Descriptor instead. +func (*Notification) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{0} +} + +func (x *Notification) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *Notification) GetPrefix() *Path { + if x != nil { + return x.Prefix + } + return nil +} + +func (x *Notification) GetUpdate() []*Update { + if x != nil { + return x.Update + } + return nil +} + +func (x *Notification) GetDelete() []*Path { + if x != nil { + return x.Delete + } + return nil +} + +func (x *Notification) GetAtomic() bool { + if x != nil { + return x.Atomic + } + return false +} + +// Update is a re-usable message that is used to store a particular Path, +// Value pair. +// Reference: gNMI Specification Section 2.1 +type Update struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path *Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // The path (key) for the update. + // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. + Value *Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // The value (value) for the update. + Val *TypedValue `protobuf:"bytes,3,opt,name=val,proto3" json:"val,omitempty"` // The explicitly typed update value. + Duplicates uint32 `protobuf:"varint,4,opt,name=duplicates,proto3" json:"duplicates,omitempty"` // Number of coalesced duplicates. +} + +func (x *Update) Reset() { + *x = Update{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Update) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Update) ProtoMessage() {} + +func (x *Update) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Update.ProtoReflect.Descriptor instead. +func (*Update) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{1} +} + +func (x *Update) GetPath() *Path { + if x != nil { + return x.Path + } + return nil +} + +// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. +func (x *Update) GetValue() *Value { + if x != nil { + return x.Value + } + return nil +} + +func (x *Update) GetVal() *TypedValue { + if x != nil { + return x.Val + } + return nil +} + +func (x *Update) GetDuplicates() uint32 { + if x != nil { + return x.Duplicates + } + return 0 +} + +// TypedValue is used to encode a value being sent between the client and +// target (originated by either entity). +type TypedValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // One of the fields within the val oneof is populated with the value + // of the update. The type of the value being included in the Update + // determines which field should be populated. In the case that the + // encoding is a particular form of the base protobuf type, a specific + // field is used to store the value (e.g., json_val). + // + // Types that are assignable to Value: + // + // *TypedValue_StringVal + // *TypedValue_IntVal + // *TypedValue_UintVal + // *TypedValue_BoolVal + // *TypedValue_BytesVal + // *TypedValue_FloatVal + // *TypedValue_DoubleVal + // *TypedValue_DecimalVal + // *TypedValue_LeaflistVal + // *TypedValue_AnyVal + // *TypedValue_JsonVal + // *TypedValue_JsonIetfVal + // *TypedValue_AsciiVal + // *TypedValue_ProtoBytes + Value isTypedValue_Value `protobuf_oneof:"value"` +} + +func (x *TypedValue) Reset() { + *x = TypedValue{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TypedValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TypedValue) ProtoMessage() {} + +func (x *TypedValue) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TypedValue.ProtoReflect.Descriptor instead. +func (*TypedValue) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{2} +} + +func (m *TypedValue) GetValue() isTypedValue_Value { + if m != nil { + return m.Value + } + return nil +} + +func (x *TypedValue) GetStringVal() string { + if x, ok := x.GetValue().(*TypedValue_StringVal); ok { + return x.StringVal + } + return "" +} + +func (x *TypedValue) GetIntVal() int64 { + if x, ok := x.GetValue().(*TypedValue_IntVal); ok { + return x.IntVal + } + return 0 +} + +func (x *TypedValue) GetUintVal() uint64 { + if x, ok := x.GetValue().(*TypedValue_UintVal); ok { + return x.UintVal + } + return 0 +} + +func (x *TypedValue) GetBoolVal() bool { + if x, ok := x.GetValue().(*TypedValue_BoolVal); ok { + return x.BoolVal + } + return false +} + +func (x *TypedValue) GetBytesVal() []byte { + if x, ok := x.GetValue().(*TypedValue_BytesVal); ok { + return x.BytesVal + } + return nil +} + +// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. +func (x *TypedValue) GetFloatVal() float32 { + if x, ok := x.GetValue().(*TypedValue_FloatVal); ok { + return x.FloatVal + } + return 0 +} + +func (x *TypedValue) GetDoubleVal() float64 { + if x, ok := x.GetValue().(*TypedValue_DoubleVal); ok { + return x.DoubleVal + } + return 0 +} + +// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. +func (x *TypedValue) GetDecimalVal() *Decimal64 { + if x, ok := x.GetValue().(*TypedValue_DecimalVal); ok { + return x.DecimalVal + } + return nil +} + +func (x *TypedValue) GetLeaflistVal() *ScalarArray { + if x, ok := x.GetValue().(*TypedValue_LeaflistVal); ok { + return x.LeaflistVal + } + return nil +} + +func (x *TypedValue) GetAnyVal() *anypb.Any { + if x, ok := x.GetValue().(*TypedValue_AnyVal); ok { + return x.AnyVal + } + return nil +} + +func (x *TypedValue) GetJsonVal() []byte { + if x, ok := x.GetValue().(*TypedValue_JsonVal); ok { + return x.JsonVal + } + return nil +} + +func (x *TypedValue) GetJsonIetfVal() []byte { + if x, ok := x.GetValue().(*TypedValue_JsonIetfVal); ok { + return x.JsonIetfVal + } + return nil +} + +func (x *TypedValue) GetAsciiVal() string { + if x, ok := x.GetValue().(*TypedValue_AsciiVal); ok { + return x.AsciiVal + } + return "" +} + +func (x *TypedValue) GetProtoBytes() []byte { + if x, ok := x.GetValue().(*TypedValue_ProtoBytes); ok { + return x.ProtoBytes + } + return nil +} + +type isTypedValue_Value interface { + isTypedValue_Value() +} + +type TypedValue_StringVal struct { + StringVal string `protobuf:"bytes,1,opt,name=string_val,json=stringVal,proto3,oneof"` // String value. +} + +type TypedValue_IntVal struct { + IntVal int64 `protobuf:"varint,2,opt,name=int_val,json=intVal,proto3,oneof"` // Integer value. +} + +type TypedValue_UintVal struct { + UintVal uint64 `protobuf:"varint,3,opt,name=uint_val,json=uintVal,proto3,oneof"` // Unsigned integer value. +} + +type TypedValue_BoolVal struct { + BoolVal bool `protobuf:"varint,4,opt,name=bool_val,json=boolVal,proto3,oneof"` // Bool value. +} + +type TypedValue_BytesVal struct { + BytesVal []byte `protobuf:"bytes,5,opt,name=bytes_val,json=bytesVal,proto3,oneof"` // Arbitrary byte sequence value. +} + +type TypedValue_FloatVal struct { + // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. + FloatVal float32 `protobuf:"fixed32,6,opt,name=float_val,json=floatVal,proto3,oneof"` // Deprecated - use double_val. +} + +type TypedValue_DoubleVal struct { + DoubleVal float64 `protobuf:"fixed64,14,opt,name=double_val,json=doubleVal,proto3,oneof"` // Floating point value. +} + +type TypedValue_DecimalVal struct { + // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. + DecimalVal *Decimal64 `protobuf:"bytes,7,opt,name=decimal_val,json=decimalVal,proto3,oneof"` // Deprecated - use double_val. +} + +type TypedValue_LeaflistVal struct { + LeaflistVal *ScalarArray `protobuf:"bytes,8,opt,name=leaflist_val,json=leaflistVal,proto3,oneof"` // Mixed type scalar array value. +} + +type TypedValue_AnyVal struct { + AnyVal *anypb.Any `protobuf:"bytes,9,opt,name=any_val,json=anyVal,proto3,oneof"` // protobuf.Any encoded bytes. +} + +type TypedValue_JsonVal struct { + JsonVal []byte `protobuf:"bytes,10,opt,name=json_val,json=jsonVal,proto3,oneof"` // JSON-encoded text. +} + +type TypedValue_JsonIetfVal struct { + JsonIetfVal []byte `protobuf:"bytes,11,opt,name=json_ietf_val,json=jsonIetfVal,proto3,oneof"` // JSON-encoded text per RFC7951. +} + +type TypedValue_AsciiVal struct { + AsciiVal string `protobuf:"bytes,12,opt,name=ascii_val,json=asciiVal,proto3,oneof"` // Arbitrary ASCII text. +} + +type TypedValue_ProtoBytes struct { + // Protobuf binary encoded bytes. The message type is not included. + // See the specification at + // github.com/openconfig/reference/blob/master/rpc/gnmi/protobuf-vals.md + // for a complete specification. [Experimental] + ProtoBytes []byte `protobuf:"bytes,13,opt,name=proto_bytes,json=protoBytes,proto3,oneof"` +} + +func (*TypedValue_StringVal) isTypedValue_Value() {} + +func (*TypedValue_IntVal) isTypedValue_Value() {} + +func (*TypedValue_UintVal) isTypedValue_Value() {} + +func (*TypedValue_BoolVal) isTypedValue_Value() {} + +func (*TypedValue_BytesVal) isTypedValue_Value() {} + +func (*TypedValue_FloatVal) isTypedValue_Value() {} + +func (*TypedValue_DoubleVal) isTypedValue_Value() {} + +func (*TypedValue_DecimalVal) isTypedValue_Value() {} + +func (*TypedValue_LeaflistVal) isTypedValue_Value() {} + +func (*TypedValue_AnyVal) isTypedValue_Value() {} + +func (*TypedValue_JsonVal) isTypedValue_Value() {} + +func (*TypedValue_JsonIetfVal) isTypedValue_Value() {} + +func (*TypedValue_AsciiVal) isTypedValue_Value() {} + +func (*TypedValue_ProtoBytes) isTypedValue_Value() {} + +// Path encodes a data tree path as a series of repeated strings, with +// each element of the path representing a data tree node name and the +// associated attributes. +// Reference: gNMI Specification Section 2.2.2. +type Path struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Elements of the path are no longer encoded as a string, but rather within + // the elem field as a PathElem message. + // + // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. + Element []string `protobuf:"bytes,1,rep,name=element,proto3" json:"element,omitempty"` + Origin string `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin,omitempty"` // Label to disambiguate path. + Elem []*PathElem `protobuf:"bytes,3,rep,name=elem,proto3" json:"elem,omitempty"` // Elements of the path. + Target string `protobuf:"bytes,4,opt,name=target,proto3" json:"target,omitempty"` // The name of the target +} + +func (x *Path) Reset() { + *x = Path{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Path) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Path) ProtoMessage() {} + +func (x *Path) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Path.ProtoReflect.Descriptor instead. +func (*Path) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{3} +} + +// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. +func (x *Path) GetElement() []string { + if x != nil { + return x.Element + } + return nil +} + +func (x *Path) GetOrigin() string { + if x != nil { + return x.Origin + } + return "" +} + +func (x *Path) GetElem() []*PathElem { + if x != nil { + return x.Elem + } + return nil +} + +func (x *Path) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +// PathElem encodes an element of a gNMI path, along with any attributes (keys) +// that may be associated with it. +// Reference: gNMI Specification Section 2.2.2. +type PathElem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The name of the element in the path. + Key map[string]string `protobuf:"bytes,2,rep,name=key,proto3" json:"key,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Map of key (attribute) name to value. +} + +func (x *PathElem) Reset() { + *x = PathElem{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PathElem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PathElem) ProtoMessage() {} + +func (x *PathElem) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PathElem.ProtoReflect.Descriptor instead. +func (*PathElem) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{4} +} + +func (x *PathElem) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PathElem) GetKey() map[string]string { + if x != nil { + return x.Key + } + return nil +} + +// Value encodes a data tree node's value - along with the way in which +// the value is encoded. This message is deprecated by gNMI 0.3.0. +// Reference: gNMI Specification Section 2.2.3. +// +// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. +type Value struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` // Value of the variable being transmitted. + Type Encoding `protobuf:"varint,2,opt,name=type,proto3,enum=gnmi.Encoding" json:"type,omitempty"` // Encoding used for the value field. +} + +func (x *Value) Reset() { + *x = Value{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Value) ProtoMessage() {} + +func (x *Value) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Value.ProtoReflect.Descriptor instead. +func (*Value) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{5} +} + +func (x *Value) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +func (x *Value) GetType() Encoding { + if x != nil { + return x.Type + } + return Encoding_JSON +} + +// Error message previously utilised to return errors to the client. Deprecated +// in favour of using the google.golang.org/genproto/googleapis/rpc/status +// message in the RPC response. +// Reference: gNMI Specification Section 2.5 +// +// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. +type Error struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // Canonical gRPC error code. + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // Human readable error. + Data *anypb.Any `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` // Optional additional information. +} + +func (x *Error) Reset() { + *x = Error{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Error) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Error) ProtoMessage() {} + +func (x *Error) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Error.ProtoReflect.Descriptor instead. +func (*Error) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{6} +} + +func (x *Error) GetCode() uint32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *Error) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *Error) GetData() *anypb.Any { + if x != nil { + return x.Data + } + return nil +} + +// Decimal64 is used to encode a fixed precision decimal number. The value +// is expressed as a set of digits with the precision specifying the +// number of digits following the decimal point in the digit set. +// This message is deprecated in favor of encoding all floating point types +// as double precision. +// +// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. +type Decimal64 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Digits int64 `protobuf:"varint,1,opt,name=digits,proto3" json:"digits,omitempty"` // Set of digits. + Precision uint32 `protobuf:"varint,2,opt,name=precision,proto3" json:"precision,omitempty"` // Number of digits following the decimal point. +} + +func (x *Decimal64) Reset() { + *x = Decimal64{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Decimal64) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Decimal64) ProtoMessage() {} + +func (x *Decimal64) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Decimal64.ProtoReflect.Descriptor instead. +func (*Decimal64) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{7} +} + +func (x *Decimal64) GetDigits() int64 { + if x != nil { + return x.Digits + } + return 0 +} + +func (x *Decimal64) GetPrecision() uint32 { + if x != nil { + return x.Precision + } + return 0 +} + +// ScalarArray is used to encode a mixed-type array of values. +type ScalarArray struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The set of elements within the array. Each TypedValue message should + // specify only elements that have a field identifier of 1-7 (i.e., the + // values are scalar values). + Element []*TypedValue `protobuf:"bytes,1,rep,name=element,proto3" json:"element,omitempty"` +} + +func (x *ScalarArray) Reset() { + *x = ScalarArray{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ScalarArray) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScalarArray) ProtoMessage() {} + +func (x *ScalarArray) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScalarArray.ProtoReflect.Descriptor instead. +func (*ScalarArray) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{8} +} + +func (x *ScalarArray) GetElement() []*TypedValue { + if x != nil { + return x.Element + } + return nil +} + +// SubscribeRequest is the message sent by the client to the target when +// initiating a subscription to a set of paths within the data tree. The +// request field must be populated and the initial message must specify a +// SubscriptionList to initiate a subscription. +// Reference: gNMI Specification Section 3.5.1.1 +type SubscribeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Request: + // + // *SubscribeRequest_Subscribe + // *SubscribeRequest_Poll + Request isSubscribeRequest_Request `protobuf_oneof:"request"` + // Extension messages associated with the SubscribeRequest. See the + // gNMI extension specification for further definition. + Extension []*gnmi_ext.Extension `protobuf:"bytes,5,rep,name=extension,proto3" json:"extension,omitempty"` +} + +func (x *SubscribeRequest) Reset() { + *x = SubscribeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscribeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscribeRequest) ProtoMessage() {} + +func (x *SubscribeRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscribeRequest.ProtoReflect.Descriptor instead. +func (*SubscribeRequest) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{9} +} + +func (m *SubscribeRequest) GetRequest() isSubscribeRequest_Request { + if m != nil { + return m.Request + } + return nil +} + +func (x *SubscribeRequest) GetSubscribe() *SubscriptionList { + if x, ok := x.GetRequest().(*SubscribeRequest_Subscribe); ok { + return x.Subscribe + } + return nil +} + +func (x *SubscribeRequest) GetPoll() *Poll { + if x, ok := x.GetRequest().(*SubscribeRequest_Poll); ok { + return x.Poll + } + return nil +} + +func (x *SubscribeRequest) GetExtension() []*gnmi_ext.Extension { + if x != nil { + return x.Extension + } + return nil +} + +type isSubscribeRequest_Request interface { + isSubscribeRequest_Request() +} + +type SubscribeRequest_Subscribe struct { + Subscribe *SubscriptionList `protobuf:"bytes,1,opt,name=subscribe,proto3,oneof"` // Specify the paths within a subscription. +} + +type SubscribeRequest_Poll struct { + Poll *Poll `protobuf:"bytes,3,opt,name=poll,proto3,oneof"` // Trigger a polled update. +} + +func (*SubscribeRequest_Subscribe) isSubscribeRequest_Request() {} + +func (*SubscribeRequest_Poll) isSubscribeRequest_Request() {} + +// Poll is sent within a SubscribeRequest to trigger the device to +// send telemetry updates for the paths that are associated with the +// subscription. +// Reference: gNMI Specification Section Section 3.5.1.4 +type Poll struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Poll) Reset() { + *x = Poll{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Poll) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Poll) ProtoMessage() {} + +func (x *Poll) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Poll.ProtoReflect.Descriptor instead. +func (*Poll) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{10} +} + +// SubscribeResponse is the message used by the target within a Subscribe RPC. +// The target includes a Notification message which is used to transmit values +// of the path(s) that are associated with the subscription. The same message +// is to indicate that the target has sent all data values once (is +// synchronized). +// Reference: gNMI Specification Section 3.5.1.4 +type SubscribeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Response: + // + // *SubscribeResponse_Update + // *SubscribeResponse_SyncResponse + // *SubscribeResponse_Error + Response isSubscribeResponse_Response `protobuf_oneof:"response"` + // Extension messages associated with the SubscribeResponse. See the + // gNMI extension specification for further definition. + Extension []*gnmi_ext.Extension `protobuf:"bytes,5,rep,name=extension,proto3" json:"extension,omitempty"` +} + +func (x *SubscribeResponse) Reset() { + *x = SubscribeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscribeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscribeResponse) ProtoMessage() {} + +func (x *SubscribeResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscribeResponse.ProtoReflect.Descriptor instead. +func (*SubscribeResponse) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{11} +} + +func (m *SubscribeResponse) GetResponse() isSubscribeResponse_Response { + if m != nil { + return m.Response + } + return nil +} + +func (x *SubscribeResponse) GetUpdate() *Notification { + if x, ok := x.GetResponse().(*SubscribeResponse_Update); ok { + return x.Update + } + return nil +} + +func (x *SubscribeResponse) GetSyncResponse() bool { + if x, ok := x.GetResponse().(*SubscribeResponse_SyncResponse); ok { + return x.SyncResponse + } + return false +} + +// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. +func (x *SubscribeResponse) GetError() *Error { + if x, ok := x.GetResponse().(*SubscribeResponse_Error); ok { + return x.Error + } + return nil +} + +func (x *SubscribeResponse) GetExtension() []*gnmi_ext.Extension { + if x != nil { + return x.Extension + } + return nil +} + +type isSubscribeResponse_Response interface { + isSubscribeResponse_Response() +} + +type SubscribeResponse_Update struct { + Update *Notification `protobuf:"bytes,1,opt,name=update,proto3,oneof"` // Changed or sampled value for a path. +} + +type SubscribeResponse_SyncResponse struct { + // Indicate target has sent all values associated with the subscription + // at least once. + SyncResponse bool `protobuf:"varint,3,opt,name=sync_response,json=syncResponse,proto3,oneof"` +} + +type SubscribeResponse_Error struct { + // Deprecated in favour of google.golang.org/genproto/googleapis/rpc/status + // + // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. + Error *Error `protobuf:"bytes,4,opt,name=error,proto3,oneof"` +} + +func (*SubscribeResponse_Update) isSubscribeResponse_Response() {} + +func (*SubscribeResponse_SyncResponse) isSubscribeResponse_Response() {} + +func (*SubscribeResponse_Error) isSubscribeResponse_Response() {} + +// SubscriptionList is used within a Subscribe message to specify the list of +// paths that the client wishes to subscribe to. The message consists of a +// list of (possibly prefixed) paths, and options that relate to the +// subscription. +// Reference: gNMI Specification Section 3.5.1.2 +type SubscriptionList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Prefix *Path `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` // Prefix used for paths. + Subscription []*Subscription `protobuf:"bytes,2,rep,name=subscription,proto3" json:"subscription,omitempty"` // Set of subscriptions to create. + Qos *QOSMarking `protobuf:"bytes,4,opt,name=qos,proto3" json:"qos,omitempty"` // DSCP marking to be used. + Mode SubscriptionList_Mode `protobuf:"varint,5,opt,name=mode,proto3,enum=gnmi.SubscriptionList_Mode" json:"mode,omitempty"` + // Whether elements of the schema that are marked as eligible for aggregation + // should be aggregated or not. + AllowAggregation bool `protobuf:"varint,6,opt,name=allow_aggregation,json=allowAggregation,proto3" json:"allow_aggregation,omitempty"` + // The set of schemas that define the elements of the data tree that should + // be sent by the target. + UseModels []*ModelData `protobuf:"bytes,7,rep,name=use_models,json=useModels,proto3" json:"use_models,omitempty"` + // The encoding that the target should use within the Notifications generated + // corresponding to the SubscriptionList. + Encoding Encoding `protobuf:"varint,8,opt,name=encoding,proto3,enum=gnmi.Encoding" json:"encoding,omitempty"` + // An optional field to specify that only updates to current state should be + // sent to a client. If set, the initial state is not sent to the client but + // rather only the sync message followed by any subsequent updates to the + // current state. For ONCE and POLL modes, this causes the server to send only + // the sync message (Sec. 3.5.2.3). + UpdatesOnly bool `protobuf:"varint,9,opt,name=updates_only,json=updatesOnly,proto3" json:"updates_only,omitempty"` +} + +func (x *SubscriptionList) Reset() { + *x = SubscriptionList{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SubscriptionList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SubscriptionList) ProtoMessage() {} + +func (x *SubscriptionList) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SubscriptionList.ProtoReflect.Descriptor instead. +func (*SubscriptionList) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{12} +} + +func (x *SubscriptionList) GetPrefix() *Path { + if x != nil { + return x.Prefix + } + return nil +} + +func (x *SubscriptionList) GetSubscription() []*Subscription { + if x != nil { + return x.Subscription + } + return nil +} + +func (x *SubscriptionList) GetQos() *QOSMarking { + if x != nil { + return x.Qos + } + return nil +} + +func (x *SubscriptionList) GetMode() SubscriptionList_Mode { + if x != nil { + return x.Mode + } + return SubscriptionList_STREAM +} + +func (x *SubscriptionList) GetAllowAggregation() bool { + if x != nil { + return x.AllowAggregation + } + return false +} + +func (x *SubscriptionList) GetUseModels() []*ModelData { + if x != nil { + return x.UseModels + } + return nil +} + +func (x *SubscriptionList) GetEncoding() Encoding { + if x != nil { + return x.Encoding + } + return Encoding_JSON +} + +func (x *SubscriptionList) GetUpdatesOnly() bool { + if x != nil { + return x.UpdatesOnly + } + return false +} + +// Subscription is a single request within a SubscriptionList. The path +// specified is interpreted (along with the prefix) as the elements of the data +// tree that the client is subscribing to. The mode determines how the target +// should trigger updates to be sent. +// Reference: gNMI Specification Section 3.5.1.3 +type Subscription struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path *Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // The data tree path. + Mode SubscriptionMode `protobuf:"varint,2,opt,name=mode,proto3,enum=gnmi.SubscriptionMode" json:"mode,omitempty"` // Subscription mode to be used. + SampleInterval uint64 `protobuf:"varint,3,opt,name=sample_interval,json=sampleInterval,proto3" json:"sample_interval,omitempty"` // ns between samples in SAMPLE mode. + // Indicates whether values that have not changed should be sent in a SAMPLE + // subscription. + SuppressRedundant bool `protobuf:"varint,4,opt,name=suppress_redundant,json=suppressRedundant,proto3" json:"suppress_redundant,omitempty"` + // 1. A heartbeat interval MAY be specified along with an “on change” + // subscription - in this case, the value of the data item(s) MUST be re-sent + // once per heartbeat interval regardless of whether the value has changed or + // not. + // 2. A heartbeat_interval MAY be specified to modify the behavior of + // suppress_redundant in a sampled subscription. In this case, the + // target MUST generate one telemetry update per heartbeat interval, + // regardless of whether the suppress_redundant flag is set to true. + // This value is specified as an unsigned 64-bit integer in nanoseconds + HeartbeatInterval uint64 `protobuf:"varint,5,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"` +} + +func (x *Subscription) Reset() { + *x = Subscription{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Subscription) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Subscription) ProtoMessage() {} + +func (x *Subscription) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Subscription.ProtoReflect.Descriptor instead. +func (*Subscription) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{13} +} + +func (x *Subscription) GetPath() *Path { + if x != nil { + return x.Path + } + return nil +} + +func (x *Subscription) GetMode() SubscriptionMode { + if x != nil { + return x.Mode + } + return SubscriptionMode_TARGET_DEFINED +} + +func (x *Subscription) GetSampleInterval() uint64 { + if x != nil { + return x.SampleInterval + } + return 0 +} + +func (x *Subscription) GetSuppressRedundant() bool { + if x != nil { + return x.SuppressRedundant + } + return false +} + +func (x *Subscription) GetHeartbeatInterval() uint64 { + if x != nil { + return x.HeartbeatInterval + } + return 0 +} + +// QOSMarking specifies the DSCP value to be set on transmitted telemetry +// updates from the target. +// Reference: gNMI Specification Section 3.5.1.2 +type QOSMarking struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Marking uint32 `protobuf:"varint,1,opt,name=marking,proto3" json:"marking,omitempty"` +} + +func (x *QOSMarking) Reset() { + *x = QOSMarking{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QOSMarking) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QOSMarking) ProtoMessage() {} + +func (x *QOSMarking) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QOSMarking.ProtoReflect.Descriptor instead. +func (*QOSMarking) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{14} +} + +func (x *QOSMarking) GetMarking() uint32 { + if x != nil { + return x.Marking + } + return 0 +} + +// SetRequest is sent from a client to the target to update values in the data +// tree. Paths are either deleted by the client, or modified by means of being +// updated, or replaced. Where a replace is used, unspecified values are +// considered to be replaced, whereas when update is used the changes are +// considered to be incremental. The set of changes that are specified within +// a single SetRequest are considered to be a transaction. +// Reference: gNMI Specification Section 3.4.1 +type SetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Prefix *Path `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` // Prefix used for paths in the message. + Delete []*Path `protobuf:"bytes,2,rep,name=delete,proto3" json:"delete,omitempty"` // Paths to be deleted from the data tree. + Replace []*Update `protobuf:"bytes,3,rep,name=replace,proto3" json:"replace,omitempty"` // Updates specifying elements to be replaced. + Update []*Update `protobuf:"bytes,4,rep,name=update,proto3" json:"update,omitempty"` // Updates specifying elements to updated. + // Updates specifying elements to union and then replace the data tree. + // See the gNMI specification at + // https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md + // for details. + UnionReplace []*Update `protobuf:"bytes,6,rep,name=union_replace,json=unionReplace,proto3" json:"union_replace,omitempty"` + // Extension messages associated with the SetRequest. See the + // gNMI extension specification for further definition. + Extension []*gnmi_ext.Extension `protobuf:"bytes,5,rep,name=extension,proto3" json:"extension,omitempty"` +} + +func (x *SetRequest) Reset() { + *x = SetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetRequest) ProtoMessage() {} + +func (x *SetRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetRequest.ProtoReflect.Descriptor instead. +func (*SetRequest) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{15} +} + +func (x *SetRequest) GetPrefix() *Path { + if x != nil { + return x.Prefix + } + return nil +} + +func (x *SetRequest) GetDelete() []*Path { + if x != nil { + return x.Delete + } + return nil +} + +func (x *SetRequest) GetReplace() []*Update { + if x != nil { + return x.Replace + } + return nil +} + +func (x *SetRequest) GetUpdate() []*Update { + if x != nil { + return x.Update + } + return nil +} + +func (x *SetRequest) GetUnionReplace() []*Update { + if x != nil { + return x.UnionReplace + } + return nil +} + +func (x *SetRequest) GetExtension() []*gnmi_ext.Extension { + if x != nil { + return x.Extension + } + return nil +} + +// SetResponse is the response to a SetRequest, sent from the target to the +// client. It reports the result of the modifications to the data tree that were +// specified by the client. Errors for this RPC should be reported using the +// https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto +// message in the RPC return. The gnmi.Error message can be used to add +// additional details where required. Reference: gNMI Specification +// Section 3.4.2 +type SetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Prefix *Path `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` // Prefix used for paths. + // A set of responses specifying the result of the operations specified in + // the SetRequest. + Response []*UpdateResult `protobuf:"bytes,2,rep,name=response,proto3" json:"response,omitempty"` + // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. + Message *Error `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // The overall status of the transaction. + Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Timestamp of transaction (ns since epoch). + // Extension messages associated with the SetResponse. See the + // gNMI extension specification for further definition. + Extension []*gnmi_ext.Extension `protobuf:"bytes,5,rep,name=extension,proto3" json:"extension,omitempty"` +} + +func (x *SetResponse) Reset() { + *x = SetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetResponse) ProtoMessage() {} + +func (x *SetResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetResponse.ProtoReflect.Descriptor instead. +func (*SetResponse) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{16} +} + +func (x *SetResponse) GetPrefix() *Path { + if x != nil { + return x.Prefix + } + return nil +} + +func (x *SetResponse) GetResponse() []*UpdateResult { + if x != nil { + return x.Response + } + return nil +} + +// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. +func (x *SetResponse) GetMessage() *Error { + if x != nil { + return x.Message + } + return nil +} + +func (x *SetResponse) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *SetResponse) GetExtension() []*gnmi_ext.Extension { + if x != nil { + return x.Extension + } + return nil +} + +// UpdateResult is used within the SetResponse message to communicate the +// result of an operation specified within a SetRequest message. +// Reference: gNMI Specification Section 3.4.2 +type UpdateResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated timestamp for the UpdateResult, this field has been + // replaced by the timestamp within the SetResponse message, since + // all mutations effected by a set should be applied as a single + // transaction. + // + // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Path *Path `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // Path associated with the update. + // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. + Message *Error `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // Status of the update operation. + Op UpdateResult_Operation `protobuf:"varint,4,opt,name=op,proto3,enum=gnmi.UpdateResult_Operation" json:"op,omitempty"` // Update operation type. +} + +func (x *UpdateResult) Reset() { + *x = UpdateResult{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateResult) ProtoMessage() {} + +func (x *UpdateResult) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateResult.ProtoReflect.Descriptor instead. +func (*UpdateResult) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{17} +} + +// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. +func (x *UpdateResult) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *UpdateResult) GetPath() *Path { + if x != nil { + return x.Path + } + return nil +} + +// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. +func (x *UpdateResult) GetMessage() *Error { + if x != nil { + return x.Message + } + return nil +} + +func (x *UpdateResult) GetOp() UpdateResult_Operation { + if x != nil { + return x.Op + } + return UpdateResult_INVALID +} + +// GetRequest is sent when a client initiates a Get RPC. It is used to specify +// the set of data elements for which the target should return a snapshot of +// data. The use_models field specifies the set of schema modules that are to +// be used by the target - where use_models is not specified then the target +// must use all schema models that it has. +// Reference: gNMI Specification Section 3.3.1 +type GetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Prefix *Path `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` // Prefix used for paths. + Path []*Path `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"` // Paths requested by the client. + Type GetRequest_DataType `protobuf:"varint,3,opt,name=type,proto3,enum=gnmi.GetRequest_DataType" json:"type,omitempty"` // The type of data being requested. + Encoding Encoding `protobuf:"varint,5,opt,name=encoding,proto3,enum=gnmi.Encoding" json:"encoding,omitempty"` // Encoding to be used. + UseModels []*ModelData `protobuf:"bytes,6,rep,name=use_models,json=useModels,proto3" json:"use_models,omitempty"` // The schema models to be used. + // Extension messages associated with the GetRequest. See the + // gNMI extension specification for further definition. + Extension []*gnmi_ext.Extension `protobuf:"bytes,7,rep,name=extension,proto3" json:"extension,omitempty"` +} + +func (x *GetRequest) Reset() { + *x = GetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRequest) ProtoMessage() {} + +func (x *GetRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRequest.ProtoReflect.Descriptor instead. +func (*GetRequest) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{18} +} + +func (x *GetRequest) GetPrefix() *Path { + if x != nil { + return x.Prefix + } + return nil +} + +func (x *GetRequest) GetPath() []*Path { + if x != nil { + return x.Path + } + return nil +} + +func (x *GetRequest) GetType() GetRequest_DataType { + if x != nil { + return x.Type + } + return GetRequest_ALL +} + +func (x *GetRequest) GetEncoding() Encoding { + if x != nil { + return x.Encoding + } + return Encoding_JSON +} + +func (x *GetRequest) GetUseModels() []*ModelData { + if x != nil { + return x.UseModels + } + return nil +} + +func (x *GetRequest) GetExtension() []*gnmi_ext.Extension { + if x != nil { + return x.Extension + } + return nil +} + +// GetResponse is used by the target to respond to a GetRequest from a client. +// The set of Notifications corresponds to the data values that are requested +// by the client in the GetRequest. +// Reference: gNMI Specification Section 3.3.2 +type GetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Notification []*Notification `protobuf:"bytes,1,rep,name=notification,proto3" json:"notification,omitempty"` // Data values. + // Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. + Error *Error `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` // Errors that occurred in the Get. + // Extension messages associated with the GetResponse. See the + // gNMI extension specification for further definition. + Extension []*gnmi_ext.Extension `protobuf:"bytes,3,rep,name=extension,proto3" json:"extension,omitempty"` +} + +func (x *GetResponse) Reset() { + *x = GetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetResponse) ProtoMessage() {} + +func (x *GetResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetResponse.ProtoReflect.Descriptor instead. +func (*GetResponse) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{19} +} + +func (x *GetResponse) GetNotification() []*Notification { + if x != nil { + return x.Notification + } + return nil +} + +// Deprecated: Marked as deprecated in proto/gnmi/gnmi.proto. +func (x *GetResponse) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +func (x *GetResponse) GetExtension() []*gnmi_ext.Extension { + if x != nil { + return x.Extension + } + return nil +} + +// CapabilityRequest is sent by the client in the Capabilities RPC to request +// that the target reports its capabilities. +// Reference: gNMI Specification Section 3.2.1 +type CapabilityRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Extension messages associated with the CapabilityRequest. See the + // gNMI extension specification for further definition. + Extension []*gnmi_ext.Extension `protobuf:"bytes,1,rep,name=extension,proto3" json:"extension,omitempty"` +} + +func (x *CapabilityRequest) Reset() { + *x = CapabilityRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CapabilityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CapabilityRequest) ProtoMessage() {} + +func (x *CapabilityRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CapabilityRequest.ProtoReflect.Descriptor instead. +func (*CapabilityRequest) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{20} +} + +func (x *CapabilityRequest) GetExtension() []*gnmi_ext.Extension { + if x != nil { + return x.Extension + } + return nil +} + +// CapabilityResponse is used by the target to report its capabilities to the +// client within the Capabilities RPC. +// Reference: gNMI Specification Section 3.2.2 +type CapabilityResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SupportedModels []*ModelData `protobuf:"bytes,1,rep,name=supported_models,json=supportedModels,proto3" json:"supported_models,omitempty"` // Supported schema models. + SupportedEncodings []Encoding `protobuf:"varint,2,rep,packed,name=supported_encodings,json=supportedEncodings,proto3,enum=gnmi.Encoding" json:"supported_encodings,omitempty"` // Supported encodings. + GNMIVersion string `protobuf:"bytes,3,opt,name=gNMI_version,json=gNMIVersion,proto3" json:"gNMI_version,omitempty"` // Supported gNMI version. + // Extension messages associated with the CapabilityResponse. See the + // gNMI extension specification for further definition. + Extension []*gnmi_ext.Extension `protobuf:"bytes,4,rep,name=extension,proto3" json:"extension,omitempty"` +} + +func (x *CapabilityResponse) Reset() { + *x = CapabilityResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CapabilityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CapabilityResponse) ProtoMessage() {} + +func (x *CapabilityResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CapabilityResponse.ProtoReflect.Descriptor instead. +func (*CapabilityResponse) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{21} +} + +func (x *CapabilityResponse) GetSupportedModels() []*ModelData { + if x != nil { + return x.SupportedModels + } + return nil +} + +func (x *CapabilityResponse) GetSupportedEncodings() []Encoding { + if x != nil { + return x.SupportedEncodings + } + return nil +} + +func (x *CapabilityResponse) GetGNMIVersion() string { + if x != nil { + return x.GNMIVersion + } + return "" +} + +func (x *CapabilityResponse) GetExtension() []*gnmi_ext.Extension { + if x != nil { + return x.Extension + } + return nil +} + +// ModelData is used to describe a set of schema modules. It can be used in a +// CapabilityResponse where a target reports the set of modules that it +// supports, and within the SubscribeRequest and GetRequest messages to specify +// the set of models from which data tree elements should be reported. +// Reference: gNMI Specification Section 3.2.3 +type ModelData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Name of the model. + Organization string `protobuf:"bytes,2,opt,name=organization,proto3" json:"organization,omitempty"` // Organization publishing the model. + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // Semantic version of the model. +} + +func (x *ModelData) Reset() { + *x = ModelData{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ModelData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModelData) ProtoMessage() {} + +func (x *ModelData) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_gnmi_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ModelData.ProtoReflect.Descriptor instead. +func (*ModelData) Descriptor() ([]byte, []int) { + return file_proto_gnmi_gnmi_proto_rawDescGZIP(), []int{22} +} + +func (x *ModelData) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ModelData) GetOrganization() string { + if x != nil { + return x.Organization + } + return "" +} + +func (x *ModelData) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +var file_proto_gnmi_gnmi_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*descriptorpb.FileOptions)(nil), + ExtensionType: (*string)(nil), + Field: 1001, + Name: "gnmi.gnmi_service", + Tag: "bytes,1001,opt,name=gnmi_service", + Filename: "proto/gnmi/gnmi.proto", + }, +} + +// Extension fields to descriptorpb.FileOptions. +var ( + // The gNMI service semantic version. + // + // optional string gnmi_service = 1001; + E_GnmiService = &file_proto_gnmi_gnmi_proto_extTypes[0] +) + +var File_proto_gnmi_gnmi_proto protoreflect.FileDescriptor + +var file_proto_gnmi_gnmi_proto_rawDesc = []byte{ + 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x67, 0x6e, 0x6d, + 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x67, 0x6e, 0x6d, 0x69, 0x1a, 0x19, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, + 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, + 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x22, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, + 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, + 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, + 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, + 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x1e, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0a, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, + 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x54, 0x79, 0x70, + 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, + 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0x94, 0x04, 0x0a, + 0x0a, 0x54, 0x79, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x07, + 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, + 0x06, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x75, 0x69, 0x6e, 0x74, 0x5f, + 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x07, 0x75, 0x69, 0x6e, + 0x74, 0x56, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, + 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x62, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, + 0x12, 0x21, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x08, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x56, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0a, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, + 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x64, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x56, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x0b, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x5f, + 0x76, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x6e, 0x6d, 0x69, + 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x36, 0x34, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, + 0x52, 0x0a, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x0c, + 0x6c, 0x65, 0x61, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, + 0x41, 0x72, 0x72, 0x61, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x6c, 0x65, 0x61, 0x66, 0x6c, 0x69, 0x73, + 0x74, 0x56, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x07, 0x61, 0x6e, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x06, 0x61, + 0x6e, 0x79, 0x56, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x76, 0x61, + 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x6a, 0x73, 0x6f, 0x6e, 0x56, + 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x65, 0x74, 0x66, 0x5f, + 0x76, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x6a, 0x73, 0x6f, + 0x6e, 0x49, 0x65, 0x74, 0x66, 0x56, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x61, 0x73, 0x63, 0x69, + 0x69, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x61, + 0x73, 0x63, 0x69, 0x69, 0x56, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x78, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x07, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x65, 0x6d, 0x52, + 0x04, 0x65, 0x6c, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x81, 0x01, + 0x0a, 0x08, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x65, 0x6d, 0x2e, 0x4b, 0x65, 0x79, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x1a, 0x36, 0x0a, 0x08, 0x4b, 0x65, 0x79, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x45, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x22, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, + 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x63, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x41, 0x6e, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x02, 0x18, 0x01, 0x22, 0x45, 0x0a, + 0x09, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x36, 0x34, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, + 0x67, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x69, 0x67, 0x69, + 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x3a, 0x02, 0x18, 0x01, 0x22, 0x39, 0x0a, 0x0b, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, + 0xb9, 0x01, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x48, + 0x00, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x20, 0x0a, 0x04, + 0x70, 0x6f, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, + 0x69, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6c, 0x6c, 0x12, 0x31, + 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x04, 0x08, 0x04, + 0x10, 0x05, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x22, 0x06, 0x0a, 0x04, 0x50, + 0x6f, 0x6c, 0x6c, 0x22, 0xd0, 0x01, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6e, 0x6d, 0x69, + 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, + 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaa, 0x03, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, + 0x36, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x03, 0x71, 0x6f, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x51, 0x4f, 0x53, 0x4d, + 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x03, 0x71, 0x6f, 0x73, 0x12, 0x2f, 0x0a, 0x04, 0x6d, + 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x6e, 0x6d, 0x69, + 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x11, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x0a, 0x75, 0x73, 0x65, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, + 0x75, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x65, 0x6e, 0x63, + 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x65, 0x6e, 0x63, + 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x26, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, + 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, + 0x4f, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x4c, 0x4c, 0x10, 0x02, + 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x65, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, + 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x75, 0x70, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x68, 0x65, 0x61, 0x72, + 0x74, 0x62, 0x65, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x0a, 0x51, 0x4f, 0x53, 0x4d, 0x61, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x22, + 0x88, 0x02, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, + 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, + 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x12, 0x22, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x06, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x24, + 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x0d, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x75, 0x6e, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, + 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xdd, 0x01, 0x0a, 0x0b, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, + 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2e, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, + 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xfb, 0x01, 0x0a, 0x0c, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, 0x22, 0x50, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, + 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, + 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x44, + 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x52, + 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x04, 0x22, 0xcb, 0x02, 0x0a, 0x0a, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x50, + 0x61, 0x74, 0x68, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1e, 0x0a, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x67, 0x6e, 0x6d, 0x69, + 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x2d, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x6e, 0x6d, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x67, + 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x6e, 0x6d, + 0x69, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x75, 0x73, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, + 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, + 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3b, 0x0a, 0x08, 0x44, 0x61, 0x74, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0a, + 0x0a, 0x06, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x03, 0x22, 0x9f, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, + 0x6e, 0x6d, 0x69, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, + 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x11, 0x43, 0x61, 0x70, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, + 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0xe7, 0x01, 0x0a, 0x12, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x0f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, + 0x32, 0x0e, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x64, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x4e, 0x4d, 0x49, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x4e, 0x4d, 0x49, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, + 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x09, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2a, 0x44, 0x0a, 0x08, 0x45, 0x6e, 0x63, + 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x00, 0x12, + 0x09, 0x0a, 0x05, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, + 0x4f, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x53, 0x43, 0x49, 0x49, 0x10, 0x03, + 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x45, 0x54, 0x46, 0x10, 0x04, 0x2a, + 0x41, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x4e, 0x5f, 0x43, 0x48, + 0x41, 0x4e, 0x47, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, + 0x10, 0x02, 0x32, 0xe3, 0x01, 0x0a, 0x04, 0x67, 0x4e, 0x4d, 0x49, 0x12, 0x41, 0x0a, 0x0c, 0x43, + 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x17, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x43, 0x61, 0x70, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, + 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x03, 0x53, 0x65, + 0x74, 0x12, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x3a, 0x40, 0x0a, 0x0c, 0x67, 0x6e, 0x6d, 0x69, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, + 0x6e, 0x6d, 0x69, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x54, 0xca, 0x3e, 0x06, 0x30, + 0x2e, 0x31, 0x30, 0x2e, 0x30, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x09, 0x47, 0x6e, + 0x6d, 0x69, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, 0x69, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_proto_gnmi_gnmi_proto_rawDescOnce sync.Once + file_proto_gnmi_gnmi_proto_rawDescData = file_proto_gnmi_gnmi_proto_rawDesc +) + +func file_proto_gnmi_gnmi_proto_rawDescGZIP() []byte { + file_proto_gnmi_gnmi_proto_rawDescOnce.Do(func() { + file_proto_gnmi_gnmi_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_gnmi_gnmi_proto_rawDescData) + }) + return file_proto_gnmi_gnmi_proto_rawDescData +} + +var file_proto_gnmi_gnmi_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_proto_gnmi_gnmi_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_proto_gnmi_gnmi_proto_goTypes = []interface{}{ + (Encoding)(0), // 0: gnmi.Encoding + (SubscriptionMode)(0), // 1: gnmi.SubscriptionMode + (SubscriptionList_Mode)(0), // 2: gnmi.SubscriptionList.Mode + (UpdateResult_Operation)(0), // 3: gnmi.UpdateResult.Operation + (GetRequest_DataType)(0), // 4: gnmi.GetRequest.DataType + (*Notification)(nil), // 5: gnmi.Notification + (*Update)(nil), // 6: gnmi.Update + (*TypedValue)(nil), // 7: gnmi.TypedValue + (*Path)(nil), // 8: gnmi.Path + (*PathElem)(nil), // 9: gnmi.PathElem + (*Value)(nil), // 10: gnmi.Value + (*Error)(nil), // 11: gnmi.Error + (*Decimal64)(nil), // 12: gnmi.Decimal64 + (*ScalarArray)(nil), // 13: gnmi.ScalarArray + (*SubscribeRequest)(nil), // 14: gnmi.SubscribeRequest + (*Poll)(nil), // 15: gnmi.Poll + (*SubscribeResponse)(nil), // 16: gnmi.SubscribeResponse + (*SubscriptionList)(nil), // 17: gnmi.SubscriptionList + (*Subscription)(nil), // 18: gnmi.Subscription + (*QOSMarking)(nil), // 19: gnmi.QOSMarking + (*SetRequest)(nil), // 20: gnmi.SetRequest + (*SetResponse)(nil), // 21: gnmi.SetResponse + (*UpdateResult)(nil), // 22: gnmi.UpdateResult + (*GetRequest)(nil), // 23: gnmi.GetRequest + (*GetResponse)(nil), // 24: gnmi.GetResponse + (*CapabilityRequest)(nil), // 25: gnmi.CapabilityRequest + (*CapabilityResponse)(nil), // 26: gnmi.CapabilityResponse + (*ModelData)(nil), // 27: gnmi.ModelData + nil, // 28: gnmi.PathElem.KeyEntry + (*anypb.Any)(nil), // 29: google.protobuf.Any + (*gnmi_ext.Extension)(nil), // 30: gnmi_ext.Extension + (*descriptorpb.FileOptions)(nil), // 31: google.protobuf.FileOptions +} +var file_proto_gnmi_gnmi_proto_depIdxs = []int32{ + 8, // 0: gnmi.Notification.prefix:type_name -> gnmi.Path + 6, // 1: gnmi.Notification.update:type_name -> gnmi.Update + 8, // 2: gnmi.Notification.delete:type_name -> gnmi.Path + 8, // 3: gnmi.Update.path:type_name -> gnmi.Path + 10, // 4: gnmi.Update.value:type_name -> gnmi.Value + 7, // 5: gnmi.Update.val:type_name -> gnmi.TypedValue + 12, // 6: gnmi.TypedValue.decimal_val:type_name -> gnmi.Decimal64 + 13, // 7: gnmi.TypedValue.leaflist_val:type_name -> gnmi.ScalarArray + 29, // 8: gnmi.TypedValue.any_val:type_name -> google.protobuf.Any + 9, // 9: gnmi.Path.elem:type_name -> gnmi.PathElem + 28, // 10: gnmi.PathElem.key:type_name -> gnmi.PathElem.KeyEntry + 0, // 11: gnmi.Value.type:type_name -> gnmi.Encoding + 29, // 12: gnmi.Error.data:type_name -> google.protobuf.Any + 7, // 13: gnmi.ScalarArray.element:type_name -> gnmi.TypedValue + 17, // 14: gnmi.SubscribeRequest.subscribe:type_name -> gnmi.SubscriptionList + 15, // 15: gnmi.SubscribeRequest.poll:type_name -> gnmi.Poll + 30, // 16: gnmi.SubscribeRequest.extension:type_name -> gnmi_ext.Extension + 5, // 17: gnmi.SubscribeResponse.update:type_name -> gnmi.Notification + 11, // 18: gnmi.SubscribeResponse.error:type_name -> gnmi.Error + 30, // 19: gnmi.SubscribeResponse.extension:type_name -> gnmi_ext.Extension + 8, // 20: gnmi.SubscriptionList.prefix:type_name -> gnmi.Path + 18, // 21: gnmi.SubscriptionList.subscription:type_name -> gnmi.Subscription + 19, // 22: gnmi.SubscriptionList.qos:type_name -> gnmi.QOSMarking + 2, // 23: gnmi.SubscriptionList.mode:type_name -> gnmi.SubscriptionList.Mode + 27, // 24: gnmi.SubscriptionList.use_models:type_name -> gnmi.ModelData + 0, // 25: gnmi.SubscriptionList.encoding:type_name -> gnmi.Encoding + 8, // 26: gnmi.Subscription.path:type_name -> gnmi.Path + 1, // 27: gnmi.Subscription.mode:type_name -> gnmi.SubscriptionMode + 8, // 28: gnmi.SetRequest.prefix:type_name -> gnmi.Path + 8, // 29: gnmi.SetRequest.delete:type_name -> gnmi.Path + 6, // 30: gnmi.SetRequest.replace:type_name -> gnmi.Update + 6, // 31: gnmi.SetRequest.update:type_name -> gnmi.Update + 6, // 32: gnmi.SetRequest.union_replace:type_name -> gnmi.Update + 30, // 33: gnmi.SetRequest.extension:type_name -> gnmi_ext.Extension + 8, // 34: gnmi.SetResponse.prefix:type_name -> gnmi.Path + 22, // 35: gnmi.SetResponse.response:type_name -> gnmi.UpdateResult + 11, // 36: gnmi.SetResponse.message:type_name -> gnmi.Error + 30, // 37: gnmi.SetResponse.extension:type_name -> gnmi_ext.Extension + 8, // 38: gnmi.UpdateResult.path:type_name -> gnmi.Path + 11, // 39: gnmi.UpdateResult.message:type_name -> gnmi.Error + 3, // 40: gnmi.UpdateResult.op:type_name -> gnmi.UpdateResult.Operation + 8, // 41: gnmi.GetRequest.prefix:type_name -> gnmi.Path + 8, // 42: gnmi.GetRequest.path:type_name -> gnmi.Path + 4, // 43: gnmi.GetRequest.type:type_name -> gnmi.GetRequest.DataType + 0, // 44: gnmi.GetRequest.encoding:type_name -> gnmi.Encoding + 27, // 45: gnmi.GetRequest.use_models:type_name -> gnmi.ModelData + 30, // 46: gnmi.GetRequest.extension:type_name -> gnmi_ext.Extension + 5, // 47: gnmi.GetResponse.notification:type_name -> gnmi.Notification + 11, // 48: gnmi.GetResponse.error:type_name -> gnmi.Error + 30, // 49: gnmi.GetResponse.extension:type_name -> gnmi_ext.Extension + 30, // 50: gnmi.CapabilityRequest.extension:type_name -> gnmi_ext.Extension + 27, // 51: gnmi.CapabilityResponse.supported_models:type_name -> gnmi.ModelData + 0, // 52: gnmi.CapabilityResponse.supported_encodings:type_name -> gnmi.Encoding + 30, // 53: gnmi.CapabilityResponse.extension:type_name -> gnmi_ext.Extension + 31, // 54: gnmi.gnmi_service:extendee -> google.protobuf.FileOptions + 25, // 55: gnmi.gNMI.Capabilities:input_type -> gnmi.CapabilityRequest + 23, // 56: gnmi.gNMI.Get:input_type -> gnmi.GetRequest + 20, // 57: gnmi.gNMI.Set:input_type -> gnmi.SetRequest + 14, // 58: gnmi.gNMI.Subscribe:input_type -> gnmi.SubscribeRequest + 26, // 59: gnmi.gNMI.Capabilities:output_type -> gnmi.CapabilityResponse + 24, // 60: gnmi.gNMI.Get:output_type -> gnmi.GetResponse + 21, // 61: gnmi.gNMI.Set:output_type -> gnmi.SetResponse + 16, // 62: gnmi.gNMI.Subscribe:output_type -> gnmi.SubscribeResponse + 59, // [59:63] is the sub-list for method output_type + 55, // [55:59] is the sub-list for method input_type + 55, // [55:55] is the sub-list for extension type_name + 54, // [54:55] is the sub-list for extension extendee + 0, // [0:54] is the sub-list for field type_name +} + +func init() { file_proto_gnmi_gnmi_proto_init() } +func file_proto_gnmi_gnmi_proto_init() { + if File_proto_gnmi_gnmi_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_proto_gnmi_gnmi_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Notification); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Update); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TypedValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Path); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PathElem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Value); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Error); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Decimal64); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ScalarArray); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Poll); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscribeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscriptionList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Subscription); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QOSMarking); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CapabilityRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CapabilityResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_gnmi_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ModelData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_proto_gnmi_gnmi_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*TypedValue_StringVal)(nil), + (*TypedValue_IntVal)(nil), + (*TypedValue_UintVal)(nil), + (*TypedValue_BoolVal)(nil), + (*TypedValue_BytesVal)(nil), + (*TypedValue_FloatVal)(nil), + (*TypedValue_DoubleVal)(nil), + (*TypedValue_DecimalVal)(nil), + (*TypedValue_LeaflistVal)(nil), + (*TypedValue_AnyVal)(nil), + (*TypedValue_JsonVal)(nil), + (*TypedValue_JsonIetfVal)(nil), + (*TypedValue_AsciiVal)(nil), + (*TypedValue_ProtoBytes)(nil), + } + file_proto_gnmi_gnmi_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*SubscribeRequest_Subscribe)(nil), + (*SubscribeRequest_Poll)(nil), + } + file_proto_gnmi_gnmi_proto_msgTypes[11].OneofWrappers = []interface{}{ + (*SubscribeResponse_Update)(nil), + (*SubscribeResponse_SyncResponse)(nil), + (*SubscribeResponse_Error)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_proto_gnmi_gnmi_proto_rawDesc, + NumEnums: 5, + NumMessages: 24, + NumExtensions: 1, + NumServices: 1, + }, + GoTypes: file_proto_gnmi_gnmi_proto_goTypes, + DependencyIndexes: file_proto_gnmi_gnmi_proto_depIdxs, + EnumInfos: file_proto_gnmi_gnmi_proto_enumTypes, + MessageInfos: file_proto_gnmi_gnmi_proto_msgTypes, + ExtensionInfos: file_proto_gnmi_gnmi_proto_extTypes, + }.Build() + File_proto_gnmi_gnmi_proto = out.File + file_proto_gnmi_gnmi_proto_rawDesc = nil + file_proto_gnmi_gnmi_proto_goTypes = nil + file_proto_gnmi_gnmi_proto_depIdxs = nil +} diff --git a/proto/gnmi/gnmi_grpc.pb.go b/proto/gnmi/gnmi_grpc.pb.go new file mode 100644 index 0000000..7a3d1ac --- /dev/null +++ b/proto/gnmi/gnmi_grpc.pb.go @@ -0,0 +1,276 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package gnmi + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion7 + +// GNMIClient is the client API for GNMI service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type GNMIClient interface { + // Capabilities allows the client to retrieve the set of capabilities that + // is supported by the target. This allows the target to validate the + // service version that is implemented and retrieve the set of models that + // the target supports. The models can then be specified in subsequent RPCs + // to restrict the set of data that is utilized. + // Reference: gNMI Specification Section 3.2 + Capabilities(ctx context.Context, in *CapabilityRequest, opts ...grpc.CallOption) (*CapabilityResponse, error) + // Retrieve a snapshot of data from the target. A Get RPC requests that the + // target snapshots a subset of the data tree as specified by the paths + // included in the message and serializes this to be returned to the + // client using the specified encoding. + // Reference: gNMI Specification Section 3.3 + Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) + // Set allows the client to modify the state of data on the target. The + // paths to modified along with the new values that the client wishes + // to set the value to. + // Reference: gNMI Specification Section 3.4 + Set(ctx context.Context, in *SetRequest, opts ...grpc.CallOption) (*SetResponse, error) + // Subscribe allows a client to request the target to send it values + // of particular paths within the data tree. These values may be streamed + // at a particular cadence (STREAM), sent one off on a long-lived channel + // (POLL), or sent as a one-off retrieval (ONCE). + // Reference: gNMI Specification Section 3.5 + Subscribe(ctx context.Context, opts ...grpc.CallOption) (GNMI_SubscribeClient, error) +} + +type gNMIClient struct { + cc grpc.ClientConnInterface +} + +func NewGNMIClient(cc grpc.ClientConnInterface) GNMIClient { + return &gNMIClient{cc} +} + +func (c *gNMIClient) Capabilities(ctx context.Context, in *CapabilityRequest, opts ...grpc.CallOption) (*CapabilityResponse, error) { + out := new(CapabilityResponse) + err := c.cc.Invoke(ctx, "/gnmi.gNMI/Capabilities", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gNMIClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) { + out := new(GetResponse) + err := c.cc.Invoke(ctx, "/gnmi.gNMI/Get", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gNMIClient) Set(ctx context.Context, in *SetRequest, opts ...grpc.CallOption) (*SetResponse, error) { + out := new(SetResponse) + err := c.cc.Invoke(ctx, "/gnmi.gNMI/Set", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *gNMIClient) Subscribe(ctx context.Context, opts ...grpc.CallOption) (GNMI_SubscribeClient, error) { + stream, err := c.cc.NewStream(ctx, &_GNMI_serviceDesc.Streams[0], "/gnmi.gNMI/Subscribe", opts...) + if err != nil { + return nil, err + } + x := &gNMISubscribeClient{stream} + return x, nil +} + +type GNMI_SubscribeClient interface { + Send(*SubscribeRequest) error + Recv() (*SubscribeResponse, error) + grpc.ClientStream +} + +type gNMISubscribeClient struct { + grpc.ClientStream +} + +func (x *gNMISubscribeClient) Send(m *SubscribeRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *gNMISubscribeClient) Recv() (*SubscribeResponse, error) { + m := new(SubscribeResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// GNMIServer is the server API for GNMI service. +// All implementations should embed UnimplementedGNMIServer +// for forward compatibility +type GNMIServer interface { + // Capabilities allows the client to retrieve the set of capabilities that + // is supported by the target. This allows the target to validate the + // service version that is implemented and retrieve the set of models that + // the target supports. The models can then be specified in subsequent RPCs + // to restrict the set of data that is utilized. + // Reference: gNMI Specification Section 3.2 + Capabilities(context.Context, *CapabilityRequest) (*CapabilityResponse, error) + // Retrieve a snapshot of data from the target. A Get RPC requests that the + // target snapshots a subset of the data tree as specified by the paths + // included in the message and serializes this to be returned to the + // client using the specified encoding. + // Reference: gNMI Specification Section 3.3 + Get(context.Context, *GetRequest) (*GetResponse, error) + // Set allows the client to modify the state of data on the target. The + // paths to modified along with the new values that the client wishes + // to set the value to. + // Reference: gNMI Specification Section 3.4 + Set(context.Context, *SetRequest) (*SetResponse, error) + // Subscribe allows a client to request the target to send it values + // of particular paths within the data tree. These values may be streamed + // at a particular cadence (STREAM), sent one off on a long-lived channel + // (POLL), or sent as a one-off retrieval (ONCE). + // Reference: gNMI Specification Section 3.5 + Subscribe(GNMI_SubscribeServer) error +} + +// UnimplementedGNMIServer should be embedded to have forward compatible implementations. +type UnimplementedGNMIServer struct { +} + +func (UnimplementedGNMIServer) Capabilities(context.Context, *CapabilityRequest) (*CapabilityResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Capabilities not implemented") +} +func (UnimplementedGNMIServer) Get(context.Context, *GetRequest) (*GetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") +} +func (UnimplementedGNMIServer) Set(context.Context, *SetRequest) (*SetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Set not implemented") +} +func (UnimplementedGNMIServer) Subscribe(GNMI_SubscribeServer) error { + return status.Errorf(codes.Unimplemented, "method Subscribe not implemented") +} + +// UnsafeGNMIServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to GNMIServer will +// result in compilation errors. +type UnsafeGNMIServer interface { + mustEmbedUnimplementedGNMIServer() +} + +func RegisterGNMIServer(s *grpc.Server, srv GNMIServer) { + s.RegisterService(&_GNMI_serviceDesc, srv) +} + +func _GNMI_Capabilities_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CapabilityRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GNMIServer).Capabilities(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gnmi.gNMI/Capabilities", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GNMIServer).Capabilities(ctx, req.(*CapabilityRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GNMI_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GNMIServer).Get(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gnmi.gNMI/Get", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GNMIServer).Get(ctx, req.(*GetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GNMI_Set_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GNMIServer).Set(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gnmi.gNMI/Set", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GNMIServer).Set(ctx, req.(*SetRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _GNMI_Subscribe_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(GNMIServer).Subscribe(&gNMISubscribeServer{stream}) +} + +type GNMI_SubscribeServer interface { + Send(*SubscribeResponse) error + Recv() (*SubscribeRequest, error) + grpc.ServerStream +} + +type gNMISubscribeServer struct { + grpc.ServerStream +} + +func (x *gNMISubscribeServer) Send(m *SubscribeResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *gNMISubscribeServer) Recv() (*SubscribeRequest, error) { + m := new(SubscribeRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +var _GNMI_serviceDesc = grpc.ServiceDesc{ + ServiceName: "gnmi.gNMI", + HandlerType: (*GNMIServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Capabilities", + Handler: _GNMI_Capabilities_Handler, + }, + { + MethodName: "Get", + Handler: _GNMI_Get_Handler, + }, + { + MethodName: "Set", + Handler: _GNMI_Set_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "Subscribe", + Handler: _GNMI_Subscribe_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "proto/gnmi/gnmi.proto", +} diff --git a/proto/gnmi/gnmi_pb2.py b/proto/gnmi/gnmi_pb2.py new file mode 100644 index 0000000..518c800 --- /dev/null +++ b/proto/gnmi/gnmi_pb2.py @@ -0,0 +1,124 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: proto/gnmi/gnmi.proto +# Protobuf Python Version: 5.27.2 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 2, + '', + 'proto/gnmi/gnmi.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 +from github.com.openconfig.gnmi.proto.gnmi_ext import gnmi_ext_pb2 as github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi__ext_dot_gnmi__ext__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15proto/gnmi/gnmi.proto\x12\x04gnmi\x1a\x19google/protobuf/any.proto\x1a google/protobuf/descriptor.proto\x1a\x38github.com/openconfig/gnmi/proto/gnmi_ext/gnmi_ext.proto\"\x94\x01\n\x0cNotification\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\x1a\n\x06prefix\x18\x02 \x01(\x0b\x32\n.gnmi.Path\x12\x1c\n\x06update\x18\x04 \x03(\x0b\x32\x0c.gnmi.Update\x12\x1a\n\x06\x64\x65lete\x18\x05 \x03(\x0b\x32\n.gnmi.Path\x12\x0e\n\x06\x61tomic\x18\x06 \x01(\x08J\x04\x08\x03\x10\x04R\x05\x61lias\"u\n\x06Update\x12\x18\n\x04path\x18\x01 \x01(\x0b\x32\n.gnmi.Path\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0b.gnmi.ValueB\x02\x18\x01\x12\x1d\n\x03val\x18\x03 \x01(\x0b\x32\x10.gnmi.TypedValue\x12\x12\n\nduplicates\x18\x04 \x01(\r\"\x83\x03\n\nTypedValue\x12\x14\n\nstring_val\x18\x01 \x01(\tH\x00\x12\x11\n\x07int_val\x18\x02 \x01(\x03H\x00\x12\x12\n\x08uint_val\x18\x03 \x01(\x04H\x00\x12\x12\n\x08\x62ool_val\x18\x04 \x01(\x08H\x00\x12\x13\n\tbytes_val\x18\x05 \x01(\x0cH\x00\x12\x17\n\tfloat_val\x18\x06 \x01(\x02\x42\x02\x18\x01H\x00\x12\x14\n\ndouble_val\x18\x0e \x01(\x01H\x00\x12*\n\x0b\x64\x65\x63imal_val\x18\x07 \x01(\x0b\x32\x0f.gnmi.Decimal64B\x02\x18\x01H\x00\x12)\n\x0cleaflist_val\x18\x08 \x01(\x0b\x32\x11.gnmi.ScalarArrayH\x00\x12\'\n\x07\x61ny_val\x18\t \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x12\x12\n\x08json_val\x18\n \x01(\x0cH\x00\x12\x17\n\rjson_ietf_val\x18\x0b \x01(\x0cH\x00\x12\x13\n\tascii_val\x18\x0c \x01(\tH\x00\x12\x15\n\x0bproto_bytes\x18\r \x01(\x0cH\x00\x42\x07\n\x05value\"Y\n\x04Path\x12\x13\n\x07\x65lement\x18\x01 \x03(\tB\x02\x18\x01\x12\x0e\n\x06origin\x18\x02 \x01(\t\x12\x1c\n\x04\x65lem\x18\x03 \x03(\x0b\x32\x0e.gnmi.PathElem\x12\x0e\n\x06target\x18\x04 \x01(\t\"j\n\x08PathElem\x12\x0c\n\x04name\x18\x01 \x01(\t\x12$\n\x03key\x18\x02 \x03(\x0b\x32\x17.gnmi.PathElem.KeyEntry\x1a*\n\x08KeyEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"8\n\x05Value\x12\r\n\x05value\x18\x01 \x01(\x0c\x12\x1c\n\x04type\x18\x02 \x01(\x0e\x32\x0e.gnmi.Encoding:\x02\x18\x01\"N\n\x05\x45rror\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any:\x02\x18\x01\"2\n\tDecimal64\x12\x0e\n\x06\x64igits\x18\x01 \x01(\x03\x12\x11\n\tprecision\x18\x02 \x01(\r:\x02\x18\x01\"0\n\x0bScalarArray\x12!\n\x07\x65lement\x18\x01 \x03(\x0b\x32\x10.gnmi.TypedValue\"\x9d\x01\n\x10SubscribeRequest\x12+\n\tsubscribe\x18\x01 \x01(\x0b\x32\x16.gnmi.SubscriptionListH\x00\x12\x1a\n\x04poll\x18\x03 \x01(\x0b\x32\n.gnmi.PollH\x00\x12&\n\textension\x18\x05 \x03(\x0b\x32\x13.gnmi_ext.ExtensionB\t\n\x07requestJ\x04\x08\x04\x10\x05R\x07\x61liases\"\x06\n\x04Poll\"\xa8\x01\n\x11SubscribeResponse\x12$\n\x06update\x18\x01 \x01(\x0b\x32\x12.gnmi.NotificationH\x00\x12\x17\n\rsync_response\x18\x03 \x01(\x08H\x00\x12 \n\x05\x65rror\x18\x04 \x01(\x0b\x32\x0b.gnmi.ErrorB\x02\x18\x01H\x00\x12&\n\textension\x18\x05 \x03(\x0b\x32\x13.gnmi_ext.ExtensionB\n\n\x08response\"\xd5\x02\n\x10SubscriptionList\x12\x1a\n\x06prefix\x18\x01 \x01(\x0b\x32\n.gnmi.Path\x12(\n\x0csubscription\x18\x02 \x03(\x0b\x32\x12.gnmi.Subscription\x12\x1d\n\x03qos\x18\x04 \x01(\x0b\x32\x10.gnmi.QOSMarking\x12)\n\x04mode\x18\x05 \x01(\x0e\x32\x1b.gnmi.SubscriptionList.Mode\x12\x19\n\x11\x61llow_aggregation\x18\x06 \x01(\x08\x12#\n\nuse_models\x18\x07 \x03(\x0b\x32\x0f.gnmi.ModelData\x12 \n\x08\x65ncoding\x18\x08 \x01(\x0e\x32\x0e.gnmi.Encoding\x12\x14\n\x0cupdates_only\x18\t \x01(\x08\"&\n\x04Mode\x12\n\n\x06STREAM\x10\x00\x12\x08\n\x04ONCE\x10\x01\x12\x08\n\x04POLL\x10\x02J\x04\x08\x03\x10\x04R\x0buse_aliases\"\x9f\x01\n\x0cSubscription\x12\x18\n\x04path\x18\x01 \x01(\x0b\x32\n.gnmi.Path\x12$\n\x04mode\x18\x02 \x01(\x0e\x32\x16.gnmi.SubscriptionMode\x12\x17\n\x0fsample_interval\x18\x03 \x01(\x04\x12\x1a\n\x12suppress_redundant\x18\x04 \x01(\x08\x12\x1a\n\x12heartbeat_interval\x18\x05 \x01(\x04\"\x1d\n\nQOSMarking\x12\x0f\n\x07marking\x18\x01 \x01(\r\"\xce\x01\n\nSetRequest\x12\x1a\n\x06prefix\x18\x01 \x01(\x0b\x32\n.gnmi.Path\x12\x1a\n\x06\x64\x65lete\x18\x02 \x03(\x0b\x32\n.gnmi.Path\x12\x1d\n\x07replace\x18\x03 \x03(\x0b\x32\x0c.gnmi.Update\x12\x1c\n\x06update\x18\x04 \x03(\x0b\x32\x0c.gnmi.Update\x12#\n\runion_replace\x18\x06 \x03(\x0b\x32\x0c.gnmi.Update\x12&\n\textension\x18\x05 \x03(\x0b\x32\x13.gnmi_ext.Extension\"\xac\x01\n\x0bSetResponse\x12\x1a\n\x06prefix\x18\x01 \x01(\x0b\x32\n.gnmi.Path\x12$\n\x08response\x18\x02 \x03(\x0b\x32\x12.gnmi.UpdateResult\x12 \n\x07message\x18\x03 \x01(\x0b\x32\x0b.gnmi.ErrorB\x02\x18\x01\x12\x11\n\ttimestamp\x18\x04 \x01(\x03\x12&\n\textension\x18\x05 \x03(\x0b\x32\x13.gnmi_ext.Extension\"\xdd\x01\n\x0cUpdateResult\x12\x15\n\ttimestamp\x18\x01 \x01(\x03\x42\x02\x18\x01\x12\x18\n\x04path\x18\x02 \x01(\x0b\x32\n.gnmi.Path\x12 \n\x07message\x18\x03 \x01(\x0b\x32\x0b.gnmi.ErrorB\x02\x18\x01\x12(\n\x02op\x18\x04 \x01(\x0e\x32\x1c.gnmi.UpdateResult.Operation\"P\n\tOperation\x12\x0b\n\x07INVALID\x10\x00\x12\n\n\x06\x44\x45LETE\x10\x01\x12\x0b\n\x07REPLACE\x10\x02\x12\n\n\x06UPDATE\x10\x03\x12\x11\n\rUNION_REPLACE\x10\x04\"\x97\x02\n\nGetRequest\x12\x1a\n\x06prefix\x18\x01 \x01(\x0b\x32\n.gnmi.Path\x12\x18\n\x04path\x18\x02 \x03(\x0b\x32\n.gnmi.Path\x12\'\n\x04type\x18\x03 \x01(\x0e\x32\x19.gnmi.GetRequest.DataType\x12 \n\x08\x65ncoding\x18\x05 \x01(\x0e\x32\x0e.gnmi.Encoding\x12#\n\nuse_models\x18\x06 \x03(\x0b\x32\x0f.gnmi.ModelData\x12&\n\textension\x18\x07 \x03(\x0b\x32\x13.gnmi_ext.Extension\";\n\x08\x44\x61taType\x12\x07\n\x03\x41LL\x10\x00\x12\n\n\x06\x43ONFIG\x10\x01\x12\t\n\x05STATE\x10\x02\x12\x0f\n\x0bOPERATIONAL\x10\x03\"\x7f\n\x0bGetResponse\x12(\n\x0cnotification\x18\x01 \x03(\x0b\x32\x12.gnmi.Notification\x12\x1e\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x0b.gnmi.ErrorB\x02\x18\x01\x12&\n\textension\x18\x03 \x03(\x0b\x32\x13.gnmi_ext.Extension\";\n\x11\x43\x61pabilityRequest\x12&\n\textension\x18\x01 \x03(\x0b\x32\x13.gnmi_ext.Extension\"\xaa\x01\n\x12\x43\x61pabilityResponse\x12)\n\x10supported_models\x18\x01 \x03(\x0b\x32\x0f.gnmi.ModelData\x12+\n\x13supported_encodings\x18\x02 \x03(\x0e\x32\x0e.gnmi.Encoding\x12\x14\n\x0cgNMI_version\x18\x03 \x01(\t\x12&\n\textension\x18\x04 \x03(\x0b\x32\x13.gnmi_ext.Extension\"@\n\tModelData\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0corganization\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t*D\n\x08\x45ncoding\x12\x08\n\x04JSON\x10\x00\x12\t\n\x05\x42YTES\x10\x01\x12\t\n\x05PROTO\x10\x02\x12\t\n\x05\x41SCII\x10\x03\x12\r\n\tJSON_IETF\x10\x04*A\n\x10SubscriptionMode\x12\x12\n\x0eTARGET_DEFINED\x10\x00\x12\r\n\tON_CHANGE\x10\x01\x12\n\n\x06SAMPLE\x10\x02\x32\xe3\x01\n\x04gNMI\x12\x41\n\x0c\x43\x61pabilities\x12\x17.gnmi.CapabilityRequest\x1a\x18.gnmi.CapabilityResponse\x12*\n\x03Get\x12\x10.gnmi.GetRequest\x1a\x11.gnmi.GetResponse\x12*\n\x03Set\x12\x10.gnmi.SetRequest\x1a\x11.gnmi.SetResponse\x12@\n\tSubscribe\x12\x16.gnmi.SubscribeRequest\x1a\x17.gnmi.SubscribeResponse(\x01\x30\x01:3\n\x0cgnmi_service\x12\x1c.google.protobuf.FileOptions\x18\xe9\x07 \x01(\tBT\n\x15\x63om.github.gnmi.protoB\tGnmiProtoP\x01Z%github.com/openconfig/gnmi/proto/gnmi\xca>\x06\x30.10.0b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.gnmi.gnmi_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\025com.github.gnmi.protoB\tGnmiProtoP\001Z%github.com/openconfig/gnmi/proto/gnmi\312>\0060.10.0' + _globals['_UPDATE'].fields_by_name['value']._loaded_options = None + _globals['_UPDATE'].fields_by_name['value']._serialized_options = b'\030\001' + _globals['_TYPEDVALUE'].fields_by_name['float_val']._loaded_options = None + _globals['_TYPEDVALUE'].fields_by_name['float_val']._serialized_options = b'\030\001' + _globals['_TYPEDVALUE'].fields_by_name['decimal_val']._loaded_options = None + _globals['_TYPEDVALUE'].fields_by_name['decimal_val']._serialized_options = b'\030\001' + _globals['_PATH'].fields_by_name['element']._loaded_options = None + _globals['_PATH'].fields_by_name['element']._serialized_options = b'\030\001' + _globals['_PATHELEM_KEYENTRY']._loaded_options = None + _globals['_PATHELEM_KEYENTRY']._serialized_options = b'8\001' + _globals['_VALUE']._loaded_options = None + _globals['_VALUE']._serialized_options = b'\030\001' + _globals['_ERROR']._loaded_options = None + _globals['_ERROR']._serialized_options = b'\030\001' + _globals['_DECIMAL64']._loaded_options = None + _globals['_DECIMAL64']._serialized_options = b'\030\001' + _globals['_SUBSCRIBERESPONSE'].fields_by_name['error']._loaded_options = None + _globals['_SUBSCRIBERESPONSE'].fields_by_name['error']._serialized_options = b'\030\001' + _globals['_SETRESPONSE'].fields_by_name['message']._loaded_options = None + _globals['_SETRESPONSE'].fields_by_name['message']._serialized_options = b'\030\001' + _globals['_UPDATERESULT'].fields_by_name['timestamp']._loaded_options = None + _globals['_UPDATERESULT'].fields_by_name['timestamp']._serialized_options = b'\030\001' + _globals['_UPDATERESULT'].fields_by_name['message']._loaded_options = None + _globals['_UPDATERESULT'].fields_by_name['message']._serialized_options = b'\030\001' + _globals['_GETRESPONSE'].fields_by_name['error']._loaded_options = None + _globals['_GETRESPONSE'].fields_by_name['error']._serialized_options = b'\030\001' + _globals['_ENCODING']._serialized_start=3444 + _globals['_ENCODING']._serialized_end=3512 + _globals['_SUBSCRIPTIONMODE']._serialized_start=3514 + _globals['_SUBSCRIPTIONMODE']._serialized_end=3579 + _globals['_NOTIFICATION']._serialized_start=151 + _globals['_NOTIFICATION']._serialized_end=299 + _globals['_UPDATE']._serialized_start=301 + _globals['_UPDATE']._serialized_end=418 + _globals['_TYPEDVALUE']._serialized_start=421 + _globals['_TYPEDVALUE']._serialized_end=808 + _globals['_PATH']._serialized_start=810 + _globals['_PATH']._serialized_end=899 + _globals['_PATHELEM']._serialized_start=901 + _globals['_PATHELEM']._serialized_end=1007 + _globals['_PATHELEM_KEYENTRY']._serialized_start=965 + _globals['_PATHELEM_KEYENTRY']._serialized_end=1007 + _globals['_VALUE']._serialized_start=1009 + _globals['_VALUE']._serialized_end=1065 + _globals['_ERROR']._serialized_start=1067 + _globals['_ERROR']._serialized_end=1145 + _globals['_DECIMAL64']._serialized_start=1147 + _globals['_DECIMAL64']._serialized_end=1197 + _globals['_SCALARARRAY']._serialized_start=1199 + _globals['_SCALARARRAY']._serialized_end=1247 + _globals['_SUBSCRIBEREQUEST']._serialized_start=1250 + _globals['_SUBSCRIBEREQUEST']._serialized_end=1407 + _globals['_POLL']._serialized_start=1409 + _globals['_POLL']._serialized_end=1415 + _globals['_SUBSCRIBERESPONSE']._serialized_start=1418 + _globals['_SUBSCRIBERESPONSE']._serialized_end=1586 + _globals['_SUBSCRIPTIONLIST']._serialized_start=1589 + _globals['_SUBSCRIPTIONLIST']._serialized_end=1930 + _globals['_SUBSCRIPTIONLIST_MODE']._serialized_start=1873 + _globals['_SUBSCRIPTIONLIST_MODE']._serialized_end=1911 + _globals['_SUBSCRIPTION']._serialized_start=1933 + _globals['_SUBSCRIPTION']._serialized_end=2092 + _globals['_QOSMARKING']._serialized_start=2094 + _globals['_QOSMARKING']._serialized_end=2123 + _globals['_SETREQUEST']._serialized_start=2126 + _globals['_SETREQUEST']._serialized_end=2332 + _globals['_SETRESPONSE']._serialized_start=2335 + _globals['_SETRESPONSE']._serialized_end=2507 + _globals['_UPDATERESULT']._serialized_start=2510 + _globals['_UPDATERESULT']._serialized_end=2731 + _globals['_UPDATERESULT_OPERATION']._serialized_start=2651 + _globals['_UPDATERESULT_OPERATION']._serialized_end=2731 + _globals['_GETREQUEST']._serialized_start=2734 + _globals['_GETREQUEST']._serialized_end=3013 + _globals['_GETREQUEST_DATATYPE']._serialized_start=2954 + _globals['_GETREQUEST_DATATYPE']._serialized_end=3013 + _globals['_GETRESPONSE']._serialized_start=3015 + _globals['_GETRESPONSE']._serialized_end=3142 + _globals['_CAPABILITYREQUEST']._serialized_start=3144 + _globals['_CAPABILITYREQUEST']._serialized_end=3203 + _globals['_CAPABILITYRESPONSE']._serialized_start=3206 + _globals['_CAPABILITYRESPONSE']._serialized_end=3376 + _globals['_MODELDATA']._serialized_start=3378 + _globals['_MODELDATA']._serialized_end=3442 + _globals['_GNMI']._serialized_start=3582 + _globals['_GNMI']._serialized_end=3809 +# @@protoc_insertion_point(module_scope) diff --git a/proto/gnmi/gnmi_pb2_grpc.py b/proto/gnmi/gnmi_pb2_grpc.py new file mode 100644 index 0000000..2abf29e --- /dev/null +++ b/proto/gnmi/gnmi_pb2_grpc.py @@ -0,0 +1,246 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + +from proto.gnmi import gnmi_pb2 as proto_dot_gnmi_dot_gnmi__pb2 + +GRPC_GENERATED_VERSION = '1.66.2' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in proto/gnmi/gnmi_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + + +class gNMIStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Capabilities = channel.unary_unary( + '/gnmi.gNMI/Capabilities', + request_serializer=proto_dot_gnmi_dot_gnmi__pb2.CapabilityRequest.SerializeToString, + response_deserializer=proto_dot_gnmi_dot_gnmi__pb2.CapabilityResponse.FromString, + _registered_method=True) + self.Get = channel.unary_unary( + '/gnmi.gNMI/Get', + request_serializer=proto_dot_gnmi_dot_gnmi__pb2.GetRequest.SerializeToString, + response_deserializer=proto_dot_gnmi_dot_gnmi__pb2.GetResponse.FromString, + _registered_method=True) + self.Set = channel.unary_unary( + '/gnmi.gNMI/Set', + request_serializer=proto_dot_gnmi_dot_gnmi__pb2.SetRequest.SerializeToString, + response_deserializer=proto_dot_gnmi_dot_gnmi__pb2.SetResponse.FromString, + _registered_method=True) + self.Subscribe = channel.stream_stream( + '/gnmi.gNMI/Subscribe', + request_serializer=proto_dot_gnmi_dot_gnmi__pb2.SubscribeRequest.SerializeToString, + response_deserializer=proto_dot_gnmi_dot_gnmi__pb2.SubscribeResponse.FromString, + _registered_method=True) + + +class gNMIServicer(object): + """Missing associated documentation comment in .proto file.""" + + def Capabilities(self, request, context): + """Capabilities allows the client to retrieve the set of capabilities that + is supported by the target. This allows the target to validate the + service version that is implemented and retrieve the set of models that + the target supports. The models can then be specified in subsequent RPCs + to restrict the set of data that is utilized. + Reference: gNMI Specification Section 3.2 + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Get(self, request, context): + """Retrieve a snapshot of data from the target. A Get RPC requests that the + target snapshots a subset of the data tree as specified by the paths + included in the message and serializes this to be returned to the + client using the specified encoding. + Reference: gNMI Specification Section 3.3 + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Set(self, request, context): + """Set allows the client to modify the state of data on the target. The + paths to modified along with the new values that the client wishes + to set the value to. + Reference: gNMI Specification Section 3.4 + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Subscribe(self, request_iterator, context): + """Subscribe allows a client to request the target to send it values + of particular paths within the data tree. These values may be streamed + at a particular cadence (STREAM), sent one off on a long-lived channel + (POLL), or sent as a one-off retrieval (ONCE). + Reference: gNMI Specification Section 3.5 + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_gNMIServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Capabilities': grpc.unary_unary_rpc_method_handler( + servicer.Capabilities, + request_deserializer=proto_dot_gnmi_dot_gnmi__pb2.CapabilityRequest.FromString, + response_serializer=proto_dot_gnmi_dot_gnmi__pb2.CapabilityResponse.SerializeToString, + ), + 'Get': grpc.unary_unary_rpc_method_handler( + servicer.Get, + request_deserializer=proto_dot_gnmi_dot_gnmi__pb2.GetRequest.FromString, + response_serializer=proto_dot_gnmi_dot_gnmi__pb2.GetResponse.SerializeToString, + ), + 'Set': grpc.unary_unary_rpc_method_handler( + servicer.Set, + request_deserializer=proto_dot_gnmi_dot_gnmi__pb2.SetRequest.FromString, + response_serializer=proto_dot_gnmi_dot_gnmi__pb2.SetResponse.SerializeToString, + ), + 'Subscribe': grpc.stream_stream_rpc_method_handler( + servicer.Subscribe, + request_deserializer=proto_dot_gnmi_dot_gnmi__pb2.SubscribeRequest.FromString, + response_serializer=proto_dot_gnmi_dot_gnmi__pb2.SubscribeResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'gnmi.gNMI', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('gnmi.gNMI', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class gNMI(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def Capabilities(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/gnmi.gNMI/Capabilities', + proto_dot_gnmi_dot_gnmi__pb2.CapabilityRequest.SerializeToString, + proto_dot_gnmi_dot_gnmi__pb2.CapabilityResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Get(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/gnmi.gNMI/Get', + proto_dot_gnmi_dot_gnmi__pb2.GetRequest.SerializeToString, + proto_dot_gnmi_dot_gnmi__pb2.GetResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Set(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/gnmi.gNMI/Set', + proto_dot_gnmi_dot_gnmi__pb2.SetRequest.SerializeToString, + proto_dot_gnmi_dot_gnmi__pb2.SetResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Subscribe(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_stream( + request_iterator, + target, + '/gnmi.gNMI/Subscribe', + proto_dot_gnmi_dot_gnmi__pb2.SubscribeRequest.SerializeToString, + proto_dot_gnmi_dot_gnmi__pb2.SubscribeResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/proto/gnmi_ext/gnmi_ext.pb.go b/proto/gnmi_ext/gnmi_ext.pb.go new file mode 100644 index 0000000..da30053 --- /dev/null +++ b/proto/gnmi_ext/gnmi_ext.pb.go @@ -0,0 +1,1302 @@ +// +// Copyright 2018 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v3.21.12 +// source: proto/gnmi_ext/gnmi_ext.proto + +// Package gnmi_ext defines a set of extensions messages which can be optionally +// included with the request and response messages of gNMI RPCs. A set of +// well-known extensions are defined within this file, along with a registry for +// extensions defined outside of this package. + +package gnmi_ext + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// RegisteredExtension is an enumeration acting as a registry for extensions +// defined by external sources. +type ExtensionID int32 + +const ( + ExtensionID_EID_UNSET ExtensionID = 0 + // An experimental extension that may be used during prototyping of a new + // extension. + ExtensionID_EID_EXPERIMENTAL ExtensionID = 999 +) + +// Enum value maps for ExtensionID. +var ( + ExtensionID_name = map[int32]string{ + 0: "EID_UNSET", + 999: "EID_EXPERIMENTAL", + } + ExtensionID_value = map[string]int32{ + "EID_UNSET": 0, + "EID_EXPERIMENTAL": 999, + } +) + +func (x ExtensionID) Enum() *ExtensionID { + p := new(ExtensionID) + *p = x + return p +} + +func (x ExtensionID) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExtensionID) Descriptor() protoreflect.EnumDescriptor { + return file_proto_gnmi_ext_gnmi_ext_proto_enumTypes[0].Descriptor() +} + +func (ExtensionID) Type() protoreflect.EnumType { + return &file_proto_gnmi_ext_gnmi_ext_proto_enumTypes[0] +} + +func (x ExtensionID) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExtensionID.Descriptor instead. +func (ExtensionID) EnumDescriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{0} +} + +// The Extension message contains a single gNMI extension. +type Extension struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Ext: + // + // *Extension_RegisteredExt + // *Extension_MasterArbitration + // *Extension_History + // *Extension_Commit + // *Extension_Depth + Ext isExtension_Ext `protobuf_oneof:"ext"` +} + +func (x *Extension) Reset() { + *x = Extension{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Extension) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Extension) ProtoMessage() {} + +func (x *Extension) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Extension.ProtoReflect.Descriptor instead. +func (*Extension) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{0} +} + +func (m *Extension) GetExt() isExtension_Ext { + if m != nil { + return m.Ext + } + return nil +} + +func (x *Extension) GetRegisteredExt() *RegisteredExtension { + if x, ok := x.GetExt().(*Extension_RegisteredExt); ok { + return x.RegisteredExt + } + return nil +} + +func (x *Extension) GetMasterArbitration() *MasterArbitration { + if x, ok := x.GetExt().(*Extension_MasterArbitration); ok { + return x.MasterArbitration + } + return nil +} + +func (x *Extension) GetHistory() *History { + if x, ok := x.GetExt().(*Extension_History); ok { + return x.History + } + return nil +} + +func (x *Extension) GetCommit() *Commit { + if x, ok := x.GetExt().(*Extension_Commit); ok { + return x.Commit + } + return nil +} + +func (x *Extension) GetDepth() *Depth { + if x, ok := x.GetExt().(*Extension_Depth); ok { + return x.Depth + } + return nil +} + +type isExtension_Ext interface { + isExtension_Ext() +} + +type Extension_RegisteredExt struct { + RegisteredExt *RegisteredExtension `protobuf:"bytes,1,opt,name=registered_ext,json=registeredExt,proto3,oneof"` // A registered extension. +} + +type Extension_MasterArbitration struct { + // Well known extensions. + MasterArbitration *MasterArbitration `protobuf:"bytes,2,opt,name=master_arbitration,json=masterArbitration,proto3,oneof"` // Master arbitration extension. +} + +type Extension_History struct { + History *History `protobuf:"bytes,3,opt,name=history,proto3,oneof"` // History extension. +} + +type Extension_Commit struct { + Commit *Commit `protobuf:"bytes,4,opt,name=commit,proto3,oneof"` // Commit confirmed extension. +} + +type Extension_Depth struct { + Depth *Depth `protobuf:"bytes,5,opt,name=depth,proto3,oneof"` // Depth extension. +} + +func (*Extension_RegisteredExt) isExtension_Ext() {} + +func (*Extension_MasterArbitration) isExtension_Ext() {} + +func (*Extension_History) isExtension_Ext() {} + +func (*Extension_Commit) isExtension_Ext() {} + +func (*Extension_Depth) isExtension_Ext() {} + +// The RegisteredExtension message defines an extension which is defined outside +// of this file. +type RegisteredExtension struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id ExtensionID `protobuf:"varint,1,opt,name=id,proto3,enum=gnmi_ext.ExtensionID" json:"id,omitempty"` // The unique ID assigned to this extension. + Msg []byte `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // The binary-marshalled protobuf extension payload. +} + +func (x *RegisteredExtension) Reset() { + *x = RegisteredExtension{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisteredExtension) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisteredExtension) ProtoMessage() {} + +func (x *RegisteredExtension) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisteredExtension.ProtoReflect.Descriptor instead. +func (*RegisteredExtension) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{1} +} + +func (x *RegisteredExtension) GetId() ExtensionID { + if x != nil { + return x.Id + } + return ExtensionID_EID_UNSET +} + +func (x *RegisteredExtension) GetMsg() []byte { + if x != nil { + return x.Msg + } + return nil +} + +// MasterArbitration is used to select the master among multiple gNMI clients +// with the same Roles. The client with the largest election_id is honored as +// the master. +// The document about gNMI master arbitration can be found at +// https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-master-arbitration.md +type MasterArbitration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Role *Role `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + ElectionId *Uint128 `protobuf:"bytes,2,opt,name=election_id,json=electionId,proto3" json:"election_id,omitempty"` +} + +func (x *MasterArbitration) Reset() { + *x = MasterArbitration{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MasterArbitration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MasterArbitration) ProtoMessage() {} + +func (x *MasterArbitration) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MasterArbitration.ProtoReflect.Descriptor instead. +func (*MasterArbitration) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{2} +} + +func (x *MasterArbitration) GetRole() *Role { + if x != nil { + return x.Role + } + return nil +} + +func (x *MasterArbitration) GetElectionId() *Uint128 { + if x != nil { + return x.ElectionId + } + return nil +} + +// Representation of unsigned 128-bit integer. +type Uint128 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + High uint64 `protobuf:"varint,1,opt,name=high,proto3" json:"high,omitempty"` + Low uint64 `protobuf:"varint,2,opt,name=low,proto3" json:"low,omitempty"` +} + +func (x *Uint128) Reset() { + *x = Uint128{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Uint128) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Uint128) ProtoMessage() {} + +func (x *Uint128) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Uint128.ProtoReflect.Descriptor instead. +func (*Uint128) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{3} +} + +func (x *Uint128) GetHigh() uint64 { + if x != nil { + return x.High + } + return 0 +} + +func (x *Uint128) GetLow() uint64 { + if x != nil { + return x.Low + } + return 0 +} + +// There can be one master for each role. The role is identified by its id. +type Role struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *Role) Reset() { + *x = Role{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Role) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Role) ProtoMessage() {} + +func (x *Role) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Role.ProtoReflect.Descriptor instead. +func (*Role) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{4} +} + +func (x *Role) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +// The History extension allows clients to request historical data. Its +// spec can be found at +// https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-history.md +type History struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Request: + // + // *History_SnapshotTime + // *History_Range + Request isHistory_Request `protobuf_oneof:"request"` +} + +func (x *History) Reset() { + *x = History{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *History) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*History) ProtoMessage() {} + +func (x *History) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use History.ProtoReflect.Descriptor instead. +func (*History) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{5} +} + +func (m *History) GetRequest() isHistory_Request { + if m != nil { + return m.Request + } + return nil +} + +func (x *History) GetSnapshotTime() int64 { + if x, ok := x.GetRequest().(*History_SnapshotTime); ok { + return x.SnapshotTime + } + return 0 +} + +func (x *History) GetRange() *TimeRange { + if x, ok := x.GetRequest().(*History_Range); ok { + return x.Range + } + return nil +} + +type isHistory_Request interface { + isHistory_Request() +} + +type History_SnapshotTime struct { + SnapshotTime int64 `protobuf:"varint,1,opt,name=snapshot_time,json=snapshotTime,proto3,oneof"` // Nanoseconds since the epoch +} + +type History_Range struct { + Range *TimeRange `protobuf:"bytes,2,opt,name=range,proto3,oneof"` +} + +func (*History_SnapshotTime) isHistory_Request() {} + +func (*History_Range) isHistory_Request() {} + +type TimeRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` // Nanoseconds since the epoch + End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` // Nanoseconds since the epoch +} + +func (x *TimeRange) Reset() { + *x = TimeRange{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TimeRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimeRange) ProtoMessage() {} + +func (x *TimeRange) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimeRange.ProtoReflect.Descriptor instead. +func (*TimeRange) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{6} +} + +func (x *TimeRange) GetStart() int64 { + if x != nil { + return x.Start + } + return 0 +} + +func (x *TimeRange) GetEnd() int64 { + if x != nil { + return x.End + } + return 0 +} + +// Commit confirmed extension allows automated revert of the configuration after +// certain duration if an explicit confirmation is not issued. It allows +// explicit cancellation of the commit during the rollback window. There cannot +// be more than one commit active at a given time. The document about gNMI +// commit confirmed can be found at +// https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-commit-confirmed.md +type Commit struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ID is provided by the client during the commit request. During confirm and + // cancel actions the provided ID should match the ID provided during commit. + // If ID is not passed in any actions server shall return error. + // Required. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Types that are assignable to Action: + // + // *Commit_Commit + // *Commit_Confirm + // *Commit_Cancel + // *Commit_SetRollbackDuration + Action isCommit_Action `protobuf_oneof:"action"` +} + +func (x *Commit) Reset() { + *x = Commit{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Commit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Commit) ProtoMessage() {} + +func (x *Commit) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Commit.ProtoReflect.Descriptor instead. +func (*Commit) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{7} +} + +func (x *Commit) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (m *Commit) GetAction() isCommit_Action { + if m != nil { + return m.Action + } + return nil +} + +func (x *Commit) GetCommit() *CommitRequest { + if x, ok := x.GetAction().(*Commit_Commit); ok { + return x.Commit + } + return nil +} + +func (x *Commit) GetConfirm() *CommitConfirm { + if x, ok := x.GetAction().(*Commit_Confirm); ok { + return x.Confirm + } + return nil +} + +func (x *Commit) GetCancel() *CommitCancel { + if x, ok := x.GetAction().(*Commit_Cancel); ok { + return x.Cancel + } + return nil +} + +func (x *Commit) GetSetRollbackDuration() *CommitSetRollbackDuration { + if x, ok := x.GetAction().(*Commit_SetRollbackDuration); ok { + return x.SetRollbackDuration + } + return nil +} + +type isCommit_Action interface { + isCommit_Action() +} + +type Commit_Commit struct { + // commit action creates a new commit. If a commit is on-going, server + // returns error. + Commit *CommitRequest `protobuf:"bytes,2,opt,name=commit,proto3,oneof"` +} + +type Commit_Confirm struct { + // confirm action will confirm an on-going commit, the ID provided during + // confirm should match the on-going commit ID. + Confirm *CommitConfirm `protobuf:"bytes,3,opt,name=confirm,proto3,oneof"` +} + +type Commit_Cancel struct { + // cancel action will cancel an on-going commit, the ID provided during + // cancel should match the on-going commit ID. + Cancel *CommitCancel `protobuf:"bytes,4,opt,name=cancel,proto3,oneof"` +} + +type Commit_SetRollbackDuration struct { + // set rollback duration action sets the rollback duration of an on-going commit + // to a new value. + // The ID provided with the Commit message should match the on-going commit ID. + SetRollbackDuration *CommitSetRollbackDuration `protobuf:"bytes,5,opt,name=set_rollback_duration,json=setRollbackDuration,proto3,oneof"` +} + +func (*Commit_Commit) isCommit_Action() {} + +func (*Commit_Confirm) isCommit_Action() {} + +func (*Commit_Cancel) isCommit_Action() {} + +func (*Commit_SetRollbackDuration) isCommit_Action() {} + +// CommitRequest is used to create a new confirmed commit. It hold additional +// parameter requried for commit action. +type CommitRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Maximum duration to wait for a confirmaton before reverting the commit. + RollbackDuration *durationpb.Duration `protobuf:"bytes,1,opt,name=rollback_duration,json=rollbackDuration,proto3" json:"rollback_duration,omitempty"` +} + +func (x *CommitRequest) Reset() { + *x = CommitRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitRequest) ProtoMessage() {} + +func (x *CommitRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommitRequest.ProtoReflect.Descriptor instead. +func (*CommitRequest) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{8} +} + +func (x *CommitRequest) GetRollbackDuration() *durationpb.Duration { + if x != nil { + return x.RollbackDuration + } + return nil +} + +// CommitConfirm is used to confirm an on-going commit. It hold additional +// parameter requried for confirm action. +type CommitConfirm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CommitConfirm) Reset() { + *x = CommitConfirm{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitConfirm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitConfirm) ProtoMessage() {} + +func (x *CommitConfirm) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommitConfirm.ProtoReflect.Descriptor instead. +func (*CommitConfirm) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{9} +} + +// CommitCancel is used to cancel an on-going commit. It hold additional +// parameter requried for cancel action. +type CommitCancel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CommitCancel) Reset() { + *x = CommitCancel{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitCancel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitCancel) ProtoMessage() {} + +func (x *CommitCancel) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommitCancel.ProtoReflect.Descriptor instead. +func (*CommitCancel) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{10} +} + +// CommitSetRollbackDuration is used to set the existing rollback duration value +// of an on-going commit to a new desired value. +type CommitSetRollbackDuration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Maximum duration to wait for a confirmaton before reverting the commit. + RollbackDuration *durationpb.Duration `protobuf:"bytes,1,opt,name=rollback_duration,json=rollbackDuration,proto3" json:"rollback_duration,omitempty"` +} + +func (x *CommitSetRollbackDuration) Reset() { + *x = CommitSetRollbackDuration{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitSetRollbackDuration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitSetRollbackDuration) ProtoMessage() {} + +func (x *CommitSetRollbackDuration) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommitSetRollbackDuration.ProtoReflect.Descriptor instead. +func (*CommitSetRollbackDuration) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{11} +} + +func (x *CommitSetRollbackDuration) GetRollbackDuration() *durationpb.Duration { + if x != nil { + return x.RollbackDuration + } + return nil +} + +// Depth allows clients to specify the depth of the subtree to be returned in +// the response. The depth is specified as the number of levels below the +// specified path. +// The depth is applied to all paths in the Get or Subscribe request. +// The document about gNMI depth can be found at +// https://github.com/openconfig/reference/tree/master/rpc/gnmi/gnmi-depth.md +type Depth struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The level of the subtree to be returned in the response. + // Value of 0 means no depth limit and behaves the same as if the extension + // was not specified. + // Value of 1 means only the specified path and its direct children will be + // returned. + Level uint32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"` +} + +func (x *Depth) Reset() { + *x = Depth{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Depth) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Depth) ProtoMessage() {} + +func (x *Depth) ProtoReflect() protoreflect.Message { + mi := &file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Depth.ProtoReflect.Descriptor instead. +func (*Depth) Descriptor() ([]byte, []int) { + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP(), []int{12} +} + +func (x *Depth) GetLevel() uint32 { + if x != nil { + return x.Level + } + return 0 +} + +var File_proto_gnmi_ext_gnmi_ext_proto protoreflect.FileDescriptor + +var file_proto_gnmi_ext_gnmi_ext_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, + 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x08, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x02, 0x0a, 0x09, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x45, 0x78, 0x74, 0x12, + 0x4c, 0x0a, 0x12, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x62, + 0x69, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x6d, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x41, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, + 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x48, 0x00, 0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x06, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, + 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x48, 0x00, + 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, + 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, + 0x78, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x74, 0x68, 0x48, 0x00, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, + 0x68, 0x42, 0x05, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x22, 0x4e, 0x0a, 0x13, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x25, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6b, 0x0a, 0x11, 0x4d, 0x61, 0x73, 0x74, + 0x65, 0x72, 0x41, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, + 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, + 0x65, 0x12, 0x32, 0x0a, 0x0b, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, + 0x74, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x52, 0x0a, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x07, 0x55, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, + 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, + 0x68, 0x69, 0x67, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x22, 0x16, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x68, + 0x0a, 0x07, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0d, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x2b, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x09, 0x0a, + 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x33, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, + 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x97, 0x02, + 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, + 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, + 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x12, 0x30, 0x0a, 0x06, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x12, 0x59, 0x0a, 0x15, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, + 0x63, 0x6b, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x73, 0x65, 0x74, 0x52, 0x6f, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x57, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x72, 0x6f, 0x6c, 0x6c, + 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, + 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x0f, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x22, 0x0e, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x22, 0x63, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x52, 0x6f, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, + 0x0a, 0x11, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1d, 0x0a, 0x05, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, + 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2a, 0x33, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x49, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x45, + 0x54, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x10, 0x45, 0x49, 0x44, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x52, + 0x49, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x10, 0xe7, 0x07, 0x42, 0x2b, 0x5a, 0x29, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6e, 0x6d, 0x69, 0x5f, 0x65, 0x78, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_proto_gnmi_ext_gnmi_ext_proto_rawDescOnce sync.Once + file_proto_gnmi_ext_gnmi_ext_proto_rawDescData = file_proto_gnmi_ext_gnmi_ext_proto_rawDesc +) + +func file_proto_gnmi_ext_gnmi_ext_proto_rawDescGZIP() []byte { + file_proto_gnmi_ext_gnmi_ext_proto_rawDescOnce.Do(func() { + file_proto_gnmi_ext_gnmi_ext_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_gnmi_ext_gnmi_ext_proto_rawDescData) + }) + return file_proto_gnmi_ext_gnmi_ext_proto_rawDescData +} + +var file_proto_gnmi_ext_gnmi_ext_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_proto_gnmi_ext_gnmi_ext_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_proto_gnmi_ext_gnmi_ext_proto_goTypes = []interface{}{ + (ExtensionID)(0), // 0: gnmi_ext.ExtensionID + (*Extension)(nil), // 1: gnmi_ext.Extension + (*RegisteredExtension)(nil), // 2: gnmi_ext.RegisteredExtension + (*MasterArbitration)(nil), // 3: gnmi_ext.MasterArbitration + (*Uint128)(nil), // 4: gnmi_ext.Uint128 + (*Role)(nil), // 5: gnmi_ext.Role + (*History)(nil), // 6: gnmi_ext.History + (*TimeRange)(nil), // 7: gnmi_ext.TimeRange + (*Commit)(nil), // 8: gnmi_ext.Commit + (*CommitRequest)(nil), // 9: gnmi_ext.CommitRequest + (*CommitConfirm)(nil), // 10: gnmi_ext.CommitConfirm + (*CommitCancel)(nil), // 11: gnmi_ext.CommitCancel + (*CommitSetRollbackDuration)(nil), // 12: gnmi_ext.CommitSetRollbackDuration + (*Depth)(nil), // 13: gnmi_ext.Depth + (*durationpb.Duration)(nil), // 14: google.protobuf.Duration +} +var file_proto_gnmi_ext_gnmi_ext_proto_depIdxs = []int32{ + 2, // 0: gnmi_ext.Extension.registered_ext:type_name -> gnmi_ext.RegisteredExtension + 3, // 1: gnmi_ext.Extension.master_arbitration:type_name -> gnmi_ext.MasterArbitration + 6, // 2: gnmi_ext.Extension.history:type_name -> gnmi_ext.History + 8, // 3: gnmi_ext.Extension.commit:type_name -> gnmi_ext.Commit + 13, // 4: gnmi_ext.Extension.depth:type_name -> gnmi_ext.Depth + 0, // 5: gnmi_ext.RegisteredExtension.id:type_name -> gnmi_ext.ExtensionID + 5, // 6: gnmi_ext.MasterArbitration.role:type_name -> gnmi_ext.Role + 4, // 7: gnmi_ext.MasterArbitration.election_id:type_name -> gnmi_ext.Uint128 + 7, // 8: gnmi_ext.History.range:type_name -> gnmi_ext.TimeRange + 9, // 9: gnmi_ext.Commit.commit:type_name -> gnmi_ext.CommitRequest + 10, // 10: gnmi_ext.Commit.confirm:type_name -> gnmi_ext.CommitConfirm + 11, // 11: gnmi_ext.Commit.cancel:type_name -> gnmi_ext.CommitCancel + 12, // 12: gnmi_ext.Commit.set_rollback_duration:type_name -> gnmi_ext.CommitSetRollbackDuration + 14, // 13: gnmi_ext.CommitRequest.rollback_duration:type_name -> google.protobuf.Duration + 14, // 14: gnmi_ext.CommitSetRollbackDuration.rollback_duration:type_name -> google.protobuf.Duration + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name +} + +func init() { file_proto_gnmi_ext_gnmi_ext_proto_init() } +func file_proto_gnmi_ext_gnmi_ext_proto_init() { + if File_proto_gnmi_ext_gnmi_ext_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Extension); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisteredExtension); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MasterArbitration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Uint128); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Role); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*History); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TimeRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Commit); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitConfirm); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitCancel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitSetRollbackDuration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Depth); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Extension_RegisteredExt)(nil), + (*Extension_MasterArbitration)(nil), + (*Extension_History)(nil), + (*Extension_Commit)(nil), + (*Extension_Depth)(nil), + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*History_SnapshotTime)(nil), + (*History_Range)(nil), + } + file_proto_gnmi_ext_gnmi_ext_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*Commit_Commit)(nil), + (*Commit_Confirm)(nil), + (*Commit_Cancel)(nil), + (*Commit_SetRollbackDuration)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_proto_gnmi_ext_gnmi_ext_proto_rawDesc, + NumEnums: 1, + NumMessages: 13, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_proto_gnmi_ext_gnmi_ext_proto_goTypes, + DependencyIndexes: file_proto_gnmi_ext_gnmi_ext_proto_depIdxs, + EnumInfos: file_proto_gnmi_ext_gnmi_ext_proto_enumTypes, + MessageInfos: file_proto_gnmi_ext_gnmi_ext_proto_msgTypes, + }.Build() + File_proto_gnmi_ext_gnmi_ext_proto = out.File + file_proto_gnmi_ext_gnmi_ext_proto_rawDesc = nil + file_proto_gnmi_ext_gnmi_ext_proto_goTypes = nil + file_proto_gnmi_ext_gnmi_ext_proto_depIdxs = nil +} diff --git a/proto/gnmi_ext/gnmi_ext_pb2.py b/proto/gnmi_ext/gnmi_ext_pb2.py new file mode 100644 index 0000000..487c077 --- /dev/null +++ b/proto/gnmi_ext/gnmi_ext_pb2.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: proto/gnmi_ext/gnmi_ext.proto +# Protobuf Python Version: 5.27.2 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 2, + '', + 'proto/gnmi_ext/gnmi_ext.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dproto/gnmi_ext/gnmi_ext.proto\x12\x08gnmi_ext\x1a\x1egoogle/protobuf/duration.proto\"\xf2\x01\n\tExtension\x12\x37\n\x0eregistered_ext\x18\x01 \x01(\x0b\x32\x1d.gnmi_ext.RegisteredExtensionH\x00\x12\x39\n\x12master_arbitration\x18\x02 \x01(\x0b\x32\x1b.gnmi_ext.MasterArbitrationH\x00\x12$\n\x07history\x18\x03 \x01(\x0b\x32\x11.gnmi_ext.HistoryH\x00\x12\"\n\x06\x63ommit\x18\x04 \x01(\x0b\x32\x10.gnmi_ext.CommitH\x00\x12 \n\x05\x64\x65pth\x18\x05 \x01(\x0b\x32\x0f.gnmi_ext.DepthH\x00\x42\x05\n\x03\x65xt\"E\n\x13RegisteredExtension\x12!\n\x02id\x18\x01 \x01(\x0e\x32\x15.gnmi_ext.ExtensionID\x12\x0b\n\x03msg\x18\x02 \x01(\x0c\"Y\n\x11MasterArbitration\x12\x1c\n\x04role\x18\x01 \x01(\x0b\x32\x0e.gnmi_ext.Role\x12&\n\x0b\x65lection_id\x18\x02 \x01(\x0b\x32\x11.gnmi_ext.Uint128\"$\n\x07Uint128\x12\x0c\n\x04high\x18\x01 \x01(\x04\x12\x0b\n\x03low\x18\x02 \x01(\x04\"\x12\n\x04Role\x12\n\n\x02id\x18\x01 \x01(\t\"S\n\x07History\x12\x17\n\rsnapshot_time\x18\x01 \x01(\x03H\x00\x12$\n\x05range\x18\x02 \x01(\x0b\x32\x13.gnmi_ext.TimeRangeH\x00\x42\t\n\x07request\"\'\n\tTimeRange\x12\r\n\x05start\x18\x01 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x03\"\xe5\x01\n\x06\x43ommit\x12\n\n\x02id\x18\x01 \x01(\t\x12)\n\x06\x63ommit\x18\x02 \x01(\x0b\x32\x17.gnmi_ext.CommitRequestH\x00\x12*\n\x07\x63onfirm\x18\x03 \x01(\x0b\x32\x17.gnmi_ext.CommitConfirmH\x00\x12(\n\x06\x63\x61ncel\x18\x04 \x01(\x0b\x32\x16.gnmi_ext.CommitCancelH\x00\x12\x44\n\x15set_rollback_duration\x18\x05 \x01(\x0b\x32#.gnmi_ext.CommitSetRollbackDurationH\x00\x42\x08\n\x06\x61\x63tion\"E\n\rCommitRequest\x12\x34\n\x11rollback_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x0f\n\rCommitConfirm\"\x0e\n\x0c\x43ommitCancel\"Q\n\x19\x43ommitSetRollbackDuration\x12\x34\n\x11rollback_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x16\n\x05\x44\x65pth\x12\r\n\x05level\x18\x01 \x01(\r*3\n\x0b\x45xtensionID\x12\r\n\tEID_UNSET\x10\x00\x12\x15\n\x10\x45ID_EXPERIMENTAL\x10\xe7\x07\x42+Z)github.com/openconfig/gnmi/proto/gnmi_extb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.gnmi_ext.gnmi_ext_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/openconfig/gnmi/proto/gnmi_ext' + _globals['_EXTENSIONID']._serialized_start=1109 + _globals['_EXTENSIONID']._serialized_end=1160 + _globals['_EXTENSION']._serialized_start=76 + _globals['_EXTENSION']._serialized_end=318 + _globals['_REGISTEREDEXTENSION']._serialized_start=320 + _globals['_REGISTEREDEXTENSION']._serialized_end=389 + _globals['_MASTERARBITRATION']._serialized_start=391 + _globals['_MASTERARBITRATION']._serialized_end=480 + _globals['_UINT128']._serialized_start=482 + _globals['_UINT128']._serialized_end=518 + _globals['_ROLE']._serialized_start=520 + _globals['_ROLE']._serialized_end=538 + _globals['_HISTORY']._serialized_start=540 + _globals['_HISTORY']._serialized_end=623 + _globals['_TIMERANGE']._serialized_start=625 + _globals['_TIMERANGE']._serialized_end=664 + _globals['_COMMIT']._serialized_start=667 + _globals['_COMMIT']._serialized_end=896 + _globals['_COMMITREQUEST']._serialized_start=898 + _globals['_COMMITREQUEST']._serialized_end=967 + _globals['_COMMITCONFIRM']._serialized_start=969 + _globals['_COMMITCONFIRM']._serialized_end=984 + _globals['_COMMITCANCEL']._serialized_start=986 + _globals['_COMMITCANCEL']._serialized_end=1000 + _globals['_COMMITSETROLLBACKDURATION']._serialized_start=1002 + _globals['_COMMITSETROLLBACKDURATION']._serialized_end=1083 + _globals['_DEPTH']._serialized_start=1085 + _globals['_DEPTH']._serialized_end=1107 +# @@protoc_insertion_point(module_scope) diff --git a/proto/gnmi_ext/gnmi_ext_pb2_grpc.py b/proto/gnmi_ext/gnmi_ext_pb2_grpc.py new file mode 100644 index 0000000..ee38944 --- /dev/null +++ b/proto/gnmi_ext/gnmi_ext_pb2_grpc.py @@ -0,0 +1,24 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + + +GRPC_GENERATED_VERSION = '1.66.2' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in proto/gnmi_ext/gnmi_ext_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/proto/target/target.pb.go b/proto/target/target.pb.go new file mode 100644 index 0000000..31070f7 --- /dev/null +++ b/proto/target/target.pb.go @@ -0,0 +1,460 @@ +// +// Copyright 2018 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v3.21.12 +// source: proto/target/target.proto + +// Package target contains messages for defining a configuration of a caching +// collector to connect to multiple gNMI targets. + +package target + +import ( + gnmi "github.com/openconfig/gnmi/proto/gnmi" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Configuration holds all information necessary for a caching gNMI collector +// to establish subscriptions to a list of gNMI targets. +type Configuration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Request is a keyed list of all SubscriptionRequests that can be sent + // to targets in the Configuration. + // The request must have at minimum a SubscriptionList with a prefix + // containing origin and one or more Subscriptions. Only the STREAM mode is + // supported. + Request map[string]*gnmi.SubscribeRequest `protobuf:"bytes,1,rep,name=request,proto3" json:"request,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Target is the full list of targets connected to by a caching gNMI + // collector. The key of the map is a unique name to identify a target and + // is set in the prefix.target of a SubscriptionRequest message when + // connecting to each respective target. + Target map[string]*Target `protobuf:"bytes,2,rep,name=target,proto3" json:"target,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Identifier for the caching collector. + InstanceId string `protobuf:"bytes,3,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` + // Additional config metadata. + Meta map[string]string `protobuf:"bytes,4,rep,name=meta,proto3" json:"meta,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Revision for this Configuration. Systems that non-atomically write + // configuration should populate and require revision, leveraging canonical + // protobuf serialization of fields in order. Presence of this field makes no + // guarantee. Consumers should account for atomicity constraints of their + // environment and any custom encoding. + Revision int64 `protobuf:"varint,536870911,opt,name=revision,proto3" json:"revision,omitempty"` +} + +func (x *Configuration) Reset() { + *x = Configuration{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_target_target_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Configuration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Configuration) ProtoMessage() {} + +func (x *Configuration) ProtoReflect() protoreflect.Message { + mi := &file_proto_target_target_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Configuration.ProtoReflect.Descriptor instead. +func (*Configuration) Descriptor() ([]byte, []int) { + return file_proto_target_target_proto_rawDescGZIP(), []int{0} +} + +func (x *Configuration) GetRequest() map[string]*gnmi.SubscribeRequest { + if x != nil { + return x.Request + } + return nil +} + +func (x *Configuration) GetTarget() map[string]*Target { + if x != nil { + return x.Target + } + return nil +} + +func (x *Configuration) GetInstanceId() string { + if x != nil { + return x.InstanceId + } + return "" +} + +func (x *Configuration) GetMeta() map[string]string { + if x != nil { + return x.Meta + } + return nil +} + +func (x *Configuration) GetRevision() int64 { + if x != nil { + return x.Revision + } + return 0 +} + +// Target is the information necessary to establish a single gNMI Subscribe RPC +// to be collected and cached. +type Target struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of address and port or name that resolves to an address and port. + Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` + // Credentials to use in metadata for authorization of the RPC + Credentials *Credentials `protobuf:"bytes,2,opt,name=credentials,proto3" json:"credentials,omitempty"` + // The request to be sent to the target. The string supplied is looked up in + // the request map of the Configuration message. + Request string `protobuf:"bytes,3,opt,name=request,proto3" json:"request,omitempty"` + // Additional target metadata. + Meta map[string]string `protobuf:"bytes,4,rep,name=meta,proto3" json:"meta,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // How should the target be dialed. This option allows for a custom + // implementation for how this target is to be reached. If unset the + // collector's default implementation will be used. + Dialer string `protobuf:"bytes,5,opt,name=dialer,proto3" json:"dialer,omitempty"` +} + +func (x *Target) Reset() { + *x = Target{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_target_target_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Target) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Target) ProtoMessage() {} + +func (x *Target) ProtoReflect() protoreflect.Message { + mi := &file_proto_target_target_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Target.ProtoReflect.Descriptor instead. +func (*Target) Descriptor() ([]byte, []int) { + return file_proto_target_target_proto_rawDescGZIP(), []int{1} +} + +func (x *Target) GetAddresses() []string { + if x != nil { + return x.Addresses + } + return nil +} + +func (x *Target) GetCredentials() *Credentials { + if x != nil { + return x.Credentials + } + return nil +} + +func (x *Target) GetRequest() string { + if x != nil { + return x.Request + } + return "" +} + +func (x *Target) GetMeta() map[string]string { + if x != nil { + return x.Meta + } + return nil +} + +func (x *Target) GetDialer() string { + if x != nil { + return x.Dialer + } + return "" +} + +// Credentials contains the fields necessary for authentication of the client to +// the target. +type Credentials struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + // Password lookup ID. + PasswordId string `protobuf:"bytes,3,opt,name=password_id,json=passwordId,proto3" json:"password_id,omitempty"` +} + +func (x *Credentials) Reset() { + *x = Credentials{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_target_target_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Credentials) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Credentials) ProtoMessage() {} + +func (x *Credentials) ProtoReflect() protoreflect.Message { + mi := &file_proto_target_target_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Credentials.ProtoReflect.Descriptor instead. +func (*Credentials) Descriptor() ([]byte, []int) { + return file_proto_target_target_proto_rawDescGZIP(), []int{2} +} + +func (x *Credentials) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *Credentials) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *Credentials) GetPasswordId() string { + if x != nil { + return x.PasswordId + } + return "" +} + +var File_proto_target_target_proto protoreflect.FileDescriptor + +var file_proto_target_target_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x1a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x03, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x33, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0xff, 0xff, 0xff, 0xff, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x52, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x49, 0x0a, 0x0b, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf6, + 0x01, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x73, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x61, 0x6c, 0x65, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x61, 0x6c, 0x65, 0x72, 0x1a, 0x37, + 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x66, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x42, + 0x29, 0x5a, 0x27, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, + 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_proto_target_target_proto_rawDescOnce sync.Once + file_proto_target_target_proto_rawDescData = file_proto_target_target_proto_rawDesc +) + +func file_proto_target_target_proto_rawDescGZIP() []byte { + file_proto_target_target_proto_rawDescOnce.Do(func() { + file_proto_target_target_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_target_target_proto_rawDescData) + }) + return file_proto_target_target_proto_rawDescData +} + +var file_proto_target_target_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_proto_target_target_proto_goTypes = []interface{}{ + (*Configuration)(nil), // 0: target.Configuration + (*Target)(nil), // 1: target.Target + (*Credentials)(nil), // 2: target.Credentials + nil, // 3: target.Configuration.RequestEntry + nil, // 4: target.Configuration.TargetEntry + nil, // 5: target.Configuration.MetaEntry + nil, // 6: target.Target.MetaEntry + (*gnmi.SubscribeRequest)(nil), // 7: gnmi.SubscribeRequest +} +var file_proto_target_target_proto_depIdxs = []int32{ + 3, // 0: target.Configuration.request:type_name -> target.Configuration.RequestEntry + 4, // 1: target.Configuration.target:type_name -> target.Configuration.TargetEntry + 5, // 2: target.Configuration.meta:type_name -> target.Configuration.MetaEntry + 2, // 3: target.Target.credentials:type_name -> target.Credentials + 6, // 4: target.Target.meta:type_name -> target.Target.MetaEntry + 7, // 5: target.Configuration.RequestEntry.value:type_name -> gnmi.SubscribeRequest + 1, // 6: target.Configuration.TargetEntry.value:type_name -> target.Target + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_proto_target_target_proto_init() } +func file_proto_target_target_proto_init() { + if File_proto_target_target_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_proto_target_target_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_target_target_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Target); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_target_target_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Credentials); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_proto_target_target_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_proto_target_target_proto_goTypes, + DependencyIndexes: file_proto_target_target_proto_depIdxs, + MessageInfos: file_proto_target_target_proto_msgTypes, + }.Build() + File_proto_target_target_proto = out.File + file_proto_target_target_proto_rawDesc = nil + file_proto_target_target_proto_goTypes = nil + file_proto_target_target_proto_depIdxs = nil +} diff --git a/proto/target/target.proto b/proto/target/target.proto index b55711e..ea1372d 100644 --- a/proto/target/target.proto +++ b/proto/target/target.proto @@ -19,7 +19,6 @@ syntax = "proto3"; // collector to connect to multiple gNMI targets. package target; -import "storage/datapol/annotations/proto/semantic_annotations.proto"; import "github.com/openconfig/gnmi/proto/gnmi/gnmi.proto"; option go_package = "github.com/openconfig/gnmi/proto/target"; @@ -72,7 +71,7 @@ message Target { // the target. message Credentials { string username = 1; - string password = 2 [(datapol.semantic_type) = ST_ACCOUNT_CREDENTIAL]; + string password = 2; // Password lookup ID. string password_id = 3; } diff --git a/proto/target/target_pb2.py b/proto/target/target_pb2.py new file mode 100644 index 0000000..cedc075 --- /dev/null +++ b/proto/target/target_pb2.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: proto/target/target.proto +# Protobuf Python Version: 5.27.2 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 2, + '', + 'proto/target/target.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from github.com.openconfig.gnmi.proto.gnmi import gnmi_pb2 as github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi_dot_gnmi__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19proto/target/target.proto\x12\x06target\x1a\x30github.com/openconfig/gnmi/proto/gnmi/gnmi.proto\"\x85\x03\n\rConfiguration\x12\x33\n\x07request\x18\x01 \x03(\x0b\x32\".target.Configuration.RequestEntry\x12\x31\n\x06target\x18\x02 \x03(\x0b\x32!.target.Configuration.TargetEntry\x12\x13\n\x0binstance_id\x18\x03 \x01(\t\x12-\n\x04meta\x18\x04 \x03(\x0b\x32\x1f.target.Configuration.MetaEntry\x12\x14\n\x08revision\x18\xff\xff\xff\xff\x01 \x01(\x03\x1a\x46\n\x0cRequestEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.gnmi.SubscribeRequest:\x02\x38\x01\x1a=\n\x0bTargetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.target.Target:\x02\x38\x01\x1a+\n\tMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbb\x01\n\x06Target\x12\x11\n\taddresses\x18\x01 \x03(\t\x12(\n\x0b\x63redentials\x18\x02 \x01(\x0b\x32\x13.target.Credentials\x12\x0f\n\x07request\x18\x03 \x01(\t\x12&\n\x04meta\x18\x04 \x03(\x0b\x32\x18.target.Target.MetaEntry\x12\x0e\n\x06\x64ialer\x18\x05 \x01(\t\x1a+\n\tMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"F\n\x0b\x43redentials\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12\x13\n\x0bpassword_id\x18\x03 \x01(\tB)Z\'github.com/openconfig/gnmi/proto/targetb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.target.target_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\'github.com/openconfig/gnmi/proto/target' + _globals['_CONFIGURATION_REQUESTENTRY']._loaded_options = None + _globals['_CONFIGURATION_REQUESTENTRY']._serialized_options = b'8\001' + _globals['_CONFIGURATION_TARGETENTRY']._loaded_options = None + _globals['_CONFIGURATION_TARGETENTRY']._serialized_options = b'8\001' + _globals['_CONFIGURATION_METAENTRY']._loaded_options = None + _globals['_CONFIGURATION_METAENTRY']._serialized_options = b'8\001' + _globals['_TARGET_METAENTRY']._loaded_options = None + _globals['_TARGET_METAENTRY']._serialized_options = b'8\001' + _globals['_CONFIGURATION']._serialized_start=88 + _globals['_CONFIGURATION']._serialized_end=477 + _globals['_CONFIGURATION_REQUESTENTRY']._serialized_start=299 + _globals['_CONFIGURATION_REQUESTENTRY']._serialized_end=369 + _globals['_CONFIGURATION_TARGETENTRY']._serialized_start=371 + _globals['_CONFIGURATION_TARGETENTRY']._serialized_end=432 + _globals['_CONFIGURATION_METAENTRY']._serialized_start=434 + _globals['_CONFIGURATION_METAENTRY']._serialized_end=477 + _globals['_TARGET']._serialized_start=480 + _globals['_TARGET']._serialized_end=667 + _globals['_TARGET_METAENTRY']._serialized_start=434 + _globals['_TARGET_METAENTRY']._serialized_end=477 + _globals['_CREDENTIALS']._serialized_start=669 + _globals['_CREDENTIALS']._serialized_end=739 +# @@protoc_insertion_point(module_scope) diff --git a/proto/target/target_pb2_grpc.py b/proto/target/target_pb2_grpc.py new file mode 100644 index 0000000..4bf0ab1 --- /dev/null +++ b/proto/target/target_pb2_grpc.py @@ -0,0 +1,24 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + + +GRPC_GENERATED_VERSION = '1.66.2' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in proto/target/target_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) diff --git a/testing/fake/proto/fake.pb.go b/testing/fake/proto/fake.pb.go new file mode 100644 index 0000000..572f776 --- /dev/null +++ b/testing/fake/proto/fake.pb.go @@ -0,0 +1,2563 @@ +// +//Copyright 2022 Google Inc. +// +//Licensed under the Apache License, Version 2.0 (the "License"); +//you may not use this file except in compliance with the License. +//You may obtain a copy of the License at +// +//http://www.apache.org/licenses/LICENSE-2.0 +// +//Unless required by applicable law or agreed to in writing, software +//distributed under the License is distributed on an "AS IS" BASIS, +//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +//See the License for the specific language governing permissions and +//limitations under the License. + +// fake.proto describes the message format for creating integration tests for +// streaming telemetry components by generating a reproducible stream of +// updates from fake targets. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v3.21.12 +// source: testing/fake/proto/fake.proto + +package gnmi_fake + +import ( + gnmi "github.com/openconfig/gnmi/proto/gnmi" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type State int32 + +const ( + State_STOPPED State = 0 + State_INIT State = 1 + State_RUNNING State = 2 +) + +// Enum value maps for State. +var ( + State_name = map[int32]string{ + 0: "STOPPED", + 1: "INIT", + 2: "RUNNING", + } + State_value = map[string]int32{ + "STOPPED": 0, + "INIT": 1, + "RUNNING": 2, + } +) + +func (x State) Enum() *State { + p := new(State) + *p = x + return p +} + +func (x State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (State) Descriptor() protoreflect.EnumDescriptor { + return file_testing_fake_proto_fake_proto_enumTypes[0].Descriptor() +} + +func (State) Type() protoreflect.EnumType { + return &file_testing_fake_proto_fake_proto_enumTypes[0] +} + +func (x State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use State.Descriptor instead. +func (State) EnumDescriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{0} +} + +type Config_ClientType int32 + +const ( + Config_GRPC Config_ClientType = 0 + Config_STUBBY Config_ClientType = 1 + Config_GRPC_GNMI Config_ClientType = 2 + Config_GRPC_GNMI_PROD Config_ClientType = 3 +) + +// Enum value maps for Config_ClientType. +var ( + Config_ClientType_name = map[int32]string{ + 0: "GRPC", + 1: "STUBBY", + 2: "GRPC_GNMI", + 3: "GRPC_GNMI_PROD", + } + Config_ClientType_value = map[string]int32{ + "GRPC": 0, + "STUBBY": 1, + "GRPC_GNMI": 2, + "GRPC_GNMI_PROD": 3, + } +) + +func (x Config_ClientType) Enum() *Config_ClientType { + p := new(Config_ClientType) + *p = x + return p +} + +func (x Config_ClientType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_ClientType) Descriptor() protoreflect.EnumDescriptor { + return file_testing_fake_proto_fake_proto_enumTypes[1].Descriptor() +} + +func (Config_ClientType) Type() protoreflect.EnumType { + return &file_testing_fake_proto_fake_proto_enumTypes[1] +} + +func (x Config_ClientType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_ClientType.Descriptor instead. +func (Config_ClientType) EnumDescriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{2, 0} +} + +// Configuration is used to store all agent configuration for the fake agent +// server. Each config describes a single agent hosted on the server. +type Configuration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Repeated list of targets to emulate. + Config []*Config `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"` +} + +func (x *Configuration) Reset() { + *x = Configuration{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Configuration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Configuration) ProtoMessage() {} + +func (x *Configuration) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Configuration.ProtoReflect.Descriptor instead. +func (*Configuration) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{0} +} + +func (x *Configuration) GetConfig() []*Config { + if x != nil { + return x.Config + } + return nil +} + +type Credentials struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` +} + +func (x *Credentials) Reset() { + *x = Credentials{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Credentials) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Credentials) ProtoMessage() {} + +func (x *Credentials) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Credentials.ProtoReflect.Descriptor instead. +func (*Credentials) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{1} +} + +func (x *Credentials) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *Credentials) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +// Config is a collection of values that together represent the update streams +// for one or more fake devices. +type Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The target for which the fake will publish values for. + Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` + // Port for the agent to listen on. If 0 or unset the agent will pick a port + // for this agent. + Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + // A global random seed used in generating subsequent values. Set to have + // reproducible results. + // + // Deprecated: Marked as deprecated in testing/fake/proto/fake.proto. + Seed int64 `protobuf:"varint,6,opt,name=seed,proto3" json:"seed,omitempty"` + // The list of values generated. Each value will contain its corresponding + // target as the first string in the event.GetValue().path meaning that it is + // possible to generate streams that will be rejected by the cache for testing + // purposes. + // + // Deprecated: Marked as deprecated in testing/fake/proto/fake.proto. + Values []*Value `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` + // Setting disable sync will keep the configured client from autogenerating a + // sync message. This allows negative testing on sync handling. + DisableSync bool `protobuf:"varint,4,opt,name=disable_sync,json=disableSync,proto3" json:"disable_sync,omitempty"` + // Type of client to fake either Stubby or GRPC based fake. + ClientType Config_ClientType `protobuf:"varint,5,opt,name=client_type,json=clientType,proto3,enum=gnmi.fake.Config_ClientType" json:"client_type,omitempty"` + // Disable EOF will hold open the subscription and not automagically close + // the stream once the value queue is empty. + DisableEof bool `protobuf:"varint,7,opt,name=disable_eof,json=disableEof,proto3" json:"disable_eof,omitempty"` + // Per RPC credentials for the agent. If not set no per RPC auth will be used. + Credentials *Credentials `protobuf:"bytes,8,opt,name=credentials,proto3" json:"credentials,omitempty"` + // TLS cert for use on the agent. If not set the transport will not be TLS. + Cert []byte `protobuf:"bytes,9,opt,name=cert,proto3" json:"cert,omitempty"` + // Honor the delay between events in the generated value streams. Default will + // play events as fast as the can be streamed. + EnableDelay bool `protobuf:"varint,10,opt,name=enable_delay,json=enableDelay,proto3" json:"enable_delay,omitempty"` + // Generator for value series for the target. + // + // Types that are assignable to Generator: + // + // *Config_Custom + // *Config_Random + // *Config_Fixed + Generator isConfig_Generator `protobuf_oneof:"generator"` + // tunnel_addr is the address of the tunnel server. + TunnelAddr string `protobuf:"bytes,11,opt,name=tunnel_addr,json=tunnelAddr,proto3" json:"tunnel_addr,omitempty"` + // tunnel_crt is the certificate file for the tunnel conection. + TunnelCrt string `protobuf:"bytes,12,opt,name=tunnel_crt,json=tunnelCrt,proto3" json:"tunnel_crt,omitempty"` +} + +func (x *Config) Reset() { + *x = Config{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Config) ProtoMessage() {} + +func (x *Config) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Config.ProtoReflect.Descriptor instead. +func (*Config) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{2} +} + +func (x *Config) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +func (x *Config) GetPort() int32 { + if x != nil { + return x.Port + } + return 0 +} + +// Deprecated: Marked as deprecated in testing/fake/proto/fake.proto. +func (x *Config) GetSeed() int64 { + if x != nil { + return x.Seed + } + return 0 +} + +// Deprecated: Marked as deprecated in testing/fake/proto/fake.proto. +func (x *Config) GetValues() []*Value { + if x != nil { + return x.Values + } + return nil +} + +func (x *Config) GetDisableSync() bool { + if x != nil { + return x.DisableSync + } + return false +} + +func (x *Config) GetClientType() Config_ClientType { + if x != nil { + return x.ClientType + } + return Config_GRPC +} + +func (x *Config) GetDisableEof() bool { + if x != nil { + return x.DisableEof + } + return false +} + +func (x *Config) GetCredentials() *Credentials { + if x != nil { + return x.Credentials + } + return nil +} + +func (x *Config) GetCert() []byte { + if x != nil { + return x.Cert + } + return nil +} + +func (x *Config) GetEnableDelay() bool { + if x != nil { + return x.EnableDelay + } + return false +} + +func (m *Config) GetGenerator() isConfig_Generator { + if m != nil { + return m.Generator + } + return nil +} + +func (x *Config) GetCustom() *anypb.Any { + if x, ok := x.GetGenerator().(*Config_Custom); ok { + return x.Custom + } + return nil +} + +func (x *Config) GetRandom() *RandomGenerator { + if x, ok := x.GetGenerator().(*Config_Random); ok { + return x.Random + } + return nil +} + +func (x *Config) GetFixed() *FixedGenerator { + if x, ok := x.GetGenerator().(*Config_Fixed); ok { + return x.Fixed + } + return nil +} + +func (x *Config) GetTunnelAddr() string { + if x != nil { + return x.TunnelAddr + } + return "" +} + +func (x *Config) GetTunnelCrt() string { + if x != nil { + return x.TunnelCrt + } + return "" +} + +type isConfig_Generator interface { + isConfig_Generator() +} + +type Config_Custom struct { + Custom *anypb.Any `protobuf:"bytes,100,opt,name=custom,proto3,oneof"` +} + +type Config_Random struct { + Random *RandomGenerator `protobuf:"bytes,101,opt,name=random,proto3,oneof"` +} + +type Config_Fixed struct { + Fixed *FixedGenerator `protobuf:"bytes,102,opt,name=fixed,proto3,oneof"` +} + +func (*Config_Custom) isConfig_Generator() {} + +func (*Config_Random) isConfig_Generator() {} + +func (*Config_Fixed) isConfig_Generator() {} + +type FixedGenerator struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Responses []*gnmi.SubscribeResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` +} + +func (x *FixedGenerator) Reset() { + *x = FixedGenerator{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FixedGenerator) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FixedGenerator) ProtoMessage() {} + +func (x *FixedGenerator) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FixedGenerator.ProtoReflect.Descriptor instead. +func (*FixedGenerator) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{3} +} + +func (x *FixedGenerator) GetResponses() []*gnmi.SubscribeResponse { + if x != nil { + return x.Responses + } + return nil +} + +type RandomGenerator struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Seed int64 `protobuf:"varint,1,opt,name=seed,proto3" json:"seed,omitempty"` + Values []*Value `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *RandomGenerator) Reset() { + *x = RandomGenerator{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RandomGenerator) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RandomGenerator) ProtoMessage() {} + +func (x *RandomGenerator) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RandomGenerator.ProtoReflect.Descriptor instead. +func (*RandomGenerator) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{4} +} + +func (x *RandomGenerator) GetSeed() int64 { + if x != nil { + return x.Seed + } + return 0 +} + +func (x *RandomGenerator) GetValues() []*Value { + if x != nil { + return x.Values + } + return nil +} + +// Delete will cause the value to be deleted at the Value's path. +type DeleteValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *DeleteValue) Reset() { + *x = DeleteValue{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteValue) ProtoMessage() {} + +func (x *DeleteValue) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteValue.ProtoReflect.Descriptor instead. +func (*DeleteValue) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{5} +} + +// Value is the main message that will trigger a stream of updates for a given +// path. A file containing a list of values can be used to simulate a network +// device for integration tests. +type Value struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The device specific, or OpenConfig path corresponding to a value. + Path []string `protobuf:"bytes,1,rep,name=path,proto3" json:"path,omitempty"` + // The initial timestamp and configuration on how the timestamp will change + // for subsequent values. If timestamp is not set the default will assume to + // be the current system time. + Timestamp *Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // If set, repeat indicates that the value should be repeated this many times, + // otherwise it is repeated indefinitely. + Repeat int32 `protobuf:"varint,6,opt,name=repeat,proto3" json:"repeat,omitempty"` + // A local random seed used in generating subsequent values for this path. If + // not set, will share the global random source with seed defined in Config. + Seed int64 `protobuf:"varint,7,opt,name=seed,proto3" json:"seed,omitempty"` + // The initial value of the chosen type including configuration on how the + // value will mutate for subsequent updates. + // + // Types that are assignable to Value: + // + // *Value_IntValue + // *Value_DoubleValue + // *Value_StringValue + // *Value_Sync + // *Value_Delete + // *Value_BoolValue + // *Value_UintValue + // *Value_StringListValue + Value isValue_Value `protobuf_oneof:"value"` +} + +func (x *Value) Reset() { + *x = Value{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Value) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Value) ProtoMessage() {} + +func (x *Value) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Value.ProtoReflect.Descriptor instead. +func (*Value) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{6} +} + +func (x *Value) GetPath() []string { + if x != nil { + return x.Path + } + return nil +} + +func (x *Value) GetTimestamp() *Timestamp { + if x != nil { + return x.Timestamp + } + return nil +} + +func (x *Value) GetRepeat() int32 { + if x != nil { + return x.Repeat + } + return 0 +} + +func (x *Value) GetSeed() int64 { + if x != nil { + return x.Seed + } + return 0 +} + +func (m *Value) GetValue() isValue_Value { + if m != nil { + return m.Value + } + return nil +} + +func (x *Value) GetIntValue() *IntValue { + if x, ok := x.GetValue().(*Value_IntValue); ok { + return x.IntValue + } + return nil +} + +func (x *Value) GetDoubleValue() *DoubleValue { + if x, ok := x.GetValue().(*Value_DoubleValue); ok { + return x.DoubleValue + } + return nil +} + +func (x *Value) GetStringValue() *StringValue { + if x, ok := x.GetValue().(*Value_StringValue); ok { + return x.StringValue + } + return nil +} + +func (x *Value) GetSync() uint64 { + if x, ok := x.GetValue().(*Value_Sync); ok { + return x.Sync + } + return 0 +} + +func (x *Value) GetDelete() *DeleteValue { + if x, ok := x.GetValue().(*Value_Delete); ok { + return x.Delete + } + return nil +} + +func (x *Value) GetBoolValue() *BoolValue { + if x, ok := x.GetValue().(*Value_BoolValue); ok { + return x.BoolValue + } + return nil +} + +func (x *Value) GetUintValue() *UintValue { + if x, ok := x.GetValue().(*Value_UintValue); ok { + return x.UintValue + } + return nil +} + +func (x *Value) GetStringListValue() *StringListValue { + if x, ok := x.GetValue().(*Value_StringListValue); ok { + return x.StringListValue + } + return nil +} + +type isValue_Value interface { + isValue_Value() +} + +type Value_IntValue struct { + IntValue *IntValue `protobuf:"bytes,100,opt,name=int_value,json=intValue,proto3,oneof"` +} + +type Value_DoubleValue struct { + DoubleValue *DoubleValue `protobuf:"bytes,101,opt,name=double_value,json=doubleValue,proto3,oneof"` +} + +type Value_StringValue struct { + StringValue *StringValue `protobuf:"bytes,102,opt,name=string_value,json=stringValue,proto3,oneof"` +} + +type Value_Sync struct { + Sync uint64 `protobuf:"varint,103,opt,name=sync,proto3,oneof"` +} + +type Value_Delete struct { + Delete *DeleteValue `protobuf:"bytes,104,opt,name=delete,proto3,oneof"` +} + +type Value_BoolValue struct { + BoolValue *BoolValue `protobuf:"bytes,105,opt,name=bool_value,json=boolValue,proto3,oneof"` +} + +type Value_UintValue struct { + UintValue *UintValue `protobuf:"bytes,106,opt,name=uint_value,json=uintValue,proto3,oneof"` +} + +type Value_StringListValue struct { + StringListValue *StringListValue `protobuf:"bytes,107,opt,name=string_list_value,json=stringListValue,proto3,oneof"` +} + +func (*Value_IntValue) isValue_Value() {} + +func (*Value_DoubleValue) isValue_Value() {} + +func (*Value_StringValue) isValue_Value() {} + +func (*Value_Sync) isValue_Value() {} + +func (*Value_Delete) isValue_Value() {} + +func (*Value_BoolValue) isValue_Value() {} + +func (*Value_UintValue) isValue_Value() {} + +func (*Value_StringListValue) isValue_Value() {} + +type Timestamp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Initial timestamp for the corresponding value, nanoseconds since epoch. + // This value need have no relation to absolute real-time as the stream of + // of updates is generated without regard to the real clock and can be run + // repeatably at any time if the seed is set in the corresponding Value. + Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // These values will vary the change in the timestamp for subsequent outputs + // by a value between delta_min and delta_max. Set to the same value to force + // a set periodic interval. + DeltaMin int64 `protobuf:"varint,2,opt,name=delta_min,json=deltaMin,proto3" json:"delta_min,omitempty"` + DeltaMax int64 `protobuf:"varint,3,opt,name=delta_max,json=deltaMax,proto3" json:"delta_max,omitempty"` +} + +func (x *Timestamp) Reset() { + *x = Timestamp{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Timestamp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Timestamp) ProtoMessage() {} + +func (x *Timestamp) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Timestamp.ProtoReflect.Descriptor instead. +func (*Timestamp) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{7} +} + +func (x *Timestamp) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *Timestamp) GetDeltaMin() int64 { + if x != nil { + return x.DeltaMin + } + return 0 +} + +func (x *Timestamp) GetDeltaMax() int64 { + if x != nil { + return x.DeltaMax + } + return 0 +} + +type IntValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If distribution is IntRange, value is used as the initial value + // inside [minimum, maximum] and hold the value as it mutates. + // If distribution is IntList, value is only used to hold the value as it + // mutates. + // If no distribution is set, value is used as it mutates, i.e. constant + // update. + Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + // Types that are assignable to Distribution: + // + // *IntValue_Range + // *IntValue_List + Distribution isIntValue_Distribution `protobuf_oneof:"distribution"` +} + +func (x *IntValue) Reset() { + *x = IntValue{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IntValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IntValue) ProtoMessage() {} + +func (x *IntValue) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IntValue.ProtoReflect.Descriptor instead. +func (*IntValue) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{8} +} + +func (x *IntValue) GetValue() int64 { + if x != nil { + return x.Value + } + return 0 +} + +func (m *IntValue) GetDistribution() isIntValue_Distribution { + if m != nil { + return m.Distribution + } + return nil +} + +func (x *IntValue) GetRange() *IntRange { + if x, ok := x.GetDistribution().(*IntValue_Range); ok { + return x.Range + } + return nil +} + +func (x *IntValue) GetList() *IntList { + if x, ok := x.GetDistribution().(*IntValue_List); ok { + return x.List + } + return nil +} + +type isIntValue_Distribution interface { + isIntValue_Distribution() +} + +type IntValue_Range struct { + Range *IntRange `protobuf:"bytes,2,opt,name=range,proto3,oneof"` +} + +type IntValue_List struct { + List *IntList `protobuf:"bytes,3,opt,name=list,proto3,oneof"` +} + +func (*IntValue_Range) isIntValue_Distribution() {} + +func (*IntValue_List) isIntValue_Distribution() {} + +type IntRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The range of the value allowed. + Minimum int64 `protobuf:"varint,1,opt,name=minimum,proto3" json:"minimum,omitempty"` + Maximum int64 `protobuf:"varint,2,opt,name=maximum,proto3" json:"maximum,omitempty"` + // If set, the value is cumulative and the subsequent value is value + delta + // where delta is randomly chosen between delta_min and delta_max. The range + // minimum and maximum are still respected and values will saturate at the + // boundaries if they are exceeded. If not set subsequent value is a value + // randomly chosen between minimum and maximum. + DeltaMin int64 `protobuf:"varint,3,opt,name=delta_min,json=deltaMin,proto3" json:"delta_min,omitempty"` + DeltaMax int64 `protobuf:"varint,4,opt,name=delta_max,json=deltaMax,proto3" json:"delta_max,omitempty"` +} + +func (x *IntRange) Reset() { + *x = IntRange{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IntRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IntRange) ProtoMessage() {} + +func (x *IntRange) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IntRange.ProtoReflect.Descriptor instead. +func (*IntRange) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{9} +} + +func (x *IntRange) GetMinimum() int64 { + if x != nil { + return x.Minimum + } + return 0 +} + +func (x *IntRange) GetMaximum() int64 { + if x != nil { + return x.Maximum + } + return 0 +} + +func (x *IntRange) GetDeltaMin() int64 { + if x != nil { + return x.DeltaMin + } + return 0 +} + +func (x *IntRange) GetDeltaMax() int64 { + if x != nil { + return x.DeltaMax + } + return 0 +} + +type IntList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The set of values which can be used. + Options []int64 `protobuf:"varint,1,rep,packed,name=options,proto3" json:"options,omitempty"` + // Set to true to randomize selection of value from options. If false, the + // values are cycled in order, starting at index 0. + Random bool `protobuf:"varint,2,opt,name=random,proto3" json:"random,omitempty"` +} + +func (x *IntList) Reset() { + *x = IntList{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IntList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IntList) ProtoMessage() {} + +func (x *IntList) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IntList.ProtoReflect.Descriptor instead. +func (*IntList) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{10} +} + +func (x *IntList) GetOptions() []int64 { + if x != nil { + return x.Options + } + return nil +} + +func (x *IntList) GetRandom() bool { + if x != nil { + return x.Random + } + return false +} + +type DoubleValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If distribution is DoubleRange, value is used as the initial value + // inside [minimum, maximum] and hold the value as it mutates. + // If distribution is DoubleList, value is only used to hold the value as it + // mutates. + // If no distribution is set, value is used as it mutates, i.e. constant + // update. + Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` + // Types that are assignable to Distribution: + // + // *DoubleValue_Range + // *DoubleValue_List + Distribution isDoubleValue_Distribution `protobuf_oneof:"distribution"` +} + +func (x *DoubleValue) Reset() { + *x = DoubleValue{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DoubleValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoubleValue) ProtoMessage() {} + +func (x *DoubleValue) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DoubleValue.ProtoReflect.Descriptor instead. +func (*DoubleValue) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{11} +} + +func (x *DoubleValue) GetValue() float64 { + if x != nil { + return x.Value + } + return 0 +} + +func (m *DoubleValue) GetDistribution() isDoubleValue_Distribution { + if m != nil { + return m.Distribution + } + return nil +} + +func (x *DoubleValue) GetRange() *DoubleRange { + if x, ok := x.GetDistribution().(*DoubleValue_Range); ok { + return x.Range + } + return nil +} + +func (x *DoubleValue) GetList() *DoubleList { + if x, ok := x.GetDistribution().(*DoubleValue_List); ok { + return x.List + } + return nil +} + +type isDoubleValue_Distribution interface { + isDoubleValue_Distribution() +} + +type DoubleValue_Range struct { + Range *DoubleRange `protobuf:"bytes,2,opt,name=range,proto3,oneof"` +} + +type DoubleValue_List struct { + List *DoubleList `protobuf:"bytes,3,opt,name=list,proto3,oneof"` +} + +func (*DoubleValue_Range) isDoubleValue_Distribution() {} + +func (*DoubleValue_List) isDoubleValue_Distribution() {} + +type DoubleRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The range of the value allowed. + Minimum float64 `protobuf:"fixed64,1,opt,name=minimum,proto3" json:"minimum,omitempty"` + Maximum float64 `protobuf:"fixed64,2,opt,name=maximum,proto3" json:"maximum,omitempty"` + // If set, the value is cumulative and the subsequent value is value + delta + // where delta is randomly chosen between delta_min and delta_max. The range + // minimum and maximum are still respected. If not set subsequent value is a + // value randomly chosen between minimum and maximum. + DeltaMin float64 `protobuf:"fixed64,3,opt,name=delta_min,json=deltaMin,proto3" json:"delta_min,omitempty"` + DeltaMax float64 `protobuf:"fixed64,4,opt,name=delta_max,json=deltaMax,proto3" json:"delta_max,omitempty"` +} + +func (x *DoubleRange) Reset() { + *x = DoubleRange{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DoubleRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoubleRange) ProtoMessage() {} + +func (x *DoubleRange) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DoubleRange.ProtoReflect.Descriptor instead. +func (*DoubleRange) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{12} +} + +func (x *DoubleRange) GetMinimum() float64 { + if x != nil { + return x.Minimum + } + return 0 +} + +func (x *DoubleRange) GetMaximum() float64 { + if x != nil { + return x.Maximum + } + return 0 +} + +func (x *DoubleRange) GetDeltaMin() float64 { + if x != nil { + return x.DeltaMin + } + return 0 +} + +func (x *DoubleRange) GetDeltaMax() float64 { + if x != nil { + return x.DeltaMax + } + return 0 +} + +type DoubleList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The set of values which can be used. + Options []float64 `protobuf:"fixed64,1,rep,packed,name=options,proto3" json:"options,omitempty"` + // Set to true to randomize selection of value from options. If false, the + // values are cycled in order. + Random bool `protobuf:"varint,2,opt,name=random,proto3" json:"random,omitempty"` +} + +func (x *DoubleList) Reset() { + *x = DoubleList{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DoubleList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoubleList) ProtoMessage() {} + +func (x *DoubleList) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DoubleList.ProtoReflect.Descriptor instead. +func (*DoubleList) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{13} +} + +func (x *DoubleList) GetOptions() []float64 { + if x != nil { + return x.Options + } + return nil +} + +func (x *DoubleList) GetRandom() bool { + if x != nil { + return x.Random + } + return false +} + +type StringValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If distribution is StringList, value is used to hold the value as it + // mutates. + // If no distribution is set, value is used as it mutates, i.e. constant + // update. + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + // Types that are assignable to Distribution: + // + // *StringValue_List + Distribution isStringValue_Distribution `protobuf_oneof:"distribution"` +} + +func (x *StringValue) Reset() { + *x = StringValue{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringValue) ProtoMessage() {} + +func (x *StringValue) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StringValue.ProtoReflect.Descriptor instead. +func (*StringValue) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{14} +} + +func (x *StringValue) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (m *StringValue) GetDistribution() isStringValue_Distribution { + if m != nil { + return m.Distribution + } + return nil +} + +func (x *StringValue) GetList() *StringList { + if x, ok := x.GetDistribution().(*StringValue_List); ok { + return x.List + } + return nil +} + +type isStringValue_Distribution interface { + isStringValue_Distribution() +} + +type StringValue_List struct { + List *StringList `protobuf:"bytes,2,opt,name=list,proto3,oneof"` +} + +func (*StringValue_List) isStringValue_Distribution() {} + +type StringList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The set of strings which can be used. + Options []string `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"` + // Set to true to randomize selection of value from options. If false, the + // values are cycled in order, starting at index 0. + Random bool `protobuf:"varint,2,opt,name=random,proto3" json:"random,omitempty"` +} + +func (x *StringList) Reset() { + *x = StringList{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringList) ProtoMessage() {} + +func (x *StringList) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StringList.ProtoReflect.Descriptor instead. +func (*StringList) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{15} +} + +func (x *StringList) GetOptions() []string { + if x != nil { + return x.Options + } + return nil +} + +func (x *StringList) GetRandom() bool { + if x != nil { + return x.Random + } + return false +} + +type StringListValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If distribution is StringList, value is used to hold the value as it + // mutates. + // If no distribution is set, value is used as it mutates, i.e. constant + // update. + Value []string `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"` + // Types that are assignable to Distribution: + // + // *StringListValue_List + Distribution isStringListValue_Distribution `protobuf_oneof:"distribution"` +} + +func (x *StringListValue) Reset() { + *x = StringListValue{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringListValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringListValue) ProtoMessage() {} + +func (x *StringListValue) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StringListValue.ProtoReflect.Descriptor instead. +func (*StringListValue) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{16} +} + +func (x *StringListValue) GetValue() []string { + if x != nil { + return x.Value + } + return nil +} + +func (m *StringListValue) GetDistribution() isStringListValue_Distribution { + if m != nil { + return m.Distribution + } + return nil +} + +func (x *StringListValue) GetList() *StringList { + if x, ok := x.GetDistribution().(*StringListValue_List); ok { + return x.List + } + return nil +} + +type isStringListValue_Distribution interface { + isStringListValue_Distribution() +} + +type StringListValue_List struct { + List *StringList `protobuf:"bytes,2,opt,name=list,proto3,oneof"` +} + +func (*StringListValue_List) isStringListValue_Distribution() {} + +type BoolValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If distribution is BoolList, value is only used to hold the value as it + // mutates. + // If no distribution is set, value is used as it mutates, i.e. constant + // update. + Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + // Types that are assignable to Distribution: + // + // *BoolValue_List + Distribution isBoolValue_Distribution `protobuf_oneof:"distribution"` +} + +func (x *BoolValue) Reset() { + *x = BoolValue{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoolValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoolValue) ProtoMessage() {} + +func (x *BoolValue) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BoolValue.ProtoReflect.Descriptor instead. +func (*BoolValue) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{17} +} + +func (x *BoolValue) GetValue() bool { + if x != nil { + return x.Value + } + return false +} + +func (m *BoolValue) GetDistribution() isBoolValue_Distribution { + if m != nil { + return m.Distribution + } + return nil +} + +func (x *BoolValue) GetList() *BoolList { + if x, ok := x.GetDistribution().(*BoolValue_List); ok { + return x.List + } + return nil +} + +type isBoolValue_Distribution interface { + isBoolValue_Distribution() +} + +type BoolValue_List struct { + List *BoolList `protobuf:"bytes,2,opt,name=list,proto3,oneof"` +} + +func (*BoolValue_List) isBoolValue_Distribution() {} + +type BoolList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The set of values which can be used. + Options []bool `protobuf:"varint,1,rep,packed,name=options,proto3" json:"options,omitempty"` + // Set to true to randomize selection of value from options. If false, the + // values are cycled in order, starting at index 0. + Random bool `protobuf:"varint,2,opt,name=random,proto3" json:"random,omitempty"` +} + +func (x *BoolList) Reset() { + *x = BoolList{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoolList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoolList) ProtoMessage() {} + +func (x *BoolList) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BoolList.ProtoReflect.Descriptor instead. +func (*BoolList) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{18} +} + +func (x *BoolList) GetOptions() []bool { + if x != nil { + return x.Options + } + return nil +} + +func (x *BoolList) GetRandom() bool { + if x != nil { + return x.Random + } + return false +} + +type UintValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If distribution is UintRange, value is used as the initial value + // inside [minimum, maximum] and hold the value as it mutates. + // If distribution is UintList, value is only used to hold the value as it + // mutates. + // If no distribution is set, value is used as it mutates, i.e. constant + // update. + Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + // Types that are assignable to Distribution: + // + // *UintValue_Range + // *UintValue_List + Distribution isUintValue_Distribution `protobuf_oneof:"distribution"` +} + +func (x *UintValue) Reset() { + *x = UintValue{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UintValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UintValue) ProtoMessage() {} + +func (x *UintValue) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UintValue.ProtoReflect.Descriptor instead. +func (*UintValue) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{19} +} + +func (x *UintValue) GetValue() uint64 { + if x != nil { + return x.Value + } + return 0 +} + +func (m *UintValue) GetDistribution() isUintValue_Distribution { + if m != nil { + return m.Distribution + } + return nil +} + +func (x *UintValue) GetRange() *UintRange { + if x, ok := x.GetDistribution().(*UintValue_Range); ok { + return x.Range + } + return nil +} + +func (x *UintValue) GetList() *UintList { + if x, ok := x.GetDistribution().(*UintValue_List); ok { + return x.List + } + return nil +} + +type isUintValue_Distribution interface { + isUintValue_Distribution() +} + +type UintValue_Range struct { + Range *UintRange `protobuf:"bytes,2,opt,name=range,proto3,oneof"` +} + +type UintValue_List struct { + List *UintList `protobuf:"bytes,3,opt,name=list,proto3,oneof"` +} + +func (*UintValue_Range) isUintValue_Distribution() {} + +func (*UintValue_List) isUintValue_Distribution() {} + +type UintRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The range of the value allowed. + Minimum uint64 `protobuf:"varint,1,opt,name=minimum,proto3" json:"minimum,omitempty"` + Maximum uint64 `protobuf:"varint,2,opt,name=maximum,proto3" json:"maximum,omitempty"` + // If set, the value is cumulative and the subsequent value is value + delta + // where delta is randomly chosen between delta_min and delta_max. The range + // minimum and maximum are still respected and values will saturate at the + // boundaries if they are exceeded. If not set subsequent value is a value + // randomly chosen between minimum and maximum. + DeltaMin int64 `protobuf:"varint,3,opt,name=delta_min,json=deltaMin,proto3" json:"delta_min,omitempty"` + DeltaMax int64 `protobuf:"varint,4,opt,name=delta_max,json=deltaMax,proto3" json:"delta_max,omitempty"` +} + +func (x *UintRange) Reset() { + *x = UintRange{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UintRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UintRange) ProtoMessage() {} + +func (x *UintRange) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UintRange.ProtoReflect.Descriptor instead. +func (*UintRange) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{20} +} + +func (x *UintRange) GetMinimum() uint64 { + if x != nil { + return x.Minimum + } + return 0 +} + +func (x *UintRange) GetMaximum() uint64 { + if x != nil { + return x.Maximum + } + return 0 +} + +func (x *UintRange) GetDeltaMin() int64 { + if x != nil { + return x.DeltaMin + } + return 0 +} + +func (x *UintRange) GetDeltaMax() int64 { + if x != nil { + return x.DeltaMax + } + return 0 +} + +type UintList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The set of values which can be used. + Options []uint64 `protobuf:"varint,1,rep,packed,name=options,proto3" json:"options,omitempty"` + // Set to true to randomize selection of value from options. If false, the + // values are cycled in order, starting at index 0. + Random bool `protobuf:"varint,2,opt,name=random,proto3" json:"random,omitempty"` +} + +func (x *UintList) Reset() { + *x = UintList{} + if protoimpl.UnsafeEnabled { + mi := &file_testing_fake_proto_fake_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UintList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UintList) ProtoMessage() {} + +func (x *UintList) ProtoReflect() protoreflect.Message { + mi := &file_testing_fake_proto_fake_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UintList.ProtoReflect.Descriptor instead. +func (*UintList) Descriptor() ([]byte, []int) { + return file_testing_fake_proto_fake_proto_rawDescGZIP(), []int{21} +} + +func (x *UintList) GetOptions() []uint64 { + if x != nil { + return x.Options + } + return nil +} + +func (x *UintList) GetRandom() bool { + if x != nil { + return x.Random + } + return false +} + +var File_testing_fake_proto_fake_proto protoreflect.FileDescriptor + +var file_testing_fake_proto_fake_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x09, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, + 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, 0x67, 0x6e, 0x6d, + 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, + 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x22, 0x45, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x9b, 0x05, 0x0a, 0x06, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x65, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, + 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1c, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x6f, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6f, 0x66, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x72, + 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2e, 0x0a, 0x06, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x34, 0x0a, 0x06, 0x72, + 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, + 0x6d, 0x12, 0x31, 0x0a, 0x05, 0x66, 0x69, 0x78, 0x65, 0x64, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x63, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x43, 0x72, 0x74, 0x22, 0x45, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x53, 0x54, 0x55, 0x42, 0x42, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x52, 0x50, 0x43, + 0x5f, 0x47, 0x4e, 0x4d, 0x49, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x52, 0x50, 0x43, 0x5f, + 0x47, 0x4e, 0x4d, 0x49, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x10, 0x03, 0x42, 0x0b, 0x0a, 0x09, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x47, 0x0a, 0x0e, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x73, 0x22, 0x4f, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, + 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0xb2, 0x04, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, + 0x32, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, + 0x65, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x12, + 0x32, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x64, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x49, + 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, + 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x3b, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, + 0x6b, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, + 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, + 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x67, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x04, 0x73, + 0x79, 0x6e, 0x63, 0x12, 0x30, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x68, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x06, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6e, 0x6d, 0x69, + 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, + 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x35, 0x0a, 0x0a, + 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x55, 0x69, 0x6e, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x75, 0x69, 0x6e, 0x74, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, + 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x63, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x12, 0x1b, + 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x22, 0x87, 0x01, 0x0a, 0x08, + 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2b, + 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x6c, + 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6e, 0x6d, 0x69, + 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x04, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, + 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, + 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, + 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x78, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x22, + 0x3b, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x22, 0x90, 0x01, 0x0a, + 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x44, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x44, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x42, + 0x0e, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x7b, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x69, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x12, + 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x22, 0x3e, 0x0a, 0x0a, + 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x22, 0x60, 0x0a, 0x0b, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x0e, + 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, + 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x22, 0x64, + 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, + 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, + 0x6c, 0x69, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, + 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, + 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x08, 0x42, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x08, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, + 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, + 0x22, 0x8a, 0x01, 0x0a, 0x09, 0x55, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, + 0x55, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x55, 0x69, 0x6e, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x0e, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, 0x0a, + 0x09, 0x55, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x1b, + 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, + 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x4d, 0x61, 0x78, 0x22, 0x3c, 0x0a, 0x08, 0x55, 0x69, 0x6e, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2a, 0x2b, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, + 0x49, 0x4e, 0x49, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, + 0x47, 0x10, 0x02, 0x32, 0x9b, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x03, 0x41, 0x64, 0x64, 0x12, 0x11, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x11, + 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x2e, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x11, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x11, + 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x2e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x11, 0x2e, 0x67, 0x6e, + 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x11, + 0x2e, 0x67, 0x6e, 0x6d, 0x69, 0x2e, 0x66, 0x61, 0x6b, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x39, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6e, 0x6d, 0x69, 0x2f, + 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x66, 0x61, 0x6b, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x3b, 0x67, 0x6e, 0x6d, 0x69, 0x5f, 0x66, 0x61, 0x6b, 0x65, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_testing_fake_proto_fake_proto_rawDescOnce sync.Once + file_testing_fake_proto_fake_proto_rawDescData = file_testing_fake_proto_fake_proto_rawDesc +) + +func file_testing_fake_proto_fake_proto_rawDescGZIP() []byte { + file_testing_fake_proto_fake_proto_rawDescOnce.Do(func() { + file_testing_fake_proto_fake_proto_rawDescData = protoimpl.X.CompressGZIP(file_testing_fake_proto_fake_proto_rawDescData) + }) + return file_testing_fake_proto_fake_proto_rawDescData +} + +var file_testing_fake_proto_fake_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_testing_fake_proto_fake_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_testing_fake_proto_fake_proto_goTypes = []interface{}{ + (State)(0), // 0: gnmi.fake.State + (Config_ClientType)(0), // 1: gnmi.fake.Config.ClientType + (*Configuration)(nil), // 2: gnmi.fake.Configuration + (*Credentials)(nil), // 3: gnmi.fake.Credentials + (*Config)(nil), // 4: gnmi.fake.Config + (*FixedGenerator)(nil), // 5: gnmi.fake.FixedGenerator + (*RandomGenerator)(nil), // 6: gnmi.fake.RandomGenerator + (*DeleteValue)(nil), // 7: gnmi.fake.DeleteValue + (*Value)(nil), // 8: gnmi.fake.Value + (*Timestamp)(nil), // 9: gnmi.fake.Timestamp + (*IntValue)(nil), // 10: gnmi.fake.IntValue + (*IntRange)(nil), // 11: gnmi.fake.IntRange + (*IntList)(nil), // 12: gnmi.fake.IntList + (*DoubleValue)(nil), // 13: gnmi.fake.DoubleValue + (*DoubleRange)(nil), // 14: gnmi.fake.DoubleRange + (*DoubleList)(nil), // 15: gnmi.fake.DoubleList + (*StringValue)(nil), // 16: gnmi.fake.StringValue + (*StringList)(nil), // 17: gnmi.fake.StringList + (*StringListValue)(nil), // 18: gnmi.fake.StringListValue + (*BoolValue)(nil), // 19: gnmi.fake.BoolValue + (*BoolList)(nil), // 20: gnmi.fake.BoolList + (*UintValue)(nil), // 21: gnmi.fake.UintValue + (*UintRange)(nil), // 22: gnmi.fake.UintRange + (*UintList)(nil), // 23: gnmi.fake.UintList + (*anypb.Any)(nil), // 24: google.protobuf.Any + (*gnmi.SubscribeResponse)(nil), // 25: gnmi.SubscribeResponse +} +var file_testing_fake_proto_fake_proto_depIdxs = []int32{ + 4, // 0: gnmi.fake.Configuration.config:type_name -> gnmi.fake.Config + 8, // 1: gnmi.fake.Config.values:type_name -> gnmi.fake.Value + 1, // 2: gnmi.fake.Config.client_type:type_name -> gnmi.fake.Config.ClientType + 3, // 3: gnmi.fake.Config.credentials:type_name -> gnmi.fake.Credentials + 24, // 4: gnmi.fake.Config.custom:type_name -> google.protobuf.Any + 6, // 5: gnmi.fake.Config.random:type_name -> gnmi.fake.RandomGenerator + 5, // 6: gnmi.fake.Config.fixed:type_name -> gnmi.fake.FixedGenerator + 25, // 7: gnmi.fake.FixedGenerator.responses:type_name -> gnmi.SubscribeResponse + 8, // 8: gnmi.fake.RandomGenerator.values:type_name -> gnmi.fake.Value + 9, // 9: gnmi.fake.Value.timestamp:type_name -> gnmi.fake.Timestamp + 10, // 10: gnmi.fake.Value.int_value:type_name -> gnmi.fake.IntValue + 13, // 11: gnmi.fake.Value.double_value:type_name -> gnmi.fake.DoubleValue + 16, // 12: gnmi.fake.Value.string_value:type_name -> gnmi.fake.StringValue + 7, // 13: gnmi.fake.Value.delete:type_name -> gnmi.fake.DeleteValue + 19, // 14: gnmi.fake.Value.bool_value:type_name -> gnmi.fake.BoolValue + 21, // 15: gnmi.fake.Value.uint_value:type_name -> gnmi.fake.UintValue + 18, // 16: gnmi.fake.Value.string_list_value:type_name -> gnmi.fake.StringListValue + 11, // 17: gnmi.fake.IntValue.range:type_name -> gnmi.fake.IntRange + 12, // 18: gnmi.fake.IntValue.list:type_name -> gnmi.fake.IntList + 14, // 19: gnmi.fake.DoubleValue.range:type_name -> gnmi.fake.DoubleRange + 15, // 20: gnmi.fake.DoubleValue.list:type_name -> gnmi.fake.DoubleList + 17, // 21: gnmi.fake.StringValue.list:type_name -> gnmi.fake.StringList + 17, // 22: gnmi.fake.StringListValue.list:type_name -> gnmi.fake.StringList + 20, // 23: gnmi.fake.BoolValue.list:type_name -> gnmi.fake.BoolList + 22, // 24: gnmi.fake.UintValue.range:type_name -> gnmi.fake.UintRange + 23, // 25: gnmi.fake.UintValue.list:type_name -> gnmi.fake.UintList + 4, // 26: gnmi.fake.AgentManager.Add:input_type -> gnmi.fake.Config + 4, // 27: gnmi.fake.AgentManager.Remove:input_type -> gnmi.fake.Config + 4, // 28: gnmi.fake.AgentManager.Status:input_type -> gnmi.fake.Config + 4, // 29: gnmi.fake.AgentManager.Add:output_type -> gnmi.fake.Config + 4, // 30: gnmi.fake.AgentManager.Remove:output_type -> gnmi.fake.Config + 4, // 31: gnmi.fake.AgentManager.Status:output_type -> gnmi.fake.Config + 29, // [29:32] is the sub-list for method output_type + 26, // [26:29] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name +} + +func init() { file_testing_fake_proto_fake_proto_init() } +func file_testing_fake_proto_fake_proto_init() { + if File_testing_fake_proto_fake_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_testing_fake_proto_fake_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Credentials); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FixedGenerator); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RandomGenerator); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Value); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Timestamp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IntValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IntRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IntList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DoubleValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DoubleRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DoubleList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StringValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StringList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StringListValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoolValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoolList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UintValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UintRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_testing_fake_proto_fake_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UintList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_testing_fake_proto_fake_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*Config_Custom)(nil), + (*Config_Random)(nil), + (*Config_Fixed)(nil), + } + file_testing_fake_proto_fake_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*Value_IntValue)(nil), + (*Value_DoubleValue)(nil), + (*Value_StringValue)(nil), + (*Value_Sync)(nil), + (*Value_Delete)(nil), + (*Value_BoolValue)(nil), + (*Value_UintValue)(nil), + (*Value_StringListValue)(nil), + } + file_testing_fake_proto_fake_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*IntValue_Range)(nil), + (*IntValue_List)(nil), + } + file_testing_fake_proto_fake_proto_msgTypes[11].OneofWrappers = []interface{}{ + (*DoubleValue_Range)(nil), + (*DoubleValue_List)(nil), + } + file_testing_fake_proto_fake_proto_msgTypes[14].OneofWrappers = []interface{}{ + (*StringValue_List)(nil), + } + file_testing_fake_proto_fake_proto_msgTypes[16].OneofWrappers = []interface{}{ + (*StringListValue_List)(nil), + } + file_testing_fake_proto_fake_proto_msgTypes[17].OneofWrappers = []interface{}{ + (*BoolValue_List)(nil), + } + file_testing_fake_proto_fake_proto_msgTypes[19].OneofWrappers = []interface{}{ + (*UintValue_Range)(nil), + (*UintValue_List)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_testing_fake_proto_fake_proto_rawDesc, + NumEnums: 2, + NumMessages: 22, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_testing_fake_proto_fake_proto_goTypes, + DependencyIndexes: file_testing_fake_proto_fake_proto_depIdxs, + EnumInfos: file_testing_fake_proto_fake_proto_enumTypes, + MessageInfos: file_testing_fake_proto_fake_proto_msgTypes, + }.Build() + File_testing_fake_proto_fake_proto = out.File + file_testing_fake_proto_fake_proto_rawDesc = nil + file_testing_fake_proto_fake_proto_goTypes = nil + file_testing_fake_proto_fake_proto_depIdxs = nil +} diff --git a/testing/fake/proto/fake_grpc.pb.go b/testing/fake/proto/fake_grpc.pb.go new file mode 100644 index 0000000..8690388 --- /dev/null +++ b/testing/fake/proto/fake_grpc.pb.go @@ -0,0 +1,173 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package gnmi_fake + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion7 + +// AgentManagerClient is the client API for AgentManager service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type AgentManagerClient interface { + // Add adds an agent to the server. + Add(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) + // Remove removes an agent from the server. + Remove(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) + // Status returns the current status of an agent on the server. + Status(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) +} + +type agentManagerClient struct { + cc grpc.ClientConnInterface +} + +func NewAgentManagerClient(cc grpc.ClientConnInterface) AgentManagerClient { + return &agentManagerClient{cc} +} + +func (c *agentManagerClient) Add(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) { + out := new(Config) + err := c.cc.Invoke(ctx, "/gnmi.fake.AgentManager/Add", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentManagerClient) Remove(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) { + out := new(Config) + err := c.cc.Invoke(ctx, "/gnmi.fake.AgentManager/Remove", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *agentManagerClient) Status(ctx context.Context, in *Config, opts ...grpc.CallOption) (*Config, error) { + out := new(Config) + err := c.cc.Invoke(ctx, "/gnmi.fake.AgentManager/Status", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AgentManagerServer is the server API for AgentManager service. +// All implementations should embed UnimplementedAgentManagerServer +// for forward compatibility +type AgentManagerServer interface { + // Add adds an agent to the server. + Add(context.Context, *Config) (*Config, error) + // Remove removes an agent from the server. + Remove(context.Context, *Config) (*Config, error) + // Status returns the current status of an agent on the server. + Status(context.Context, *Config) (*Config, error) +} + +// UnimplementedAgentManagerServer should be embedded to have forward compatible implementations. +type UnimplementedAgentManagerServer struct { +} + +func (UnimplementedAgentManagerServer) Add(context.Context, *Config) (*Config, error) { + return nil, status.Errorf(codes.Unimplemented, "method Add not implemented") +} +func (UnimplementedAgentManagerServer) Remove(context.Context, *Config) (*Config, error) { + return nil, status.Errorf(codes.Unimplemented, "method Remove not implemented") +} +func (UnimplementedAgentManagerServer) Status(context.Context, *Config) (*Config, error) { + return nil, status.Errorf(codes.Unimplemented, "method Status not implemented") +} + +// UnsafeAgentManagerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AgentManagerServer will +// result in compilation errors. +type UnsafeAgentManagerServer interface { + mustEmbedUnimplementedAgentManagerServer() +} + +func RegisterAgentManagerServer(s *grpc.Server, srv AgentManagerServer) { + s.RegisterService(&_AgentManager_serviceDesc, srv) +} + +func _AgentManager_Add_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Config) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentManagerServer).Add(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gnmi.fake.AgentManager/Add", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentManagerServer).Add(ctx, req.(*Config)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentManager_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Config) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentManagerServer).Remove(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gnmi.fake.AgentManager/Remove", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentManagerServer).Remove(ctx, req.(*Config)) + } + return interceptor(ctx, in, info, handler) +} + +func _AgentManager_Status_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Config) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AgentManagerServer).Status(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gnmi.fake.AgentManager/Status", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AgentManagerServer).Status(ctx, req.(*Config)) + } + return interceptor(ctx, in, info, handler) +} + +var _AgentManager_serviceDesc = grpc.ServiceDesc{ + ServiceName: "gnmi.fake.AgentManager", + HandlerType: (*AgentManagerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Add", + Handler: _AgentManager_Add_Handler, + }, + { + MethodName: "Remove", + Handler: _AgentManager_Remove_Handler, + }, + { + MethodName: "Status", + Handler: _AgentManager_Status_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "testing/fake/proto/fake.proto", +} diff --git a/testing/fake/proto/fake_pb2.py b/testing/fake/proto/fake_pb2.py new file mode 100644 index 0000000..dd56892 --- /dev/null +++ b/testing/fake/proto/fake_pb2.py @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: testing/fake/proto/fake.proto +# Protobuf Python Version: 5.27.2 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 27, + 2, + '', + 'testing/fake/proto/fake.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +from github.com.openconfig.gnmi.proto.gnmi import gnmi_pb2 as github_dot_com_dot_openconfig_dot_gnmi_dot_proto_dot_gnmi_dot_gnmi__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dtesting/fake/proto/fake.proto\x12\tgnmi.fake\x1a\x19google/protobuf/any.proto\x1a\x30github.com/openconfig/gnmi/proto/gnmi/gnmi.proto\"2\n\rConfiguration\x12!\n\x06\x63onfig\x18\x01 \x03(\x0b\x32\x11.gnmi.fake.Config\"1\n\x0b\x43redentials\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\"\x8c\x04\n\x06\x43onfig\x12\x0e\n\x06target\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\x12\x10\n\x04seed\x18\x06 \x01(\x03\x42\x02\x18\x01\x12$\n\x06values\x18\x03 \x03(\x0b\x32\x10.gnmi.fake.ValueB\x02\x18\x01\x12\x14\n\x0c\x64isable_sync\x18\x04 \x01(\x08\x12\x31\n\x0b\x63lient_type\x18\x05 \x01(\x0e\x32\x1c.gnmi.fake.Config.ClientType\x12\x13\n\x0b\x64isable_eof\x18\x07 \x01(\x08\x12+\n\x0b\x63redentials\x18\x08 \x01(\x0b\x32\x16.gnmi.fake.Credentials\x12\x0c\n\x04\x63\x65rt\x18\t \x01(\x0c\x12\x14\n\x0c\x65nable_delay\x18\n \x01(\x08\x12&\n\x06\x63ustom\x18\x64 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x12,\n\x06random\x18\x65 \x01(\x0b\x32\x1a.gnmi.fake.RandomGeneratorH\x00\x12*\n\x05\x66ixed\x18\x66 \x01(\x0b\x32\x19.gnmi.fake.FixedGeneratorH\x00\x12\x13\n\x0btunnel_addr\x18\x0b \x01(\t\x12\x12\n\ntunnel_crt\x18\x0c \x01(\t\"E\n\nClientType\x12\x08\n\x04GRPC\x10\x00\x12\n\n\x06STUBBY\x10\x01\x12\r\n\tGRPC_GNMI\x10\x02\x12\x12\n\x0eGRPC_GNMI_PROD\x10\x03\x42\x0b\n\tgenerator\"<\n\x0e\x46ixedGenerator\x12*\n\tresponses\x18\x01 \x03(\x0b\x32\x17.gnmi.SubscribeResponse\"A\n\x0fRandomGenerator\x12\x0c\n\x04seed\x18\x01 \x01(\x03\x12 \n\x06values\x18\x02 \x03(\x0b\x32\x10.gnmi.fake.Value\"\r\n\x0b\x44\x65leteValue\"\xba\x03\n\x05Value\x12\x0c\n\x04path\x18\x01 \x03(\t\x12\'\n\ttimestamp\x18\x02 \x01(\x0b\x32\x14.gnmi.fake.Timestamp\x12\x0e\n\x06repeat\x18\x06 \x01(\x05\x12\x0c\n\x04seed\x18\x07 \x01(\x03\x12(\n\tint_value\x18\x64 \x01(\x0b\x32\x13.gnmi.fake.IntValueH\x00\x12.\n\x0c\x64ouble_value\x18\x65 \x01(\x0b\x32\x16.gnmi.fake.DoubleValueH\x00\x12.\n\x0cstring_value\x18\x66 \x01(\x0b\x32\x16.gnmi.fake.StringValueH\x00\x12\x0e\n\x04sync\x18g \x01(\x04H\x00\x12(\n\x06\x64\x65lete\x18h \x01(\x0b\x32\x16.gnmi.fake.DeleteValueH\x00\x12*\n\nbool_value\x18i \x01(\x0b\x32\x14.gnmi.fake.BoolValueH\x00\x12*\n\nuint_value\x18j \x01(\x0b\x32\x14.gnmi.fake.UintValueH\x00\x12\x37\n\x11string_list_value\x18k \x01(\x0b\x32\x1a.gnmi.fake.StringListValueH\x00\x42\x07\n\x05value\"D\n\tTimestamp\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\x11\n\tdelta_min\x18\x02 \x01(\x03\x12\x11\n\tdelta_max\x18\x03 \x01(\x03\"s\n\x08IntValue\x12\r\n\x05value\x18\x01 \x01(\x03\x12$\n\x05range\x18\x02 \x01(\x0b\x32\x13.gnmi.fake.IntRangeH\x00\x12\"\n\x04list\x18\x03 \x01(\x0b\x32\x12.gnmi.fake.IntListH\x00\x42\x0e\n\x0c\x64istribution\"R\n\x08IntRange\x12\x0f\n\x07minimum\x18\x01 \x01(\x03\x12\x0f\n\x07maximum\x18\x02 \x01(\x03\x12\x11\n\tdelta_min\x18\x03 \x01(\x03\x12\x11\n\tdelta_max\x18\x04 \x01(\x03\"*\n\x07IntList\x12\x0f\n\x07options\x18\x01 \x03(\x03\x12\x0e\n\x06random\x18\x02 \x01(\x08\"|\n\x0b\x44oubleValue\x12\r\n\x05value\x18\x01 \x01(\x01\x12\'\n\x05range\x18\x02 \x01(\x0b\x32\x16.gnmi.fake.DoubleRangeH\x00\x12%\n\x04list\x18\x03 \x01(\x0b\x32\x15.gnmi.fake.DoubleListH\x00\x42\x0e\n\x0c\x64istribution\"U\n\x0b\x44oubleRange\x12\x0f\n\x07minimum\x18\x01 \x01(\x01\x12\x0f\n\x07maximum\x18\x02 \x01(\x01\x12\x11\n\tdelta_min\x18\x03 \x01(\x01\x12\x11\n\tdelta_max\x18\x04 \x01(\x01\"-\n\nDoubleList\x12\x0f\n\x07options\x18\x01 \x03(\x01\x12\x0e\n\x06random\x18\x02 \x01(\x08\"S\n\x0bStringValue\x12\r\n\x05value\x18\x01 \x01(\t\x12%\n\x04list\x18\x02 \x01(\x0b\x32\x15.gnmi.fake.StringListH\x00\x42\x0e\n\x0c\x64istribution\"-\n\nStringList\x12\x0f\n\x07options\x18\x01 \x03(\t\x12\x0e\n\x06random\x18\x02 \x01(\x08\"W\n\x0fStringListValue\x12\r\n\x05value\x18\x01 \x03(\t\x12%\n\x04list\x18\x02 \x01(\x0b\x32\x15.gnmi.fake.StringListH\x00\x42\x0e\n\x0c\x64istribution\"O\n\tBoolValue\x12\r\n\x05value\x18\x01 \x01(\x08\x12#\n\x04list\x18\x02 \x01(\x0b\x32\x13.gnmi.fake.BoolListH\x00\x42\x0e\n\x0c\x64istribution\"+\n\x08\x42oolList\x12\x0f\n\x07options\x18\x01 \x03(\x08\x12\x0e\n\x06random\x18\x02 \x01(\x08\"v\n\tUintValue\x12\r\n\x05value\x18\x01 \x01(\x04\x12%\n\x05range\x18\x02 \x01(\x0b\x32\x14.gnmi.fake.UintRangeH\x00\x12#\n\x04list\x18\x03 \x01(\x0b\x32\x13.gnmi.fake.UintListH\x00\x42\x0e\n\x0c\x64istribution\"S\n\tUintRange\x12\x0f\n\x07minimum\x18\x01 \x01(\x04\x12\x0f\n\x07maximum\x18\x02 \x01(\x04\x12\x11\n\tdelta_min\x18\x03 \x01(\x03\x12\x11\n\tdelta_max\x18\x04 \x01(\x03\"+\n\x08UintList\x12\x0f\n\x07options\x18\x01 \x03(\x04\x12\x0e\n\x06random\x18\x02 \x01(\x08*+\n\x05State\x12\x0b\n\x07STOPPED\x10\x00\x12\x08\n\x04INIT\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x32\x9b\x01\n\x0c\x41gentManager\x12+\n\x03\x41\x64\x64\x12\x11.gnmi.fake.Config\x1a\x11.gnmi.fake.Config\x12.\n\x06Remove\x12\x11.gnmi.fake.Config\x1a\x11.gnmi.fake.Config\x12.\n\x06Status\x12\x11.gnmi.fake.Config\x1a\x11.gnmi.fake.ConfigB9Z7github.com/openconfig/gnmi/testing/fake/proto;gnmi_fakeb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'testing.fake.proto.fake_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z7github.com/openconfig/gnmi/testing/fake/proto;gnmi_fake' + _globals['_CONFIG'].fields_by_name['seed']._loaded_options = None + _globals['_CONFIG'].fields_by_name['seed']._serialized_options = b'\030\001' + _globals['_CONFIG'].fields_by_name['values']._loaded_options = None + _globals['_CONFIG'].fields_by_name['values']._serialized_options = b'\030\001' + _globals['_STATE']._serialized_start=2512 + _globals['_STATE']._serialized_end=2555 + _globals['_CONFIGURATION']._serialized_start=121 + _globals['_CONFIGURATION']._serialized_end=171 + _globals['_CREDENTIALS']._serialized_start=173 + _globals['_CREDENTIALS']._serialized_end=222 + _globals['_CONFIG']._serialized_start=225 + _globals['_CONFIG']._serialized_end=749 + _globals['_CONFIG_CLIENTTYPE']._serialized_start=667 + _globals['_CONFIG_CLIENTTYPE']._serialized_end=736 + _globals['_FIXEDGENERATOR']._serialized_start=751 + _globals['_FIXEDGENERATOR']._serialized_end=811 + _globals['_RANDOMGENERATOR']._serialized_start=813 + _globals['_RANDOMGENERATOR']._serialized_end=878 + _globals['_DELETEVALUE']._serialized_start=880 + _globals['_DELETEVALUE']._serialized_end=893 + _globals['_VALUE']._serialized_start=896 + _globals['_VALUE']._serialized_end=1338 + _globals['_TIMESTAMP']._serialized_start=1340 + _globals['_TIMESTAMP']._serialized_end=1408 + _globals['_INTVALUE']._serialized_start=1410 + _globals['_INTVALUE']._serialized_end=1525 + _globals['_INTRANGE']._serialized_start=1527 + _globals['_INTRANGE']._serialized_end=1609 + _globals['_INTLIST']._serialized_start=1611 + _globals['_INTLIST']._serialized_end=1653 + _globals['_DOUBLEVALUE']._serialized_start=1655 + _globals['_DOUBLEVALUE']._serialized_end=1779 + _globals['_DOUBLERANGE']._serialized_start=1781 + _globals['_DOUBLERANGE']._serialized_end=1866 + _globals['_DOUBLELIST']._serialized_start=1868 + _globals['_DOUBLELIST']._serialized_end=1913 + _globals['_STRINGVALUE']._serialized_start=1915 + _globals['_STRINGVALUE']._serialized_end=1998 + _globals['_STRINGLIST']._serialized_start=2000 + _globals['_STRINGLIST']._serialized_end=2045 + _globals['_STRINGLISTVALUE']._serialized_start=2047 + _globals['_STRINGLISTVALUE']._serialized_end=2134 + _globals['_BOOLVALUE']._serialized_start=2136 + _globals['_BOOLVALUE']._serialized_end=2215 + _globals['_BOOLLIST']._serialized_start=2217 + _globals['_BOOLLIST']._serialized_end=2260 + _globals['_UINTVALUE']._serialized_start=2262 + _globals['_UINTVALUE']._serialized_end=2380 + _globals['_UINTRANGE']._serialized_start=2382 + _globals['_UINTRANGE']._serialized_end=2465 + _globals['_UINTLIST']._serialized_start=2467 + _globals['_UINTLIST']._serialized_end=2510 + _globals['_AGENTMANAGER']._serialized_start=2558 + _globals['_AGENTMANAGER']._serialized_end=2713 +# @@protoc_insertion_point(module_scope) diff --git a/testing/fake/proto/fake_pb2_grpc.py b/testing/fake/proto/fake_pb2_grpc.py new file mode 100644 index 0000000..0121684 --- /dev/null +++ b/testing/fake/proto/fake_pb2_grpc.py @@ -0,0 +1,186 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + +from testing.fake.proto import fake_pb2 as testing_dot_fake_dot_proto_dot_fake__pb2 + +GRPC_GENERATED_VERSION = '1.66.2' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in testing/fake/proto/fake_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + + +class AgentManagerStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Add = channel.unary_unary( + '/gnmi.fake.AgentManager/Add', + request_serializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, + response_deserializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, + _registered_method=True) + self.Remove = channel.unary_unary( + '/gnmi.fake.AgentManager/Remove', + request_serializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, + response_deserializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, + _registered_method=True) + self.Status = channel.unary_unary( + '/gnmi.fake.AgentManager/Status', + request_serializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, + response_deserializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, + _registered_method=True) + + +class AgentManagerServicer(object): + """Missing associated documentation comment in .proto file.""" + + def Add(self, request, context): + """Add adds an agent to the server. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Remove(self, request, context): + """Remove removes an agent from the server. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Status(self, request, context): + """Status returns the current status of an agent on the server. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_AgentManagerServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Add': grpc.unary_unary_rpc_method_handler( + servicer.Add, + request_deserializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, + response_serializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, + ), + 'Remove': grpc.unary_unary_rpc_method_handler( + servicer.Remove, + request_deserializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, + response_serializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, + ), + 'Status': grpc.unary_unary_rpc_method_handler( + servicer.Status, + request_deserializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, + response_serializer=testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'gnmi.fake.AgentManager', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('gnmi.fake.AgentManager', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class AgentManager(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def Add(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/gnmi.fake.AgentManager/Add', + testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, + testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Remove(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/gnmi.fake.AgentManager/Remove', + testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, + testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def Status(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/gnmi.fake.AgentManager/Status', + testing_dot_fake_dot_proto_dot_fake__pb2.Config.SerializeToString, + testing_dot_fake_dot_proto_dot_fake__pb2.Config.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True)