diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 5ac15f16..ebe02af2 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -15,7 +15,9 @@ "https://bcr.bazel.build/modules/abseil-cpp/20240722.0/MODULE.bazel": "88668a07647adbdc14cb3a7cd116fb23c9dda37a90a1681590b6c9d8339a5b84", "https://bcr.bazel.build/modules/abseil-cpp/20250127.0/MODULE.bazel": "d1086e248cda6576862b4b3fe9ad76a214e08c189af5b42557a6e1888812c5d5", "https://bcr.bazel.build/modules/abseil-cpp/20250127.1/MODULE.bazel": "c4a89e7ceb9bf1e25cf84a9f830ff6b817b72874088bf5141b314726e46a57c1", - "https://bcr.bazel.build/modules/abseil-cpp/20250127.1/source.json": "03c90ee57977264436d3231676dcddae116c4769a5d02b6fc16c2c9e019b583a", + "https://bcr.bazel.build/modules/abseil-cpp/20250512.0/MODULE.bazel": "c4d02dd22cd87458516655a45512060246ee2a4732f1fbe948a5bd9eb614e626", + "https://bcr.bazel.build/modules/abseil-cpp/20250512.1/MODULE.bazel": "d209fdb6f36ffaf61c509fcc81b19e81b411a999a934a032e10cd009a0226215", + "https://bcr.bazel.build/modules/abseil-cpp/20250512.1/source.json": "d725d73707d01bb46ab3ca59ba408b8e9bd336642ca77a2269d4bfb8bbfd413d", "https://bcr.bazel.build/modules/apple_support/1.11.1/MODULE.bazel": "1843d7cd8a58369a444fc6000e7304425fba600ff641592161d9f15b179fb896", "https://bcr.bazel.build/modules/apple_support/1.13.0/MODULE.bazel": "7c8cdea7e031b7f9f67f0b497adf6d2c6a2675e9304ca93a9af6ed84eef5a524", "https://bcr.bazel.build/modules/apple_support/1.15.1/MODULE.bazel": "a0556fefca0b1bb2de8567b8827518f94db6a6e7e7d632b4c48dc5f865bc7c85", @@ -38,8 +40,9 @@ "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", "https://bcr.bazel.build/modules/bazel_features/1.23.0/MODULE.bazel": "fd1ac84bc4e97a5a0816b7fd7d4d4f6d837b0047cf4cbd81652d616af3a6591a", - "https://bcr.bazel.build/modules/bazel_features/1.23.0/source.json": "c72c61b722d7c3f884994fe647afeb2ed1ae66c437f8f370753551f7b4d8be7f", "https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9", + "https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87", + "https://bcr.bazel.build/modules/bazel_features/1.30.0/source.json": "b07e17f067fe4f69f90b03b36ef1e08fe0d1f3cac254c1241a1818773e3423bc", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", @@ -86,26 +89,29 @@ "https://bcr.bazel.build/modules/gazelle/0.36.0/MODULE.bazel": "e375d5d6e9a6ca59b0cb38b0540bc9a05b6aa926d322f2de268ad267a2ee74c0", "https://bcr.bazel.build/modules/gazelle/0.37.0/MODULE.bazel": "d1327ba0907d0275ed5103bfbbb13518f6c04955b402213319d0d6c0ce9839d4", "https://bcr.bazel.build/modules/gazelle/0.41.0/MODULE.bazel": "fdce8a8f5129d5b6d693d91cb191d0a014fdcb88e9094e528325a7165de2a826", - "https://bcr.bazel.build/modules/gazelle/0.41.0/source.json": "bc00c665344d775b5cae6064608262e0478789c523677d40eef8f85031c6bfda", + "https://bcr.bazel.build/modules/gazelle/0.44.0/MODULE.bazel": "fd3177ca0938da57a1e416cad3f39b9c4334defbc717e89aba9d9ddbbb0341da", + "https://bcr.bazel.build/modules/gazelle/0.44.0/source.json": "7fb65ef9c1ce470d099ca27fd478673d9d64c844af28d0d472b0874c7d590cb6", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/google_benchmark/1.8.4/MODULE.bazel": "c6d54a11dcf64ee63545f42561eda3fd94c1b5f5ebe1357011de63ae33739d5e", "https://bcr.bazel.build/modules/google_benchmark/1.8.5/MODULE.bazel": "9ba9b31b984022828a950e3300410977eda2e35df35584c6b0b2d0c2e52766b7", "https://bcr.bazel.build/modules/google_benchmark/1.8.5/source.json": "2c9c685f9b496f125b9e3a9c696c549d1ed2f33b75830a2fb6ac94fab23c0398", + "https://bcr.bazel.build/modules/googleapis-rules-registry/1.0.0/MODULE.bazel": "97c6a4d413b373d4cc97065da3de1b2166e22cbbb5f4cc9f05760bfa83619e24", + "https://bcr.bazel.build/modules/googleapis-rules-registry/1.0.0/source.json": "cf611c836a60e98e2e2ab2de8004f119e9f06878dcf4ea2d95a437b1b7a89fe9", "https://bcr.bazel.build/modules/googleapis/0.0.0-20240326-1c8d509c5/MODULE.bazel": "a4b7e46393c1cdcc5a00e6f85524467c48c565256b22b5fae20f84ab4a999a68", "https://bcr.bazel.build/modules/googleapis/0.0.0-20240819-fe8ba054a/MODULE.bazel": "117b7c7be7327ed5d6c482274533f2dbd78631313f607094d4625c28203cacdf", - "https://bcr.bazel.build/modules/googleapis/0.0.0-20240819-fe8ba054a/source.json": "b31fc7eb283a83f71d2e5bfc3d1c562d2994198fa1278409fbe8caec3afc1d3e", + "https://bcr.bazel.build/modules/googleapis/0.0.0-20250703-f9d6fe4a/MODULE.bazel": "d1a3f5d60acdc6466b2f86320855c8a5543cec1af1e4bf9d34d3115fe043c851", + "https://bcr.bazel.build/modules/googleapis/0.0.0-20250703-f9d6fe4a/source.json": "a51564703aa367b73e995ab01c8485860066ad39866065767871887c63122392", "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", "https://bcr.bazel.build/modules/googletest/1.14.0.bcr.1/MODULE.bazel": "22c31a561553727960057361aa33bf20fb2e98584bc4fec007906e27053f80c6", "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", "https://bcr.bazel.build/modules/googletest/1.15.2/MODULE.bazel": "6de1edc1d26cafb0ea1a6ab3f4d4192d91a312fd2d360b63adaa213cd00b2108", "https://bcr.bazel.build/modules/googletest/1.16.0/MODULE.bazel": "a175623c69e94fca4ca7acbc12031e637b0c489318cd4805606981d4d7adb34a", - "https://bcr.bazel.build/modules/googletest/1.16.0/source.json": "dd011b202542efcd4c0e3df34b1558d41598c6f287846728315ded5f7984b77a", + "https://bcr.bazel.build/modules/googletest/1.17.0/MODULE.bazel": "dbec758171594a705933a29fcf69293d2468c49ec1f2ebca65c36f504d72df46", + "https://bcr.bazel.build/modules/googletest/1.17.0/source.json": "38e4454b25fc30f15439c0378e57909ab1fd0a443158aa35aec685da727cd713", "https://bcr.bazel.build/modules/grpc-java/1.62.2/MODULE.bazel": "99b8771e8c7cacb130170fed2a10c9e8fed26334a93e73b42d2953250885a158", "https://bcr.bazel.build/modules/grpc-java/1.66.0/MODULE.bazel": "86ff26209fac846adb89db11f3714b3dc0090fb2fb81575673cc74880cda4e7e", "https://bcr.bazel.build/modules/grpc-java/1.69.0/MODULE.bazel": "53887af6a00b3b406d70175d3d07e84ea9362016ff55ea90b9185f0227bfaf98", - "https://bcr.bazel.build/modules/grpc-java/1.69.0/source.json": "daf42ef1f7a2b86d9178d288c5245802f9b6157adc302b2b05c8fd12cbd79659", "https://bcr.bazel.build/modules/grpc-proto/0.0.0-20240627-ec30f58/MODULE.bazel": "88de79051e668a04726e9ea94a481ec6f1692086735fd6f488ab908b3b909238", - "https://bcr.bazel.build/modules/grpc-proto/0.0.0-20240627-ec30f58/source.json": "5035d379c61042930244ab59e750106d893ec440add92ec0df6a0098ca7f131d", "https://bcr.bazel.build/modules/grpc/1.41.0/MODULE.bazel": "5bcbfc2b274dabea628f0649dc50c90cf36543b1cfc31624832538644ad1aae8", "https://bcr.bazel.build/modules/grpc/1.56.3.bcr.1/MODULE.bazel": "cd5b1eb276b806ec5ab85032921f24acc51735a69ace781be586880af20ab33f", "https://bcr.bazel.build/modules/grpc/1.62.1/MODULE.bazel": "2998211594b8a79a6b459c4e797cfa19f0fb8b3be3149760ec7b8c99abfd426f", @@ -113,8 +119,9 @@ "https://bcr.bazel.build/modules/grpc/1.66.0.bcr.2/MODULE.bazel": "0fa2b0fd028ce354febf0fe90f1ed8fecfbfc33118cddd95ac0418cc283333a0", "https://bcr.bazel.build/modules/grpc/1.66.0.bcr.3/MODULE.bazel": "f6047e89faf488f5e3e65cb2594c6f5e86992abec7487163ff6b623526e543b0", "https://bcr.bazel.build/modules/grpc/1.69.0/MODULE.bazel": "4e26e05c9e1ef291ccbc96aad8e457b1b8abedbc141623831629da2f8168eef6", - "https://bcr.bazel.build/modules/grpc/1.73.1/MODULE.bazel": "69737e1dab5c36fd12daf0a0f9d3adaaf983c8422052a58a3a652454435975b4", - "https://bcr.bazel.build/modules/grpc/1.73.1/source.json": "38ddb26495a5241da802af9b80c51bf0cbc13d06dce4a1e68e2f898d9d981ea0", + "https://bcr.bazel.build/modules/grpc/1.71.0/MODULE.bazel": "7fcab2c05530373f1a442c362b17740dd0c75b6a2a975eec8f5bf4c70a37928a", + "https://bcr.bazel.build/modules/grpc/1.74.0/MODULE.bazel": "83bca3739c1a3eba91f63f38b352e8681c9e58576f2def545e49a1e461b98a1f", + "https://bcr.bazel.build/modules/grpc/1.74.0/source.json": "87c009e2f3226fd43170ce4896a3f17c819bd4c7388ff1336158b12b636a0ed9", "https://bcr.bazel.build/modules/jsoncpp/1.9.5/MODULE.bazel": "31271aedc59e815656f5736f282bb7509a97c7ecb43e927ac1a37966e0578075", "https://bcr.bazel.build/modules/jsoncpp/1.9.6/MODULE.bazel": "2f8d20d3b7d54143213c4dfc3d98225c42de7d666011528dc8fe91591e2e17b0", "https://bcr.bazel.build/modules/jsoncpp/1.9.6/source.json": "a04756d367a2126c3541682864ecec52f92cdee80a35735a3cb249ce015ca000", @@ -125,12 +132,14 @@ "https://bcr.bazel.build/modules/nlohmann_json/3.11.3/MODULE.bazel": "87023db2f55fc3a9949c7b08dc711fae4d4be339a80a99d04453c4bb3998eefc", "https://bcr.bazel.build/modules/nlohmann_json/3.11.3/source.json": "296c63a90c6813e53b3812d24245711981fc7e563d98fe15625f55181494488a", "https://bcr.bazel.build/modules/nlohmann_json/3.6.1/MODULE.bazel": "6f7b417dcc794d9add9e556673ad25cb3ba835224290f4f848f8e2db1e1fca74", + "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de.bcr.2/MODULE.bazel": "cc18734138dd18c912c6ce2a59186db28f85d8058c99c9f21b46ca3e0aba0ebe", + "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de.bcr.2/source.json": "7c135f9d42bb3b045669c3c6ab3bb3c208e00b46aca4422eea64c29811a5b240", "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de/MODULE.bazel": "02201d2921dadb4ec90c4980eca4b2a02904eddcf6fa02f3da7594fb7b0d821c", - "https://bcr.bazel.build/modules/opencensus-cpp/0.0.0-20230502-50eb5de/source.json": "f50efc07822f5425bd1d3e40e977484f9c0142463052717d40ec85cd6744243e", + "https://bcr.bazel.build/modules/opencensus-proto/0.4.1.bcr.2/MODULE.bazel": "789706a714855f92c5c8cfcf1ef32bbb64dcd3b7c9066756ad7986ec59709d29", + "https://bcr.bazel.build/modules/opencensus-proto/0.4.1.bcr.2/source.json": "aadf3f53e08b72376506b7c4ea3d167010c9efb160d7d6e1e304ed646bac1b36", "https://bcr.bazel.build/modules/opencensus-proto/0.4.1/MODULE.bazel": "4a2e8b4d0b544002502474d611a5a183aa282251e14f6a01afe841c0c1b10372", - "https://bcr.bazel.build/modules/opencensus-proto/0.4.1/source.json": "a7d956700a85b833c43fc61455c0e111ab75bab40768ed17a206ee18a2bbe38f", - "https://bcr.bazel.build/modules/openconfig_bootz/0.5.0/MODULE.bazel": "9bfb3d8a05f401141f10b037a9e5e9e617e2b827624598d2868c45236fc154b7", - "https://bcr.bazel.build/modules/openconfig_bootz/0.5.0/source.json": "a7157cb39c7c17c3e043d625d61c0cc98f2e11c9367ef727a6647b3c9a529f2b", + "https://bcr.bazel.build/modules/openconfig_bootz/0.6.0/MODULE.bazel": "8c5ac591d7ac92f87b428ce121a2db66e46c57ef7d8097ea92931749aacc0476", + "https://bcr.bazel.build/modules/openconfig_bootz/0.6.0/source.json": "93f425b92f3e306313c1fefecf311e7f6b626debea897c33ad42d363c6421a25", "https://bcr.bazel.build/modules/openconfig_gnmi/0.14.1/MODULE.bazel": "1965a4108e585c2e9f54350e690ede6d985a3abdf0907a536c89a49dda6a8bbd", "https://bcr.bazel.build/modules/openconfig_gnmi/0.14.1/source.json": "a1a91e1fed377ab98c984b04e798ea1845ecd4ccd2c76d4fc17cafd5d33b4ff4", "https://bcr.bazel.build/modules/openconfig_gnsi/1.9.0/MODULE.bazel": "0cd8a165612ba5241e40e38e2b2bd629298abfa697354d9605d20b34af87e4f6", @@ -148,6 +157,8 @@ "https://bcr.bazel.build/modules/opentelemetry-proto/1.5.0/source.json": "046b721ce203e88cdaad44d7dd17a86b7200eab9388b663b234e72e13ff7b143", "https://bcr.bazel.build/modules/opentracing-cpp/1.6.0/MODULE.bazel": "b3925269f63561b8b880ae7cf62ccf81f6ece55b62cd791eda9925147ae116ec", "https://bcr.bazel.build/modules/opentracing-cpp/1.6.0/source.json": "da1cb1add160f5e5074b7272e9db6fd8f1b3336c15032cd0a653af9d2f484aed", + "https://bcr.bazel.build/modules/package_metadata/0.0.2/MODULE.bazel": "fb8d25550742674d63d7b250063d4580ca530499f045d70748b1b142081ebb92", + "https://bcr.bazel.build/modules/package_metadata/0.0.2/source.json": "e53a759a72488d2c0576f57491ef2da0cf4aab05ac0997314012495935531b73", "https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5", "https://bcr.bazel.build/modules/platforms/0.0.11/MODULE.bazel": "0daefc49732e227caa8bfa834d65dc52e8cc18a2faf80df25e8caea151a9413f", "https://bcr.bazel.build/modules/platforms/0.0.11/source.json": "f7e188b79ebedebfe75e9e1d098b8845226c7992b307e28e1496f23112e8fc29", @@ -158,20 +169,24 @@ "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", "https://bcr.bazel.build/modules/prometheus-cpp/1.2.4/MODULE.bazel": "0fbe5dcff66311947a3f6b86ebc6a6d9328e31a28413ca864debc4a043f371e5", + "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0.bcr.1/MODULE.bazel": "116ad46e97c1d2aeb020fe2899a342a7e703574ce7c0faf7e4810f938c974a9a", + "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0.bcr.1/source.json": "e813cce2d450708cfcb26e309c5172583a7440776edf354e83e6788c768e5cca", "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0/MODULE.bazel": "ce82e086bbc0b60267e970f6a54b2ca6d0f22d3eb6633e00e2cc2899c700f3d8", - "https://bcr.bazel.build/modules/prometheus-cpp/1.3.0/source.json": "8cb66b4e535afc718e9d104a3db96ccb71a42ee816a100e50fd0d5ac843c0606", "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", "https://bcr.bazel.build/modules/protobuf/23.1/MODULE.bazel": "88b393b3eb4101d18129e5db51847cd40a5517a53e81216144a8c32dfeeca52a", "https://bcr.bazel.build/modules/protobuf/24.4/MODULE.bazel": "7bc7ce5f2abf36b3b7b7c8218d3acdebb9426aeb35c2257c96445756f970eb12", + "https://bcr.bazel.build/modules/protobuf/25.6/MODULE.bazel": "fc0ae073b47c7ede88b825ff79e64f1c058967c7a87a86cdf4abecd9e0516625", "https://bcr.bazel.build/modules/protobuf/26.0.bcr.1/MODULE.bazel": "8f04d38c2da40a3715ff6bdce4d32c5981e6432557571482d43a62c31a24c2cf", "https://bcr.bazel.build/modules/protobuf/26.0.bcr.2/MODULE.bazel": "62e0b84ca727bdeb55a6fe1ef180e6b191bbe548a58305ea1426c158067be534", "https://bcr.bazel.build/modules/protobuf/26.0/MODULE.bazel": "8402da964092af40097f4a205eec2a33fd4a7748dc43632b7d1629bfd9a2b856", "https://bcr.bazel.build/modules/protobuf/27.0-rc2/MODULE.bazel": "b2b0dbafd57b6bec0ca9b251da02e628c357dab53a097570aa7d79d020f107cf", "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", + "https://bcr.bazel.build/modules/protobuf/29.0-rc2.bcr.1/MODULE.bazel": "52f4126f63a2f0bbf36b99c2a87648f08467a4eaf92ba726bc7d6a500bbf770c", "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92", "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e", + "https://bcr.bazel.build/modules/protobuf/29.1/MODULE.bazel": "557c3457560ff49e122ed76c0bc3397a64af9574691cb8201b4e46d4ab2ecb95", "https://bcr.bazel.build/modules/protobuf/29.3/MODULE.bazel": "77480eea5fb5541903e49683f24dc3e09f4a79e0eea247414887bb9fc0066e94", "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", "https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573", @@ -183,6 +198,7 @@ "https://bcr.bazel.build/modules/protoc-gen-validate/1.0.4/MODULE.bazel": "b8913c154b16177990f6126d2d2477d187f9ddc568e95ee3e2d50fc65d2c494a", "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.1/MODULE.bazel": "4bf09676b62fa587ae07e073420a76ec8766dcce7545e5f8c68cfa8e484b5120", "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1.bcr.1/source.json": "c19071ebc4b53b5f1cfab9c66eefaf6e4179eb8a998970d07b1077687e777f29", + "https://bcr.bazel.build/modules/protoc-gen-validate/1.2.1/MODULE.bazel": "52b51f50533ec4fbd5d613cd093773f979ac2e035d954e02ca11de383f502505", "https://bcr.bazel.build/modules/pybind11_bazel/2.11.1/MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e", "https://bcr.bazel.build/modules/pybind11_bazel/2.12.0/MODULE.bazel": "e6f4c20442eaa7c90d7190d8dc539d0ab422f95c65a57cc59562170c58ae3d34", "https://bcr.bazel.build/modules/pybind11_bazel/2.12.0/source.json": "6900fdc8a9e95866b8c0d4ad4aba4d4236317b5c1cd04c502df3f0d33afed680", @@ -208,12 +224,13 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", "https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a", - "https://bcr.bazel.build/modules/rules_cc/0.0.17/source.json": "4db99b3f55c90ab28d14552aa0632533e3e8e5e9aea0f5c24ac0014282c2a7c5", "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", "https://bcr.bazel.build/modules/rules_cc/0.0.5/MODULE.bazel": "be41f87587998fe8890cd82ea4e848ed8eb799e053c224f78f3ff7fe1a1d9b74", "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", + "https://bcr.bazel.build/modules/rules_cc/0.1.1/MODULE.bazel": "2f0222a6f229f0bf44cd711dc13c858dad98c62d52bd51d8fc3a764a83125513", + "https://bcr.bazel.build/modules/rules_cc/0.1.1/source.json": "d61627377bd7dd1da4652063e368d9366fc9a73920bfa396798ad92172cf645c", "https://bcr.bazel.build/modules/rules_foreign_cc/0.10.1/MODULE.bazel": "b9527010e5fef060af92b6724edb3691970a5b1f76f74b21d39f7d433641be60", "https://bcr.bazel.build/modules/rules_foreign_cc/0.10.1/source.json": "9300e71df0cdde0952f10afff1401fa664e9fc5d9ae6204660ba1b158d90d6a6", "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", @@ -228,7 +245,8 @@ "https://bcr.bazel.build/modules/rules_go/0.48.0/MODULE.bazel": "d00ebcae0908ee3f5e6d53f68677a303d6d59a77beef879598700049c3980a03", "https://bcr.bazel.build/modules/rules_go/0.50.1/MODULE.bazel": "b91a308dc5782bb0a8021ad4330c81fea5bda77f96b9e4c117b9b9c8f6665ee0", "https://bcr.bazel.build/modules/rules_go/0.51.0/MODULE.bazel": "b6920f505935bfd69381651c942496d99b16e2a12f3dd5263b90ded16f3b4d0f", - "https://bcr.bazel.build/modules/rules_go/0.51.0/source.json": "473c0263360b1ae3aca71758e001d257a638620b2e2a36e3a2721fdae04377ec", + "https://bcr.bazel.build/modules/rules_go/0.55.1/MODULE.bazel": "a57a6fc59a74326c0b440d07cca209edf13c7d1a641e48cfbeab56e79f873609", + "https://bcr.bazel.build/modules/rules_go/0.55.1/source.json": "827a740c8959c9d20616889e7746cde4dcc6ee80d25146943627ccea0736328f", "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", "https://bcr.bazel.build/modules/rules_java/5.1.0/MODULE.bazel": "324b6478b0343a3ce7a9add8586ad75d24076d6d43d2f622990b9c1cfd8a1b15", "https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86", @@ -244,10 +262,11 @@ "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", "https://bcr.bazel.build/modules/rules_java/7.4.0/MODULE.bazel": "a592852f8a3dd539e82ee6542013bf2cadfc4c6946be8941e189d224500a8934", "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", + "https://bcr.bazel.build/modules/rules_java/8.12.0/MODULE.bazel": "8e6590b961f2defdfc2811c089c75716cb2f06c8a4edeb9a8d85eaa64ee2a761", + "https://bcr.bazel.build/modules/rules_java/8.12.0/source.json": "cbd5d55d9d38d4008a7d00bee5b5a5a4b6031fcd4a56515c9accbcd42c7be2ba", "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", "https://bcr.bazel.build/modules/rules_java/8.6.1/MODULE.bazel": "f4808e2ab5b0197f094cabce9f4b006a27766beb6a9975931da07099560ca9c2", - "https://bcr.bazel.build/modules/rules_java/8.6.1/source.json": "f18d9ad3c4c54945bf422ad584fa6c5ca5b3116ff55a5b1bc77e5c1210be5960", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", @@ -277,7 +296,8 @@ "https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f", "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73", "https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2", - "https://bcr.bazel.build/modules/rules_proto/7.0.2/source.json": "1e5e7260ae32ef4f2b52fd1d0de8d03b606a44c91b694d2f1afb1d3b28a48ce1", + "https://bcr.bazel.build/modules/rules_proto/7.1.0/MODULE.bazel": "002d62d9108f75bb807cd56245d45648f38275cb3a99dcd45dfb864c5d74cb96", + "https://bcr.bazel.build/modules/rules_proto/7.1.0/source.json": "39f89066c12c24097854e8f57ab8558929f9c8d474d34b2c00ac04630ad8940e", "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", "https://bcr.bazel.build/modules/rules_python/0.20.0/MODULE.bazel": "bfe14d17f20e3fe900b9588f526f52c967a6f281e47a1d6b988679bd15082286", "https://bcr.bazel.build/modules/rules_python/0.22.0/MODULE.bazel": "b8057bafa11a9e0f4b08fc3b7cd7bee0dcbccea209ac6fc9a3ff051cd03e19e9", @@ -287,6 +307,7 @@ "https://bcr.bazel.build/modules/rules_python/0.28.0/MODULE.bazel": "cba2573d870babc976664a912539b320cbaa7114cd3e8f053c720171cde331ed", "https://bcr.bazel.build/modules/rules_python/0.29.0/MODULE.bazel": "2ac8cd70524b4b9ec49a0b8284c79e4cd86199296f82f6e0d5da3f783d660c82", "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", + "https://bcr.bazel.build/modules/rules_python/0.32.2/MODULE.bazel": "01052470fc30b49de91fb8483d26bea6f664500cfad0b078d4605b03e3a83ed4", "https://bcr.bazel.build/modules/rules_python/0.33.2/MODULE.bazel": "3e036c4ad8d804a4dad897d333d8dce200d943df4827cb849840055be8d2e937", "https://bcr.bazel.build/modules/rules_python/0.37.1/MODULE.bazel": "3faeb2d9fa0a81f8980643ee33f212308f4d93eea4b9ce6f36d0b742e71e9500", "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", @@ -333,7 +354,7 @@ "moduleExtensions": { "@@apple_support+//crosstool:setup.bzl%apple_cc_configure_extension": { "general": { - "bzlTransitiveDigest": "Ync9nL0AbHC6ondeEY7fBjBjLxojTsiXcJh65ZDTRlA=", + "bzlTransitiveDigest": "xcBTf2+GaloFpg7YEh/Bv+1yAczRkiCt3DGws4K7kSk=", "usagesDigest": "ypfdsRT1Lze/3i07sp0fc1st5t9vrHXgYeCPQdYKeDo=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -531,7 +552,7 @@ }, "@@rules_foreign_cc+//foreign_cc:extensions.bzl%tools": { "general": { - "bzlTransitiveDigest": "FApcIcVN43WOEs7g8eg7Cy1hrfRbVNEoUu8IiF+8WOc=", + "bzlTransitiveDigest": "ginC3lIGOKKivBi0nyv2igKvSiz42Thm8yaX2RwVaHg=", "usagesDigest": "9LXdVp01HkdYQT8gYPjYLO6VLVJHo9uFfxWaU1ymiRE=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -843,31 +864,9 @@ ] } }, - "@@rules_java+//java:rules_java_deps.bzl%compatibility_proxy": { - "general": { - "bzlTransitiveDigest": "84xJEZ1jnXXwo8BXMprvBm++rRt4jsTu9liBxz0ivps=", - "usagesDigest": "jTQDdLDxsS43zuRmg1faAjIEPWdLAbDAowI1pInQSoo=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "compatibility_proxy": { - "repoRuleId": "@@rules_java+//java:rules_java_deps.bzl%_compatibility_proxy_repo_rule", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_java+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { - "bzlTransitiveDigest": "sFhcgPbDQehmbD1EOXzX4H1q/CD5df8zwG4kp4jbvr8=", + "bzlTransitiveDigest": "hUTp2w+RUVdL7ma5esCXZJAFnX7vLbVfLd7FwnQI6bU=", "usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, diff --git a/regenerate-files.sh b/regenerate-files.sh index a23fc1de..3c950e55 100755 --- a/regenerate-files.sh +++ b/regenerate-files.sh @@ -50,6 +50,8 @@ bazel build //packet_link_qualification:all copy_generated "packet_link_qualification" "linkqual" bazel build //system:all copy_generated "system" +bazel build //transceiver_firmware_install:all +copy_generated "transceiver_firmware_install" bazel build //types:all copy_generated "types" bazel build //wavelength_router:all diff --git a/transceiver_firmware_install/BUILD.bazel b/transceiver_firmware_install/BUILD.bazel new file mode 100644 index 00000000..c970cc9f --- /dev/null +++ b/transceiver_firmware_install/BUILD.bazel @@ -0,0 +1,69 @@ +load("@com_github_grpc_grpc//bazel:cc_grpc_library.bzl", "cc_grpc_library") +load("@com_google_protobuf//bazel:cc_proto_library.bzl", "cc_proto_library") +load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library") +load("@io_bazel_rules_go//go:def.bzl", "go_library") +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") + +#Copyright 2021 Google LLC +# +# 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 +# +# https://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. + +package( + default_visibility = ["//visibility:public"], + licenses = ["notice"], +) + +proto_library( + name = "transceiver_firmware_install_proto", + srcs = ["transceiver_firmware_install.proto"], + import_prefix = "github.com/openconfig/gnoi", + visibility = ["//visibility:public"], + deps = [ + "@com_google_protobuf//:duration_proto", + "@com_google_protobuf//:timestamp_proto", + "//types:types_proto", + ], +) + +cc_proto_library( + name = "transceiver_firmware_install_cc_proto", + deps = [":transceiver_firmware_install_proto"], +) + +cc_grpc_library( + name = "transceiver_firmware_install_cc_grpc_proto", + srcs = [":transceiver_firmware_install_proto"], + grpc_only = True, + deps = [":transceiver_firmware_install_cc_proto"], +) + +go_proto_library( + name = "transceiver_firmware_install_go_proto", + compilers = [ + "@io_bazel_rules_go//proto:go_grpc_v2", + "@io_bazel_rules_go//proto:go_proto", + ], + importpath = "github.com/openconfig/gnoi/transceiver_firmware_install", + proto = ":transceiver_firmware_install_proto", + visibility = ["//visibility:public"], + deps = [ + "//types", + ], +) + +go_library( + name = "transceiver_firmware_install", + embed = [":transceiver_firmware_install_go_proto"], + importpath = "github.com/openconfig/gnoi/transceiver_firmware_install", + visibility = ["//visibility:public"], +) diff --git a/transceiver_firmware_install/transceiver_firmware_install.pb.go b/transceiver_firmware_install/transceiver_firmware_install.pb.go new file mode 100644 index 00000000..ac82ad2c --- /dev/null +++ b/transceiver_firmware_install/transceiver_firmware_install.pb.go @@ -0,0 +1,2108 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.6 +// protoc v6.32.0 +// source: github.com/openconfig/gnoi/transceiver_firmware_install/transceiver_firmware_install.proto + +package transceiver_firmware_install + +import ( + types "github.com/openconfig/gnoi/types" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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 InstallStatus int32 + +const ( + InstallStatus_INSTALL_STATUS_UNKNOWN InstallStatus = 0 + InstallStatus_INSTALL_STATUS_TRANSFER_IN_PROGRESS InstallStatus = 1 + InstallStatus_INSTALL_STATUS_INSTALL_IN_PROGRESS InstallStatus = 2 + InstallStatus_INSTALL_STATUS_COMPLETED InstallStatus = 3 + InstallStatus_INSTALL_STATUS_FAILED InstallStatus = 4 +) + +// Enum value maps for InstallStatus. +var ( + InstallStatus_name = map[int32]string{ + 0: "INSTALL_STATUS_UNKNOWN", + 1: "INSTALL_STATUS_TRANSFER_IN_PROGRESS", + 2: "INSTALL_STATUS_INSTALL_IN_PROGRESS", + 3: "INSTALL_STATUS_COMPLETED", + 4: "INSTALL_STATUS_FAILED", + } + InstallStatus_value = map[string]int32{ + "INSTALL_STATUS_UNKNOWN": 0, + "INSTALL_STATUS_TRANSFER_IN_PROGRESS": 1, + "INSTALL_STATUS_INSTALL_IN_PROGRESS": 2, + "INSTALL_STATUS_COMPLETED": 3, + "INSTALL_STATUS_FAILED": 4, + } +) + +func (x InstallStatus) Enum() *InstallStatus { + p := new(InstallStatus) + *p = x + return p +} + +func (x InstallStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InstallStatus) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_enumTypes[0].Descriptor() +} + +func (InstallStatus) Type() protoreflect.EnumType { + return &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_enumTypes[0] +} + +func (x InstallStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InstallStatus.Descriptor instead. +func (InstallStatus) EnumDescriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{0} +} + +type TransferError_Type int32 + +const ( + TransferError_UNSPECIFIED TransferError_Type = 0 + TransferError_INCOMPATIBLE TransferError_Type = 1 + TransferError_TOO_LARGE TransferError_Type = 2 + TransferError_PARSE_FAIL TransferError_Type = 3 + TransferError_INTEGRITY_FAIL TransferError_Type = 4 + TransferError_TRANSFER_IN_PROGRESS TransferError_Type = 5 + TransferError_INVALID_ARGUMENT TransferError_Type = 6 +) + +// Enum value maps for TransferError_Type. +var ( + TransferError_Type_name = map[int32]string{ + 0: "UNSPECIFIED", + 1: "INCOMPATIBLE", + 2: "TOO_LARGE", + 3: "PARSE_FAIL", + 4: "INTEGRITY_FAIL", + 5: "TRANSFER_IN_PROGRESS", + 6: "INVALID_ARGUMENT", + } + TransferError_Type_value = map[string]int32{ + "UNSPECIFIED": 0, + "INCOMPATIBLE": 1, + "TOO_LARGE": 2, + "PARSE_FAIL": 3, + "INTEGRITY_FAIL": 4, + "TRANSFER_IN_PROGRESS": 5, + "INVALID_ARGUMENT": 6, + } +) + +func (x TransferError_Type) Enum() *TransferError_Type { + p := new(TransferError_Type) + *p = x + return p +} + +func (x TransferError_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TransferError_Type) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_enumTypes[1].Descriptor() +} + +func (TransferError_Type) Type() protoreflect.EnumType { + return &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_enumTypes[1] +} + +func (x TransferError_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TransferError_Type.Descriptor instead. +func (TransferError_Type) EnumDescriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{9, 0} +} + +type InstallError_Type int32 + +const ( + InstallError_UNSPECIFIED InstallError_Type = 0 + InstallError_NON_EXISTENT_VERSION InstallError_Type = 1 + InstallError_INCOMPATIBLE InstallError_Type = 2 + InstallError_TOO_LARGE InstallError_Type = 3 + InstallError_PARSE_FAIL InstallError_Type = 4 + InstallError_INTEGRITY_FAIL InstallError_Type = 5 + InstallError_INSTALL_IN_PROGRESS InstallError_Type = 6 + InstallError_UNEXPECTED_SWITCHOVER InstallError_Type = 7 + InstallError_EMPTY_FIRMWARE_BANK InstallError_Type = 8 +) + +// Enum value maps for InstallError_Type. +var ( + InstallError_Type_name = map[int32]string{ + 0: "UNSPECIFIED", + 1: "NON_EXISTENT_VERSION", + 2: "INCOMPATIBLE", + 3: "TOO_LARGE", + 4: "PARSE_FAIL", + 5: "INTEGRITY_FAIL", + 6: "INSTALL_IN_PROGRESS", + 7: "UNEXPECTED_SWITCHOVER", + 8: "EMPTY_FIRMWARE_BANK", + } + InstallError_Type_value = map[string]int32{ + "UNSPECIFIED": 0, + "NON_EXISTENT_VERSION": 1, + "INCOMPATIBLE": 2, + "TOO_LARGE": 3, + "PARSE_FAIL": 4, + "INTEGRITY_FAIL": 5, + "INSTALL_IN_PROGRESS": 6, + "UNEXPECTED_SWITCHOVER": 7, + "EMPTY_FIRMWARE_BANK": 8, + } +) + +func (x InstallError_Type) Enum() *InstallError_Type { + p := new(InstallError_Type) + *p = x + return p +} + +func (x InstallError_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InstallError_Type) Descriptor() protoreflect.EnumDescriptor { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_enumTypes[2].Descriptor() +} + +func (InstallError_Type) Type() protoreflect.EnumType { + return &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_enumTypes[2] +} + +func (x InstallError_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InstallError_Type.Descriptor instead. +func (InstallError_Type) EnumDescriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{19, 0} +} + +type TransferRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Request: + // + // *TransferRequest_TransferToDevice + // *TransferRequest_TransferToTransceiver + Request isTransferRequest_Request `protobuf_oneof:"request"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TransferRequest) Reset() { + *x = TransferRequest{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TransferRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransferRequest) ProtoMessage() {} + +func (x *TransferRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransferRequest.ProtoReflect.Descriptor instead. +func (*TransferRequest) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{0} +} + +func (x *TransferRequest) GetRequest() isTransferRequest_Request { + if x != nil { + return x.Request + } + return nil +} + +func (x *TransferRequest) GetTransferToDevice() *TransferToDeviceRequest { + if x != nil { + if x, ok := x.Request.(*TransferRequest_TransferToDevice); ok { + return x.TransferToDevice + } + } + return nil +} + +func (x *TransferRequest) GetTransferToTransceiver() *TransferToTransceiverRequest { + if x != nil { + if x, ok := x.Request.(*TransferRequest_TransferToTransceiver); ok { + return x.TransferToTransceiver + } + } + return nil +} + +type isTransferRequest_Request interface { + isTransferRequest_Request() +} + +type TransferRequest_TransferToDevice struct { + TransferToDevice *TransferToDeviceRequest `protobuf:"bytes,1,opt,name=transfer_to_device,json=transferToDevice,proto3,oneof"` +} + +type TransferRequest_TransferToTransceiver struct { + TransferToTransceiver *TransferToTransceiverRequest `protobuf:"bytes,2,opt,name=transfer_to_transceiver,json=transferToTransceiver,proto3,oneof"` +} + +func (*TransferRequest_TransferToDevice) isTransferRequest_Request() {} + +func (*TransferRequest_TransferToTransceiver) isTransferRequest_Request() {} + +type TransferToDeviceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Request: + // + // *TransferToDeviceRequest_TransferStartRequest + // *TransferToDeviceRequest_TransferContent + // *TransferToDeviceRequest_TransferEnd + Request isTransferToDeviceRequest_Request `protobuf_oneof:"request"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TransferToDeviceRequest) Reset() { + *x = TransferToDeviceRequest{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TransferToDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransferToDeviceRequest) ProtoMessage() {} + +func (x *TransferToDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransferToDeviceRequest.ProtoReflect.Descriptor instead. +func (*TransferToDeviceRequest) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{1} +} + +func (x *TransferToDeviceRequest) GetRequest() isTransferToDeviceRequest_Request { + if x != nil { + return x.Request + } + return nil +} + +func (x *TransferToDeviceRequest) GetTransferStartRequest() *TransferToDeviceStartRequest { + if x != nil { + if x, ok := x.Request.(*TransferToDeviceRequest_TransferStartRequest); ok { + return x.TransferStartRequest + } + } + return nil +} + +func (x *TransferToDeviceRequest) GetTransferContent() []byte { + if x != nil { + if x, ok := x.Request.(*TransferToDeviceRequest_TransferContent); ok { + return x.TransferContent + } + } + return nil +} + +func (x *TransferToDeviceRequest) GetTransferEnd() *TransferEnd { + if x != nil { + if x, ok := x.Request.(*TransferToDeviceRequest_TransferEnd); ok { + return x.TransferEnd + } + } + return nil +} + +type isTransferToDeviceRequest_Request interface { + isTransferToDeviceRequest_Request() +} + +type TransferToDeviceRequest_TransferStartRequest struct { + TransferStartRequest *TransferToDeviceStartRequest `protobuf:"bytes,1,opt,name=transfer_start_request,json=transferStartRequest,proto3,oneof"` +} + +type TransferToDeviceRequest_TransferContent struct { + TransferContent []byte `protobuf:"bytes,2,opt,name=transfer_content,json=transferContent,proto3,oneof"` +} + +type TransferToDeviceRequest_TransferEnd struct { + TransferEnd *TransferEnd `protobuf:"bytes,3,opt,name=transfer_end,json=transferEnd,proto3,oneof"` +} + +func (*TransferToDeviceRequest_TransferStartRequest) isTransferToDeviceRequest_Request() {} + +func (*TransferToDeviceRequest_TransferContent) isTransferToDeviceRequest_Request() {} + +func (*TransferToDeviceRequest_TransferEnd) isTransferToDeviceRequest_Request() {} + +type TransferToDeviceStartRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PackageName string `protobuf:"bytes,1,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"` + PackageSizeBytes uint64 `protobuf:"varint,2,opt,name=package_size_bytes,json=packageSizeBytes,proto3" json:"package_size_bytes,omitempty"` + Hash *types.HashType `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TransferToDeviceStartRequest) Reset() { + *x = TransferToDeviceStartRequest{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TransferToDeviceStartRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransferToDeviceStartRequest) ProtoMessage() {} + +func (x *TransferToDeviceStartRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransferToDeviceStartRequest.ProtoReflect.Descriptor instead. +func (*TransferToDeviceStartRequest) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{2} +} + +func (x *TransferToDeviceStartRequest) GetPackageName() string { + if x != nil { + return x.PackageName + } + return "" +} + +func (x *TransferToDeviceStartRequest) GetPackageSizeBytes() uint64 { + if x != nil { + return x.PackageSizeBytes + } + return 0 +} + +func (x *TransferToDeviceStartRequest) GetHash() *types.HashType { + if x != nil { + return x.Hash + } + return nil +} + +type TransferEnd struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TransferEnd) Reset() { + *x = TransferEnd{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TransferEnd) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransferEnd) ProtoMessage() {} + +func (x *TransferEnd) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransferEnd.ProtoReflect.Descriptor instead. +func (*TransferEnd) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{3} +} + +type TransferToTransceiverRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Transceiver *types.Path `protobuf:"bytes,1,opt,name=transceiver,proto3" json:"transceiver,omitempty"` + PackageName string `protobuf:"bytes,2,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"` + PackageSizeBytes uint64 `protobuf:"varint,3,opt,name=package_size_bytes,json=packageSizeBytes,proto3" json:"package_size_bytes,omitempty"` + FirmwareBank uint32 `protobuf:"varint,4,opt,name=firmware_bank,json=firmwareBank,proto3" json:"firmware_bank,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TransferToTransceiverRequest) Reset() { + *x = TransferToTransceiverRequest{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TransferToTransceiverRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransferToTransceiverRequest) ProtoMessage() {} + +func (x *TransferToTransceiverRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransferToTransceiverRequest.ProtoReflect.Descriptor instead. +func (*TransferToTransceiverRequest) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{4} +} + +func (x *TransferToTransceiverRequest) GetTransceiver() *types.Path { + if x != nil { + return x.Transceiver + } + return nil +} + +func (x *TransferToTransceiverRequest) GetPackageName() string { + if x != nil { + return x.PackageName + } + return "" +} + +func (x *TransferToTransceiverRequest) GetPackageSizeBytes() uint64 { + if x != nil { + return x.PackageSizeBytes + } + return 0 +} + +func (x *TransferToTransceiverRequest) GetFirmwareBank() uint32 { + if x != nil { + return x.FirmwareBank + } + return 0 +} + +type TransferResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Response: + // + // *TransferResponse_TransferReady + // *TransferResponse_TransferProgress + // *TransferResponse_Validated + // *TransferResponse_TransferError + Response isTransferResponse_Response `protobuf_oneof:"response"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TransferResponse) Reset() { + *x = TransferResponse{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TransferResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransferResponse) ProtoMessage() {} + +func (x *TransferResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransferResponse.ProtoReflect.Descriptor instead. +func (*TransferResponse) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{5} +} + +func (x *TransferResponse) GetResponse() isTransferResponse_Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *TransferResponse) GetTransferReady() *TransferReady { + if x != nil { + if x, ok := x.Response.(*TransferResponse_TransferReady); ok { + return x.TransferReady + } + } + return nil +} + +func (x *TransferResponse) GetTransferProgress() *TransferProgress { + if x != nil { + if x, ok := x.Response.(*TransferResponse_TransferProgress); ok { + return x.TransferProgress + } + } + return nil +} + +func (x *TransferResponse) GetValidated() *Validated { + if x != nil { + if x, ok := x.Response.(*TransferResponse_Validated); ok { + return x.Validated + } + } + return nil +} + +func (x *TransferResponse) GetTransferError() *TransferError { + if x != nil { + if x, ok := x.Response.(*TransferResponse_TransferError); ok { + return x.TransferError + } + } + return nil +} + +type isTransferResponse_Response interface { + isTransferResponse_Response() +} + +type TransferResponse_TransferReady struct { + TransferReady *TransferReady `protobuf:"bytes,1,opt,name=transfer_ready,json=transferReady,proto3,oneof"` +} + +type TransferResponse_TransferProgress struct { + TransferProgress *TransferProgress `protobuf:"bytes,2,opt,name=transfer_progress,json=transferProgress,proto3,oneof"` +} + +type TransferResponse_Validated struct { + Validated *Validated `protobuf:"bytes,3,opt,name=validated,proto3,oneof"` +} + +type TransferResponse_TransferError struct { + TransferError *TransferError `protobuf:"bytes,4,opt,name=transfer_error,json=transferError,proto3,oneof"` +} + +func (*TransferResponse_TransferReady) isTransferResponse_Response() {} + +func (*TransferResponse_TransferProgress) isTransferResponse_Response() {} + +func (*TransferResponse_Validated) isTransferResponse_Response() {} + +func (*TransferResponse_TransferError) isTransferResponse_Response() {} + +type TransferReady struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TransferReady) Reset() { + *x = TransferReady{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TransferReady) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransferReady) ProtoMessage() {} + +func (x *TransferReady) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransferReady.ProtoReflect.Descriptor instead. +func (*TransferReady) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{6} +} + +type TransferProgress struct { + state protoimpl.MessageState `protogen:"open.v1"` + BytesReceived uint64 `protobuf:"varint,1,opt,name=bytes_received,json=bytesReceived,proto3" json:"bytes_received,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TransferProgress) Reset() { + *x = TransferProgress{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TransferProgress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransferProgress) ProtoMessage() {} + +func (x *TransferProgress) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransferProgress.ProtoReflect.Descriptor instead. +func (*TransferProgress) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{7} +} + +func (x *TransferProgress) GetBytesReceived() uint64 { + if x != nil { + return x.BytesReceived + } + return 0 +} + +type Validated struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Validated) Reset() { + *x = Validated{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Validated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Validated) ProtoMessage() {} + +func (x *Validated) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Validated.ProtoReflect.Descriptor instead. +func (*Validated) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{8} +} + +type TransferError struct { + state protoimpl.MessageState `protogen:"open.v1"` + Type TransferError_Type `protobuf:"varint,1,opt,name=type,proto3,enum=gnoi.transceiver_firmware_install.TransferError_Type" json:"type,omitempty"` + Detail string `protobuf:"bytes,2,opt,name=detail,proto3" json:"detail,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TransferError) Reset() { + *x = TransferError{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TransferError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransferError) ProtoMessage() {} + +func (x *TransferError) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransferError.ProtoReflect.Descriptor instead. +func (*TransferError) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{9} +} + +func (x *TransferError) GetType() TransferError_Type { + if x != nil { + return x.Type + } + return TransferError_UNSPECIFIED +} + +func (x *TransferError) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + +type InstallRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstallRequests []*InstallSingleRequest `protobuf:"bytes,1,rep,name=install_requests,json=installRequests,proto3" json:"install_requests,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallRequest) Reset() { + *x = InstallRequest{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallRequest) ProtoMessage() {} + +func (x *InstallRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallRequest.ProtoReflect.Descriptor instead. +func (*InstallRequest) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{10} +} + +func (x *InstallRequest) GetInstallRequests() []*InstallSingleRequest { + if x != nil { + return x.InstallRequests + } + return nil +} + +type InstallSingleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Transceiver *types.Path `protobuf:"bytes,1,opt,name=transceiver,proto3" json:"transceiver,omitempty"` + // Types that are valid to be assigned to InstallFrom: + // + // *InstallSingleRequest_InstallFromDevice + // *InstallSingleRequest_InstallFromTransceiverBank + InstallFrom isInstallSingleRequest_InstallFrom `protobuf_oneof:"install_from"` + ForceInstall bool `protobuf:"varint,4,opt,name=force_install,json=forceInstall,proto3" json:"force_install,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallSingleRequest) Reset() { + *x = InstallSingleRequest{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallSingleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallSingleRequest) ProtoMessage() {} + +func (x *InstallSingleRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallSingleRequest.ProtoReflect.Descriptor instead. +func (*InstallSingleRequest) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{11} +} + +func (x *InstallSingleRequest) GetTransceiver() *types.Path { + if x != nil { + return x.Transceiver + } + return nil +} + +func (x *InstallSingleRequest) GetInstallFrom() isInstallSingleRequest_InstallFrom { + if x != nil { + return x.InstallFrom + } + return nil +} + +func (x *InstallSingleRequest) GetInstallFromDevice() *InstallFromDeviceRequest { + if x != nil { + if x, ok := x.InstallFrom.(*InstallSingleRequest_InstallFromDevice); ok { + return x.InstallFromDevice + } + } + return nil +} + +func (x *InstallSingleRequest) GetInstallFromTransceiverBank() *InstallFromTransceiverBankRequest { + if x != nil { + if x, ok := x.InstallFrom.(*InstallSingleRequest_InstallFromTransceiverBank); ok { + return x.InstallFromTransceiverBank + } + } + return nil +} + +func (x *InstallSingleRequest) GetForceInstall() bool { + if x != nil { + return x.ForceInstall + } + return false +} + +type isInstallSingleRequest_InstallFrom interface { + isInstallSingleRequest_InstallFrom() +} + +type InstallSingleRequest_InstallFromDevice struct { + InstallFromDevice *InstallFromDeviceRequest `protobuf:"bytes,2,opt,name=install_from_device,json=installFromDevice,proto3,oneof"` +} + +type InstallSingleRequest_InstallFromTransceiverBank struct { + InstallFromTransceiverBank *InstallFromTransceiverBankRequest `protobuf:"bytes,3,opt,name=install_from_transceiver_bank,json=installFromTransceiverBank,proto3,oneof"` +} + +func (*InstallSingleRequest_InstallFromDevice) isInstallSingleRequest_InstallFrom() {} + +func (*InstallSingleRequest_InstallFromTransceiverBank) isInstallSingleRequest_InstallFrom() {} + +type InstallFromDeviceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PackageName string `protobuf:"bytes,1,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"` + PackageSizeBytes uint64 `protobuf:"varint,2,opt,name=package_size_bytes,json=packageSizeBytes,proto3" json:"package_size_bytes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallFromDeviceRequest) Reset() { + *x = InstallFromDeviceRequest{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallFromDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallFromDeviceRequest) ProtoMessage() {} + +func (x *InstallFromDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallFromDeviceRequest.ProtoReflect.Descriptor instead. +func (*InstallFromDeviceRequest) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{12} +} + +func (x *InstallFromDeviceRequest) GetPackageName() string { + if x != nil { + return x.PackageName + } + return "" +} + +func (x *InstallFromDeviceRequest) GetPackageSizeBytes() uint64 { + if x != nil { + return x.PackageSizeBytes + } + return 0 +} + +type InstallFromTransceiverBankRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + FirmwareBank uint32 `protobuf:"varint,4,opt,name=firmware_bank,json=firmwareBank,proto3" json:"firmware_bank,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallFromTransceiverBankRequest) Reset() { + *x = InstallFromTransceiverBankRequest{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallFromTransceiverBankRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallFromTransceiverBankRequest) ProtoMessage() {} + +func (x *InstallFromTransceiverBankRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallFromTransceiverBankRequest.ProtoReflect.Descriptor instead. +func (*InstallFromTransceiverBankRequest) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{13} +} + +func (x *InstallFromTransceiverBankRequest) GetFirmwareBank() uint32 { + if x != nil { + return x.FirmwareBank + } + return 0 +} + +type InstallResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + InstallResponses []*InstallSingleResponse `protobuf:"bytes,1,rep,name=install_responses,json=installResponses,proto3" json:"install_responses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallResponse) Reset() { + *x = InstallResponse{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallResponse) ProtoMessage() {} + +func (x *InstallResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallResponse.ProtoReflect.Descriptor instead. +func (*InstallResponse) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{14} +} + +func (x *InstallResponse) GetInstallResponses() []*InstallSingleResponse { + if x != nil { + return x.InstallResponses + } + return nil +} + +type InstallSingleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Transceiver *types.Path `protobuf:"bytes,1,opt,name=transceiver,proto3" json:"transceiver,omitempty"` + // Types that are valid to be assigned to Response: + // + // *InstallSingleResponse_InstallReady + // *InstallSingleResponse_TransferProgress + // *InstallSingleResponse_InstallProgress + // *InstallSingleResponse_InstallOk + // *InstallSingleResponse_InstallError + Response isInstallSingleResponse_Response `protobuf_oneof:"response"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallSingleResponse) Reset() { + *x = InstallSingleResponse{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallSingleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallSingleResponse) ProtoMessage() {} + +func (x *InstallSingleResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallSingleResponse.ProtoReflect.Descriptor instead. +func (*InstallSingleResponse) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{15} +} + +func (x *InstallSingleResponse) GetTransceiver() *types.Path { + if x != nil { + return x.Transceiver + } + return nil +} + +func (x *InstallSingleResponse) GetResponse() isInstallSingleResponse_Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *InstallSingleResponse) GetInstallReady() *InstallReady { + if x != nil { + if x, ok := x.Response.(*InstallSingleResponse_InstallReady); ok { + return x.InstallReady + } + } + return nil +} + +func (x *InstallSingleResponse) GetTransferProgress() *TransferProgress { + if x != nil { + if x, ok := x.Response.(*InstallSingleResponse_TransferProgress); ok { + return x.TransferProgress + } + } + return nil +} + +func (x *InstallSingleResponse) GetInstallProgress() *InstallProgress { + if x != nil { + if x, ok := x.Response.(*InstallSingleResponse_InstallProgress); ok { + return x.InstallProgress + } + } + return nil +} + +func (x *InstallSingleResponse) GetInstallOk() *InstallOK { + if x != nil { + if x, ok := x.Response.(*InstallSingleResponse_InstallOk); ok { + return x.InstallOk + } + } + return nil +} + +func (x *InstallSingleResponse) GetInstallError() *InstallError { + if x != nil { + if x, ok := x.Response.(*InstallSingleResponse_InstallError); ok { + return x.InstallError + } + } + return nil +} + +type isInstallSingleResponse_Response interface { + isInstallSingleResponse_Response() +} + +type InstallSingleResponse_InstallReady struct { + InstallReady *InstallReady `protobuf:"bytes,2,opt,name=install_ready,json=installReady,proto3,oneof"` +} + +type InstallSingleResponse_TransferProgress struct { + TransferProgress *TransferProgress `protobuf:"bytes,3,opt,name=transfer_progress,json=transferProgress,proto3,oneof"` +} + +type InstallSingleResponse_InstallProgress struct { + InstallProgress *InstallProgress `protobuf:"bytes,4,opt,name=install_progress,json=installProgress,proto3,oneof"` +} + +type InstallSingleResponse_InstallOk struct { + InstallOk *InstallOK `protobuf:"bytes,5,opt,name=install_ok,json=installOk,proto3,oneof"` +} + +type InstallSingleResponse_InstallError struct { + InstallError *InstallError `protobuf:"bytes,6,opt,name=install_error,json=installError,proto3,oneof"` +} + +func (*InstallSingleResponse_InstallReady) isInstallSingleResponse_Response() {} + +func (*InstallSingleResponse_TransferProgress) isInstallSingleResponse_Response() {} + +func (*InstallSingleResponse_InstallProgress) isInstallSingleResponse_Response() {} + +func (*InstallSingleResponse_InstallOk) isInstallSingleResponse_Response() {} + +func (*InstallSingleResponse_InstallError) isInstallSingleResponse_Response() {} + +type InstallReady struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallReady) Reset() { + *x = InstallReady{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallReady) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallReady) ProtoMessage() {} + +func (x *InstallReady) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallReady.ProtoReflect.Descriptor instead. +func (*InstallReady) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{16} +} + +type InstallProgress struct { + state protoimpl.MessageState `protogen:"open.v1"` + PercentageInstalled uint32 `protobuf:"varint,1,opt,name=percentage_installed,json=percentageInstalled,proto3" json:"percentage_installed,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallProgress) Reset() { + *x = InstallProgress{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallProgress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallProgress) ProtoMessage() {} + +func (x *InstallProgress) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallProgress.ProtoReflect.Descriptor instead. +func (*InstallProgress) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{17} +} + +func (x *InstallProgress) GetPercentageInstalled() uint32 { + if x != nil { + return x.PercentageInstalled + } + return 0 +} + +type InstallOK struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallOK) Reset() { + *x = InstallOK{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallOK) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallOK) ProtoMessage() {} + +func (x *InstallOK) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallOK.ProtoReflect.Descriptor instead. +func (*InstallOK) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{18} +} + +type InstallError struct { + state protoimpl.MessageState `protogen:"open.v1"` + Type InstallError_Type `protobuf:"varint,1,opt,name=type,proto3,enum=gnoi.transceiver_firmware_install.InstallError_Type" json:"type,omitempty"` + Detail string `protobuf:"bytes,2,opt,name=detail,proto3" json:"detail,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallError) Reset() { + *x = InstallError{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallError) ProtoMessage() {} + +func (x *InstallError) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstallError.ProtoReflect.Descriptor instead. +func (*InstallError) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{19} +} + +func (x *InstallError) GetType() InstallError_Type { + if x != nil { + return x.Type + } + return InstallError_UNSPECIFIED +} + +func (x *InstallError) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + +type VerifyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + VerifyRequests []*VerifySingleRequest `protobuf:"bytes,1,rep,name=verify_requests,json=verifyRequests,proto3" json:"verify_requests,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyRequest) Reset() { + *x = VerifyRequest{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyRequest) ProtoMessage() {} + +func (x *VerifyRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyRequest.ProtoReflect.Descriptor instead. +func (*VerifyRequest) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{20} +} + +func (x *VerifyRequest) GetVerifyRequests() []*VerifySingleRequest { + if x != nil { + return x.VerifyRequests + } + return nil +} + +type VerifySingleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Transceiver *types.Path `protobuf:"bytes,1,opt,name=transceiver,proto3" json:"transceiver,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifySingleRequest) Reset() { + *x = VerifySingleRequest{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifySingleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifySingleRequest) ProtoMessage() {} + +func (x *VerifySingleRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifySingleRequest.ProtoReflect.Descriptor instead. +func (*VerifySingleRequest) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{21} +} + +func (x *VerifySingleRequest) GetTransceiver() *types.Path { + if x != nil { + return x.Transceiver + } + return nil +} + +type VerifyResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + VerifyResponses []*VerifySingleResponse `protobuf:"bytes,1,rep,name=verify_responses,json=verifyResponses,proto3" json:"verify_responses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifyResponse) Reset() { + *x = VerifyResponse{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifyResponse) ProtoMessage() {} + +func (x *VerifyResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifyResponse.ProtoReflect.Descriptor instead. +func (*VerifyResponse) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{22} +} + +func (x *VerifyResponse) GetVerifyResponses() []*VerifySingleResponse { + if x != nil { + return x.VerifyResponses + } + return nil +} + +type VerifySingleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Transceiver *types.Path `protobuf:"bytes,1,opt,name=transceiver,proto3" json:"transceiver,omitempty"` + RunningVersion string `protobuf:"bytes,2,opt,name=running_version,json=runningVersion,proto3" json:"running_version,omitempty"` + NewVersion string `protobuf:"bytes,3,opt,name=new_version,json=newVersion,proto3" json:"new_version,omitempty"` + Bank []*FirmwareBank `protobuf:"bytes,4,rep,name=bank,proto3" json:"bank,omitempty"` + NewVersionServiceImpacting bool `protobuf:"varint,5,opt,name=new_version_service_impacting,json=newVersionServiceImpacting,proto3" json:"new_version_service_impacting,omitempty"` + InstallStatus InstallStatus `protobuf:"varint,6,opt,name=install_status,json=installStatus,proto3,enum=gnoi.transceiver_firmware_install.InstallStatus" json:"install_status,omitempty"` + Step string `protobuf:"bytes,7,opt,name=step,proto3" json:"step,omitempty"` + StepPercentComplete uint32 `protobuf:"varint,8,opt,name=step_percent_complete,json=stepPercentComplete,proto3" json:"step_percent_complete,omitempty"` + TotalPercentComplete uint32 `protobuf:"varint,9,opt,name=total_percent_complete,json=totalPercentComplete,proto3" json:"total_percent_complete,omitempty"` + StartTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + StopTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=stop_time,json=stopTime,proto3" json:"stop_time,omitempty"` + Duration *durationpb.Duration `protobuf:"bytes,12,opt,name=duration,proto3" json:"duration,omitempty"` + FailureMessage string `protobuf:"bytes,13,opt,name=failure_message,json=failureMessage,proto3" json:"failure_message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifySingleResponse) Reset() { + *x = VerifySingleResponse{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifySingleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifySingleResponse) ProtoMessage() {} + +func (x *VerifySingleResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifySingleResponse.ProtoReflect.Descriptor instead. +func (*VerifySingleResponse) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{23} +} + +func (x *VerifySingleResponse) GetTransceiver() *types.Path { + if x != nil { + return x.Transceiver + } + return nil +} + +func (x *VerifySingleResponse) GetRunningVersion() string { + if x != nil { + return x.RunningVersion + } + return "" +} + +func (x *VerifySingleResponse) GetNewVersion() string { + if x != nil { + return x.NewVersion + } + return "" +} + +func (x *VerifySingleResponse) GetBank() []*FirmwareBank { + if x != nil { + return x.Bank + } + return nil +} + +func (x *VerifySingleResponse) GetNewVersionServiceImpacting() bool { + if x != nil { + return x.NewVersionServiceImpacting + } + return false +} + +func (x *VerifySingleResponse) GetInstallStatus() InstallStatus { + if x != nil { + return x.InstallStatus + } + return InstallStatus_INSTALL_STATUS_UNKNOWN +} + +func (x *VerifySingleResponse) GetStep() string { + if x != nil { + return x.Step + } + return "" +} + +func (x *VerifySingleResponse) GetStepPercentComplete() uint32 { + if x != nil { + return x.StepPercentComplete + } + return 0 +} + +func (x *VerifySingleResponse) GetTotalPercentComplete() uint32 { + if x != nil { + return x.TotalPercentComplete + } + return 0 +} + +func (x *VerifySingleResponse) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *VerifySingleResponse) GetStopTime() *timestamppb.Timestamp { + if x != nil { + return x.StopTime + } + return nil +} + +func (x *VerifySingleResponse) GetDuration() *durationpb.Duration { + if x != nil { + return x.Duration + } + return nil +} + +func (x *VerifySingleResponse) GetFailureMessage() string { + if x != nil { + return x.FailureMessage + } + return "" +} + +type FirmwareBank struct { + state protoimpl.MessageState `protogen:"open.v1"` + Bank string `protobuf:"bytes,1,opt,name=bank,proto3" json:"bank,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FirmwareBank) Reset() { + *x = FirmwareBank{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FirmwareBank) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FirmwareBank) ProtoMessage() {} + +func (x *FirmwareBank) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FirmwareBank.ProtoReflect.Descriptor instead. +func (*FirmwareBank) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{24} +} + +func (x *FirmwareBank) GetBank() string { + if x != nil { + return x.Bank + } + return "" +} + +func (x *FirmwareBank) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type DeleteRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PackageName string `protobuf:"bytes,1,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteRequest) Reset() { + *x = DeleteRequest{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteRequest) ProtoMessage() {} + +func (x *DeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteRequest.ProtoReflect.Descriptor instead. +func (*DeleteRequest) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{25} +} + +func (x *DeleteRequest) GetPackageName() string { + if x != nil { + return x.PackageName + } + return "" +} + +type DeleteResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteResponse) Reset() { + *x = DeleteResponse{} + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteResponse) ProtoMessage() {} + +func (x *DeleteResponse) ProtoReflect() protoreflect.Message { + mi := &file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteResponse.ProtoReflect.Descriptor instead. +func (*DeleteResponse) Descriptor() ([]byte, []int) { + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP(), []int{26} +} + +var File_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto protoreflect.FileDescriptor + +const file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDesc = "" + + "\n" + + "Zgithub.com/openconfig/gnoi/transceiver_firmware_install/transceiver_firmware_install.proto\x12!gnoi.transceiver_firmware_install\x1a,github.com/openconfig/gnoi/types/types.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x83\x02\n" + + "\x0fTransferRequest\x12j\n" + + "\x12transfer_to_device\x18\x01 \x01(\v2:.gnoi.transceiver_firmware_install.TransferToDeviceRequestH\x00R\x10transferToDevice\x12y\n" + + "\x17transfer_to_transceiver\x18\x02 \x01(\v2?.gnoi.transceiver_firmware_install.TransferToTransceiverRequestH\x00R\x15transferToTransceiverB\t\n" + + "\arequest\"\x9f\x02\n" + + "\x17TransferToDeviceRequest\x12w\n" + + "\x16transfer_start_request\x18\x01 \x01(\v2?.gnoi.transceiver_firmware_install.TransferToDeviceStartRequestH\x00R\x14transferStartRequest\x12+\n" + + "\x10transfer_content\x18\x02 \x01(\fH\x00R\x0ftransferContent\x12S\n" + + "\ftransfer_end\x18\x03 \x01(\v2..gnoi.transceiver_firmware_install.TransferEndH\x00R\vtransferEndB\t\n" + + "\arequest\"\x99\x01\n" + + "\x1cTransferToDeviceStartRequest\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12,\n" + + "\x12package_size_bytes\x18\x02 \x01(\x04R\x10packageSizeBytes\x12(\n" + + "\x04hash\x18\x03 \x01(\v2\x14.gnoi.types.HashTypeR\x04hash\"\r\n" + + "\vTransferEnd\"\xc8\x01\n" + + "\x1cTransferToTransceiverRequest\x122\n" + + "\vtransceiver\x18\x01 \x01(\v2\x10.gnoi.types.PathR\vtransceiver\x12!\n" + + "\fpackage_name\x18\x02 \x01(\tR\vpackageName\x12,\n" + + "\x12package_size_bytes\x18\x03 \x01(\x04R\x10packageSizeBytes\x12#\n" + + "\rfirmware_bank\x18\x04 \x01(\rR\ffirmwareBank\"\x86\x03\n" + + "\x10TransferResponse\x12Y\n" + + "\x0etransfer_ready\x18\x01 \x01(\v20.gnoi.transceiver_firmware_install.TransferReadyH\x00R\rtransferReady\x12b\n" + + "\x11transfer_progress\x18\x02 \x01(\v23.gnoi.transceiver_firmware_install.TransferProgressH\x00R\x10transferProgress\x12L\n" + + "\tvalidated\x18\x03 \x01(\v2,.gnoi.transceiver_firmware_install.ValidatedH\x00R\tvalidated\x12Y\n" + + "\x0etransfer_error\x18\x04 \x01(\v20.gnoi.transceiver_firmware_install.TransferErrorH\x00R\rtransferErrorB\n" + + "\n" + + "\bresponse\"\x0f\n" + + "\rTransferReady\"9\n" + + "\x10TransferProgress\x12%\n" + + "\x0ebytes_received\x18\x01 \x01(\x04R\rbytesReceived\"\v\n" + + "\tValidated\"\x81\x02\n" + + "\rTransferError\x12I\n" + + "\x04type\x18\x01 \x01(\x0e25.gnoi.transceiver_firmware_install.TransferError.TypeR\x04type\x12\x16\n" + + "\x06detail\x18\x02 \x01(\tR\x06detail\"\x8c\x01\n" + + "\x04Type\x12\x0f\n" + + "\vUNSPECIFIED\x10\x00\x12\x10\n" + + "\fINCOMPATIBLE\x10\x01\x12\r\n" + + "\tTOO_LARGE\x10\x02\x12\x0e\n" + + "\n" + + "PARSE_FAIL\x10\x03\x12\x12\n" + + "\x0eINTEGRITY_FAIL\x10\x04\x12\x18\n" + + "\x14TRANSFER_IN_PROGRESS\x10\x05\x12\x14\n" + + "\x10INVALID_ARGUMENT\x10\x06\"t\n" + + "\x0eInstallRequest\x12b\n" + + "\x10install_requests\x18\x01 \x03(\v27.gnoi.transceiver_firmware_install.InstallSingleRequestR\x0finstallRequests\"\xfa\x02\n" + + "\x14InstallSingleRequest\x122\n" + + "\vtransceiver\x18\x01 \x01(\v2\x10.gnoi.types.PathR\vtransceiver\x12m\n" + + "\x13install_from_device\x18\x02 \x01(\v2;.gnoi.transceiver_firmware_install.InstallFromDeviceRequestH\x00R\x11installFromDevice\x12\x89\x01\n" + + "\x1dinstall_from_transceiver_bank\x18\x03 \x01(\v2D.gnoi.transceiver_firmware_install.InstallFromTransceiverBankRequestH\x00R\x1ainstallFromTransceiverBank\x12#\n" + + "\rforce_install\x18\x04 \x01(\bR\fforceInstallB\x0e\n" + + "\finstall_from\"k\n" + + "\x18InstallFromDeviceRequest\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\x12,\n" + + "\x12package_size_bytes\x18\x02 \x01(\x04R\x10packageSizeBytes\"H\n" + + "!InstallFromTransceiverBankRequest\x12#\n" + + "\rfirmware_bank\x18\x04 \x01(\rR\ffirmwareBank\"x\n" + + "\x0fInstallResponse\x12e\n" + + "\x11install_responses\x18\x01 \x03(\v28.gnoi.transceiver_firmware_install.InstallSingleResponseR\x10installResponses\"\x9b\x04\n" + + "\x15InstallSingleResponse\x122\n" + + "\vtransceiver\x18\x01 \x01(\v2\x10.gnoi.types.PathR\vtransceiver\x12V\n" + + "\rinstall_ready\x18\x02 \x01(\v2/.gnoi.transceiver_firmware_install.InstallReadyH\x00R\finstallReady\x12b\n" + + "\x11transfer_progress\x18\x03 \x01(\v23.gnoi.transceiver_firmware_install.TransferProgressH\x00R\x10transferProgress\x12_\n" + + "\x10install_progress\x18\x04 \x01(\v22.gnoi.transceiver_firmware_install.InstallProgressH\x00R\x0finstallProgress\x12M\n" + + "\n" + + "install_ok\x18\x05 \x01(\v2,.gnoi.transceiver_firmware_install.InstallOKH\x00R\tinstallOk\x12V\n" + + "\rinstall_error\x18\x06 \x01(\v2/.gnoi.transceiver_firmware_install.InstallErrorH\x00R\finstallErrorB\n" + + "\n" + + "\bresponse\"\x0e\n" + + "\fInstallReady\"D\n" + + "\x0fInstallProgress\x121\n" + + "\x14percentage_installed\x18\x01 \x01(\rR\x13percentageInstalled\"\v\n" + + "\tInstallOK\"\xb6\x02\n" + + "\fInstallError\x12H\n" + + "\x04type\x18\x01 \x01(\x0e24.gnoi.transceiver_firmware_install.InstallError.TypeR\x04type\x12\x16\n" + + "\x06detail\x18\x02 \x01(\tR\x06detail\"\xc3\x01\n" + + "\x04Type\x12\x0f\n" + + "\vUNSPECIFIED\x10\x00\x12\x18\n" + + "\x14NON_EXISTENT_VERSION\x10\x01\x12\x10\n" + + "\fINCOMPATIBLE\x10\x02\x12\r\n" + + "\tTOO_LARGE\x10\x03\x12\x0e\n" + + "\n" + + "PARSE_FAIL\x10\x04\x12\x12\n" + + "\x0eINTEGRITY_FAIL\x10\x05\x12\x17\n" + + "\x13INSTALL_IN_PROGRESS\x10\x06\x12\x19\n" + + "\x15UNEXPECTED_SWITCHOVER\x10\a\x12\x17\n" + + "\x13EMPTY_FIRMWARE_BANK\x10\b\"p\n" + + "\rVerifyRequest\x12_\n" + + "\x0fverify_requests\x18\x01 \x03(\v26.gnoi.transceiver_firmware_install.VerifySingleRequestR\x0everifyRequests\"I\n" + + "\x13VerifySingleRequest\x122\n" + + "\vtransceiver\x18\x01 \x01(\v2\x10.gnoi.types.PathR\vtransceiver\"t\n" + + "\x0eVerifyResponse\x12b\n" + + "\x10verify_responses\x18\x01 \x03(\v27.gnoi.transceiver_firmware_install.VerifySingleResponseR\x0fverifyResponses\"\xc7\x05\n" + + "\x14VerifySingleResponse\x122\n" + + "\vtransceiver\x18\x01 \x01(\v2\x10.gnoi.types.PathR\vtransceiver\x12'\n" + + "\x0frunning_version\x18\x02 \x01(\tR\x0erunningVersion\x12\x1f\n" + + "\vnew_version\x18\x03 \x01(\tR\n" + + "newVersion\x12C\n" + + "\x04bank\x18\x04 \x03(\v2/.gnoi.transceiver_firmware_install.FirmwareBankR\x04bank\x12A\n" + + "\x1dnew_version_service_impacting\x18\x05 \x01(\bR\x1anewVersionServiceImpacting\x12W\n" + + "\x0einstall_status\x18\x06 \x01(\x0e20.gnoi.transceiver_firmware_install.InstallStatusR\rinstallStatus\x12\x12\n" + + "\x04step\x18\a \x01(\tR\x04step\x122\n" + + "\x15step_percent_complete\x18\b \x01(\rR\x13stepPercentComplete\x124\n" + + "\x16total_percent_complete\x18\t \x01(\rR\x14totalPercentComplete\x129\n" + + "\n" + + "start_time\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x127\n" + + "\tstop_time\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\bstopTime\x125\n" + + "\bduration\x18\f \x01(\v2\x19.google.protobuf.DurationR\bduration\x12'\n" + + "\x0ffailure_message\x18\r \x01(\tR\x0efailureMessage\"<\n" + + "\fFirmwareBank\x12\x12\n" + + "\x04bank\x18\x01 \x01(\tR\x04bank\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\"2\n" + + "\rDeleteRequest\x12!\n" + + "\fpackage_name\x18\x01 \x01(\tR\vpackageName\"\x10\n" + + "\x0eDeleteResponse*\xb5\x01\n" + + "\rInstallStatus\x12\x1a\n" + + "\x16INSTALL_STATUS_UNKNOWN\x10\x00\x12'\n" + + "#INSTALL_STATUS_TRANSFER_IN_PROGRESS\x10\x01\x12&\n" + + "\"INSTALL_STATUS_INSTALL_IN_PROGRESS\x10\x02\x12\x1c\n" + + "\x18INSTALL_STATUS_COMPLETED\x10\x03\x12\x19\n" + + "\x15INSTALL_STATUS_FAILED\x10\x042\xe7\x03\n" + + "\x1aTransceiverFirmwareInstall\x12w\n" + + "\bTransfer\x122.gnoi.transceiver_firmware_install.TransferRequest\x1a3.gnoi.transceiver_firmware_install.TransferResponse(\x010\x01\x12r\n" + + "\aInstall\x121.gnoi.transceiver_firmware_install.InstallRequest\x1a2.gnoi.transceiver_firmware_install.InstallResponse0\x01\x12m\n" + + "\x06Verify\x120.gnoi.transceiver_firmware_install.VerifyRequest\x1a1.gnoi.transceiver_firmware_install.VerifyResponse\x12m\n" + + "\x06Delete\x120.gnoi.transceiver_firmware_install.DeleteRequest\x1a1.gnoi.transceiver_firmware_install.DeleteResponseBA\xd2>\x050.1.0Z7github.com/openconfig/gnoi/transceiver_firmware_installb\x06proto3" + +var ( + file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescOnce sync.Once + file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescData []byte +) + +func file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescGZIP() []byte { + file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescOnce.Do(func() { + file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDesc), len(file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDesc))) + }) + return file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDescData +} + +var file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes = make([]protoimpl.MessageInfo, 27) +var file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_goTypes = []any{ + (InstallStatus)(0), // 0: gnoi.transceiver_firmware_install.InstallStatus + (TransferError_Type)(0), // 1: gnoi.transceiver_firmware_install.TransferError.Type + (InstallError_Type)(0), // 2: gnoi.transceiver_firmware_install.InstallError.Type + (*TransferRequest)(nil), // 3: gnoi.transceiver_firmware_install.TransferRequest + (*TransferToDeviceRequest)(nil), // 4: gnoi.transceiver_firmware_install.TransferToDeviceRequest + (*TransferToDeviceStartRequest)(nil), // 5: gnoi.transceiver_firmware_install.TransferToDeviceStartRequest + (*TransferEnd)(nil), // 6: gnoi.transceiver_firmware_install.TransferEnd + (*TransferToTransceiverRequest)(nil), // 7: gnoi.transceiver_firmware_install.TransferToTransceiverRequest + (*TransferResponse)(nil), // 8: gnoi.transceiver_firmware_install.TransferResponse + (*TransferReady)(nil), // 9: gnoi.transceiver_firmware_install.TransferReady + (*TransferProgress)(nil), // 10: gnoi.transceiver_firmware_install.TransferProgress + (*Validated)(nil), // 11: gnoi.transceiver_firmware_install.Validated + (*TransferError)(nil), // 12: gnoi.transceiver_firmware_install.TransferError + (*InstallRequest)(nil), // 13: gnoi.transceiver_firmware_install.InstallRequest + (*InstallSingleRequest)(nil), // 14: gnoi.transceiver_firmware_install.InstallSingleRequest + (*InstallFromDeviceRequest)(nil), // 15: gnoi.transceiver_firmware_install.InstallFromDeviceRequest + (*InstallFromTransceiverBankRequest)(nil), // 16: gnoi.transceiver_firmware_install.InstallFromTransceiverBankRequest + (*InstallResponse)(nil), // 17: gnoi.transceiver_firmware_install.InstallResponse + (*InstallSingleResponse)(nil), // 18: gnoi.transceiver_firmware_install.InstallSingleResponse + (*InstallReady)(nil), // 19: gnoi.transceiver_firmware_install.InstallReady + (*InstallProgress)(nil), // 20: gnoi.transceiver_firmware_install.InstallProgress + (*InstallOK)(nil), // 21: gnoi.transceiver_firmware_install.InstallOK + (*InstallError)(nil), // 22: gnoi.transceiver_firmware_install.InstallError + (*VerifyRequest)(nil), // 23: gnoi.transceiver_firmware_install.VerifyRequest + (*VerifySingleRequest)(nil), // 24: gnoi.transceiver_firmware_install.VerifySingleRequest + (*VerifyResponse)(nil), // 25: gnoi.transceiver_firmware_install.VerifyResponse + (*VerifySingleResponse)(nil), // 26: gnoi.transceiver_firmware_install.VerifySingleResponse + (*FirmwareBank)(nil), // 27: gnoi.transceiver_firmware_install.FirmwareBank + (*DeleteRequest)(nil), // 28: gnoi.transceiver_firmware_install.DeleteRequest + (*DeleteResponse)(nil), // 29: gnoi.transceiver_firmware_install.DeleteResponse + (*types.HashType)(nil), // 30: gnoi.types.HashType + (*types.Path)(nil), // 31: gnoi.types.Path + (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 33: google.protobuf.Duration +} +var file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_depIdxs = []int32{ + 4, // 0: gnoi.transceiver_firmware_install.TransferRequest.transfer_to_device:type_name -> gnoi.transceiver_firmware_install.TransferToDeviceRequest + 7, // 1: gnoi.transceiver_firmware_install.TransferRequest.transfer_to_transceiver:type_name -> gnoi.transceiver_firmware_install.TransferToTransceiverRequest + 5, // 2: gnoi.transceiver_firmware_install.TransferToDeviceRequest.transfer_start_request:type_name -> gnoi.transceiver_firmware_install.TransferToDeviceStartRequest + 6, // 3: gnoi.transceiver_firmware_install.TransferToDeviceRequest.transfer_end:type_name -> gnoi.transceiver_firmware_install.TransferEnd + 30, // 4: gnoi.transceiver_firmware_install.TransferToDeviceStartRequest.hash:type_name -> gnoi.types.HashType + 31, // 5: gnoi.transceiver_firmware_install.TransferToTransceiverRequest.transceiver:type_name -> gnoi.types.Path + 9, // 6: gnoi.transceiver_firmware_install.TransferResponse.transfer_ready:type_name -> gnoi.transceiver_firmware_install.TransferReady + 10, // 7: gnoi.transceiver_firmware_install.TransferResponse.transfer_progress:type_name -> gnoi.transceiver_firmware_install.TransferProgress + 11, // 8: gnoi.transceiver_firmware_install.TransferResponse.validated:type_name -> gnoi.transceiver_firmware_install.Validated + 12, // 9: gnoi.transceiver_firmware_install.TransferResponse.transfer_error:type_name -> gnoi.transceiver_firmware_install.TransferError + 1, // 10: gnoi.transceiver_firmware_install.TransferError.type:type_name -> gnoi.transceiver_firmware_install.TransferError.Type + 14, // 11: gnoi.transceiver_firmware_install.InstallRequest.install_requests:type_name -> gnoi.transceiver_firmware_install.InstallSingleRequest + 31, // 12: gnoi.transceiver_firmware_install.InstallSingleRequest.transceiver:type_name -> gnoi.types.Path + 15, // 13: gnoi.transceiver_firmware_install.InstallSingleRequest.install_from_device:type_name -> gnoi.transceiver_firmware_install.InstallFromDeviceRequest + 16, // 14: gnoi.transceiver_firmware_install.InstallSingleRequest.install_from_transceiver_bank:type_name -> gnoi.transceiver_firmware_install.InstallFromTransceiverBankRequest + 18, // 15: gnoi.transceiver_firmware_install.InstallResponse.install_responses:type_name -> gnoi.transceiver_firmware_install.InstallSingleResponse + 31, // 16: gnoi.transceiver_firmware_install.InstallSingleResponse.transceiver:type_name -> gnoi.types.Path + 19, // 17: gnoi.transceiver_firmware_install.InstallSingleResponse.install_ready:type_name -> gnoi.transceiver_firmware_install.InstallReady + 10, // 18: gnoi.transceiver_firmware_install.InstallSingleResponse.transfer_progress:type_name -> gnoi.transceiver_firmware_install.TransferProgress + 20, // 19: gnoi.transceiver_firmware_install.InstallSingleResponse.install_progress:type_name -> gnoi.transceiver_firmware_install.InstallProgress + 21, // 20: gnoi.transceiver_firmware_install.InstallSingleResponse.install_ok:type_name -> gnoi.transceiver_firmware_install.InstallOK + 22, // 21: gnoi.transceiver_firmware_install.InstallSingleResponse.install_error:type_name -> gnoi.transceiver_firmware_install.InstallError + 2, // 22: gnoi.transceiver_firmware_install.InstallError.type:type_name -> gnoi.transceiver_firmware_install.InstallError.Type + 24, // 23: gnoi.transceiver_firmware_install.VerifyRequest.verify_requests:type_name -> gnoi.transceiver_firmware_install.VerifySingleRequest + 31, // 24: gnoi.transceiver_firmware_install.VerifySingleRequest.transceiver:type_name -> gnoi.types.Path + 26, // 25: gnoi.transceiver_firmware_install.VerifyResponse.verify_responses:type_name -> gnoi.transceiver_firmware_install.VerifySingleResponse + 31, // 26: gnoi.transceiver_firmware_install.VerifySingleResponse.transceiver:type_name -> gnoi.types.Path + 27, // 27: gnoi.transceiver_firmware_install.VerifySingleResponse.bank:type_name -> gnoi.transceiver_firmware_install.FirmwareBank + 0, // 28: gnoi.transceiver_firmware_install.VerifySingleResponse.install_status:type_name -> gnoi.transceiver_firmware_install.InstallStatus + 32, // 29: gnoi.transceiver_firmware_install.VerifySingleResponse.start_time:type_name -> google.protobuf.Timestamp + 32, // 30: gnoi.transceiver_firmware_install.VerifySingleResponse.stop_time:type_name -> google.protobuf.Timestamp + 33, // 31: gnoi.transceiver_firmware_install.VerifySingleResponse.duration:type_name -> google.protobuf.Duration + 3, // 32: gnoi.transceiver_firmware_install.TransceiverFirmwareInstall.Transfer:input_type -> gnoi.transceiver_firmware_install.TransferRequest + 13, // 33: gnoi.transceiver_firmware_install.TransceiverFirmwareInstall.Install:input_type -> gnoi.transceiver_firmware_install.InstallRequest + 23, // 34: gnoi.transceiver_firmware_install.TransceiverFirmwareInstall.Verify:input_type -> gnoi.transceiver_firmware_install.VerifyRequest + 28, // 35: gnoi.transceiver_firmware_install.TransceiverFirmwareInstall.Delete:input_type -> gnoi.transceiver_firmware_install.DeleteRequest + 8, // 36: gnoi.transceiver_firmware_install.TransceiverFirmwareInstall.Transfer:output_type -> gnoi.transceiver_firmware_install.TransferResponse + 17, // 37: gnoi.transceiver_firmware_install.TransceiverFirmwareInstall.Install:output_type -> gnoi.transceiver_firmware_install.InstallResponse + 25, // 38: gnoi.transceiver_firmware_install.TransceiverFirmwareInstall.Verify:output_type -> gnoi.transceiver_firmware_install.VerifyResponse + 29, // 39: gnoi.transceiver_firmware_install.TransceiverFirmwareInstall.Delete:output_type -> gnoi.transceiver_firmware_install.DeleteResponse + 36, // [36:40] is the sub-list for method output_type + 32, // [32:36] is the sub-list for method input_type + 32, // [32:32] is the sub-list for extension type_name + 32, // [32:32] is the sub-list for extension extendee + 0, // [0:32] is the sub-list for field type_name +} + +func init() { + file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_init() +} +func file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_init() { + if File_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto != nil { + return + } + file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[0].OneofWrappers = []any{ + (*TransferRequest_TransferToDevice)(nil), + (*TransferRequest_TransferToTransceiver)(nil), + } + file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[1].OneofWrappers = []any{ + (*TransferToDeviceRequest_TransferStartRequest)(nil), + (*TransferToDeviceRequest_TransferContent)(nil), + (*TransferToDeviceRequest_TransferEnd)(nil), + } + file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[5].OneofWrappers = []any{ + (*TransferResponse_TransferReady)(nil), + (*TransferResponse_TransferProgress)(nil), + (*TransferResponse_Validated)(nil), + (*TransferResponse_TransferError)(nil), + } + file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[11].OneofWrappers = []any{ + (*InstallSingleRequest_InstallFromDevice)(nil), + (*InstallSingleRequest_InstallFromTransceiverBank)(nil), + } + file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes[15].OneofWrappers = []any{ + (*InstallSingleResponse_InstallReady)(nil), + (*InstallSingleResponse_TransferProgress)(nil), + (*InstallSingleResponse_InstallProgress)(nil), + (*InstallSingleResponse_InstallOk)(nil), + (*InstallSingleResponse_InstallError)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDesc), len(file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_rawDesc)), + NumEnums: 3, + NumMessages: 27, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_goTypes, + DependencyIndexes: file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_depIdxs, + EnumInfos: file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_enumTypes, + MessageInfos: file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_msgTypes, + }.Build() + File_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto = out.File + file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_goTypes = nil + file_github_com_openconfig_gnoi_transceiver_firmware_install_transceiver_firmware_install_proto_depIdxs = nil +} diff --git a/transceiver_firmware_install/transceiver_firmware_install.proto b/transceiver_firmware_install/transceiver_firmware_install.proto new file mode 100644 index 00000000..775059da --- /dev/null +++ b/transceiver_firmware_install/transceiver_firmware_install.proto @@ -0,0 +1,452 @@ +// +// Copyright 2017 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. + +syntax = "proto3"; + +package gnoi.transceiver_firmware_install; + +import "github.com/openconfig/gnoi/types/types.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +option go_package = "github.com/openconfig/gnoi/transceiver_firmware_install"; + +option (types.gnoi_version) = "0.1.0"; + +// The following definitions are used throughout this service: +// - Device: the host, such as a router, that the transceiver(s) are within. +// - Transceiver: the pluggable optic that is plugged into the Device. +// +// The service provides an interface for installation of firmware on +// transceivers in a device. +// The Client progresses through RPCs in the following order: +// 1) Transfer - Performs one of two steps: +// a) Provide the device with the package in an inactive bank which can +// be used for multiple transceivers. +// b) Provide the transceiver with the package to an inactive bank. +// 2) Activate - Performs the activation of the package on the transceiver. +// Typically this would activate a package from an inactive bank on the +// transceiver, however, if the transceiver does not support inactive +// banks, then this step could perform the transfer and activate together. +// 3) Verify - Verify that the package is activated on the transceiver(s). +// This is redundant to the Activate RPC responding with ActivateOK, but +// is useful for the Client if the RPC is interrupted while in progress +// or if the Client is interested polling for the progress of the +// activation. +// +service TransceiverFirmwareInstall { + // Transfer performs a package transfer from either: + // 1) External to device. + // 2) Device to inactive bank of an Transceiver. + rpc Transfer(stream TransferRequest) returns (stream TransferResponse); + + // Activate initiates the activation process on a transceiver(s). + // Activate typically requires that the package was previously transferred + // to the device using the Transfer RPC. However, if the transceiver does not + // support an inactive bank, this RPC can perform the transfer and activate. + // If the transceiver is already using the desired version or the activate is + // already in progress for the identical version, do not re-activate the + // package unless force_activate is set to true. Otherwise, report success so + // this RPC is idempotent. + // If the RPC is terminated after the RPC is initiated, the activate must + // continue in the background for ongoing activations. For example, if there + // is a network communication issue which disrupts the RPC, the in-progress + // activations would continue their progress. + rpc Activate(ActivateRequest) returns (stream ActivateResponse); + + // Verify checks the firmware related details for a transceiver(s). + // During reboot, gRPC client returns the gRPC status code UNAVAILABLE while + // the transceiver is unreachable, which should be retried by the client until + // successful. + rpc Verify(VerifyRequest) returns (VerifyResponse); + + // Delete removes the package from the device's storage. + // Deletion for a package should not be allowed if the package was bundled + // with the OS image or if a transfer is currently in progress. + rpc Delete(DeleteRequest) returns (DeleteResponse); +} + +message TransferRequest { + oneof request { + TransferToDeviceRequest transfer_to_device = 1; + TransferToTransceiverRequest transfer_to_transceiver = 2; + } +} + +// The TransferToDeviceRequest is used by the Client to transfer the package to +// the device. The device MUST store the package in a generic location that can +// later be utilized to repeatedly transfer the package to multiple +// transceivers. +message TransferToDeviceRequest { + oneof request { + TransferToDeviceStartRequest transfer_start_request = 1; + bytes transfer_content = 2; + TransferEnd transfer_end = 3; + } +} + +message TransferToDeviceStartRequest { + // The file name is a unique identifier for a firmware package. Typically, + // the file name of the package (e.g., "abcdef.01.02.0304_FwUpdate.tgz"). + string file_name = 1; + + // Optionally specify the package size in bytes. + // If 1) the value is different than 0 + // and 2) the required space in the device is larger than the available space + // and 3) the device is unable to release space for the incoming package, + // then the device must reply with TransferError->Type->TOO_LARGE. + uint64 package_size_bytes = 2; + + // Optionally specify the hash of the package which the device can use to + // verify the integrity of the package. The device must reply with + // TransferError->Type->INTEGRITY_FAIL if the hash does not + // match the hash of the package that the device has stored. + types.HashType hash = 3; +} + +// The TransferEnd message is sent whenever the Client finishes transferring +// the package to the device. At this point the device MUST perform a general +// health check to the package. If the device fails to parse the package +// it MUST immediately reply with an TransferError->type->PARSE_FAIL. If the +// integrity check of the package fails it MUST immediately reply with an +// TransferError->type->INTEGRITY_FAIL. +message TransferEnd { + +} + +// The TransferToTransceiverRequest is used by the Client to transfer the +// package ONLY to an inactive bank of the transceiver. +// This would make the package available for the Activate RPC, but the package +// MUST NOT be made active as a result of this transfer. +message TransferToTransceiverRequest { + // Absolute path to the /components/component list member in the OpenConfig + // model corresponding to the transceiver to perform the activation on. + // (e.g., /components/component[name=transceiver-1/2]) + types.Path transceiver = 1; + + // The file name name is a unique identifier for a firmware package. Typically, + // the file name of the package (e.g., "abcdef.01.02.0304_FwUpdate.tgz"). + string file_name = 2; + + // Optionally specify the package size in bytes. + // If 1) the value is different than 0 + // and 2) the required space in the transceiver is larger than the available + // space + // and 3) the transceiver is unable to release space for the incoming package, + // then the device must reply with TransferError->Type->TOO_LARGE. + // If the transceiver does not support advertising its available space, then + // the device must return TransferError->Type->INVALID_ARGUMENT. + uint64 package_size_bytes = 3; + + // The bank identifier of the transceiver to activate the firmware on. + // If the transceiver only contains a single bank, then the device must reply + // with TransferError->Type->INCOMPATIBLE. + // If the transceiver only contains an active and standby bank, then this + // field may be considered optional as the transfer must be made to the + //standby bank. + // This is a 0-based index intended to standardize the mapping of different + // vendor specific identifers. Mapping examples of transceivers that support + // two banks include: + // - Active|Standby --> 0|1 + // - A|B --> 0|1 + // - 1|2 --> 0|1 + uint32 firmware_bank = 4; +} + +// The TransferResponse is used by the device to inform the Client about the +// state of the Transfer RPC. At any stage of the process the device can reply +// with an Error message which MUST terminate the stream. +message TransferResponse { + oneof response { + TransferReady transfer_ready = 1; + TransferProgress transfer_progress = 2; + Validated validated = 3; + TransferError transfer_error = 4; + } +} + +// The TransferReady message tells the Client that the device is ready to accept +// the package transfer. At this stage the device MUST have cleared enough space +// to accept the incoming package if the package size was specified. +message TransferReady { + +} + +// The TransferProgress message is sent by the device asynchronously during a +// file transfer. The device SHOULD not respond to each input block received +// from the client, but rather determine reasonable intervals at which to send +// the message (e.g., 5MB). +message TransferProgress { + // The number of bytes transferred. + uint64 bytes_received = 1; +} + +// The Validated message asserts that the device was able to parse the package +// and perform integrity checks to its contents. +// This message is sent at the conclusion of a successful RPC. +message Validated { + +} + +// The TransferError message MUST be sent by the device to the Client whenever +// an issue occurs. The device MUST immediately close the RPC without a +// gRPC error. +message TransferError { + enum Type { + // An unspecified error. Must use the detail value to describe the issue. + UNSPECIFIED = 0; + // The newly transferred package is not compatible with the device platform. + // The detail field MUST contain the detailed error message. + INCOMPATIBLE = 1; + // The package being transferred is larger than the available size the + // client provisioned. This error may be returned if the device does not + // have enough space for the new package and the existing packages. + TOO_LARGE = 2; + // Used whenever the system is unable to parse the newly transferred + // package, like reading the version or the integrity checksums. + PARSE_FAIL = 3; + // The transferred package fails integrity check. + INTEGRITY_FAIL = 4; + // Another Transfer RPC to this device is already in progress with a + // different firmware version. However, if the in progress transfer is for + // the identical firmware version, then this error should not be returned + // and the Transfer RPC should return success. + TRANSFER_IN_PROGRESS = 5; + // The transfer request provided an invalid argument. When this error is + // returned, the device must provide more details in the detail field. + INVALID_ARGUMENT = 6; + } + Type type = 1; + string detail = 2; +} + +message ActivateRequest { + repeated ActivateSingleRequest activate_requests = 1; +} + +message ActivateSingleRequest { + // Absolute path to the /components/component list member in the OpenConfig + // model corresponding to the transceiver to perform the activation on. + // (e.g., /components/component[name=transceiver-1/2]) + types.Path transceiver = 1; + + oneof activate_from { + ActivateFromDeviceRequest activate_from_device = 2; + ActivateFromTransceiverBankRequest activate_from_transceiver_bank = 3; + } + + // If true, the device MUST activate the package even if the transceiver is + // already running the same package. + bool force_activate = 4; +} + +message ActivateFromDeviceRequest { + // The file name is a unique identifier for a firmware package. Typically, + // the file name of the package (e.g., "abcdef.01.02.0304_FwUpdate.tgz"). + string file_name = 1; + + // Optionally specify the package size in bytes. + // If 1) the value is different than 0 + // and 2) the required space in the transceiver is larger than the available + // space + // and 3) the transceiver is unable to release space for the incoming package, + // then the device must reply with TransferError->Type->TOO_LARGE. + uint64 package_size_bytes = 2; +} + +message ActivateFromTransceiverBankRequest { + // The bank identifier of the transceiver to activate the firmware from. + // This would be used if the firmware package is already pre-loaded on the + // transceiver in an inactive bank. + // If the transceiver only contains a single bank, then the device must reply + // with ActivateError->Type->INCOMPATIBLE. + // If the specified bank is empty, then the device must reply with + // ActivateError->Type->EMPTY_FIRMWARE_BANK. + // This is a 0-based index intended to standardize the mapping of different + // vendor specific identifers. Mapping examples of transceivers that support + // two banks include: + // - Active|Standby --> 0|1 + // - A|B --> 0|1 + // - 1|2 --> 0|1 + uint32 firmware_bank = 4; +} + +message ActivateResponse { + repeated ActivateSingleResponse activate_responses = 1; +} + +message ActivateSingleResponse { + // Absolute path to the /components/component list member in the OpenConfig + // model corresponding to the transceiver to perform the activations on. + // (e.g., /components/component[name=transceiver-1/2]) + types.Path transceiver = 1; + + oneof response { + ActivateReady activate_ready = 2; + TransferProgress transfer_progress = 3; + ActivateProgress activate_progress = 4; + ActivateOK activate_ok = 5; + ActivateError activate_error = 6; + } +} + +// The ActivateReady message tells the Client that the device is ready to accept +// the package activation. At this stage the device MUST have cleared enough +// space to accept the incoming package if the package size was specified. +message ActivateReady { + +} + +// The ActivateProgress message signals the Client about the progress of the +// transceiver activation process. +message ActivateProgress { + // The percentage complete of the activate process. + uint32 percentage_activated = 1; +} + +// ActivateOK is sent when the package is successfully activated on the +// transceiver. +// If the transceiver is already running the requested version in +// ActivateRequest, then it replies with ActivateOK. +message ActivateOK { + +} + +// The ActivateError message MUST be sent by the device to the Client whenever +// an issue occurs. If there are other in progress activations from the same +// RPC, then no further messages for this transceiver activation would be sent. +// However, if there are not other in progress activations from the same RPC +// then the device MUST immediately close the RPC without a gRPC error. +message ActivateError { + enum Type { + // An unspecified error. Must use the detail value to describe the issue. + UNSPECIFIED = 0; + // There is no package with the version requested for activation. This is + // also used for an empty version string. + NON_EXISTENT_VERSION = 1; + // The newly transferred package is not compatible with the transceiver. + // The detail field MUST contain the detailed error message. + INCOMPATIBLE = 2; + // The package being transferred is larger than the available size the + // client provisioned. This error may be returned if the transceiver does + // not have enough space for the new package and the existing packages. + TOO_LARGE = 3; + // Used whenever the system is unable to parse the newly transferred + // package, like reading the version or the integrity checksums. + PARSE_FAIL = 4; + // The transferred package fails integrity check. + INTEGRITY_FAIL = 5; + // Another Activate RPC to this device is already in progress with a + // different firmware version. However, if the in progress activate is for + // the identical firmware version, then this error should not be returned + // and the Activate RPC should return success. + ACTIVATE_IN_PROGRESS = 6; + // A switchover happened during the Activate RPC. + UNEXPECTED_SWITCHOVER = 7; + // Used when a specified bank is empty and does not contain a package. + EMPTY_FIRMWARE_BANK = 8; + } + Type type = 1; + string detail = 2; +} + +message VerifyRequest { + repeated VerifySingleRequest verify_requests = 1; +} + +message VerifySingleRequest { + // Absolute path to the /components/component list member in the OpenConfig + // model corresponding to the transceiver to verify. + // (e.g., /components/component[name=transceiver-1/2]) + types.Path transceiver = 1; +} + +message VerifyResponse { + repeated VerifySingleResponse verify_responses = 1; +} + +message VerifySingleResponse { + // Absolute path to the /components/component list member in the OpenConfig + // model corresponding to the transceiver to verify. + // (e.g., /components/component[name=transceiver-1/2]) + types.Path transceiver = 1; + + // The version currently running. + string running_version = 2; + + // The version that is being attempted to be activated. + string new_version = 3; + + // The firmware package that is contained within each bank on the transceiver. + repeated FirmwareBank bank = 4; + + // True if the new_version would result in a traffic disruption. + bool new_version_service_impacting = 5; + + // The current state of the latest activate process. + ActivateStatus activate_status = 6; + + // The current in-progress step of the activation. + string step = 7; + + // The percentage complete of the current in-progress step. + uint32 step_percent_complete = 8; + + // The percentage complete of the latest activate process. + uint32 total_percent_complete = 9; + + // The time when the latest activation was initiated. + google.protobuf.Timestamp start_time = 10; + + // The time when the latest activation was completed. + google.protobuf.Timestamp stop_time = 11; + + // The time elapsed since the latest activation was initiated. + google.protobuf.Duration duration = 12; + + // The failure message if the latest activation failed. + string failure_message = 13; +} + +message FirmwareBank { + // The bank identifier of the transceiver (e.g., "A" or "B"). + string bank = 1; + + // The version of the firmware package in the bank. + string version = 2; +} + +enum ActivateStatus { + // An unknown status. + ACTIVATE_STATUS_UNKNOWN = 0; + // The package is being transferred to the transceiver. + ACTIVATE_STATUS_TRANSFER_IN_PROGRESS = 1; + // The package is being activated on the transceiver. + ACTIVATE_STATUS_ACTIVATE_IN_PROGRESS = 2; + // The activation was successfully completed on the transceiver. + ACTIVATE_STATUS_COMPLETED = 3; + // The activation failed on the transceiver. + ACTIVATE_STATUS_FAILED = 4; +} + +message DeleteRequest { + // The file name name is a unique identifier for a firmware package. Typically, + // the file name of the package (e.g., "abcdef.01.02.0304_FwUpdate.tgz"). + string file_name = 1; +} + +message DeleteResponse { + +} diff --git a/transceiver_firmware_install/transceiver_firmware_install_grpc.pb.go b/transceiver_firmware_install/transceiver_firmware_install_grpc.pb.go new file mode 100644 index 00000000..7dbc9d00 --- /dev/null +++ b/transceiver_firmware_install/transceiver_firmware_install_grpc.pb.go @@ -0,0 +1,231 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.5.1 +// - protoc v6.32.0 +// source: github.com/openconfig/gnoi/transceiver_firmware_install/transceiver_firmware_install.proto + +package transceiver_firmware_install + +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.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + TransceiverFirmwareInstall_Transfer_FullMethodName = "/gnoi.transceiver_firmware_install.TransceiverFirmwareInstall/Transfer" + TransceiverFirmwareInstall_Install_FullMethodName = "/gnoi.transceiver_firmware_install.TransceiverFirmwareInstall/Install" + TransceiverFirmwareInstall_Verify_FullMethodName = "/gnoi.transceiver_firmware_install.TransceiverFirmwareInstall/Verify" + TransceiverFirmwareInstall_Delete_FullMethodName = "/gnoi.transceiver_firmware_install.TransceiverFirmwareInstall/Delete" +) + +// TransceiverFirmwareInstallClient is the client API for TransceiverFirmwareInstall 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 TransceiverFirmwareInstallClient interface { + Transfer(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[TransferRequest, TransferResponse], error) + Install(ctx context.Context, in *InstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[InstallResponse], error) + Verify(ctx context.Context, in *VerifyRequest, opts ...grpc.CallOption) (*VerifyResponse, error) + Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error) +} + +type transceiverFirmwareInstallClient struct { + cc grpc.ClientConnInterface +} + +func NewTransceiverFirmwareInstallClient(cc grpc.ClientConnInterface) TransceiverFirmwareInstallClient { + return &transceiverFirmwareInstallClient{cc} +} + +func (c *transceiverFirmwareInstallClient) Transfer(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[TransferRequest, TransferResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &TransceiverFirmwareInstall_ServiceDesc.Streams[0], TransceiverFirmwareInstall_Transfer_FullMethodName, cOpts...) + if err != nil { + return nil, err + } + x := &grpc.GenericClientStream[TransferRequest, TransferResponse]{ClientStream: stream} + return x, nil +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type TransceiverFirmwareInstall_TransferClient = grpc.BidiStreamingClient[TransferRequest, TransferResponse] + +func (c *transceiverFirmwareInstallClient) Install(ctx context.Context, in *InstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[InstallResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &TransceiverFirmwareInstall_ServiceDesc.Streams[1], TransceiverFirmwareInstall_Install_FullMethodName, cOpts...) + if err != nil { + return nil, err + } + x := &grpc.GenericClientStream[InstallRequest, InstallResponse]{ClientStream: stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type TransceiverFirmwareInstall_InstallClient = grpc.ServerStreamingClient[InstallResponse] + +func (c *transceiverFirmwareInstallClient) Verify(ctx context.Context, in *VerifyRequest, opts ...grpc.CallOption) (*VerifyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(VerifyResponse) + err := c.cc.Invoke(ctx, TransceiverFirmwareInstall_Verify_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *transceiverFirmwareInstallClient) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteResponse) + err := c.cc.Invoke(ctx, TransceiverFirmwareInstall_Delete_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// TransceiverFirmwareInstallServer is the server API for TransceiverFirmwareInstall service. +// All implementations should embed UnimplementedTransceiverFirmwareInstallServer +// for forward compatibility. +type TransceiverFirmwareInstallServer interface { + Transfer(grpc.BidiStreamingServer[TransferRequest, TransferResponse]) error + Install(*InstallRequest, grpc.ServerStreamingServer[InstallResponse]) error + Verify(context.Context, *VerifyRequest) (*VerifyResponse, error) + Delete(context.Context, *DeleteRequest) (*DeleteResponse, error) +} + +// UnimplementedTransceiverFirmwareInstallServer should be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedTransceiverFirmwareInstallServer struct{} + +func (UnimplementedTransceiverFirmwareInstallServer) Transfer(grpc.BidiStreamingServer[TransferRequest, TransferResponse]) error { + return status.Errorf(codes.Unimplemented, "method Transfer not implemented") +} +func (UnimplementedTransceiverFirmwareInstallServer) Install(*InstallRequest, grpc.ServerStreamingServer[InstallResponse]) error { + return status.Errorf(codes.Unimplemented, "method Install not implemented") +} +func (UnimplementedTransceiverFirmwareInstallServer) Verify(context.Context, *VerifyRequest) (*VerifyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Verify not implemented") +} +func (UnimplementedTransceiverFirmwareInstallServer) Delete(context.Context, *DeleteRequest) (*DeleteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") +} +func (UnimplementedTransceiverFirmwareInstallServer) testEmbeddedByValue() {} + +// UnsafeTransceiverFirmwareInstallServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to TransceiverFirmwareInstallServer will +// result in compilation errors. +type UnsafeTransceiverFirmwareInstallServer interface { + mustEmbedUnimplementedTransceiverFirmwareInstallServer() +} + +func RegisterTransceiverFirmwareInstallServer(s grpc.ServiceRegistrar, srv TransceiverFirmwareInstallServer) { + // If the following call pancis, it indicates UnimplementedTransceiverFirmwareInstallServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&TransceiverFirmwareInstall_ServiceDesc, srv) +} + +func _TransceiverFirmwareInstall_Transfer_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(TransceiverFirmwareInstallServer).Transfer(&grpc.GenericServerStream[TransferRequest, TransferResponse]{ServerStream: stream}) +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type TransceiverFirmwareInstall_TransferServer = grpc.BidiStreamingServer[TransferRequest, TransferResponse] + +func _TransceiverFirmwareInstall_Install_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(InstallRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(TransceiverFirmwareInstallServer).Install(m, &grpc.GenericServerStream[InstallRequest, InstallResponse]{ServerStream: stream}) +} + +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type TransceiverFirmwareInstall_InstallServer = grpc.ServerStreamingServer[InstallResponse] + +func _TransceiverFirmwareInstall_Verify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VerifyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TransceiverFirmwareInstallServer).Verify(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TransceiverFirmwareInstall_Verify_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TransceiverFirmwareInstallServer).Verify(ctx, req.(*VerifyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _TransceiverFirmwareInstall_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TransceiverFirmwareInstallServer).Delete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: TransceiverFirmwareInstall_Delete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TransceiverFirmwareInstallServer).Delete(ctx, req.(*DeleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// TransceiverFirmwareInstall_ServiceDesc is the grpc.ServiceDesc for TransceiverFirmwareInstall service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var TransceiverFirmwareInstall_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "gnoi.transceiver_firmware_install.TransceiverFirmwareInstall", + HandlerType: (*TransceiverFirmwareInstallServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Verify", + Handler: _TransceiverFirmwareInstall_Verify_Handler, + }, + { + MethodName: "Delete", + Handler: _TransceiverFirmwareInstall_Delete_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "Transfer", + Handler: _TransceiverFirmwareInstall_Transfer_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "Install", + Handler: _TransceiverFirmwareInstall_Install_Handler, + ServerStreams: true, + }, + }, + Metadata: "github.com/openconfig/gnoi/transceiver_firmware_install/transceiver_firmware_install.proto", +}