diff --git a/storage/v1alpha1/autogen.md b/storage/v1alpha1/autogen.md index 2e9095a4..0b782334 100644 --- a/storage/v1alpha1/autogen.md +++ b/storage/v1alpha1/autogen.md @@ -36,6 +36,7 @@ - [CreateNvmeRemoteControllerRequest](#opi_api-storage-v1-CreateNvmeRemoteControllerRequest) - [DeleteNvmePathRequest](#opi_api-storage-v1-DeleteNvmePathRequest) - [DeleteNvmeRemoteControllerRequest](#opi_api-storage-v1-DeleteNvmeRemoteControllerRequest) + - [FabricsPath](#opi_api-storage-v1-FabricsPath) - [GetNvmePathRequest](#opi_api-storage-v1-GetNvmePathRequest) - [GetNvmeRemoteControllerRequest](#opi_api-storage-v1-GetNvmeRemoteControllerRequest) - [GetNvmeRemoteNamespaceRequest](#opi_api-storage-v1-GetNvmeRemoteNamespaceRequest) @@ -53,6 +54,7 @@ - [StatsNvmePathResponse](#opi_api-storage-v1-StatsNvmePathResponse) - [StatsNvmeRemoteControllerRequest](#opi_api-storage-v1-StatsNvmeRemoteControllerRequest) - [StatsNvmeRemoteControllerResponse](#opi_api-storage-v1-StatsNvmeRemoteControllerResponse) + - [TcpController](#opi_api-storage-v1-TcpController) - [UpdateNvmePathRequest](#opi_api-storage-v1-UpdateNvmePathRequest) - [UpdateNvmeRemoteControllerRequest](#opi_api-storage-v1-UpdateNvmeRemoteControllerRequest) @@ -657,6 +659,26 @@ Represents a request to delete an Nvme Remote Controller. + + +### FabricsPath + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| trsvcid | [int64](#int64) | | Destination service id (e.g. Port) | +| subnqn | [string](#string) | | Subsystem NQN | +| adrfam | [NvmeAddressFamily](#opi_api-storage-v1-NvmeAddressFamily) | | | +| source_traddr | [string](#string) | | Source address (e.g. IP of local NIC) | +| source_trsvcid | [int64](#int64) | | Source port (e.g. Port of local NIC) | +| hostnqn | [string](#string) | | Host NQN | + + + + + + ### GetNvmePathRequest @@ -812,13 +834,8 @@ Represents a response to list all Nvme Remote Namespaces. | name | [string](#string) | | name is an opaque object handle that is not user settable. name will be returned with created object user can only set {resource}_id on the Create request object | | controller_name_ref | [string](#string) | | | | trtype | [NvmeTransportType](#opi_api-storage-v1-NvmeTransportType) | | | -| adrfam | [NvmeAddressFamily](#opi_api-storage-v1-NvmeAddressFamily) | | | | traddr | [string](#string) | | Destination address (e.g. IP address, BDF for local PCIe) | -| trsvcid | [int64](#int64) | | Destination service id (e.g. Port) | -| subnqn | [string](#string) | | Subsystem NQN | -| source_traddr | [string](#string) | | Source address (e.g. IP of local NIC) | -| source_trsvcid | [int64](#int64) | | Source port (e.g. Port of local NIC) | -| hostnqn | [string](#string) | | Host NQN | +| fabrics | [FabricsPath](#opi_api-storage-v1-FabricsPath) | | Not applicable for local PCIe. Required for Nvme over fabrics transport types | @@ -837,9 +854,7 @@ Represents a response to list all Nvme Remote Namespaces. | multipath | [NvmeMultipath](#opi_api-storage-v1-NvmeMultipath) | | | | io_queues_count | [int64](#int64) | | | | queue_size | [int64](#int64) | | | -| hdgst | [bool](#bool) | | | -| ddgst | [bool](#bool) | | | -| psk | [bytes](#bytes) | | Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK. Use PSK interchange format with base64 encoding as input. Also use information about hash function in interchange format for retained PSK generation. If no hash is selected, use configured PSK as retained PSK. Check the size of interchange PSK to determine cipher suite. Calculate CRC-32 bytes to ensure validity of PSK. Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:" if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made | +| tcp | [TcpController](#opi_api-storage-v1-TcpController) | | Nvme over TCP specific fields | @@ -941,6 +956,23 @@ Represents a response to get an Nvme Remote Controller statistics. + + +### TcpController + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| hdgst | [bool](#bool) | | | +| ddgst | [bool](#bool) | | | +| psk | [bytes](#bytes) | | Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK. Use PSK interchange format with base64 encoding as input. Also use information about hash function in interchange format for retained PSK generation. If no hash is selected, use configured PSK as retained PSK. Check the size of interchange PSK to determine cipher suite. Calculate CRC-32 bytes to ensure validity of PSK. Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:" if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made | + + + + + + ### UpdateNvmePathRequest diff --git a/storage/v1alpha1/gen/cpp/backend_nvme_tcp.pb.cc b/storage/v1alpha1/gen/cpp/backend_nvme_tcp.pb.cc index 48c239b8..5960a53c 100644 --- a/storage/v1alpha1/gen/cpp/backend_nvme_tcp.pb.cc +++ b/storage/v1alpha1/gen/cpp/backend_nvme_tcp.pb.cc @@ -26,12 +26,10 @@ namespace v1 { PROTOBUF_CONSTEXPR NvmeRemoteController::NvmeRemoteController( ::_pbi::ConstantInitialized): _impl_{ /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.psk_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.tcp_)*/nullptr , /*decltype(_impl_.io_queues_count_)*/int64_t{0} , /*decltype(_impl_.queue_size_)*/int64_t{0} , /*decltype(_impl_.multipath_)*/0 - , /*decltype(_impl_.hdgst_)*/false - , /*decltype(_impl_.ddgst_)*/false , /*decltype(_impl_._cached_size_)*/{}} {} struct NvmeRemoteControllerDefaultTypeInternal { PROTOBUF_CONSTEXPR NvmeRemoteControllerDefaultTypeInternal() @@ -42,18 +40,28 @@ struct NvmeRemoteControllerDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NvmeRemoteControllerDefaultTypeInternal _NvmeRemoteController_default_instance_; +PROTOBUF_CONSTEXPR TcpController::TcpController( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.psk_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.hdgst_)*/false + , /*decltype(_impl_.ddgst_)*/false + , /*decltype(_impl_._cached_size_)*/{}} {} +struct TcpControllerDefaultTypeInternal { + PROTOBUF_CONSTEXPR TcpControllerDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~TcpControllerDefaultTypeInternal() {} + union { + TcpController _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TcpControllerDefaultTypeInternal _TcpController_default_instance_; PROTOBUF_CONSTEXPR NvmePath::NvmePath( ::_pbi::ConstantInitialized): _impl_{ /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.controller_name_ref_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} , /*decltype(_impl_.traddr_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.subnqn_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.source_traddr_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} - , /*decltype(_impl_.hostnqn_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.fabrics_)*/nullptr , /*decltype(_impl_.trtype_)*/0 - , /*decltype(_impl_.adrfam_)*/0 - , /*decltype(_impl_.trsvcid_)*/int64_t{0} - , /*decltype(_impl_.source_trsvcid_)*/int64_t{0} , /*decltype(_impl_._cached_size_)*/{}} {} struct NvmePathDefaultTypeInternal { PROTOBUF_CONSTEXPR NvmePathDefaultTypeInternal() @@ -64,6 +72,24 @@ struct NvmePathDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NvmePathDefaultTypeInternal _NvmePath_default_instance_; +PROTOBUF_CONSTEXPR FabricsPath::FabricsPath( + ::_pbi::ConstantInitialized): _impl_{ + /*decltype(_impl_.subnqn_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.source_traddr_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.hostnqn_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} + , /*decltype(_impl_.trsvcid_)*/int64_t{0} + , /*decltype(_impl_.source_trsvcid_)*/int64_t{0} + , /*decltype(_impl_.adrfam_)*/0 + , /*decltype(_impl_._cached_size_)*/{}} {} +struct FabricsPathDefaultTypeInternal { + PROTOBUF_CONSTEXPR FabricsPathDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~FabricsPathDefaultTypeInternal() {} + union { + FabricsPath _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FabricsPathDefaultTypeInternal _FabricsPath_default_instance_; PROTOBUF_CONSTEXPR NvmeRemoteNamespace::NvmeRemoteNamespace( ::_pbi::ConstantInitialized): _impl_{ /*decltype(_impl_.name_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}} @@ -362,7 +388,7 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORIT } // namespace v1 } // namespace storage } // namespace opi_api -static ::_pb::Metadata file_level_metadata_backend_5fnvme_5ftcp_2eproto[23]; +static ::_pb::Metadata file_level_metadata_backend_5fnvme_5ftcp_2eproto[25]; static const ::_pb::EnumDescriptor* file_level_enum_descriptors_backend_5fnvme_5ftcp_2eproto[3]; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_backend_5fnvme_5ftcp_2eproto = nullptr; @@ -377,9 +403,16 @@ const uint32_t TableStruct_backend_5fnvme_5ftcp_2eproto::offsets[] PROTOBUF_SECT PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmeRemoteController, _impl_.multipath_), PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmeRemoteController, _impl_.io_queues_count_), PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmeRemoteController, _impl_.queue_size_), - PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmeRemoteController, _impl_.hdgst_), - PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmeRemoteController, _impl_.ddgst_), - PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmeRemoteController, _impl_.psk_), + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmeRemoteController, _impl_.tcp_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::TcpController, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::TcpController, _impl_.hdgst_), + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::TcpController, _impl_.ddgst_), + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::TcpController, _impl_.psk_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmePath, _internal_metadata_), ~0u, // no _extensions_ @@ -389,13 +422,20 @@ const uint32_t TableStruct_backend_5fnvme_5ftcp_2eproto::offsets[] PROTOBUF_SECT PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmePath, _impl_.name_), PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmePath, _impl_.controller_name_ref_), PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmePath, _impl_.trtype_), - PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmePath, _impl_.adrfam_), PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmePath, _impl_.traddr_), - PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmePath, _impl_.trsvcid_), - PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmePath, _impl_.subnqn_), - PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmePath, _impl_.source_traddr_), - PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmePath, _impl_.source_trsvcid_), - PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmePath, _impl_.hostnqn_), + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmePath, _impl_.fabrics_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::FabricsPath, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::FabricsPath, _impl_.trsvcid_), + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::FabricsPath, _impl_.subnqn_), + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::FabricsPath, _impl_.adrfam_), + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::FabricsPath, _impl_.source_traddr_), + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::FabricsPath, _impl_.source_trsvcid_), + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::FabricsPath, _impl_.hostnqn_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NvmeRemoteNamespace, _internal_metadata_), ~0u, // no _extensions_ @@ -568,33 +608,37 @@ const uint32_t TableStruct_backend_5fnvme_5ftcp_2eproto::offsets[] PROTOBUF_SECT }; static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::opi_api::storage::v1::NvmeRemoteController)}, - { 13, -1, -1, sizeof(::opi_api::storage::v1::NvmePath)}, - { 29, -1, -1, sizeof(::opi_api::storage::v1::NvmeRemoteNamespace)}, - { 41, -1, -1, sizeof(::opi_api::storage::v1::CreateNvmeRemoteControllerRequest)}, - { 49, -1, -1, sizeof(::opi_api::storage::v1::DeleteNvmeRemoteControllerRequest)}, - { 57, -1, -1, sizeof(::opi_api::storage::v1::UpdateNvmeRemoteControllerRequest)}, - { 66, -1, -1, sizeof(::opi_api::storage::v1::ListNvmeRemoteControllersRequest)}, - { 75, -1, -1, sizeof(::opi_api::storage::v1::ListNvmeRemoteControllersResponse)}, - { 83, -1, -1, sizeof(::opi_api::storage::v1::GetNvmeRemoteControllerRequest)}, - { 90, -1, -1, sizeof(::opi_api::storage::v1::ResetNvmeRemoteControllerRequest)}, - { 97, -1, -1, sizeof(::opi_api::storage::v1::StatsNvmeRemoteControllerRequest)}, - { 104, -1, -1, sizeof(::opi_api::storage::v1::StatsNvmeRemoteControllerResponse)}, - { 111, -1, -1, sizeof(::opi_api::storage::v1::ListNvmeRemoteNamespacesRequest)}, - { 120, -1, -1, sizeof(::opi_api::storage::v1::ListNvmeRemoteNamespacesResponse)}, - { 128, -1, -1, sizeof(::opi_api::storage::v1::GetNvmeRemoteNamespaceRequest)}, - { 135, -1, -1, sizeof(::opi_api::storage::v1::CreateNvmePathRequest)}, - { 143, -1, -1, sizeof(::opi_api::storage::v1::DeleteNvmePathRequest)}, - { 151, -1, -1, sizeof(::opi_api::storage::v1::UpdateNvmePathRequest)}, - { 160, -1, -1, sizeof(::opi_api::storage::v1::ListNvmePathsRequest)}, - { 169, -1, -1, sizeof(::opi_api::storage::v1::ListNvmePathsResponse)}, - { 177, -1, -1, sizeof(::opi_api::storage::v1::GetNvmePathRequest)}, - { 184, -1, -1, sizeof(::opi_api::storage::v1::StatsNvmePathRequest)}, - { 191, -1, -1, sizeof(::opi_api::storage::v1::StatsNvmePathResponse)}, + { 11, -1, -1, sizeof(::opi_api::storage::v1::TcpController)}, + { 20, -1, -1, sizeof(::opi_api::storage::v1::NvmePath)}, + { 31, -1, -1, sizeof(::opi_api::storage::v1::FabricsPath)}, + { 43, -1, -1, sizeof(::opi_api::storage::v1::NvmeRemoteNamespace)}, + { 55, -1, -1, sizeof(::opi_api::storage::v1::CreateNvmeRemoteControllerRequest)}, + { 63, -1, -1, sizeof(::opi_api::storage::v1::DeleteNvmeRemoteControllerRequest)}, + { 71, -1, -1, sizeof(::opi_api::storage::v1::UpdateNvmeRemoteControllerRequest)}, + { 80, -1, -1, sizeof(::opi_api::storage::v1::ListNvmeRemoteControllersRequest)}, + { 89, -1, -1, sizeof(::opi_api::storage::v1::ListNvmeRemoteControllersResponse)}, + { 97, -1, -1, sizeof(::opi_api::storage::v1::GetNvmeRemoteControllerRequest)}, + { 104, -1, -1, sizeof(::opi_api::storage::v1::ResetNvmeRemoteControllerRequest)}, + { 111, -1, -1, sizeof(::opi_api::storage::v1::StatsNvmeRemoteControllerRequest)}, + { 118, -1, -1, sizeof(::opi_api::storage::v1::StatsNvmeRemoteControllerResponse)}, + { 125, -1, -1, sizeof(::opi_api::storage::v1::ListNvmeRemoteNamespacesRequest)}, + { 134, -1, -1, sizeof(::opi_api::storage::v1::ListNvmeRemoteNamespacesResponse)}, + { 142, -1, -1, sizeof(::opi_api::storage::v1::GetNvmeRemoteNamespaceRequest)}, + { 149, -1, -1, sizeof(::opi_api::storage::v1::CreateNvmePathRequest)}, + { 157, -1, -1, sizeof(::opi_api::storage::v1::DeleteNvmePathRequest)}, + { 165, -1, -1, sizeof(::opi_api::storage::v1::UpdateNvmePathRequest)}, + { 174, -1, -1, sizeof(::opi_api::storage::v1::ListNvmePathsRequest)}, + { 183, -1, -1, sizeof(::opi_api::storage::v1::ListNvmePathsResponse)}, + { 191, -1, -1, sizeof(::opi_api::storage::v1::GetNvmePathRequest)}, + { 198, -1, -1, sizeof(::opi_api::storage::v1::StatsNvmePathRequest)}, + { 205, -1, -1, sizeof(::opi_api::storage::v1::StatsNvmePathResponse)}, }; static const ::_pb::Message* const file_default_instances[] = { &::opi_api::storage::v1::_NvmeRemoteController_default_instance_._instance, + &::opi_api::storage::v1::_TcpController_default_instance_._instance, &::opi_api::storage::v1::_NvmePath_default_instance_._instance, + &::opi_api::storage::v1::_FabricsPath_default_instance_._instance, &::opi_api::storage::v1::_NvmeRemoteNamespace_default_instance_._instance, &::opi_api::storage::v1::_CreateNvmeRemoteControllerRequest_default_instance_._instance, &::opi_api::storage::v1::_DeleteNvmeRemoteControllerRequest_default_instance_._instance, @@ -625,176 +669,180 @@ const char descriptor_table_protodef_backend_5fnvme_5ftcp_2eproto[] PROTOBUF_SEC "proto\032\034google/api/annotations.proto\032\037goo" "gle/api/field_behavior.proto\032 google/pro" "tobuf/field_mask.proto\032\017opicommon.proto\032" - "\nuuid.proto\"\365\002\n\024NvmeRemoteController\022@\n\004" + "\nuuid.proto\"\360\002\n\024NvmeRemoteController\022@\n\004" "name\030\001 \001(\tB2\340A\003\340A\005\372A)\n\'opi_api.storage.v" "1/NvmeRemoteController\0229\n\tmultipath\030\002 \001(" "\0162!.opi_api.storage.v1.NvmeMultipathB\003\340A" "\002\022\034\n\017io_queues_count\030\003 \001(\003B\003\340A\001\022\027\n\nqueue" - "_size\030\004 \001(\003B\003\340A\001\022\022\n\005hdgst\030\005 \001(\010B\003\340A\001\022\022\n\005" - "ddgst\030\006 \001(\010B\003\340A\001\022\020\n\003psk\030\007 \001(\014B\003\340A\001:o\352Al\n" - "+storage.opiproject.org/NvmeRemoteContro" - "ller\022\020volumes/{volume}*\025nvmeRemoteContro" - "llers2\024nvmeRemoteController\"\342\003\n\010NvmePath" - "\0224\n\004name\030\001 \001(\tB&\340A\003\340A\005\372A\035\n\033opi_api.stora" - "ge.v1/NvmePath\022L\n\023controller_name_ref\030\002 " - "\001(\tB/\340A\002\372A)\n\'opi_api.storage.v1/NvmeRemo" - "teController\022:\n\006trtype\030\003 \001(\0162%.opi_api.s" - "torage.v1.NvmeTransportTypeB\003\340A\002\022:\n\006adrf" - "am\030\004 \001(\0162%.opi_api.storage.v1.NvmeAddres" - "sFamilyB\003\340A\001\022\023\n\006traddr\030\005 \001(\tB\003\340A\002\022\024\n\007trs" - "vcid\030\006 \001(\003B\003\340A\001\022\023\n\006subnqn\030\007 \001(\tB\003\340A\001\022\032\n\r" - "source_traddr\030\010 \001(\tB\003\340A\001\022\033\n\016source_trsvc" - "id\030\t \001(\003B\003\340A\001\022\024\n\007hostnqn\030\n \001(\tB\003\340A\001:K\352AH" - "\n\037storage.opiproject.org/NvmePath\022\020volum" - "es/{volume}*\tnvmePaths2\010nvmePath\"\371\002\n\023Nvm" - "eRemoteNamespace\022\?\n\004name\030\001 \001(\tB1\340A\003\340A\005\372A" - "(\n&opi_api.storage.v1/NvmeRemoteNamespac" - "e\022L\n\023controller_name_ref\030\002 \001(\tB/\340A\003\372A)\n\'" - "opi_api.storage.v1/NvmeRemoteController\022" - "\021\n\004nsid\030\003 \001(\005B\003\340A\003\022\022\n\005nguid\030\004 \001(\tB\003\340A\003\022\022" - "\n\005eui64\030\005 \001(\003B\003\340A\003\022*\n\004uuid\030\006 \001(\0132\027.opi_a" - "pi.common.v1.UuidB\003\340A\003:l\352Ai\n*storage.opi" - "project.org/NvmeRemoteNamespace\022\020volumes" - "/{volume}*\024nvmeRemoteNamespaces2\023nvmeRem" - "oteNamespace\"\232\001\n!CreateNvmeRemoteControl" - "lerRequest\022M\n\026nvme_remote_controller\030\001 \001" - "(\0132(.opi_api.storage.v1.NvmeRemoteContro" - "llerB\003\340A\002\022&\n\031nvme_remote_controller_id\030\002" - " \001(\tB\003\340A\001\"~\n!DeleteNvmeRemoteControllerR" - "equest\022=\n\004name\030\001 \001(\tB/\340A\002\372A)\n\'opi_api.st" - "orage.v1/NvmeRemoteController\022\032\n\rallow_m" - "issing\030\002 \001(\010B\003\340A\001\"\304\001\n!UpdateNvmeRemoteCo" - "ntrollerRequest\022M\n\026nvme_remote_controlle" - "r\030\001 \001(\0132(.opi_api.storage.v1.NvmeRemoteC" - "ontrollerB\003\340A\002\0224\n\013update_mask\030\002 \001(\0132\032.go" - "ogle.protobuf.FieldMaskB\003\340A\001\022\032\n\rallow_mi" - "ssing\030\003 \001(\010B\003\340A\001\"\224\001\n ListNvmeRemoteContr" - "ollersRequest\022\?\n\006parent\030\001 \001(\tB/\340A\002\372A)\n\'o" - "pi_api.storage.v1/NvmeRemoteController\022\026" - "\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\npage_token\030\003 \001" - "(\tB\003\340A\001\"\207\001\n!ListNvmeRemoteControllersRes" - "ponse\022I\n\027nvme_remote_controllers\030\001 \003(\0132(" - ".opi_api.storage.v1.NvmeRemoteController" - "\022\027\n\017next_page_token\030\002 \001(\t\"_\n\036GetNvmeRemo" + "_size\030\004 \001(\003B\003\340A\001\0223\n\003tcp\030\005 \001(\0132!.opi_api." + "storage.v1.TcpControllerB\003\340A\001:o\352Al\n+stor" + "age.opiproject.org/NvmeRemoteController\022" + "\020volumes/{volume}*\025nvmeRemoteControllers" + "2\024nvmeRemoteController\"I\n\rTcpController\022" + "\022\n\005hdgst\030\001 \001(\010B\003\340A\001\022\022\n\005ddgst\030\002 \001(\010B\003\340A\001\022" + "\020\n\003psk\030\003 \001(\014B\003\340A\001\"\343\002\n\010NvmePath\0224\n\004name\030\001" + " \001(\tB&\340A\003\340A\005\372A\035\n\033opi_api.storage.v1/Nvme" + "Path\022L\n\023controller_name_ref\030\002 \001(\tB/\340A\002\372A" + ")\n\'opi_api.storage.v1/NvmeRemoteControll" + "er\022:\n\006trtype\030\003 \001(\0162%.opi_api.storage.v1." + "NvmeTransportTypeB\003\340A\002\022\023\n\006traddr\030\004 \001(\tB\003" + "\340A\002\0225\n\007fabrics\030\005 \001(\0132\037.opi_api.storage.v" + "1.FabricsPathB\003\340A\001:K\352AH\n\037storage.opiproj" + "ect.org/NvmePath\022\020volumes/{volume}*\tnvme" + "Paths2\010nvmePath\"\303\001\n\013FabricsPath\022\024\n\007trsvc" + "id\030\001 \001(\003B\003\340A\002\022\023\n\006subnqn\030\002 \001(\tB\003\340A\002\022:\n\006ad" + "rfam\030\003 \001(\0162%.opi_api.storage.v1.NvmeAddr" + "essFamilyB\003\340A\002\022\032\n\rsource_traddr\030\004 \001(\tB\003\340" + "A\001\022\033\n\016source_trsvcid\030\005 \001(\003B\003\340A\001\022\024\n\007hostn" + "qn\030\006 \001(\tB\003\340A\001\"\371\002\n\023NvmeRemoteNamespace\022\?\n" + "\004name\030\001 \001(\tB1\340A\003\340A\005\372A(\n&opi_api.storage." + "v1/NvmeRemoteNamespace\022L\n\023controller_nam" + "e_ref\030\002 \001(\tB/\340A\003\372A)\n\'opi_api.storage.v1/" + "NvmeRemoteController\022\021\n\004nsid\030\003 \001(\005B\003\340A\003\022" + "\022\n\005nguid\030\004 \001(\tB\003\340A\003\022\022\n\005eui64\030\005 \001(\003B\003\340A\003\022" + "*\n\004uuid\030\006 \001(\0132\027.opi_api.common.v1.UuidB\003" + "\340A\003:l\352Ai\n*storage.opiproject.org/NvmeRem" + "oteNamespace\022\020volumes/{volume}*\024nvmeRemo" + "teNamespaces2\023nvmeRemoteNamespace\"\232\001\n!Cr" + "eateNvmeRemoteControllerRequest\022M\n\026nvme_" + "remote_controller\030\001 \001(\0132(.opi_api.storag" + "e.v1.NvmeRemoteControllerB\003\340A\002\022&\n\031nvme_r" + "emote_controller_id\030\002 \001(\tB\003\340A\001\"~\n!Delete" + "NvmeRemoteControllerRequest\022=\n\004name\030\001 \001(" + "\tB/\340A\002\372A)\n\'opi_api.storage.v1/NvmeRemote" + "Controller\022\032\n\rallow_missing\030\002 \001(\010B\003\340A\001\"\304" + "\001\n!UpdateNvmeRemoteControllerRequest\022M\n\026" + "nvme_remote_controller\030\001 \001(\0132(.opi_api.s" + "torage.v1.NvmeRemoteControllerB\003\340A\002\0224\n\013u" + "pdate_mask\030\002 \001(\0132\032.google.protobuf.Field" + "MaskB\003\340A\001\022\032\n\rallow_missing\030\003 \001(\010B\003\340A\001\"\224\001" + "\n ListNvmeRemoteControllersRequest\022\?\n\006pa" + "rent\030\001 \001(\tB/\340A\002\372A)\n\'opi_api.storage.v1/N" + "vmeRemoteController\022\026\n\tpage_size\030\002 \001(\005B\003" + "\340A\001\022\027\n\npage_token\030\003 \001(\tB\003\340A\001\"\207\001\n!ListNvm" + "eRemoteControllersResponse\022I\n\027nvme_remot" + "e_controllers\030\001 \003(\0132(.opi_api.storage.v1" + ".NvmeRemoteController\022\027\n\017next_page_token" + "\030\002 \001(\t\"_\n\036GetNvmeRemoteControllerRequest" + "\022=\n\004name\030\001 \001(\tB/\340A\002\372A)\n\'opi_api.storage." + "v1/NvmeRemoteController\"a\n ResetNvmeRemo" "teControllerRequest\022=\n\004name\030\001 \001(\tB/\340A\002\372A" ")\n\'opi_api.storage.v1/NvmeRemoteControll" - "er\"a\n ResetNvmeRemoteControllerRequest\022=" + "er\"a\n StatsNvmeRemoteControllerRequest\022=" "\n\004name\030\001 \001(\tB/\340A\002\372A)\n\'opi_api.storage.v1" - "/NvmeRemoteController\"a\n StatsNvmeRemote" - "ControllerRequest\022=\n\004name\030\001 \001(\tB/\340A\002\372A)\n" - "\'opi_api.storage.v1/NvmeRemoteController" - "\"S\n!StatsNvmeRemoteControllerResponse\022.\n" - "\005stats\030\001 \001(\0132\037.opi_api.storage.v1.Volume" - "Stats\"\222\001\n\037ListNvmeRemoteNamespacesReques" - "t\022>\n\006parent\030\001 \001(\tB.\340A\002\372A(\n&opi_api.stora" - "ge.v1/NvmeRemoteNamespace\022\026\n\tpage_size\030\002" - " \001(\005B\003\340A\001\022\027\n\npage_token\030\003 \001(\tB\003\340A\001\"\204\001\n L" - "istNvmeRemoteNamespacesResponse\022G\n\026nvme_" - "remote_namespaces\030\001 \003(\0132\'.opi_api.storag" - "e.v1.NvmeRemoteNamespace\022\027\n\017next_page_to" - "ken\030\002 \001(\t\"]\n\035GetNvmeRemoteNamespaceReque" - "st\022<\n\004name\030\001 \001(\tB.\340A\002\372A(\n&opi_api.storag" - "e.v1/NvmeRemoteNamespace\"h\n\025CreateNvmePa" - "thRequest\0224\n\tnvme_path\030\001 \001(\0132\034.opi_api.s" - "torage.v1.NvmePathB\003\340A\002\022\031\n\014nvme_path_id\030" - "\002 \001(\tB\003\340A\001\"f\n\025DeleteNvmePathRequest\0221\n\004n" - "ame\030\001 \001(\tB#\340A\002\372A\035\n\033opi_api.storage.v1/Nv" - "mePath\022\032\n\rallow_missing\030\002 \001(\010B\003\340A\001\"\237\001\n\025U" - "pdateNvmePathRequest\0224\n\tnvme_path\030\001 \001(\0132" - "\034.opi_api.storage.v1.NvmePathB\003\340A\002\0224\n\013up" - "date_mask\030\002 \001(\0132\032.google.protobuf.FieldM" - "askB\003\340A\001\022\032\n\rallow_missing\030\003 \001(\010B\003\340A\001\"|\n\024" - "ListNvmePathsRequest\0223\n\006parent\030\001 \001(\tB#\340A" - "\002\372A\035\n\033opi_api.storage.v1/NvmePath\022\026\n\tpag" - "e_size\030\002 \001(\005B\003\340A\001\022\027\n\npage_token\030\003 \001(\tB\003\340" - "A\001\"b\n\025ListNvmePathsResponse\0220\n\nnvme_path" - "s\030\001 \003(\0132\034.opi_api.storage.v1.NvmePath\022\027\n" - "\017next_page_token\030\002 \001(\t\"G\n\022GetNvmePathReq" - "uest\0221\n\004name\030\001 \001(\tB#\340A\002\372A\035\n\033opi_api.stor" - "age.v1/NvmePath\"I\n\024StatsNvmePathRequest\022" - "1\n\004name\030\001 \001(\tB#\340A\002\372A\035\n\033opi_api.storage.v" - "1/NvmePath\"G\n\025StatsNvmePathResponse\022.\n\005s" - "tats\030\001 \001(\0132\037.opi_api.storage.v1.VolumeSt" - "ats*\264\001\n\021NvmeTransportType\022#\n\037NVME_TRANSP" - "ORT_TYPE_UNSPECIFIED\020\000\022\025\n\021NVME_TRANSPORT" - "_FC\020\001\022\027\n\023NVME_TRANSPORT_PCIE\020\002\022\027\n\023NVME_T" - "RANSPORT_RDMA\020\003\022\026\n\022NVME_TRANSPORT_TCP\020\004\022" - "\031\n\025NVME_TRANSPORT_CUSTOM\020\005*\250\001\n\021NvmeAddre" - "ssFamily\022#\n\037NVME_ADDRESS_FAMILY_UNSPECIF" - "IED\020\000\022\024\n\020NVME_ADRFAM_IPV4\020\001\022\024\n\020NVME_ADRF" - "AM_IPV6\020\002\022\022\n\016NVME_ADRFAM_IB\020\003\022\022\n\016NVME_AD" - "RFAM_FC\020\004\022\032\n\026NVME_ADRFAM_INTRA_HOST\020\005*\206\001" - "\n\rNvmeMultipath\022\036\n\032NVME_MULTIPATH_UNSPEC" - "IFIED\020\000\022\032\n\026NVME_MULTIPATH_DISABLE\020\001\022\033\n\027N" - "VME_MULTIPATH_FAILOVER\020\002\022\034\n\030NVME_MULTIPA" - "TH_MULTIPATH\020\0032\224\024\n\033NvmeRemoteControllerS" - "ervice\022\335\001\n\032CreateNvmeRemoteController\0225." - "opi_api.storage.v1.CreateNvmeRemoteContr" - "ollerRequest\032(.opi_api.storage.v1.NvmeRe" - "moteController\"^\202\323\344\223\002%\"\013/v1/volumes:\026nvm" - "e_remote_controller\332A0nvme_remote_contro" - "ller,nvme_remote_controller_id\022\236\001\n\032Delet" - "eNvmeRemoteController\0225.opi_api.storage." - "v1.DeleteNvmeRemoteControllerRequest\032\026.g" - "oogle.protobuf.Empty\"1\202\323\344\223\002$*\"/v1/{name=" - "NvmeRemoteControllers/*}\332A\004name\022\360\001\n\032Upda" - "teNvmeRemoteController\0225.opi_api.storage" - ".v1.UpdateNvmeRemoteControllerRequest\032(." - "opi_api.storage.v1.NvmeRemoteController\"" - "q\202\323\344\223\002F2,/v1/{nvme_remote_controller.nam" - "e=subsystems}:\026nvme_remote_controller\332A\"" - "nvme_remote_controller,update_mask\022\262\001\n\031L" - "istNvmeRemoteControllers\0224.opi_api.stora" - "ge.v1.ListNvmeRemoteControllersRequest\0325" - ".opi_api.storage.v1.ListNvmeRemoteContro" - "llersResponse\"(\202\323\344\223\002\031\022\027/v1/{parent=subsy" - "stems}\332A\006parent\022\252\001\n\027GetNvmeRemoteControl" - "ler\0222.opi_api.storage.v1.GetNvmeRemoteCo" - "ntrollerRequest\032(.opi_api.storage.v1.Nvm" - "eRemoteController\"1\202\323\344\223\002$\022\"/v1/{name=Nvm" - "eRemoteControllers/*}\332A\004name\022\245\001\n\031ResetNv" - "meRemoteController\0224.opi_api.storage.v1." - "ResetNvmeRemoteControllerRequest\032\026.googl" - "e.protobuf.Empty\":\202\323\344\223\002-\"(/v1/{name=Nvme" - "RemoteControllers/*}:reset:\001*\332A\004name\022\301\001\n" - "\031StatsNvmeRemoteController\0224.opi_api.sto" - "rage.v1.StatsNvmeRemoteControllerRequest" - "\0325.opi_api.storage.v1.StatsNvmeRemoteCon" - "trollerResponse\"7\202\323\344\223\002*\022(/v1/{name=NvmeR" - "emoteControllers/*}:stats\332A\004name\022\257\001\n\030Lis" - "tNvmeRemoteNamespaces\0223.opi_api.storage." - "v1.ListNvmeRemoteNamespacesRequest\0324.opi" - "_api.storage.v1.ListNvmeRemoteNamespaces" - "Response\"(\202\323\344\223\002\031\022\027/v1/{parent=subsystems" - "}\332A\006parent\022\246\001\n\026GetNvmeRemoteNamespace\0221." - "opi_api.storage.v1.GetNvmeRemoteNamespac" - "eRequest\032\'.opi_api.storage.v1.NvmeRemote" - "Namespace\"0\202\323\344\223\002#\022!/v1/{name=NvmeRemoteN" - "amespaces/*}\332A\004name\022\222\001\n\016CreateNvmePath\022)" - ".opi_api.storage.v1.CreateNvmePathReques" - "t\032\034.opi_api.storage.v1.NvmePath\"7\202\323\344\223\002\030\"" - "\013/v1/volumes:\tnvme_path\332A\026nvme_path,nvme" - "_path_id\022z\n\016DeleteNvmePath\022).opi_api.sto" - "rage.v1.DeleteNvmePathRequest\032\026.google.p" - "rotobuf.Empty\"%\202\323\344\223\002\030*\026/v1/{name=NvmePat" - "hs/*}\332A\004name\022\245\001\n\016UpdateNvmePath\022).opi_ap" - "i.storage.v1.UpdateNvmePathRequest\032\034.opi" - "_api.storage.v1.NvmePath\"J\202\323\344\223\002,2\037/v1/{n" - "vme_path.name=subsystems}:\tnvme_path\332A\025n" - "vme_path,update_mask\022\216\001\n\rListNvmePaths\022(" - ".opi_api.storage.v1.ListNvmePathsRequest" - "\032).opi_api.storage.v1.ListNvmePathsRespo" - "nse\"(\202\323\344\223\002\031\022\027/v1/{parent=subsystems}\332A\006p" - "arent\022z\n\013GetNvmePath\022&.opi_api.storage.v" - "1.GetNvmePathRequest\032\034.opi_api.storage.v" - "1.NvmePath\"%\202\323\344\223\002\030\022\026/v1/{name=NvmePaths/" - "*}\332A\004name\022\221\001\n\rStatsNvmePath\022(.opi_api.st" - "orage.v1.StatsNvmePathRequest\032).opi_api." - "storage.v1.StatsNvmePathResponse\"+\202\323\344\223\002\036" - "\022\034/v1/{name=NvmePaths/*}:stats\332A\004nameBb\n" - "\022opi_api.storage.v1B\023BackendNvmeTcpProto" - "P\001Z5github.com/opiproject/opi-api/storag" - "e/v1alpha1/gen/gob\006proto3" + "/NvmeRemoteController\"S\n!StatsNvmeRemote" + "ControllerResponse\022.\n\005stats\030\001 \001(\0132\037.opi_" + "api.storage.v1.VolumeStats\"\222\001\n\037ListNvmeR" + "emoteNamespacesRequest\022>\n\006parent\030\001 \001(\tB." + "\340A\002\372A(\n&opi_api.storage.v1/NvmeRemoteNam" + "espace\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\npage_t" + "oken\030\003 \001(\tB\003\340A\001\"\204\001\n ListNvmeRemoteNamesp" + "acesResponse\022G\n\026nvme_remote_namespaces\030\001" + " \003(\0132\'.opi_api.storage.v1.NvmeRemoteName" + "space\022\027\n\017next_page_token\030\002 \001(\t\"]\n\035GetNvm" + "eRemoteNamespaceRequest\022<\n\004name\030\001 \001(\tB.\340" + "A\002\372A(\n&opi_api.storage.v1/NvmeRemoteName" + "space\"h\n\025CreateNvmePathRequest\0224\n\tnvme_p" + "ath\030\001 \001(\0132\034.opi_api.storage.v1.NvmePathB" + "\003\340A\002\022\031\n\014nvme_path_id\030\002 \001(\tB\003\340A\001\"f\n\025Delet" + "eNvmePathRequest\0221\n\004name\030\001 \001(\tB#\340A\002\372A\035\n\033" + "opi_api.storage.v1/NvmePath\022\032\n\rallow_mis" + "sing\030\002 \001(\010B\003\340A\001\"\237\001\n\025UpdateNvmePathReques" + "t\0224\n\tnvme_path\030\001 \001(\0132\034.opi_api.storage.v" + "1.NvmePathB\003\340A\002\0224\n\013update_mask\030\002 \001(\0132\032.g" + "oogle.protobuf.FieldMaskB\003\340A\001\022\032\n\rallow_m" + "issing\030\003 \001(\010B\003\340A\001\"|\n\024ListNvmePathsReques" + "t\0223\n\006parent\030\001 \001(\tB#\340A\002\372A\035\n\033opi_api.stora" + "ge.v1/NvmePath\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027" + "\n\npage_token\030\003 \001(\tB\003\340A\001\"b\n\025ListNvmePaths" + "Response\0220\n\nnvme_paths\030\001 \003(\0132\034.opi_api.s" + "torage.v1.NvmePath\022\027\n\017next_page_token\030\002 " + "\001(\t\"G\n\022GetNvmePathRequest\0221\n\004name\030\001 \001(\tB" + "#\340A\002\372A\035\n\033opi_api.storage.v1/NvmePath\"I\n\024" + "StatsNvmePathRequest\0221\n\004name\030\001 \001(\tB#\340A\002\372" + "A\035\n\033opi_api.storage.v1/NvmePath\"G\n\025Stats" + "NvmePathResponse\022.\n\005stats\030\001 \001(\0132\037.opi_ap" + "i.storage.v1.VolumeStats*\264\001\n\021NvmeTranspo" + "rtType\022#\n\037NVME_TRANSPORT_TYPE_UNSPECIFIE" + "D\020\000\022\025\n\021NVME_TRANSPORT_FC\020\001\022\027\n\023NVME_TRANS" + "PORT_PCIE\020\002\022\027\n\023NVME_TRANSPORT_RDMA\020\003\022\026\n\022" + "NVME_TRANSPORT_TCP\020\004\022\031\n\025NVME_TRANSPORT_C" + "USTOM\020\005*\250\001\n\021NvmeAddressFamily\022#\n\037NVME_AD" + "DRESS_FAMILY_UNSPECIFIED\020\000\022\024\n\020NVME_ADRFA" + "M_IPV4\020\001\022\024\n\020NVME_ADRFAM_IPV6\020\002\022\022\n\016NVME_A" + "DRFAM_IB\020\003\022\022\n\016NVME_ADRFAM_FC\020\004\022\032\n\026NVME_A" + "DRFAM_INTRA_HOST\020\005*\206\001\n\rNvmeMultipath\022\036\n\032" + "NVME_MULTIPATH_UNSPECIFIED\020\000\022\032\n\026NVME_MUL" + "TIPATH_DISABLE\020\001\022\033\n\027NVME_MULTIPATH_FAILO" + "VER\020\002\022\034\n\030NVME_MULTIPATH_MULTIPATH\020\0032\224\024\n\033" + "NvmeRemoteControllerService\022\335\001\n\032CreateNv" + "meRemoteController\0225.opi_api.storage.v1." + "CreateNvmeRemoteControllerRequest\032(.opi_" + "api.storage.v1.NvmeRemoteController\"^\202\323\344" + "\223\002%\"\013/v1/volumes:\026nvme_remote_controller" + "\332A0nvme_remote_controller,nvme_remote_co" + "ntroller_id\022\236\001\n\032DeleteNvmeRemoteControll" + "er\0225.opi_api.storage.v1.DeleteNvmeRemote" + "ControllerRequest\032\026.google.protobuf.Empt" + "y\"1\202\323\344\223\002$*\"/v1/{name=NvmeRemoteControlle" + "rs/*}\332A\004name\022\360\001\n\032UpdateNvmeRemoteControl" + "ler\0225.opi_api.storage.v1.UpdateNvmeRemot" + "eControllerRequest\032(.opi_api.storage.v1." + "NvmeRemoteController\"q\202\323\344\223\002F2,/v1/{nvme_" + "remote_controller.name=subsystems}:\026nvme" + "_remote_controller\332A\"nvme_remote_control" + "ler,update_mask\022\262\001\n\031ListNvmeRemoteContro" + "llers\0224.opi_api.storage.v1.ListNvmeRemot" + "eControllersRequest\0325.opi_api.storage.v1" + ".ListNvmeRemoteControllersResponse\"(\202\323\344\223" + "\002\031\022\027/v1/{parent=subsystems}\332A\006parent\022\252\001\n" + "\027GetNvmeRemoteController\0222.opi_api.stora" + "ge.v1.GetNvmeRemoteControllerRequest\032(.o" + "pi_api.storage.v1.NvmeRemoteController\"1" + "\202\323\344\223\002$\022\"/v1/{name=NvmeRemoteControllers/" + "*}\332A\004name\022\245\001\n\031ResetNvmeRemoteController\022" + "4.opi_api.storage.v1.ResetNvmeRemoteCont" + "rollerRequest\032\026.google.protobuf.Empty\":\202" + "\323\344\223\002-\"(/v1/{name=NvmeRemoteControllers/*" + "}:reset:\001*\332A\004name\022\301\001\n\031StatsNvmeRemoteCon" + "troller\0224.opi_api.storage.v1.StatsNvmeRe" + "moteControllerRequest\0325.opi_api.storage." + "v1.StatsNvmeRemoteControllerResponse\"7\202\323" + "\344\223\002*\022(/v1/{name=NvmeRemoteControllers/*}" + ":stats\332A\004name\022\257\001\n\030ListNvmeRemoteNamespac" + "es\0223.opi_api.storage.v1.ListNvmeRemoteNa" + "mespacesRequest\0324.opi_api.storage.v1.Lis" + "tNvmeRemoteNamespacesResponse\"(\202\323\344\223\002\031\022\027/" + "v1/{parent=subsystems}\332A\006parent\022\246\001\n\026GetN" + "vmeRemoteNamespace\0221.opi_api.storage.v1." + "GetNvmeRemoteNamespaceRequest\032\'.opi_api." + "storage.v1.NvmeRemoteNamespace\"0\202\323\344\223\002#\022!" + "/v1/{name=NvmeRemoteNamespaces/*}\332A\004name" + "\022\222\001\n\016CreateNvmePath\022).opi_api.storage.v1" + ".CreateNvmePathRequest\032\034.opi_api.storage" + ".v1.NvmePath\"7\202\323\344\223\002\030\"\013/v1/volumes:\tnvme_" + "path\332A\026nvme_path,nvme_path_id\022z\n\016DeleteN" + "vmePath\022).opi_api.storage.v1.DeleteNvmeP" + "athRequest\032\026.google.protobuf.Empty\"%\202\323\344\223" + "\002\030*\026/v1/{name=NvmePaths/*}\332A\004name\022\245\001\n\016Up" + "dateNvmePath\022).opi_api.storage.v1.Update" + "NvmePathRequest\032\034.opi_api.storage.v1.Nvm" + "ePath\"J\202\323\344\223\002,2\037/v1/{nvme_path.name=subsy" + "stems}:\tnvme_path\332A\025nvme_path,update_mas" + "k\022\216\001\n\rListNvmePaths\022(.opi_api.storage.v1" + ".ListNvmePathsRequest\032).opi_api.storage." + "v1.ListNvmePathsResponse\"(\202\323\344\223\002\031\022\027/v1/{p" + "arent=subsystems}\332A\006parent\022z\n\013GetNvmePat" + "h\022&.opi_api.storage.v1.GetNvmePathReques" + "t\032\034.opi_api.storage.v1.NvmePath\"%\202\323\344\223\002\030\022" + "\026/v1/{name=NvmePaths/*}\332A\004name\022\221\001\n\rStats" + "NvmePath\022(.opi_api.storage.v1.StatsNvmeP" + "athRequest\032).opi_api.storage.v1.StatsNvm" + "ePathResponse\"+\202\323\344\223\002\036\022\034/v1/{name=NvmePat" + "hs/*}:stats\332A\004nameBb\n\022opi_api.storage.v1" + "B\023BackendNvmeTcpProtoP\001Z5github.com/opip" + "roject/opi-api/storage/v1alpha1/gen/gob\006" + "proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_backend_5fnvme_5ftcp_2eproto_deps[8] = { &::descriptor_table_google_2fapi_2fannotations_2eproto, @@ -808,9 +856,9 @@ static const ::_pbi::DescriptorTable* const descriptor_table_backend_5fnvme_5ftc }; static ::_pbi::once_flag descriptor_table_backend_5fnvme_5ftcp_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_backend_5fnvme_5ftcp_2eproto = { - false, false, 7025, descriptor_table_protodef_backend_5fnvme_5ftcp_2eproto, + false, false, 7166, descriptor_table_protodef_backend_5fnvme_5ftcp_2eproto, "backend_nvme_tcp.proto", - &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, descriptor_table_backend_5fnvme_5ftcp_2eproto_deps, 8, 23, + &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, descriptor_table_backend_5fnvme_5ftcp_2eproto_deps, 8, 25, schemas, file_default_instances, TableStruct_backend_5fnvme_5ftcp_2eproto::offsets, file_level_metadata_backend_5fnvme_5ftcp_2eproto, file_level_enum_descriptors_backend_5fnvme_5ftcp_2eproto, file_level_service_descriptors_backend_5fnvme_5ftcp_2eproto, @@ -881,8 +929,13 @@ bool NvmeMultipath_IsValid(int value) { class NvmeRemoteController::_Internal { public: + static const ::opi_api::storage::v1::TcpController& tcp(const NvmeRemoteController* msg); }; +const ::opi_api::storage::v1::TcpController& +NvmeRemoteController::_Internal::tcp(const NvmeRemoteController* msg) { + return *msg->_impl_.tcp_; +} NvmeRemoteController::NvmeRemoteController(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { @@ -894,12 +947,10 @@ NvmeRemoteController::NvmeRemoteController(const NvmeRemoteController& from) NvmeRemoteController* const _this = this; (void)_this; new (&_impl_) Impl_{ decltype(_impl_.name_){} - , decltype(_impl_.psk_){} + , decltype(_impl_.tcp_){nullptr} , decltype(_impl_.io_queues_count_){} , decltype(_impl_.queue_size_){} , decltype(_impl_.multipath_){} - , decltype(_impl_.hdgst_){} - , decltype(_impl_.ddgst_){} , /*decltype(_impl_._cached_size_)*/{}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); @@ -911,17 +962,12 @@ NvmeRemoteController::NvmeRemoteController(const NvmeRemoteController& from) _this->_impl_.name_.Set(from._internal_name(), _this->GetArenaForAllocation()); } - _impl_.psk_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.psk_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_psk().empty()) { - _this->_impl_.psk_.Set(from._internal_psk(), - _this->GetArenaForAllocation()); + if (from._internal_has_tcp()) { + _this->_impl_.tcp_ = new ::opi_api::storage::v1::TcpController(*from._impl_.tcp_); } ::memcpy(&_impl_.io_queues_count_, &from._impl_.io_queues_count_, - static_cast(reinterpret_cast(&_impl_.ddgst_) - - reinterpret_cast(&_impl_.io_queues_count_)) + sizeof(_impl_.ddgst_)); + static_cast(reinterpret_cast(&_impl_.multipath_) - + reinterpret_cast(&_impl_.io_queues_count_)) + sizeof(_impl_.multipath_)); // @@protoc_insertion_point(copy_constructor:opi_api.storage.v1.NvmeRemoteController) } @@ -931,22 +977,16 @@ inline void NvmeRemoteController::SharedCtor( (void)is_message_owned; new (&_impl_) Impl_{ decltype(_impl_.name_){} - , decltype(_impl_.psk_){} + , decltype(_impl_.tcp_){nullptr} , decltype(_impl_.io_queues_count_){int64_t{0}} , decltype(_impl_.queue_size_){int64_t{0}} , decltype(_impl_.multipath_){0} - , decltype(_impl_.hdgst_){false} - , decltype(_impl_.ddgst_){false} , /*decltype(_impl_._cached_size_)*/{} }; _impl_.name_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING _impl_.name_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.psk_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.psk_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING } NvmeRemoteController::~NvmeRemoteController() { @@ -961,7 +1001,7 @@ NvmeRemoteController::~NvmeRemoteController() { inline void NvmeRemoteController::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); _impl_.name_.Destroy(); - _impl_.psk_.Destroy(); + if (this != internal_default_instance()) delete _impl_.tcp_; } void NvmeRemoteController::SetCachedSize(int size) const { @@ -975,10 +1015,13 @@ void NvmeRemoteController::Clear() { (void) cached_has_bits; _impl_.name_.ClearToEmpty(); - _impl_.psk_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && _impl_.tcp_ != nullptr) { + delete _impl_.tcp_; + } + _impl_.tcp_ = nullptr; ::memset(&_impl_.io_queues_count_, 0, static_cast( - reinterpret_cast(&_impl_.ddgst_) - - reinterpret_cast(&_impl_.io_queues_count_)) + sizeof(_impl_.ddgst_)); + reinterpret_cast(&_impl_.multipath_) - + reinterpret_cast(&_impl_.io_queues_count_)) + sizeof(_impl_.multipath_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -1023,27 +1066,10 @@ const char* NvmeRemoteController::_InternalParse(const char* ptr, ::_pbi::ParseC } else goto handle_unusual; continue; - // bool hdgst = 5 [(.google.api.field_behavior) = OPTIONAL]; + // .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { - _impl_.hdgst_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // bool ddgst = 6 [(.google.api.field_behavior) = OPTIONAL]; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { - _impl_.ddgst_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // bytes psk = 7 [(.google.api.field_behavior) = OPTIONAL]; - case 7: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { - auto str = _internal_mutable_psk(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_tcp(), ptr); CHK_(ptr); } else goto handle_unusual; @@ -1106,22 +1132,11 @@ uint8_t* NvmeRemoteController::_InternalSerialize( target = ::_pbi::WireFormatLite::WriteInt64ToArray(4, this->_internal_queue_size(), target); } - // bool hdgst = 5 [(.google.api.field_behavior) = OPTIONAL]; - if (this->_internal_hdgst() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_hdgst(), target); - } - - // bool ddgst = 6 [(.google.api.field_behavior) = OPTIONAL]; - if (this->_internal_ddgst() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_ddgst(), target); - } - - // bytes psk = 7 [(.google.api.field_behavior) = OPTIONAL]; - if (!this->_internal_psk().empty()) { - target = stream->WriteBytesMaybeAliased( - 7, this->_internal_psk(), target); + // .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; + if (this->_internal_has_tcp()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(5, _Internal::tcp(this), + _Internal::tcp(this).GetCachedSize(), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -1147,11 +1162,11 @@ size_t NvmeRemoteController::ByteSizeLong() const { this->_internal_name()); } - // bytes psk = 7 [(.google.api.field_behavior) = OPTIONAL]; - if (!this->_internal_psk().empty()) { + // .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; + if (this->_internal_has_tcp()) { total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( - this->_internal_psk()); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.tcp_); } // int64 io_queues_count = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -1170,16 +1185,6 @@ size_t NvmeRemoteController::ByteSizeLong() const { ::_pbi::WireFormatLite::EnumSize(this->_internal_multipath()); } - // bool hdgst = 5 [(.google.api.field_behavior) = OPTIONAL]; - if (this->_internal_hdgst() != 0) { - total_size += 1 + 1; - } - - // bool ddgst = 6 [(.google.api.field_behavior) = OPTIONAL]; - if (this->_internal_ddgst() != 0) { - total_size += 1 + 1; - } - return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); } @@ -1201,8 +1206,9 @@ void NvmeRemoteController::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, c if (!from._internal_name().empty()) { _this->_internal_set_name(from._internal_name()); } - if (!from._internal_psk().empty()) { - _this->_internal_set_psk(from._internal_psk()); + if (from._internal_has_tcp()) { + _this->_internal_mutable_tcp()->::opi_api::storage::v1::TcpController::MergeFrom( + from._internal_tcp()); } if (from._internal_io_queues_count() != 0) { _this->_internal_set_io_queues_count(from._internal_io_queues_count()); @@ -1213,12 +1219,6 @@ void NvmeRemoteController::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, c if (from._internal_multipath() != 0) { _this->_internal_set_multipath(from._internal_multipath()); } - if (from._internal_hdgst() != 0) { - _this->_internal_set_hdgst(from._internal_hdgst()); - } - if (from._internal_ddgst() != 0) { - _this->_internal_set_ddgst(from._internal_ddgst()); - } _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } @@ -1242,16 +1242,12 @@ void NvmeRemoteController::InternalSwap(NvmeRemoteController* other) { &_impl_.name_, lhs_arena, &other->_impl_.name_, rhs_arena ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &_impl_.psk_, lhs_arena, - &other->_impl_.psk_, rhs_arena - ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(NvmeRemoteController, _impl_.ddgst_) - + sizeof(NvmeRemoteController::_impl_.ddgst_) - - PROTOBUF_FIELD_OFFSET(NvmeRemoteController, _impl_.io_queues_count_)>( - reinterpret_cast(&_impl_.io_queues_count_), - reinterpret_cast(&other->_impl_.io_queues_count_)); + PROTOBUF_FIELD_OFFSET(NvmeRemoteController, _impl_.multipath_) + + sizeof(NvmeRemoteController::_impl_.multipath_) + - PROTOBUF_FIELD_OFFSET(NvmeRemoteController, _impl_.tcp_)>( + reinterpret_cast(&_impl_.tcp_), + reinterpret_cast(&other->_impl_.tcp_)); } ::PROTOBUF_NAMESPACE_ID::Metadata NvmeRemoteController::GetMetadata() const { @@ -1262,57 +1258,666 @@ ::PROTOBUF_NAMESPACE_ID::Metadata NvmeRemoteController::GetMetadata() const { // =================================================================== -class NvmePath::_Internal { +class TcpController::_Internal { public: }; -NvmePath::NvmePath(::PROTOBUF_NAMESPACE_ID::Arena* arena, +TcpController::TcpController(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(arena, is_message_owned); - // @@protoc_insertion_point(arena_constructor:opi_api.storage.v1.NvmePath) + // @@protoc_insertion_point(arena_constructor:opi_api.storage.v1.TcpController) } -NvmePath::NvmePath(const NvmePath& from) +TcpController::TcpController(const TcpController& from) : ::PROTOBUF_NAMESPACE_ID::Message() { - NvmePath* const _this = this; (void)_this; + TcpController* const _this = this; (void)_this; new (&_impl_) Impl_{ - decltype(_impl_.name_){} - , decltype(_impl_.controller_name_ref_){} - , decltype(_impl_.traddr_){} - , decltype(_impl_.subnqn_){} - , decltype(_impl_.source_traddr_){} - , decltype(_impl_.hostnqn_){} - , decltype(_impl_.trtype_){} - , decltype(_impl_.adrfam_){} - , decltype(_impl_.trsvcid_){} - , decltype(_impl_.source_trsvcid_){} + decltype(_impl_.psk_){} + , decltype(_impl_.hdgst_){} + , decltype(_impl_.ddgst_){} , /*decltype(_impl_._cached_size_)*/{}}; _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - _impl_.name_.InitDefault(); + _impl_.psk_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.name_.Set("", GetArenaForAllocation()); + _impl_.psk_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_name().empty()) { - _this->_impl_.name_.Set(from._internal_name(), + if (!from._internal_psk().empty()) { + _this->_impl_.psk_.Set(from._internal_psk(), _this->GetArenaForAllocation()); } - _impl_.controller_name_ref_.InitDefault(); + ::memcpy(&_impl_.hdgst_, &from._impl_.hdgst_, + static_cast(reinterpret_cast(&_impl_.ddgst_) - + reinterpret_cast(&_impl_.hdgst_)) + sizeof(_impl_.ddgst_)); + // @@protoc_insertion_point(copy_constructor:opi_api.storage.v1.TcpController) +} + +inline void TcpController::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.psk_){} + , decltype(_impl_.hdgst_){false} + , decltype(_impl_.ddgst_){false} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.psk_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.controller_name_ref_.Set("", GetArenaForAllocation()); + _impl_.psk_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_controller_name_ref().empty()) { - _this->_impl_.controller_name_ref_.Set(from._internal_controller_name_ref(), - _this->GetArenaForAllocation()); +} + +TcpController::~TcpController() { + // @@protoc_insertion_point(destructor:opi_api.storage.v1.TcpController) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; } - _impl_.traddr_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.traddr_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_traddr().empty()) { - _this->_impl_.traddr_.Set(from._internal_traddr(), - _this->GetArenaForAllocation()); + SharedDtor(); +} + +inline void TcpController::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.psk_.Destroy(); +} + +void TcpController::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void TcpController::Clear() { +// @@protoc_insertion_point(message_clear_start:opi_api.storage.v1.TcpController) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.psk_.ClearToEmpty(); + ::memset(&_impl_.hdgst_, 0, static_cast( + reinterpret_cast(&_impl_.ddgst_) - + reinterpret_cast(&_impl_.hdgst_)) + sizeof(_impl_.ddgst_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* TcpController::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // bool hdgst = 1 [(.google.api.field_behavior) = OPTIONAL]; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.hdgst_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bool ddgst = 2 [(.google.api.field_behavior) = OPTIONAL]; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + _impl_.ddgst_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bytes psk = 3 [(.google.api.field_behavior) = OPTIONAL]; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_psk(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* TcpController::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:opi_api.storage.v1.TcpController) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // bool hdgst = 1 [(.google.api.field_behavior) = OPTIONAL]; + if (this->_internal_hdgst() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(1, this->_internal_hdgst(), target); + } + + // bool ddgst = 2 [(.google.api.field_behavior) = OPTIONAL]; + if (this->_internal_ddgst() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_ddgst(), target); } + + // bytes psk = 3 [(.google.api.field_behavior) = OPTIONAL]; + if (!this->_internal_psk().empty()) { + target = stream->WriteBytesMaybeAliased( + 3, this->_internal_psk(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:opi_api.storage.v1.TcpController) + return target; +} + +size_t TcpController::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:opi_api.storage.v1.TcpController) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // bytes psk = 3 [(.google.api.field_behavior) = OPTIONAL]; + if (!this->_internal_psk().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_psk()); + } + + // bool hdgst = 1 [(.google.api.field_behavior) = OPTIONAL]; + if (this->_internal_hdgst() != 0) { + total_size += 1 + 1; + } + + // bool ddgst = 2 [(.google.api.field_behavior) = OPTIONAL]; + if (this->_internal_ddgst() != 0) { + total_size += 1 + 1; + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TcpController::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + TcpController::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TcpController::GetClassData() const { return &_class_data_; } + + +void TcpController::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:opi_api.storage.v1.TcpController) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_psk().empty()) { + _this->_internal_set_psk(from._internal_psk()); + } + if (from._internal_hdgst() != 0) { + _this->_internal_set_hdgst(from._internal_hdgst()); + } + if (from._internal_ddgst() != 0) { + _this->_internal_set_ddgst(from._internal_ddgst()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void TcpController::CopyFrom(const TcpController& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:opi_api.storage.v1.TcpController) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool TcpController::IsInitialized() const { + return true; +} + +void TcpController::InternalSwap(TcpController* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.psk_, lhs_arena, + &other->_impl_.psk_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(TcpController, _impl_.ddgst_) + + sizeof(TcpController::_impl_.ddgst_) + - PROTOBUF_FIELD_OFFSET(TcpController, _impl_.hdgst_)>( + reinterpret_cast(&_impl_.hdgst_), + reinterpret_cast(&other->_impl_.hdgst_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata TcpController::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, + file_level_metadata_backend_5fnvme_5ftcp_2eproto[1]); +} + +// =================================================================== + +class NvmePath::_Internal { + public: + static const ::opi_api::storage::v1::FabricsPath& fabrics(const NvmePath* msg); +}; + +const ::opi_api::storage::v1::FabricsPath& +NvmePath::_Internal::fabrics(const NvmePath* msg) { + return *msg->_impl_.fabrics_; +} +NvmePath::NvmePath(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:opi_api.storage.v1.NvmePath) +} +NvmePath::NvmePath(const NvmePath& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + NvmePath* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.controller_name_ref_){} + , decltype(_impl_.traddr_){} + , decltype(_impl_.fabrics_){nullptr} + , decltype(_impl_.trtype_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_name().empty()) { + _this->_impl_.name_.Set(from._internal_name(), + _this->GetArenaForAllocation()); + } + _impl_.controller_name_ref_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.controller_name_ref_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_controller_name_ref().empty()) { + _this->_impl_.controller_name_ref_.Set(from._internal_controller_name_ref(), + _this->GetArenaForAllocation()); + } + _impl_.traddr_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.traddr_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_traddr().empty()) { + _this->_impl_.traddr_.Set(from._internal_traddr(), + _this->GetArenaForAllocation()); + } + if (from._internal_has_fabrics()) { + _this->_impl_.fabrics_ = new ::opi_api::storage::v1::FabricsPath(*from._impl_.fabrics_); + } + _this->_impl_.trtype_ = from._impl_.trtype_; + // @@protoc_insertion_point(copy_constructor:opi_api.storage.v1.NvmePath) +} + +inline void NvmePath::SharedCtor( + ::_pb::Arena* arena, bool is_message_owned) { + (void)arena; + (void)is_message_owned; + new (&_impl_) Impl_{ + decltype(_impl_.name_){} + , decltype(_impl_.controller_name_ref_){} + , decltype(_impl_.traddr_){} + , decltype(_impl_.fabrics_){nullptr} + , decltype(_impl_.trtype_){0} + , /*decltype(_impl_._cached_size_)*/{} + }; + _impl_.name_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.name_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.controller_name_ref_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.controller_name_ref_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.traddr_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.traddr_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +NvmePath::~NvmePath() { + // @@protoc_insertion_point(destructor:opi_api.storage.v1.NvmePath) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void NvmePath::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + _impl_.name_.Destroy(); + _impl_.controller_name_ref_.Destroy(); + _impl_.traddr_.Destroy(); + if (this != internal_default_instance()) delete _impl_.fabrics_; +} + +void NvmePath::SetCachedSize(int size) const { + _impl_._cached_size_.Set(size); +} + +void NvmePath::Clear() { +// @@protoc_insertion_point(message_clear_start:opi_api.storage.v1.NvmePath) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.name_.ClearToEmpty(); + _impl_.controller_name_ref_.ClearToEmpty(); + _impl_.traddr_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && _impl_.fabrics_ != nullptr) { + delete _impl_.fabrics_; + } + _impl_.fabrics_ = nullptr; + _impl_.trtype_ = 0; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* NvmePath::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_name(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "opi_api.storage.v1.NvmePath.name")); + } else + goto handle_unusual; + continue; + // string controller_name_ref = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_controller_name_ref(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "opi_api.storage.v1.NvmePath.controller_name_ref")); + } else + goto handle_unusual; + continue; + // .opi_api.storage.v1.NvmeTransportType trtype = 3 [(.google.api.field_behavior) = REQUIRED]; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_trtype(static_cast<::opi_api::storage::v1::NvmeTransportType>(val)); + } else + goto handle_unusual; + continue; + // string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + auto str = _internal_mutable_traddr(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "opi_api.storage.v1.NvmePath.traddr")); + } else + goto handle_unusual; + continue; + // .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_fabrics(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* NvmePath::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:opi_api.storage.v1.NvmePath) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { + if (!this->_internal_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "opi_api.storage.v1.NvmePath.name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_name(), target); + } + + // string controller_name_ref = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + if (!this->_internal_controller_name_ref().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_controller_name_ref().data(), static_cast(this->_internal_controller_name_ref().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "opi_api.storage.v1.NvmePath.controller_name_ref"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_controller_name_ref(), target); + } + + // .opi_api.storage.v1.NvmeTransportType trtype = 3 [(.google.api.field_behavior) = REQUIRED]; + if (this->_internal_trtype() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 3, this->_internal_trtype(), target); + } + + // string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; + if (!this->_internal_traddr().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_traddr().data(), static_cast(this->_internal_traddr().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "opi_api.storage.v1.NvmePath.traddr"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_traddr(), target); + } + + // .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; + if (this->_internal_has_fabrics()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(5, _Internal::fabrics(this), + _Internal::fabrics(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:opi_api.storage.v1.NvmePath) + return target; +} + +size_t NvmePath::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:opi_api.storage.v1.NvmePath) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { + if (!this->_internal_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + // string controller_name_ref = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + if (!this->_internal_controller_name_ref().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_controller_name_ref()); + } + + // string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; + if (!this->_internal_traddr().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_traddr()); + } + + // .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; + if (this->_internal_has_fabrics()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *_impl_.fabrics_); + } + + // .opi_api.storage.v1.NvmeTransportType trtype = 3 [(.google.api.field_behavior) = REQUIRED]; + if (this->_internal_trtype() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_trtype()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData NvmePath::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, + NvmePath::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*NvmePath::GetClassData() const { return &_class_data_; } + + +void NvmePath::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:opi_api.storage.v1.NvmePath) + GOOGLE_DCHECK_NE(&from, _this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + if (!from._internal_controller_name_ref().empty()) { + _this->_internal_set_controller_name_ref(from._internal_controller_name_ref()); + } + if (!from._internal_traddr().empty()) { + _this->_internal_set_traddr(from._internal_traddr()); + } + if (from._internal_has_fabrics()) { + _this->_internal_mutable_fabrics()->::opi_api::storage::v1::FabricsPath::MergeFrom( + from._internal_fabrics()); + } + if (from._internal_trtype() != 0) { + _this->_internal_set_trtype(from._internal_trtype()); + } + _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void NvmePath::CopyFrom(const NvmePath& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:opi_api.storage.v1.NvmePath) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool NvmePath::IsInitialized() const { + return true; +} + +void NvmePath::InternalSwap(NvmePath* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.name_, lhs_arena, + &other->_impl_.name_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.controller_name_ref_, lhs_arena, + &other->_impl_.controller_name_ref_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &_impl_.traddr_, lhs_arena, + &other->_impl_.traddr_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(NvmePath, _impl_.trtype_) + + sizeof(NvmePath::_impl_.trtype_) + - PROTOBUF_FIELD_OFFSET(NvmePath, _impl_.fabrics_)>( + reinterpret_cast(&_impl_.fabrics_), + reinterpret_cast(&other->_impl_.fabrics_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata NvmePath::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, + file_level_metadata_backend_5fnvme_5ftcp_2eproto[2]); +} + +// =================================================================== + +class FabricsPath::_Internal { + public: +}; + +FabricsPath::FabricsPath(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(arena, is_message_owned); + // @@protoc_insertion_point(arena_constructor:opi_api.storage.v1.FabricsPath) +} +FabricsPath::FabricsPath(const FabricsPath& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + FabricsPath* const _this = this; (void)_this; + new (&_impl_) Impl_{ + decltype(_impl_.subnqn_){} + , decltype(_impl_.source_traddr_){} + , decltype(_impl_.hostnqn_){} + , decltype(_impl_.trsvcid_){} + , decltype(_impl_.source_trsvcid_){} + , decltype(_impl_.adrfam_){} + , /*decltype(_impl_._cached_size_)*/{}}; + + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); _impl_.subnqn_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING _impl_.subnqn_.Set("", GetArenaForAllocation()); @@ -1337,41 +1942,25 @@ NvmePath::NvmePath(const NvmePath& from) _this->_impl_.hostnqn_.Set(from._internal_hostnqn(), _this->GetArenaForAllocation()); } - ::memcpy(&_impl_.trtype_, &from._impl_.trtype_, - static_cast(reinterpret_cast(&_impl_.source_trsvcid_) - - reinterpret_cast(&_impl_.trtype_)) + sizeof(_impl_.source_trsvcid_)); - // @@protoc_insertion_point(copy_constructor:opi_api.storage.v1.NvmePath) + ::memcpy(&_impl_.trsvcid_, &from._impl_.trsvcid_, + static_cast(reinterpret_cast(&_impl_.adrfam_) - + reinterpret_cast(&_impl_.trsvcid_)) + sizeof(_impl_.adrfam_)); + // @@protoc_insertion_point(copy_constructor:opi_api.storage.v1.FabricsPath) } -inline void NvmePath::SharedCtor( +inline void FabricsPath::SharedCtor( ::_pb::Arena* arena, bool is_message_owned) { (void)arena; (void)is_message_owned; new (&_impl_) Impl_{ - decltype(_impl_.name_){} - , decltype(_impl_.controller_name_ref_){} - , decltype(_impl_.traddr_){} - , decltype(_impl_.subnqn_){} + decltype(_impl_.subnqn_){} , decltype(_impl_.source_traddr_){} , decltype(_impl_.hostnqn_){} - , decltype(_impl_.trtype_){0} - , decltype(_impl_.adrfam_){0} , decltype(_impl_.trsvcid_){int64_t{0}} , decltype(_impl_.source_trsvcid_){int64_t{0}} + , decltype(_impl_.adrfam_){0} , /*decltype(_impl_._cached_size_)*/{} }; - _impl_.name_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.name_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.controller_name_ref_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.controller_name_ref_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.traddr_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - _impl_.traddr_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING _impl_.subnqn_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING _impl_.subnqn_.Set("", GetArenaForAllocation()); @@ -1386,8 +1975,8 @@ inline void NvmePath::SharedCtor( #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING } -NvmePath::~NvmePath() { - // @@protoc_insertion_point(destructor:opi_api.storage.v1.NvmePath) +FabricsPath::~FabricsPath() { + // @@protoc_insertion_point(destructor:opi_api.storage.v1.FabricsPath) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -1395,135 +1984,90 @@ NvmePath::~NvmePath() { SharedDtor(); } -inline void NvmePath::SharedDtor() { +inline void FabricsPath::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - _impl_.name_.Destroy(); - _impl_.controller_name_ref_.Destroy(); - _impl_.traddr_.Destroy(); _impl_.subnqn_.Destroy(); _impl_.source_traddr_.Destroy(); _impl_.hostnqn_.Destroy(); } -void NvmePath::SetCachedSize(int size) const { +void FabricsPath::SetCachedSize(int size) const { _impl_._cached_size_.Set(size); } -void NvmePath::Clear() { -// @@protoc_insertion_point(message_clear_start:opi_api.storage.v1.NvmePath) +void FabricsPath::Clear() { +// @@protoc_insertion_point(message_clear_start:opi_api.storage.v1.FabricsPath) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - _impl_.name_.ClearToEmpty(); - _impl_.controller_name_ref_.ClearToEmpty(); - _impl_.traddr_.ClearToEmpty(); _impl_.subnqn_.ClearToEmpty(); _impl_.source_traddr_.ClearToEmpty(); _impl_.hostnqn_.ClearToEmpty(); - ::memset(&_impl_.trtype_, 0, static_cast( - reinterpret_cast(&_impl_.source_trsvcid_) - - reinterpret_cast(&_impl_.trtype_)) + sizeof(_impl_.source_trsvcid_)); + ::memset(&_impl_.trsvcid_, 0, static_cast( + reinterpret_cast(&_impl_.adrfam_) - + reinterpret_cast(&_impl_.trsvcid_)) + sizeof(_impl_.adrfam_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* NvmePath::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* FabricsPath::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { + // int64 trsvcid = 1 [(.google.api.field_behavior) = REQUIRED]; case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - auto str = _internal_mutable_name(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + _impl_.trsvcid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "opi_api.storage.v1.NvmePath.name")); } else goto handle_unusual; continue; - // string controller_name_ref = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + // string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - auto str = _internal_mutable_controller_name_ref(); + auto str = _internal_mutable_subnqn(); ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "opi_api.storage.v1.NvmePath.controller_name_ref")); + CHK_(::_pbi::VerifyUTF8(str, "opi_api.storage.v1.FabricsPath.subnqn")); } else goto handle_unusual; continue; - // .opi_api.storage.v1.NvmeTransportType trtype = 3 [(.google.api.field_behavior) = REQUIRED]; + // .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; case 3: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - _internal_set_trtype(static_cast<::opi_api::storage::v1::NvmeTransportType>(val)); - } else - goto handle_unusual; - continue; - // .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); _internal_set_adrfam(static_cast<::opi_api::storage::v1::NvmeAddressFamily>(val)); } else goto handle_unusual; continue; - // string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { - auto str = _internal_mutable_traddr(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "opi_api.storage.v1.NvmePath.traddr")); - } else - goto handle_unusual; - continue; - // int64 trsvcid = 6 [(.google.api.field_behavior) = OPTIONAL]; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { - _impl_.trsvcid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; - case 7: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { - auto str = _internal_mutable_subnqn(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "opi_api.storage.v1.NvmePath.subnqn")); - } else - goto handle_unusual; - continue; - // string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; - case 8: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + // string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { auto str = _internal_mutable_source_traddr(); ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "opi_api.storage.v1.NvmePath.source_traddr")); + CHK_(::_pbi::VerifyUTF8(str, "opi_api.storage.v1.FabricsPath.source_traddr")); } else goto handle_unusual; continue; - // int64 source_trsvcid = 9 [(.google.api.field_behavior) = OPTIONAL]; - case 9: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 72)) { + // int64 source_trsvcid = 5 [(.google.api.field_behavior) = OPTIONAL]; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { _impl_.source_trsvcid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; - case 10: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 82)) { + // string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { auto str = _internal_mutable_hostnqn(); ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "opi_api.storage.v1.NvmePath.hostnqn")); + CHK_(::_pbi::VerifyUTF8(str, "opi_api.storage.v1.FabricsPath.hostnqn")); } else goto handle_unusual; continue; @@ -1550,205 +2094,132 @@ const char* NvmePath::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) #undef CHK_ } -uint8_t* NvmePath::_InternalSerialize( +uint8_t* FabricsPath::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:opi_api.storage.v1.NvmePath) + // @@protoc_insertion_point(serialize_to_array_start:opi_api.storage.v1.FabricsPath) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { - if (!this->_internal_name().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_name().data(), static_cast(this->_internal_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "opi_api.storage.v1.NvmePath.name"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_name(), target); + // int64 trsvcid = 1 [(.google.api.field_behavior) = REQUIRED]; + if (this->_internal_trsvcid() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt64ToArray(1, this->_internal_trsvcid(), target); } - // string controller_name_ref = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { - if (!this->_internal_controller_name_ref().empty()) { + // string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; + if (!this->_internal_subnqn().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_controller_name_ref().data(), static_cast(this->_internal_controller_name_ref().length()), + this->_internal_subnqn().data(), static_cast(this->_internal_subnqn().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "opi_api.storage.v1.NvmePath.controller_name_ref"); + "opi_api.storage.v1.FabricsPath.subnqn"); target = stream->WriteStringMaybeAliased( - 2, this->_internal_controller_name_ref(), target); - } - - // .opi_api.storage.v1.NvmeTransportType trtype = 3 [(.google.api.field_behavior) = REQUIRED]; - if (this->_internal_trtype() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteEnumToArray( - 3, this->_internal_trtype(), target); + 2, this->_internal_subnqn(), target); } - // .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; + // .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; if (this->_internal_adrfam() != 0) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteEnumToArray( - 4, this->_internal_adrfam(), target); - } - - // string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; - if (!this->_internal_traddr().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_traddr().data(), static_cast(this->_internal_traddr().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "opi_api.storage.v1.NvmePath.traddr"); - target = stream->WriteStringMaybeAliased( - 5, this->_internal_traddr(), target); - } - - // int64 trsvcid = 6 [(.google.api.field_behavior) = OPTIONAL]; - if (this->_internal_trsvcid() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt64ToArray(6, this->_internal_trsvcid(), target); - } - - // string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; - if (!this->_internal_subnqn().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_subnqn().data(), static_cast(this->_internal_subnqn().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "opi_api.storage.v1.NvmePath.subnqn"); - target = stream->WriteStringMaybeAliased( - 7, this->_internal_subnqn(), target); + 3, this->_internal_adrfam(), target); } - // string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; + // string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; if (!this->_internal_source_traddr().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->_internal_source_traddr().data(), static_cast(this->_internal_source_traddr().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "opi_api.storage.v1.NvmePath.source_traddr"); + "opi_api.storage.v1.FabricsPath.source_traddr"); target = stream->WriteStringMaybeAliased( - 8, this->_internal_source_traddr(), target); + 4, this->_internal_source_traddr(), target); } - // int64 source_trsvcid = 9 [(.google.api.field_behavior) = OPTIONAL]; + // int64 source_trsvcid = 5 [(.google.api.field_behavior) = OPTIONAL]; if (this->_internal_source_trsvcid() != 0) { target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt64ToArray(9, this->_internal_source_trsvcid(), target); + target = ::_pbi::WireFormatLite::WriteInt64ToArray(5, this->_internal_source_trsvcid(), target); } - // string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; + // string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; if (!this->_internal_hostnqn().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( this->_internal_hostnqn().data(), static_cast(this->_internal_hostnqn().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "opi_api.storage.v1.NvmePath.hostnqn"); + "opi_api.storage.v1.FabricsPath.hostnqn"); target = stream->WriteStringMaybeAliased( - 10, this->_internal_hostnqn(), target); + 6, this->_internal_hostnqn(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:opi_api.storage.v1.NvmePath) + // @@protoc_insertion_point(serialize_to_array_end:opi_api.storage.v1.FabricsPath) return target; } -size_t NvmePath::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:opi_api.storage.v1.NvmePath) +size_t FabricsPath::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:opi_api.storage.v1.FabricsPath) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { - if (!this->_internal_name().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_name()); - } - - // string controller_name_ref = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { - if (!this->_internal_controller_name_ref().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_controller_name_ref()); - } - - // string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; - if (!this->_internal_traddr().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_traddr()); - } - - // string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; + // string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; if (!this->_internal_subnqn().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( this->_internal_subnqn()); } - // string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; + // string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; if (!this->_internal_source_traddr().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( this->_internal_source_traddr()); } - // string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; + // string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; if (!this->_internal_hostnqn().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( this->_internal_hostnqn()); } - // .opi_api.storage.v1.NvmeTransportType trtype = 3 [(.google.api.field_behavior) = REQUIRED]; - if (this->_internal_trtype() != 0) { - total_size += 1 + - ::_pbi::WireFormatLite::EnumSize(this->_internal_trtype()); - } - - // .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; - if (this->_internal_adrfam() != 0) { - total_size += 1 + - ::_pbi::WireFormatLite::EnumSize(this->_internal_adrfam()); - } - - // int64 trsvcid = 6 [(.google.api.field_behavior) = OPTIONAL]; + // int64 trsvcid = 1 [(.google.api.field_behavior) = REQUIRED]; if (this->_internal_trsvcid() != 0) { total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(this->_internal_trsvcid()); } - // int64 source_trsvcid = 9 [(.google.api.field_behavior) = OPTIONAL]; + // int64 source_trsvcid = 5 [(.google.api.field_behavior) = OPTIONAL]; if (this->_internal_source_trsvcid() != 0) { total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(this->_internal_source_trsvcid()); } + // .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; + if (this->_internal_adrfam() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_adrfam()); + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData NvmePath::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData FabricsPath::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck, - NvmePath::MergeImpl + FabricsPath::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*NvmePath::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*FabricsPath::GetClassData() const { return &_class_data_; } -void NvmePath::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { - auto* const _this = static_cast(&to_msg); - auto& from = static_cast(from_msg); - // @@protoc_insertion_point(class_specific_merge_from_start:opi_api.storage.v1.NvmePath) +void FabricsPath::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:opi_api.storage.v1.FabricsPath) GOOGLE_DCHECK_NE(&from, _this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (!from._internal_name().empty()) { - _this->_internal_set_name(from._internal_name()); - } - if (!from._internal_controller_name_ref().empty()) { - _this->_internal_set_controller_name_ref(from._internal_controller_name_ref()); - } - if (!from._internal_traddr().empty()) { - _this->_internal_set_traddr(from._internal_traddr()); - } if (!from._internal_subnqn().empty()) { _this->_internal_set_subnqn(from._internal_subnqn()); } @@ -1758,49 +2229,34 @@ void NvmePath::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTO if (!from._internal_hostnqn().empty()) { _this->_internal_set_hostnqn(from._internal_hostnqn()); } - if (from._internal_trtype() != 0) { - _this->_internal_set_trtype(from._internal_trtype()); - } - if (from._internal_adrfam() != 0) { - _this->_internal_set_adrfam(from._internal_adrfam()); - } if (from._internal_trsvcid() != 0) { _this->_internal_set_trsvcid(from._internal_trsvcid()); } if (from._internal_source_trsvcid() != 0) { _this->_internal_set_source_trsvcid(from._internal_source_trsvcid()); } + if (from._internal_adrfam() != 0) { + _this->_internal_set_adrfam(from._internal_adrfam()); + } _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void NvmePath::CopyFrom(const NvmePath& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:opi_api.storage.v1.NvmePath) +void FabricsPath::CopyFrom(const FabricsPath& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:opi_api.storage.v1.FabricsPath) if (&from == this) return; Clear(); MergeFrom(from); } -bool NvmePath::IsInitialized() const { +bool FabricsPath::IsInitialized() const { return true; } -void NvmePath::InternalSwap(NvmePath* other) { +void FabricsPath::InternalSwap(FabricsPath* other) { using std::swap; auto* lhs_arena = GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &_impl_.name_, lhs_arena, - &other->_impl_.name_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &_impl_.controller_name_ref_, lhs_arena, - &other->_impl_.controller_name_ref_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &_impl_.traddr_, lhs_arena, - &other->_impl_.traddr_, rhs_arena - ); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &_impl_.subnqn_, lhs_arena, &other->_impl_.subnqn_, rhs_arena @@ -1814,17 +2270,17 @@ void NvmePath::InternalSwap(NvmePath* other) { &other->_impl_.hostnqn_, rhs_arena ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(NvmePath, _impl_.source_trsvcid_) - + sizeof(NvmePath::_impl_.source_trsvcid_) - - PROTOBUF_FIELD_OFFSET(NvmePath, _impl_.trtype_)>( - reinterpret_cast(&_impl_.trtype_), - reinterpret_cast(&other->_impl_.trtype_)); + PROTOBUF_FIELD_OFFSET(FabricsPath, _impl_.adrfam_) + + sizeof(FabricsPath::_impl_.adrfam_) + - PROTOBUF_FIELD_OFFSET(FabricsPath, _impl_.trsvcid_)>( + reinterpret_cast(&_impl_.trsvcid_), + reinterpret_cast(&other->_impl_.trsvcid_)); } -::PROTOBUF_NAMESPACE_ID::Metadata NvmePath::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata FabricsPath::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[1]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[3]); } // =================================================================== @@ -2234,7 +2690,7 @@ void NvmeRemoteNamespace::InternalSwap(NvmeRemoteNamespace* other) { ::PROTOBUF_NAMESPACE_ID::Metadata NvmeRemoteNamespace::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[2]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[4]); } // =================================================================== @@ -2479,7 +2935,7 @@ void CreateNvmeRemoteControllerRequest::InternalSwap(CreateNvmeRemoteControllerR ::PROTOBUF_NAMESPACE_ID::Metadata CreateNvmeRemoteControllerRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[3]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[5]); } // =================================================================== @@ -2709,7 +3165,7 @@ void DeleteNvmeRemoteControllerRequest::InternalSwap(DeleteNvmeRemoteControllerR ::PROTOBUF_NAMESPACE_ID::Metadata DeleteNvmeRemoteControllerRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[4]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[6]); } // =================================================================== @@ -2980,7 +3436,7 @@ void UpdateNvmeRemoteControllerRequest::InternalSwap(UpdateNvmeRemoteControllerR ::PROTOBUF_NAMESPACE_ID::Metadata UpdateNvmeRemoteControllerRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[5]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[7]); } // =================================================================== @@ -3260,7 +3716,7 @@ void ListNvmeRemoteControllersRequest::InternalSwap(ListNvmeRemoteControllersReq ::PROTOBUF_NAMESPACE_ID::Metadata ListNvmeRemoteControllersRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[6]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[8]); } // =================================================================== @@ -3497,7 +3953,7 @@ void ListNvmeRemoteControllersResponse::InternalSwap(ListNvmeRemoteControllersRe ::PROTOBUF_NAMESPACE_ID::Metadata ListNvmeRemoteControllersResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[7]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[9]); } // =================================================================== @@ -3700,7 +4156,7 @@ void GetNvmeRemoteControllerRequest::InternalSwap(GetNvmeRemoteControllerRequest ::PROTOBUF_NAMESPACE_ID::Metadata GetNvmeRemoteControllerRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[8]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[10]); } // =================================================================== @@ -3903,7 +4359,7 @@ void ResetNvmeRemoteControllerRequest::InternalSwap(ResetNvmeRemoteControllerReq ::PROTOBUF_NAMESPACE_ID::Metadata ResetNvmeRemoteControllerRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[9]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[11]); } // =================================================================== @@ -4106,7 +4562,7 @@ void StatsNvmeRemoteControllerRequest::InternalSwap(StatsNvmeRemoteControllerReq ::PROTOBUF_NAMESPACE_ID::Metadata StatsNvmeRemoteControllerRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[10]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[12]); } // =================================================================== @@ -4305,7 +4761,7 @@ void StatsNvmeRemoteControllerResponse::InternalSwap(StatsNvmeRemoteControllerRe ::PROTOBUF_NAMESPACE_ID::Metadata StatsNvmeRemoteControllerResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[11]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[13]); } // =================================================================== @@ -4585,7 +5041,7 @@ void ListNvmeRemoteNamespacesRequest::InternalSwap(ListNvmeRemoteNamespacesReque ::PROTOBUF_NAMESPACE_ID::Metadata ListNvmeRemoteNamespacesRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[12]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[14]); } // =================================================================== @@ -4822,7 +5278,7 @@ void ListNvmeRemoteNamespacesResponse::InternalSwap(ListNvmeRemoteNamespacesResp ::PROTOBUF_NAMESPACE_ID::Metadata ListNvmeRemoteNamespacesResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[13]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[15]); } // =================================================================== @@ -5025,7 +5481,7 @@ void GetNvmeRemoteNamespaceRequest::InternalSwap(GetNvmeRemoteNamespaceRequest* ::PROTOBUF_NAMESPACE_ID::Metadata GetNvmeRemoteNamespaceRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[14]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[16]); } // =================================================================== @@ -5270,7 +5726,7 @@ void CreateNvmePathRequest::InternalSwap(CreateNvmePathRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata CreateNvmePathRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[15]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[17]); } // =================================================================== @@ -5500,7 +5956,7 @@ void DeleteNvmePathRequest::InternalSwap(DeleteNvmePathRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata DeleteNvmePathRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[16]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[18]); } // =================================================================== @@ -5771,7 +6227,7 @@ void UpdateNvmePathRequest::InternalSwap(UpdateNvmePathRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata UpdateNvmePathRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[17]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[19]); } // =================================================================== @@ -6051,7 +6507,7 @@ void ListNvmePathsRequest::InternalSwap(ListNvmePathsRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata ListNvmePathsRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[18]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[20]); } // =================================================================== @@ -6288,7 +6744,7 @@ void ListNvmePathsResponse::InternalSwap(ListNvmePathsResponse* other) { ::PROTOBUF_NAMESPACE_ID::Metadata ListNvmePathsResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[19]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[21]); } // =================================================================== @@ -6491,7 +6947,7 @@ void GetNvmePathRequest::InternalSwap(GetNvmePathRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata GetNvmePathRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[20]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[22]); } // =================================================================== @@ -6694,7 +7150,7 @@ void StatsNvmePathRequest::InternalSwap(StatsNvmePathRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata StatsNvmePathRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[21]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[23]); } // =================================================================== @@ -6893,7 +7349,7 @@ void StatsNvmePathResponse::InternalSwap(StatsNvmePathResponse* other) { ::PROTOBUF_NAMESPACE_ID::Metadata StatsNvmePathResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_backend_5fnvme_5ftcp_2eproto_getter, &descriptor_table_backend_5fnvme_5ftcp_2eproto_once, - file_level_metadata_backend_5fnvme_5ftcp_2eproto[22]); + file_level_metadata_backend_5fnvme_5ftcp_2eproto[24]); } // @@protoc_insertion_point(namespace_scope) @@ -6905,10 +7361,18 @@ template<> PROTOBUF_NOINLINE ::opi_api::storage::v1::NvmeRemoteController* Arena::CreateMaybeMessage< ::opi_api::storage::v1::NvmeRemoteController >(Arena* arena) { return Arena::CreateMessageInternal< ::opi_api::storage::v1::NvmeRemoteController >(arena); } +template<> PROTOBUF_NOINLINE ::opi_api::storage::v1::TcpController* +Arena::CreateMaybeMessage< ::opi_api::storage::v1::TcpController >(Arena* arena) { + return Arena::CreateMessageInternal< ::opi_api::storage::v1::TcpController >(arena); +} template<> PROTOBUF_NOINLINE ::opi_api::storage::v1::NvmePath* Arena::CreateMaybeMessage< ::opi_api::storage::v1::NvmePath >(Arena* arena) { return Arena::CreateMessageInternal< ::opi_api::storage::v1::NvmePath >(arena); } +template<> PROTOBUF_NOINLINE ::opi_api::storage::v1::FabricsPath* +Arena::CreateMaybeMessage< ::opi_api::storage::v1::FabricsPath >(Arena* arena) { + return Arena::CreateMessageInternal< ::opi_api::storage::v1::FabricsPath >(arena); +} template<> PROTOBUF_NOINLINE ::opi_api::storage::v1::NvmeRemoteNamespace* Arena::CreateMaybeMessage< ::opi_api::storage::v1::NvmeRemoteNamespace >(Arena* arena) { return Arena::CreateMessageInternal< ::opi_api::storage::v1::NvmeRemoteNamespace >(arena); diff --git a/storage/v1alpha1/gen/cpp/backend_nvme_tcp.pb.h b/storage/v1alpha1/gen/cpp/backend_nvme_tcp.pb.h index 0ab95b7a..8415f216 100644 --- a/storage/v1alpha1/gen/cpp/backend_nvme_tcp.pb.h +++ b/storage/v1alpha1/gen/cpp/backend_nvme_tcp.pb.h @@ -68,6 +68,9 @@ extern DeleteNvmePathRequestDefaultTypeInternal _DeleteNvmePathRequest_default_i class DeleteNvmeRemoteControllerRequest; struct DeleteNvmeRemoteControllerRequestDefaultTypeInternal; extern DeleteNvmeRemoteControllerRequestDefaultTypeInternal _DeleteNvmeRemoteControllerRequest_default_instance_; +class FabricsPath; +struct FabricsPathDefaultTypeInternal; +extern FabricsPathDefaultTypeInternal _FabricsPath_default_instance_; class GetNvmePathRequest; struct GetNvmePathRequestDefaultTypeInternal; extern GetNvmePathRequestDefaultTypeInternal _GetNvmePathRequest_default_instance_; @@ -119,6 +122,9 @@ extern StatsNvmeRemoteControllerRequestDefaultTypeInternal _StatsNvmeRemoteContr class StatsNvmeRemoteControllerResponse; struct StatsNvmeRemoteControllerResponseDefaultTypeInternal; extern StatsNvmeRemoteControllerResponseDefaultTypeInternal _StatsNvmeRemoteControllerResponse_default_instance_; +class TcpController; +struct TcpControllerDefaultTypeInternal; +extern TcpControllerDefaultTypeInternal _TcpController_default_instance_; class UpdateNvmePathRequest; struct UpdateNvmePathRequestDefaultTypeInternal; extern UpdateNvmePathRequestDefaultTypeInternal _UpdateNvmePathRequest_default_instance_; @@ -133,6 +139,7 @@ template<> ::opi_api::storage::v1::CreateNvmePathRequest* Arena::CreateMaybeMess template<> ::opi_api::storage::v1::CreateNvmeRemoteControllerRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::CreateNvmeRemoteControllerRequest>(Arena*); template<> ::opi_api::storage::v1::DeleteNvmePathRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::DeleteNvmePathRequest>(Arena*); template<> ::opi_api::storage::v1::DeleteNvmeRemoteControllerRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::DeleteNvmeRemoteControllerRequest>(Arena*); +template<> ::opi_api::storage::v1::FabricsPath* Arena::CreateMaybeMessage<::opi_api::storage::v1::FabricsPath>(Arena*); template<> ::opi_api::storage::v1::GetNvmePathRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::GetNvmePathRequest>(Arena*); template<> ::opi_api::storage::v1::GetNvmeRemoteControllerRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::GetNvmeRemoteControllerRequest>(Arena*); template<> ::opi_api::storage::v1::GetNvmeRemoteNamespaceRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::GetNvmeRemoteNamespaceRequest>(Arena*); @@ -150,6 +157,7 @@ template<> ::opi_api::storage::v1::StatsNvmePathRequest* Arena::CreateMaybeMessa template<> ::opi_api::storage::v1::StatsNvmePathResponse* Arena::CreateMaybeMessage<::opi_api::storage::v1::StatsNvmePathResponse>(Arena*); template<> ::opi_api::storage::v1::StatsNvmeRemoteControllerRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::StatsNvmeRemoteControllerRequest>(Arena*); template<> ::opi_api::storage::v1::StatsNvmeRemoteControllerResponse* Arena::CreateMaybeMessage<::opi_api::storage::v1::StatsNvmeRemoteControllerResponse>(Arena*); +template<> ::opi_api::storage::v1::TcpController* Arena::CreateMaybeMessage<::opi_api::storage::v1::TcpController>(Arena*); template<> ::opi_api::storage::v1::UpdateNvmePathRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::UpdateNvmePathRequest>(Arena*); template<> ::opi_api::storage::v1::UpdateNvmeRemoteControllerRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::UpdateNvmeRemoteControllerRequest>(Arena*); PROTOBUF_NAMESPACE_CLOSE @@ -366,12 +374,10 @@ class NvmeRemoteController final : enum : int { kNameFieldNumber = 1, - kPskFieldNumber = 7, + kTcpFieldNumber = 5, kIoQueuesCountFieldNumber = 3, kQueueSizeFieldNumber = 4, kMultipathFieldNumber = 2, - kHdgstFieldNumber = 5, - kDdgstFieldNumber = 6, }; // string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { void clear_name(); @@ -387,19 +393,23 @@ class NvmeRemoteController final : std::string* _internal_mutable_name(); public: - // bytes psk = 7 [(.google.api.field_behavior) = OPTIONAL]; - void clear_psk(); - const std::string& psk() const; - template - void set_psk(ArgT0&& arg0, ArgT... args); - std::string* mutable_psk(); - PROTOBUF_NODISCARD std::string* release_psk(); - void set_allocated_psk(std::string* psk); + // .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; + bool has_tcp() const; private: - const std::string& _internal_psk() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_psk(const std::string& value); - std::string* _internal_mutable_psk(); + bool _internal_has_tcp() const; public: + void clear_tcp(); + const ::opi_api::storage::v1::TcpController& tcp() const; + PROTOBUF_NODISCARD ::opi_api::storage::v1::TcpController* release_tcp(); + ::opi_api::storage::v1::TcpController* mutable_tcp(); + void set_allocated_tcp(::opi_api::storage::v1::TcpController* tcp); + private: + const ::opi_api::storage::v1::TcpController& _internal_tcp() const; + ::opi_api::storage::v1::TcpController* _internal_mutable_tcp(); + public: + void unsafe_arena_set_allocated_tcp( + ::opi_api::storage::v1::TcpController* tcp); + ::opi_api::storage::v1::TcpController* unsafe_arena_release_tcp(); // int64 io_queues_count = 3 [(.google.api.field_behavior) = OPTIONAL]; void clear_io_queues_count(); @@ -428,7 +438,166 @@ class NvmeRemoteController final : void _internal_set_multipath(::opi_api::storage::v1::NvmeMultipath value); public: - // bool hdgst = 5 [(.google.api.field_behavior) = OPTIONAL]; + // @@protoc_insertion_point(class_scope:opi_api.storage.v1.NvmeRemoteController) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::opi_api::storage::v1::TcpController* tcp_; + int64_t io_queues_count_; + int64_t queue_size_; + int multipath_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_backend_5fnvme_5ftcp_2eproto; +}; +// ------------------------------------------------------------------- + +class TcpController final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:opi_api.storage.v1.TcpController) */ { + public: + inline TcpController() : TcpController(nullptr) {} + ~TcpController() override; + explicit PROTOBUF_CONSTEXPR TcpController(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + TcpController(const TcpController& from); + TcpController(TcpController&& from) noexcept + : TcpController() { + *this = ::std::move(from); + } + + inline TcpController& operator=(const TcpController& from) { + CopyFrom(from); + return *this; + } + inline TcpController& operator=(TcpController&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const TcpController& default_instance() { + return *internal_default_instance(); + } + static inline const TcpController* internal_default_instance() { + return reinterpret_cast( + &_TcpController_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(TcpController& a, TcpController& b) { + a.Swap(&b); + } + inline void Swap(TcpController* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(TcpController* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + TcpController* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const TcpController& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const TcpController& from) { + TcpController::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(TcpController* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "opi_api.storage.v1.TcpController"; + } + protected: + explicit TcpController(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kPskFieldNumber = 3, + kHdgstFieldNumber = 1, + kDdgstFieldNumber = 2, + }; + // bytes psk = 3 [(.google.api.field_behavior) = OPTIONAL]; + void clear_psk(); + const std::string& psk() const; + template + void set_psk(ArgT0&& arg0, ArgT... args); + std::string* mutable_psk(); + PROTOBUF_NODISCARD std::string* release_psk(); + void set_allocated_psk(std::string* psk); + private: + const std::string& _internal_psk() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_psk(const std::string& value); + std::string* _internal_mutable_psk(); + public: + + // bool hdgst = 1 [(.google.api.field_behavior) = OPTIONAL]; void clear_hdgst(); bool hdgst() const; void set_hdgst(bool value); @@ -437,7 +606,7 @@ class NvmeRemoteController final : void _internal_set_hdgst(bool value); public: - // bool ddgst = 6 [(.google.api.field_behavior) = OPTIONAL]; + // bool ddgst = 2 [(.google.api.field_behavior) = OPTIONAL]; void clear_ddgst(); bool ddgst() const; void set_ddgst(bool value); @@ -446,7 +615,7 @@ class NvmeRemoteController final : void _internal_set_ddgst(bool value); public: - // @@protoc_insertion_point(class_scope:opi_api.storage.v1.NvmeRemoteController) + // @@protoc_insertion_point(class_scope:opi_api.storage.v1.TcpController) private: class _Internal; @@ -454,11 +623,7 @@ class NvmeRemoteController final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr psk_; - int64_t io_queues_count_; - int64_t queue_size_; - int multipath_; bool hdgst_; bool ddgst_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; @@ -516,7 +681,7 @@ class NvmePath final : &_NvmePath_default_instance_); } static constexpr int kIndexInFileMessages = - 1; + 2; friend void swap(NvmePath& a, NvmePath& b) { a.Swap(&b); @@ -591,14 +756,9 @@ class NvmePath final : enum : int { kNameFieldNumber = 1, kControllerNameRefFieldNumber = 2, - kTraddrFieldNumber = 5, - kSubnqnFieldNumber = 7, - kSourceTraddrFieldNumber = 8, - kHostnqnFieldNumber = 10, + kTraddrFieldNumber = 4, + kFabricsFieldNumber = 5, kTrtypeFieldNumber = 3, - kAdrfamFieldNumber = 4, - kTrsvcidFieldNumber = 6, - kSourceTrsvcidFieldNumber = 9, }; // string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { void clear_name(); @@ -628,7 +788,7 @@ class NvmePath final : std::string* _internal_mutable_controller_name_ref(); public: - // string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; + // string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; void clear_traddr(); const std::string& traddr() const; template @@ -642,7 +802,182 @@ class NvmePath final : std::string* _internal_mutable_traddr(); public: - // string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; + // .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; + bool has_fabrics() const; + private: + bool _internal_has_fabrics() const; + public: + void clear_fabrics(); + const ::opi_api::storage::v1::FabricsPath& fabrics() const; + PROTOBUF_NODISCARD ::opi_api::storage::v1::FabricsPath* release_fabrics(); + ::opi_api::storage::v1::FabricsPath* mutable_fabrics(); + void set_allocated_fabrics(::opi_api::storage::v1::FabricsPath* fabrics); + private: + const ::opi_api::storage::v1::FabricsPath& _internal_fabrics() const; + ::opi_api::storage::v1::FabricsPath* _internal_mutable_fabrics(); + public: + void unsafe_arena_set_allocated_fabrics( + ::opi_api::storage::v1::FabricsPath* fabrics); + ::opi_api::storage::v1::FabricsPath* unsafe_arena_release_fabrics(); + + // .opi_api.storage.v1.NvmeTransportType trtype = 3 [(.google.api.field_behavior) = REQUIRED]; + void clear_trtype(); + ::opi_api::storage::v1::NvmeTransportType trtype() const; + void set_trtype(::opi_api::storage::v1::NvmeTransportType value); + private: + ::opi_api::storage::v1::NvmeTransportType _internal_trtype() const; + void _internal_set_trtype(::opi_api::storage::v1::NvmeTransportType value); + public: + + // @@protoc_insertion_point(class_scope:opi_api.storage.v1.NvmePath) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + struct Impl_ { + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr controller_name_ref_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr traddr_; + ::opi_api::storage::v1::FabricsPath* fabrics_; + int trtype_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_backend_5fnvme_5ftcp_2eproto; +}; +// ------------------------------------------------------------------- + +class FabricsPath final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:opi_api.storage.v1.FabricsPath) */ { + public: + inline FabricsPath() : FabricsPath(nullptr) {} + ~FabricsPath() override; + explicit PROTOBUF_CONSTEXPR FabricsPath(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FabricsPath(const FabricsPath& from); + FabricsPath(FabricsPath&& from) noexcept + : FabricsPath() { + *this = ::std::move(from); + } + + inline FabricsPath& operator=(const FabricsPath& from) { + CopyFrom(from); + return *this; + } + inline FabricsPath& operator=(FabricsPath&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FabricsPath& default_instance() { + return *internal_default_instance(); + } + static inline const FabricsPath* internal_default_instance() { + return reinterpret_cast( + &_FabricsPath_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; + + friend void swap(FabricsPath& a, FabricsPath& b) { + a.Swap(&b); + } + inline void Swap(FabricsPath* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FabricsPath* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FabricsPath* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FabricsPath& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom( const FabricsPath& from) { + FabricsPath::MergeImpl(*this, from); + } + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FabricsPath* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "opi_api.storage.v1.FabricsPath"; + } + protected: + explicit FabricsPath(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kSubnqnFieldNumber = 2, + kSourceTraddrFieldNumber = 4, + kHostnqnFieldNumber = 6, + kTrsvcidFieldNumber = 1, + kSourceTrsvcidFieldNumber = 5, + kAdrfamFieldNumber = 3, + }; + // string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; void clear_subnqn(); const std::string& subnqn() const; template @@ -656,7 +991,7 @@ class NvmePath final : std::string* _internal_mutable_subnqn(); public: - // string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; + // string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; void clear_source_traddr(); const std::string& source_traddr() const; template @@ -670,7 +1005,7 @@ class NvmePath final : std::string* _internal_mutable_source_traddr(); public: - // string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; + // string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; void clear_hostnqn(); const std::string& hostnqn() const; template @@ -684,25 +1019,7 @@ class NvmePath final : std::string* _internal_mutable_hostnqn(); public: - // .opi_api.storage.v1.NvmeTransportType trtype = 3 [(.google.api.field_behavior) = REQUIRED]; - void clear_trtype(); - ::opi_api::storage::v1::NvmeTransportType trtype() const; - void set_trtype(::opi_api::storage::v1::NvmeTransportType value); - private: - ::opi_api::storage::v1::NvmeTransportType _internal_trtype() const; - void _internal_set_trtype(::opi_api::storage::v1::NvmeTransportType value); - public: - - // .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; - void clear_adrfam(); - ::opi_api::storage::v1::NvmeAddressFamily adrfam() const; - void set_adrfam(::opi_api::storage::v1::NvmeAddressFamily value); - private: - ::opi_api::storage::v1::NvmeAddressFamily _internal_adrfam() const; - void _internal_set_adrfam(::opi_api::storage::v1::NvmeAddressFamily value); - public: - - // int64 trsvcid = 6 [(.google.api.field_behavior) = OPTIONAL]; + // int64 trsvcid = 1 [(.google.api.field_behavior) = REQUIRED]; void clear_trsvcid(); int64_t trsvcid() const; void set_trsvcid(int64_t value); @@ -711,7 +1028,7 @@ class NvmePath final : void _internal_set_trsvcid(int64_t value); public: - // int64 source_trsvcid = 9 [(.google.api.field_behavior) = OPTIONAL]; + // int64 source_trsvcid = 5 [(.google.api.field_behavior) = OPTIONAL]; void clear_source_trsvcid(); int64_t source_trsvcid() const; void set_source_trsvcid(int64_t value); @@ -720,7 +1037,16 @@ class NvmePath final : void _internal_set_source_trsvcid(int64_t value); public: - // @@protoc_insertion_point(class_scope:opi_api.storage.v1.NvmePath) + // .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; + void clear_adrfam(); + ::opi_api::storage::v1::NvmeAddressFamily adrfam() const; + void set_adrfam(::opi_api::storage::v1::NvmeAddressFamily value); + private: + ::opi_api::storage::v1::NvmeAddressFamily _internal_adrfam() const; + void _internal_set_adrfam(::opi_api::storage::v1::NvmeAddressFamily value); + public: + + // @@protoc_insertion_point(class_scope:opi_api.storage.v1.FabricsPath) private: class _Internal; @@ -728,16 +1054,12 @@ class NvmePath final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr controller_name_ref_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr traddr_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr subnqn_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr source_traddr_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr hostnqn_; - int trtype_; - int adrfam_; int64_t trsvcid_; int64_t source_trsvcid_; + int adrfam_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; }; union { Impl_ _impl_; }; @@ -793,7 +1115,7 @@ class NvmeRemoteNamespace final : &_NvmeRemoteNamespace_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 4; friend void swap(NvmeRemoteNamespace& a, NvmeRemoteNamespace& b) { a.Swap(&b); @@ -1020,7 +1342,7 @@ class CreateNvmeRemoteControllerRequest final : &_CreateNvmeRemoteControllerRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 3; + 5; friend void swap(CreateNvmeRemoteControllerRequest& a, CreateNvmeRemoteControllerRequest& b) { a.Swap(&b); @@ -1193,7 +1515,7 @@ class DeleteNvmeRemoteControllerRequest final : &_DeleteNvmeRemoteControllerRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 4; + 6; friend void swap(DeleteNvmeRemoteControllerRequest& a, DeleteNvmeRemoteControllerRequest& b) { a.Swap(&b); @@ -1357,7 +1679,7 @@ class UpdateNvmeRemoteControllerRequest final : &_UpdateNvmeRemoteControllerRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 5; + 7; friend void swap(UpdateNvmeRemoteControllerRequest& a, UpdateNvmeRemoteControllerRequest& b) { a.Swap(&b); @@ -1545,7 +1867,7 @@ class ListNvmeRemoteControllersRequest final : &_ListNvmeRemoteControllersRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 6; + 8; friend void swap(ListNvmeRemoteControllersRequest& a, ListNvmeRemoteControllersRequest& b) { a.Swap(&b); @@ -1725,7 +2047,7 @@ class ListNvmeRemoteControllersResponse final : &_ListNvmeRemoteControllersResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 7; + 9; friend void swap(ListNvmeRemoteControllersResponse& a, ListNvmeRemoteControllersResponse& b) { a.Swap(&b); @@ -1898,7 +2220,7 @@ class GetNvmeRemoteControllerRequest final : &_GetNvmeRemoteControllerRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 8; + 10; friend void swap(GetNvmeRemoteControllerRequest& a, GetNvmeRemoteControllerRequest& b) { a.Swap(&b); @@ -2051,7 +2373,7 @@ class ResetNvmeRemoteControllerRequest final : &_ResetNvmeRemoteControllerRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 9; + 11; friend void swap(ResetNvmeRemoteControllerRequest& a, ResetNvmeRemoteControllerRequest& b) { a.Swap(&b); @@ -2204,7 +2526,7 @@ class StatsNvmeRemoteControllerRequest final : &_StatsNvmeRemoteControllerRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 10; + 12; friend void swap(StatsNvmeRemoteControllerRequest& a, StatsNvmeRemoteControllerRequest& b) { a.Swap(&b); @@ -2357,7 +2679,7 @@ class StatsNvmeRemoteControllerResponse final : &_StatsNvmeRemoteControllerResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 11; + 13; friend void swap(StatsNvmeRemoteControllerResponse& a, StatsNvmeRemoteControllerResponse& b) { a.Swap(&b); @@ -2514,7 +2836,7 @@ class ListNvmeRemoteNamespacesRequest final : &_ListNvmeRemoteNamespacesRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 12; + 14; friend void swap(ListNvmeRemoteNamespacesRequest& a, ListNvmeRemoteNamespacesRequest& b) { a.Swap(&b); @@ -2694,7 +3016,7 @@ class ListNvmeRemoteNamespacesResponse final : &_ListNvmeRemoteNamespacesResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 13; + 15; friend void swap(ListNvmeRemoteNamespacesResponse& a, ListNvmeRemoteNamespacesResponse& b) { a.Swap(&b); @@ -2867,7 +3189,7 @@ class GetNvmeRemoteNamespaceRequest final : &_GetNvmeRemoteNamespaceRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 14; + 16; friend void swap(GetNvmeRemoteNamespaceRequest& a, GetNvmeRemoteNamespaceRequest& b) { a.Swap(&b); @@ -3020,7 +3342,7 @@ class CreateNvmePathRequest final : &_CreateNvmePathRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 15; + 17; friend void swap(CreateNvmePathRequest& a, CreateNvmePathRequest& b) { a.Swap(&b); @@ -3193,7 +3515,7 @@ class DeleteNvmePathRequest final : &_DeleteNvmePathRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 16; + 18; friend void swap(DeleteNvmePathRequest& a, DeleteNvmePathRequest& b) { a.Swap(&b); @@ -3357,7 +3679,7 @@ class UpdateNvmePathRequest final : &_UpdateNvmePathRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 17; + 19; friend void swap(UpdateNvmePathRequest& a, UpdateNvmePathRequest& b) { a.Swap(&b); @@ -3545,7 +3867,7 @@ class ListNvmePathsRequest final : &_ListNvmePathsRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 18; + 20; friend void swap(ListNvmePathsRequest& a, ListNvmePathsRequest& b) { a.Swap(&b); @@ -3725,7 +4047,7 @@ class ListNvmePathsResponse final : &_ListNvmePathsResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 19; + 21; friend void swap(ListNvmePathsResponse& a, ListNvmePathsResponse& b) { a.Swap(&b); @@ -3898,7 +4220,7 @@ class GetNvmePathRequest final : &_GetNvmePathRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 20; + 22; friend void swap(GetNvmePathRequest& a, GetNvmePathRequest& b) { a.Swap(&b); @@ -4051,7 +4373,7 @@ class StatsNvmePathRequest final : &_StatsNvmePathRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 21; + 23; friend void swap(StatsNvmePathRequest& a, StatsNvmePathRequest& b) { a.Swap(&b); @@ -4204,7 +4526,7 @@ class StatsNvmePathResponse final : &_StatsNvmePathResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 22; + 24; friend void swap(StatsNvmePathResponse& a, StatsNvmePathResponse& b) { a.Swap(&b); @@ -4432,82 +4754,176 @@ inline void NvmeRemoteController::set_queue_size(int64_t value) { // @@protoc_insertion_point(field_set:opi_api.storage.v1.NvmeRemoteController.queue_size) } -// bool hdgst = 5 [(.google.api.field_behavior) = OPTIONAL]; -inline void NvmeRemoteController::clear_hdgst() { +// .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; +inline bool NvmeRemoteController::_internal_has_tcp() const { + return this != internal_default_instance() && _impl_.tcp_ != nullptr; +} +inline bool NvmeRemoteController::has_tcp() const { + return _internal_has_tcp(); +} +inline void NvmeRemoteController::clear_tcp() { + if (GetArenaForAllocation() == nullptr && _impl_.tcp_ != nullptr) { + delete _impl_.tcp_; + } + _impl_.tcp_ = nullptr; +} +inline const ::opi_api::storage::v1::TcpController& NvmeRemoteController::_internal_tcp() const { + const ::opi_api::storage::v1::TcpController* p = _impl_.tcp_; + return p != nullptr ? *p : reinterpret_cast( + ::opi_api::storage::v1::_TcpController_default_instance_); +} +inline const ::opi_api::storage::v1::TcpController& NvmeRemoteController::tcp() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.NvmeRemoteController.tcp) + return _internal_tcp(); +} +inline void NvmeRemoteController::unsafe_arena_set_allocated_tcp( + ::opi_api::storage::v1::TcpController* tcp) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.tcp_); + } + _impl_.tcp_ = tcp; + if (tcp) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:opi_api.storage.v1.NvmeRemoteController.tcp) +} +inline ::opi_api::storage::v1::TcpController* NvmeRemoteController::release_tcp() { + + ::opi_api::storage::v1::TcpController* temp = _impl_.tcp_; + _impl_.tcp_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::opi_api::storage::v1::TcpController* NvmeRemoteController::unsafe_arena_release_tcp() { + // @@protoc_insertion_point(field_release:opi_api.storage.v1.NvmeRemoteController.tcp) + + ::opi_api::storage::v1::TcpController* temp = _impl_.tcp_; + _impl_.tcp_ = nullptr; + return temp; +} +inline ::opi_api::storage::v1::TcpController* NvmeRemoteController::_internal_mutable_tcp() { + + if (_impl_.tcp_ == nullptr) { + auto* p = CreateMaybeMessage<::opi_api::storage::v1::TcpController>(GetArenaForAllocation()); + _impl_.tcp_ = p; + } + return _impl_.tcp_; +} +inline ::opi_api::storage::v1::TcpController* NvmeRemoteController::mutable_tcp() { + ::opi_api::storage::v1::TcpController* _msg = _internal_mutable_tcp(); + // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.NvmeRemoteController.tcp) + return _msg; +} +inline void NvmeRemoteController::set_allocated_tcp(::opi_api::storage::v1::TcpController* tcp) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.tcp_; + } + if (tcp) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(tcp); + if (message_arena != submessage_arena) { + tcp = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, tcp, submessage_arena); + } + + } else { + + } + _impl_.tcp_ = tcp; + // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.NvmeRemoteController.tcp) +} + +// ------------------------------------------------------------------- + +// TcpController + +// bool hdgst = 1 [(.google.api.field_behavior) = OPTIONAL]; +inline void TcpController::clear_hdgst() { _impl_.hdgst_ = false; } -inline bool NvmeRemoteController::_internal_hdgst() const { +inline bool TcpController::_internal_hdgst() const { return _impl_.hdgst_; } -inline bool NvmeRemoteController::hdgst() const { - // @@protoc_insertion_point(field_get:opi_api.storage.v1.NvmeRemoteController.hdgst) +inline bool TcpController::hdgst() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.TcpController.hdgst) return _internal_hdgst(); } -inline void NvmeRemoteController::_internal_set_hdgst(bool value) { +inline void TcpController::_internal_set_hdgst(bool value) { _impl_.hdgst_ = value; } -inline void NvmeRemoteController::set_hdgst(bool value) { +inline void TcpController::set_hdgst(bool value) { _internal_set_hdgst(value); - // @@protoc_insertion_point(field_set:opi_api.storage.v1.NvmeRemoteController.hdgst) + // @@protoc_insertion_point(field_set:opi_api.storage.v1.TcpController.hdgst) } -// bool ddgst = 6 [(.google.api.field_behavior) = OPTIONAL]; -inline void NvmeRemoteController::clear_ddgst() { +// bool ddgst = 2 [(.google.api.field_behavior) = OPTIONAL]; +inline void TcpController::clear_ddgst() { _impl_.ddgst_ = false; } -inline bool NvmeRemoteController::_internal_ddgst() const { +inline bool TcpController::_internal_ddgst() const { return _impl_.ddgst_; } -inline bool NvmeRemoteController::ddgst() const { - // @@protoc_insertion_point(field_get:opi_api.storage.v1.NvmeRemoteController.ddgst) +inline bool TcpController::ddgst() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.TcpController.ddgst) return _internal_ddgst(); } -inline void NvmeRemoteController::_internal_set_ddgst(bool value) { +inline void TcpController::_internal_set_ddgst(bool value) { _impl_.ddgst_ = value; } -inline void NvmeRemoteController::set_ddgst(bool value) { +inline void TcpController::set_ddgst(bool value) { _internal_set_ddgst(value); - // @@protoc_insertion_point(field_set:opi_api.storage.v1.NvmeRemoteController.ddgst) + // @@protoc_insertion_point(field_set:opi_api.storage.v1.TcpController.ddgst) } -// bytes psk = 7 [(.google.api.field_behavior) = OPTIONAL]; -inline void NvmeRemoteController::clear_psk() { +// bytes psk = 3 [(.google.api.field_behavior) = OPTIONAL]; +inline void TcpController::clear_psk() { _impl_.psk_.ClearToEmpty(); } -inline const std::string& NvmeRemoteController::psk() const { - // @@protoc_insertion_point(field_get:opi_api.storage.v1.NvmeRemoteController.psk) +inline const std::string& TcpController::psk() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.TcpController.psk) return _internal_psk(); } template inline PROTOBUF_ALWAYS_INLINE -void NvmeRemoteController::set_psk(ArgT0&& arg0, ArgT... args) { +void TcpController::set_psk(ArgT0&& arg0, ArgT... args) { _impl_.psk_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:opi_api.storage.v1.NvmeRemoteController.psk) + // @@protoc_insertion_point(field_set:opi_api.storage.v1.TcpController.psk) } -inline std::string* NvmeRemoteController::mutable_psk() { +inline std::string* TcpController::mutable_psk() { std::string* _s = _internal_mutable_psk(); - // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.NvmeRemoteController.psk) + // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.TcpController.psk) return _s; } -inline const std::string& NvmeRemoteController::_internal_psk() const { +inline const std::string& TcpController::_internal_psk() const { return _impl_.psk_.Get(); } -inline void NvmeRemoteController::_internal_set_psk(const std::string& value) { +inline void TcpController::_internal_set_psk(const std::string& value) { _impl_.psk_.Set(value, GetArenaForAllocation()); } -inline std::string* NvmeRemoteController::_internal_mutable_psk() { +inline std::string* TcpController::_internal_mutable_psk() { return _impl_.psk_.Mutable(GetArenaForAllocation()); } -inline std::string* NvmeRemoteController::release_psk() { - // @@protoc_insertion_point(field_release:opi_api.storage.v1.NvmeRemoteController.psk) +inline std::string* TcpController::release_psk() { + // @@protoc_insertion_point(field_release:opi_api.storage.v1.TcpController.psk) return _impl_.psk_.Release(); } -inline void NvmeRemoteController::set_allocated_psk(std::string* psk) { +inline void TcpController::set_allocated_psk(std::string* psk) { if (psk != nullptr) { } else { @@ -4519,7 +4935,7 @@ inline void NvmeRemoteController::set_allocated_psk(std::string* psk) { _impl_.psk_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.NvmeRemoteController.psk) + // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.TcpController.psk) } // ------------------------------------------------------------------- @@ -4646,27 +5062,7 @@ inline void NvmePath::set_trtype(::opi_api::storage::v1::NvmeTransportType value // @@protoc_insertion_point(field_set:opi_api.storage.v1.NvmePath.trtype) } -// .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; -inline void NvmePath::clear_adrfam() { - _impl_.adrfam_ = 0; -} -inline ::opi_api::storage::v1::NvmeAddressFamily NvmePath::_internal_adrfam() const { - return static_cast< ::opi_api::storage::v1::NvmeAddressFamily >(_impl_.adrfam_); -} -inline ::opi_api::storage::v1::NvmeAddressFamily NvmePath::adrfam() const { - // @@protoc_insertion_point(field_get:opi_api.storage.v1.NvmePath.adrfam) - return _internal_adrfam(); -} -inline void NvmePath::_internal_set_adrfam(::opi_api::storage::v1::NvmeAddressFamily value) { - - _impl_.adrfam_ = value; -} -inline void NvmePath::set_adrfam(::opi_api::storage::v1::NvmeAddressFamily value) { - _internal_set_adrfam(value); - // @@protoc_insertion_point(field_set:opi_api.storage.v1.NvmePath.adrfam) -} - -// string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; +// string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; inline void NvmePath::clear_traddr() { _impl_.traddr_.ClearToEmpty(); } @@ -4716,62 +5112,156 @@ inline void NvmePath::set_allocated_traddr(std::string* traddr) { // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.NvmePath.traddr) } -// int64 trsvcid = 6 [(.google.api.field_behavior) = OPTIONAL]; -inline void NvmePath::clear_trsvcid() { +// .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; +inline bool NvmePath::_internal_has_fabrics() const { + return this != internal_default_instance() && _impl_.fabrics_ != nullptr; +} +inline bool NvmePath::has_fabrics() const { + return _internal_has_fabrics(); +} +inline void NvmePath::clear_fabrics() { + if (GetArenaForAllocation() == nullptr && _impl_.fabrics_ != nullptr) { + delete _impl_.fabrics_; + } + _impl_.fabrics_ = nullptr; +} +inline const ::opi_api::storage::v1::FabricsPath& NvmePath::_internal_fabrics() const { + const ::opi_api::storage::v1::FabricsPath* p = _impl_.fabrics_; + return p != nullptr ? *p : reinterpret_cast( + ::opi_api::storage::v1::_FabricsPath_default_instance_); +} +inline const ::opi_api::storage::v1::FabricsPath& NvmePath::fabrics() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.NvmePath.fabrics) + return _internal_fabrics(); +} +inline void NvmePath::unsafe_arena_set_allocated_fabrics( + ::opi_api::storage::v1::FabricsPath* fabrics) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.fabrics_); + } + _impl_.fabrics_ = fabrics; + if (fabrics) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:opi_api.storage.v1.NvmePath.fabrics) +} +inline ::opi_api::storage::v1::FabricsPath* NvmePath::release_fabrics() { + + ::opi_api::storage::v1::FabricsPath* temp = _impl_.fabrics_; + _impl_.fabrics_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::opi_api::storage::v1::FabricsPath* NvmePath::unsafe_arena_release_fabrics() { + // @@protoc_insertion_point(field_release:opi_api.storage.v1.NvmePath.fabrics) + + ::opi_api::storage::v1::FabricsPath* temp = _impl_.fabrics_; + _impl_.fabrics_ = nullptr; + return temp; +} +inline ::opi_api::storage::v1::FabricsPath* NvmePath::_internal_mutable_fabrics() { + + if (_impl_.fabrics_ == nullptr) { + auto* p = CreateMaybeMessage<::opi_api::storage::v1::FabricsPath>(GetArenaForAllocation()); + _impl_.fabrics_ = p; + } + return _impl_.fabrics_; +} +inline ::opi_api::storage::v1::FabricsPath* NvmePath::mutable_fabrics() { + ::opi_api::storage::v1::FabricsPath* _msg = _internal_mutable_fabrics(); + // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.NvmePath.fabrics) + return _msg; +} +inline void NvmePath::set_allocated_fabrics(::opi_api::storage::v1::FabricsPath* fabrics) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete _impl_.fabrics_; + } + if (fabrics) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(fabrics); + if (message_arena != submessage_arena) { + fabrics = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, fabrics, submessage_arena); + } + + } else { + + } + _impl_.fabrics_ = fabrics; + // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.NvmePath.fabrics) +} + +// ------------------------------------------------------------------- + +// FabricsPath + +// int64 trsvcid = 1 [(.google.api.field_behavior) = REQUIRED]; +inline void FabricsPath::clear_trsvcid() { _impl_.trsvcid_ = int64_t{0}; } -inline int64_t NvmePath::_internal_trsvcid() const { +inline int64_t FabricsPath::_internal_trsvcid() const { return _impl_.trsvcid_; } -inline int64_t NvmePath::trsvcid() const { - // @@protoc_insertion_point(field_get:opi_api.storage.v1.NvmePath.trsvcid) +inline int64_t FabricsPath::trsvcid() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.FabricsPath.trsvcid) return _internal_trsvcid(); } -inline void NvmePath::_internal_set_trsvcid(int64_t value) { +inline void FabricsPath::_internal_set_trsvcid(int64_t value) { _impl_.trsvcid_ = value; } -inline void NvmePath::set_trsvcid(int64_t value) { +inline void FabricsPath::set_trsvcid(int64_t value) { _internal_set_trsvcid(value); - // @@protoc_insertion_point(field_set:opi_api.storage.v1.NvmePath.trsvcid) + // @@protoc_insertion_point(field_set:opi_api.storage.v1.FabricsPath.trsvcid) } -// string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; -inline void NvmePath::clear_subnqn() { +// string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; +inline void FabricsPath::clear_subnqn() { _impl_.subnqn_.ClearToEmpty(); } -inline const std::string& NvmePath::subnqn() const { - // @@protoc_insertion_point(field_get:opi_api.storage.v1.NvmePath.subnqn) +inline const std::string& FabricsPath::subnqn() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.FabricsPath.subnqn) return _internal_subnqn(); } template inline PROTOBUF_ALWAYS_INLINE -void NvmePath::set_subnqn(ArgT0&& arg0, ArgT... args) { +void FabricsPath::set_subnqn(ArgT0&& arg0, ArgT... args) { _impl_.subnqn_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:opi_api.storage.v1.NvmePath.subnqn) + // @@protoc_insertion_point(field_set:opi_api.storage.v1.FabricsPath.subnqn) } -inline std::string* NvmePath::mutable_subnqn() { +inline std::string* FabricsPath::mutable_subnqn() { std::string* _s = _internal_mutable_subnqn(); - // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.NvmePath.subnqn) + // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.FabricsPath.subnqn) return _s; } -inline const std::string& NvmePath::_internal_subnqn() const { +inline const std::string& FabricsPath::_internal_subnqn() const { return _impl_.subnqn_.Get(); } -inline void NvmePath::_internal_set_subnqn(const std::string& value) { +inline void FabricsPath::_internal_set_subnqn(const std::string& value) { _impl_.subnqn_.Set(value, GetArenaForAllocation()); } -inline std::string* NvmePath::_internal_mutable_subnqn() { +inline std::string* FabricsPath::_internal_mutable_subnqn() { return _impl_.subnqn_.Mutable(GetArenaForAllocation()); } -inline std::string* NvmePath::release_subnqn() { - // @@protoc_insertion_point(field_release:opi_api.storage.v1.NvmePath.subnqn) +inline std::string* FabricsPath::release_subnqn() { + // @@protoc_insertion_point(field_release:opi_api.storage.v1.FabricsPath.subnqn) return _impl_.subnqn_.Release(); } -inline void NvmePath::set_allocated_subnqn(std::string* subnqn) { +inline void FabricsPath::set_allocated_subnqn(std::string* subnqn) { if (subnqn != nullptr) { } else { @@ -4783,45 +5273,65 @@ inline void NvmePath::set_allocated_subnqn(std::string* subnqn) { _impl_.subnqn_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.NvmePath.subnqn) + // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.FabricsPath.subnqn) } -// string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; -inline void NvmePath::clear_source_traddr() { +// .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; +inline void FabricsPath::clear_adrfam() { + _impl_.adrfam_ = 0; +} +inline ::opi_api::storage::v1::NvmeAddressFamily FabricsPath::_internal_adrfam() const { + return static_cast< ::opi_api::storage::v1::NvmeAddressFamily >(_impl_.adrfam_); +} +inline ::opi_api::storage::v1::NvmeAddressFamily FabricsPath::adrfam() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.FabricsPath.adrfam) + return _internal_adrfam(); +} +inline void FabricsPath::_internal_set_adrfam(::opi_api::storage::v1::NvmeAddressFamily value) { + + _impl_.adrfam_ = value; +} +inline void FabricsPath::set_adrfam(::opi_api::storage::v1::NvmeAddressFamily value) { + _internal_set_adrfam(value); + // @@protoc_insertion_point(field_set:opi_api.storage.v1.FabricsPath.adrfam) +} + +// string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; +inline void FabricsPath::clear_source_traddr() { _impl_.source_traddr_.ClearToEmpty(); } -inline const std::string& NvmePath::source_traddr() const { - // @@protoc_insertion_point(field_get:opi_api.storage.v1.NvmePath.source_traddr) +inline const std::string& FabricsPath::source_traddr() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.FabricsPath.source_traddr) return _internal_source_traddr(); } template inline PROTOBUF_ALWAYS_INLINE -void NvmePath::set_source_traddr(ArgT0&& arg0, ArgT... args) { +void FabricsPath::set_source_traddr(ArgT0&& arg0, ArgT... args) { _impl_.source_traddr_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:opi_api.storage.v1.NvmePath.source_traddr) + // @@protoc_insertion_point(field_set:opi_api.storage.v1.FabricsPath.source_traddr) } -inline std::string* NvmePath::mutable_source_traddr() { +inline std::string* FabricsPath::mutable_source_traddr() { std::string* _s = _internal_mutable_source_traddr(); - // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.NvmePath.source_traddr) + // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.FabricsPath.source_traddr) return _s; } -inline const std::string& NvmePath::_internal_source_traddr() const { +inline const std::string& FabricsPath::_internal_source_traddr() const { return _impl_.source_traddr_.Get(); } -inline void NvmePath::_internal_set_source_traddr(const std::string& value) { +inline void FabricsPath::_internal_set_source_traddr(const std::string& value) { _impl_.source_traddr_.Set(value, GetArenaForAllocation()); } -inline std::string* NvmePath::_internal_mutable_source_traddr() { +inline std::string* FabricsPath::_internal_mutable_source_traddr() { return _impl_.source_traddr_.Mutable(GetArenaForAllocation()); } -inline std::string* NvmePath::release_source_traddr() { - // @@protoc_insertion_point(field_release:opi_api.storage.v1.NvmePath.source_traddr) +inline std::string* FabricsPath::release_source_traddr() { + // @@protoc_insertion_point(field_release:opi_api.storage.v1.FabricsPath.source_traddr) return _impl_.source_traddr_.Release(); } -inline void NvmePath::set_allocated_source_traddr(std::string* source_traddr) { +inline void FabricsPath::set_allocated_source_traddr(std::string* source_traddr) { if (source_traddr != nullptr) { } else { @@ -4833,65 +5343,65 @@ inline void NvmePath::set_allocated_source_traddr(std::string* source_traddr) { _impl_.source_traddr_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.NvmePath.source_traddr) + // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.FabricsPath.source_traddr) } -// int64 source_trsvcid = 9 [(.google.api.field_behavior) = OPTIONAL]; -inline void NvmePath::clear_source_trsvcid() { +// int64 source_trsvcid = 5 [(.google.api.field_behavior) = OPTIONAL]; +inline void FabricsPath::clear_source_trsvcid() { _impl_.source_trsvcid_ = int64_t{0}; } -inline int64_t NvmePath::_internal_source_trsvcid() const { +inline int64_t FabricsPath::_internal_source_trsvcid() const { return _impl_.source_trsvcid_; } -inline int64_t NvmePath::source_trsvcid() const { - // @@protoc_insertion_point(field_get:opi_api.storage.v1.NvmePath.source_trsvcid) +inline int64_t FabricsPath::source_trsvcid() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.FabricsPath.source_trsvcid) return _internal_source_trsvcid(); } -inline void NvmePath::_internal_set_source_trsvcid(int64_t value) { +inline void FabricsPath::_internal_set_source_trsvcid(int64_t value) { _impl_.source_trsvcid_ = value; } -inline void NvmePath::set_source_trsvcid(int64_t value) { +inline void FabricsPath::set_source_trsvcid(int64_t value) { _internal_set_source_trsvcid(value); - // @@protoc_insertion_point(field_set:opi_api.storage.v1.NvmePath.source_trsvcid) + // @@protoc_insertion_point(field_set:opi_api.storage.v1.FabricsPath.source_trsvcid) } -// string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; -inline void NvmePath::clear_hostnqn() { +// string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; +inline void FabricsPath::clear_hostnqn() { _impl_.hostnqn_.ClearToEmpty(); } -inline const std::string& NvmePath::hostnqn() const { - // @@protoc_insertion_point(field_get:opi_api.storage.v1.NvmePath.hostnqn) +inline const std::string& FabricsPath::hostnqn() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.FabricsPath.hostnqn) return _internal_hostnqn(); } template inline PROTOBUF_ALWAYS_INLINE -void NvmePath::set_hostnqn(ArgT0&& arg0, ArgT... args) { +void FabricsPath::set_hostnqn(ArgT0&& arg0, ArgT... args) { _impl_.hostnqn_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:opi_api.storage.v1.NvmePath.hostnqn) + // @@protoc_insertion_point(field_set:opi_api.storage.v1.FabricsPath.hostnqn) } -inline std::string* NvmePath::mutable_hostnqn() { +inline std::string* FabricsPath::mutable_hostnqn() { std::string* _s = _internal_mutable_hostnqn(); - // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.NvmePath.hostnqn) + // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.FabricsPath.hostnqn) return _s; } -inline const std::string& NvmePath::_internal_hostnqn() const { +inline const std::string& FabricsPath::_internal_hostnqn() const { return _impl_.hostnqn_.Get(); } -inline void NvmePath::_internal_set_hostnqn(const std::string& value) { +inline void FabricsPath::_internal_set_hostnqn(const std::string& value) { _impl_.hostnqn_.Set(value, GetArenaForAllocation()); } -inline std::string* NvmePath::_internal_mutable_hostnqn() { +inline std::string* FabricsPath::_internal_mutable_hostnqn() { return _impl_.hostnqn_.Mutable(GetArenaForAllocation()); } -inline std::string* NvmePath::release_hostnqn() { - // @@protoc_insertion_point(field_release:opi_api.storage.v1.NvmePath.hostnqn) +inline std::string* FabricsPath::release_hostnqn() { + // @@protoc_insertion_point(field_release:opi_api.storage.v1.FabricsPath.hostnqn) return _impl_.hostnqn_.Release(); } -inline void NvmePath::set_allocated_hostnqn(std::string* hostnqn) { +inline void FabricsPath::set_allocated_hostnqn(std::string* hostnqn) { if (hostnqn != nullptr) { } else { @@ -4903,7 +5413,7 @@ inline void NvmePath::set_allocated_hostnqn(std::string* hostnqn) { _impl_.hostnqn_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.NvmePath.hostnqn) + // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.FabricsPath.hostnqn) } // ------------------------------------------------------------------- @@ -7222,6 +7732,10 @@ inline void StatsNvmePathResponse::set_allocated_stats(::opi_api::storage::v1::V // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/storage/v1alpha1/gen/go/backend_nvme_tcp.pb.go b/storage/v1alpha1/gen/go/backend_nvme_tcp.pb.go index 1890023c..c416c2a0 100644 --- a/storage/v1alpha1/gen/go/backend_nvme_tcp.pb.go +++ b/storage/v1alpha1/gen/go/backend_nvme_tcp.pb.go @@ -207,18 +207,8 @@ type NvmeRemoteController struct { Multipath NvmeMultipath `protobuf:"varint,2,opt,name=multipath,proto3,enum=opi_api.storage.v1.NvmeMultipath" json:"multipath,omitempty"` IoQueuesCount int64 `protobuf:"varint,3,opt,name=io_queues_count,json=ioQueuesCount,proto3" json:"io_queues_count,omitempty"` QueueSize int64 `protobuf:"varint,4,opt,name=queue_size,json=queueSize,proto3" json:"queue_size,omitempty"` - Hdgst bool `protobuf:"varint,5,opt,name=hdgst,proto3" json:"hdgst,omitempty"` - Ddgst bool `protobuf:"varint,6,opt,name=ddgst,proto3" json:"ddgst,omitempty"` - // Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK. - // Use PSK interchange format with base64 encoding as input. - // Also use information about hash function in interchange - // format for retained PSK generation. If no hash is selected, - // use configured PSK as retained PSK. - // Check the size of interchange PSK to determine cipher suite. - // Calculate CRC-32 bytes to ensure validity of PSK. - // Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:" - // if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made - Psk []byte `protobuf:"bytes,7,opt,name=psk,proto3" json:"psk,omitempty"` + // Nvme over TCP specific fields + Tcp *TcpController `protobuf:"bytes,5,opt,name=tcp,proto3" json:"tcp,omitempty"` } func (x *NvmeRemoteController) Reset() { @@ -281,21 +271,79 @@ func (x *NvmeRemoteController) GetQueueSize() int64 { return 0 } -func (x *NvmeRemoteController) GetHdgst() bool { +func (x *NvmeRemoteController) GetTcp() *TcpController { + if x != nil { + return x.Tcp + } + return nil +} + +type TcpController struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hdgst bool `protobuf:"varint,1,opt,name=hdgst,proto3" json:"hdgst,omitempty"` + Ddgst bool `protobuf:"varint,2,opt,name=ddgst,proto3" json:"ddgst,omitempty"` + // Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK. + // Use PSK interchange format with base64 encoding as input. + // Also use information about hash function in interchange + // format for retained PSK generation. If no hash is selected, + // use configured PSK as retained PSK. + // Check the size of interchange PSK to determine cipher suite. + // Calculate CRC-32 bytes to ensure validity of PSK. + // Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:" + // if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made + Psk []byte `protobuf:"bytes,3,opt,name=psk,proto3" json:"psk,omitempty"` +} + +func (x *TcpController) Reset() { + *x = TcpController{} + if protoimpl.UnsafeEnabled { + mi := &file_backend_nvme_tcp_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TcpController) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TcpController) ProtoMessage() {} + +func (x *TcpController) ProtoReflect() protoreflect.Message { + mi := &file_backend_nvme_tcp_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TcpController.ProtoReflect.Descriptor instead. +func (*TcpController) Descriptor() ([]byte, []int) { + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{1} +} + +func (x *TcpController) GetHdgst() bool { if x != nil { return x.Hdgst } return false } -func (x *NvmeRemoteController) GetDdgst() bool { +func (x *TcpController) GetDdgst() bool { if x != nil { return x.Ddgst } return false } -func (x *NvmeRemoteController) GetPsk() []byte { +func (x *TcpController) GetPsk() []byte { if x != nil { return x.Psk } @@ -313,25 +361,16 @@ type NvmePath struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` ControllerNameRef string `protobuf:"bytes,2,opt,name=controller_name_ref,json=controllerNameRef,proto3" json:"controller_name_ref,omitempty"` Trtype NvmeTransportType `protobuf:"varint,3,opt,name=trtype,proto3,enum=opi_api.storage.v1.NvmeTransportType" json:"trtype,omitempty"` - Adrfam NvmeAddressFamily `protobuf:"varint,4,opt,name=adrfam,proto3,enum=opi_api.storage.v1.NvmeAddressFamily" json:"adrfam,omitempty"` // Destination address (e.g. IP address, BDF for local PCIe) - Traddr string `protobuf:"bytes,5,opt,name=traddr,proto3" json:"traddr,omitempty"` - // Destination service id (e.g. Port) - Trsvcid int64 `protobuf:"varint,6,opt,name=trsvcid,proto3" json:"trsvcid,omitempty"` - // Subsystem NQN - Subnqn string `protobuf:"bytes,7,opt,name=subnqn,proto3" json:"subnqn,omitempty"` - // Source address (e.g. IP of local NIC) - SourceTraddr string `protobuf:"bytes,8,opt,name=source_traddr,json=sourceTraddr,proto3" json:"source_traddr,omitempty"` - // Source port (e.g. Port of local NIC) - SourceTrsvcid int64 `protobuf:"varint,9,opt,name=source_trsvcid,json=sourceTrsvcid,proto3" json:"source_trsvcid,omitempty"` - // Host NQN - Hostnqn string `protobuf:"bytes,10,opt,name=hostnqn,proto3" json:"hostnqn,omitempty"` + Traddr string `protobuf:"bytes,4,opt,name=traddr,proto3" json:"traddr,omitempty"` + // Not applicable for local PCIe. Required for Nvme over fabrics transport types + Fabrics *FabricsPath `protobuf:"bytes,5,opt,name=fabrics,proto3" json:"fabrics,omitempty"` } func (x *NvmePath) Reset() { *x = NvmePath{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[1] + mi := &file_backend_nvme_tcp_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -344,7 +383,7 @@ func (x *NvmePath) String() string { func (*NvmePath) ProtoMessage() {} func (x *NvmePath) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[1] + mi := &file_backend_nvme_tcp_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -357,7 +396,7 @@ func (x *NvmePath) ProtoReflect() protoreflect.Message { // Deprecated: Use NvmePath.ProtoReflect.Descriptor instead. func (*NvmePath) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{1} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{2} } func (x *NvmePath) GetName() string { @@ -381,49 +420,106 @@ func (x *NvmePath) GetTrtype() NvmeTransportType { return NvmeTransportType_NVME_TRANSPORT_TYPE_UNSPECIFIED } -func (x *NvmePath) GetAdrfam() NvmeAddressFamily { +func (x *NvmePath) GetTraddr() string { if x != nil { - return x.Adrfam + return x.Traddr } - return NvmeAddressFamily_NVME_ADDRESS_FAMILY_UNSPECIFIED + return "" } -func (x *NvmePath) GetTraddr() string { +func (x *NvmePath) GetFabrics() *FabricsPath { if x != nil { - return x.Traddr + return x.Fabrics } - return "" + return nil +} + +type FabricsPath struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Destination service id (e.g. Port) + Trsvcid int64 `protobuf:"varint,1,opt,name=trsvcid,proto3" json:"trsvcid,omitempty"` + // Subsystem NQN + Subnqn string `protobuf:"bytes,2,opt,name=subnqn,proto3" json:"subnqn,omitempty"` + Adrfam NvmeAddressFamily `protobuf:"varint,3,opt,name=adrfam,proto3,enum=opi_api.storage.v1.NvmeAddressFamily" json:"adrfam,omitempty"` + // Source address (e.g. IP of local NIC) + SourceTraddr string `protobuf:"bytes,4,opt,name=source_traddr,json=sourceTraddr,proto3" json:"source_traddr,omitempty"` + // Source port (e.g. Port of local NIC) + SourceTrsvcid int64 `protobuf:"varint,5,opt,name=source_trsvcid,json=sourceTrsvcid,proto3" json:"source_trsvcid,omitempty"` + // Host NQN + Hostnqn string `protobuf:"bytes,6,opt,name=hostnqn,proto3" json:"hostnqn,omitempty"` +} + +func (x *FabricsPath) Reset() { + *x = FabricsPath{} + if protoimpl.UnsafeEnabled { + mi := &file_backend_nvme_tcp_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FabricsPath) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *NvmePath) GetTrsvcid() int64 { +func (*FabricsPath) ProtoMessage() {} + +func (x *FabricsPath) ProtoReflect() protoreflect.Message { + mi := &file_backend_nvme_tcp_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FabricsPath.ProtoReflect.Descriptor instead. +func (*FabricsPath) Descriptor() ([]byte, []int) { + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{3} +} + +func (x *FabricsPath) GetTrsvcid() int64 { if x != nil { return x.Trsvcid } return 0 } -func (x *NvmePath) GetSubnqn() string { +func (x *FabricsPath) GetSubnqn() string { if x != nil { return x.Subnqn } return "" } -func (x *NvmePath) GetSourceTraddr() string { +func (x *FabricsPath) GetAdrfam() NvmeAddressFamily { + if x != nil { + return x.Adrfam + } + return NvmeAddressFamily_NVME_ADDRESS_FAMILY_UNSPECIFIED +} + +func (x *FabricsPath) GetSourceTraddr() string { if x != nil { return x.SourceTraddr } return "" } -func (x *NvmePath) GetSourceTrsvcid() int64 { +func (x *FabricsPath) GetSourceTrsvcid() int64 { if x != nil { return x.SourceTrsvcid } return 0 } -func (x *NvmePath) GetHostnqn() string { +func (x *FabricsPath) GetHostnqn() string { if x != nil { return x.Hostnqn } @@ -455,7 +551,7 @@ type NvmeRemoteNamespace struct { func (x *NvmeRemoteNamespace) Reset() { *x = NvmeRemoteNamespace{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[2] + mi := &file_backend_nvme_tcp_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -468,7 +564,7 @@ func (x *NvmeRemoteNamespace) String() string { func (*NvmeRemoteNamespace) ProtoMessage() {} func (x *NvmeRemoteNamespace) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[2] + mi := &file_backend_nvme_tcp_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -481,7 +577,7 @@ func (x *NvmeRemoteNamespace) ProtoReflect() protoreflect.Message { // Deprecated: Use NvmeRemoteNamespace.ProtoReflect.Descriptor instead. func (*NvmeRemoteNamespace) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{2} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{4} } func (x *NvmeRemoteNamespace) GetName() string { @@ -542,7 +638,7 @@ type CreateNvmeRemoteControllerRequest struct { func (x *CreateNvmeRemoteControllerRequest) Reset() { *x = CreateNvmeRemoteControllerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[3] + mi := &file_backend_nvme_tcp_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -555,7 +651,7 @@ func (x *CreateNvmeRemoteControllerRequest) String() string { func (*CreateNvmeRemoteControllerRequest) ProtoMessage() {} func (x *CreateNvmeRemoteControllerRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[3] + mi := &file_backend_nvme_tcp_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -568,7 +664,7 @@ func (x *CreateNvmeRemoteControllerRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CreateNvmeRemoteControllerRequest.ProtoReflect.Descriptor instead. func (*CreateNvmeRemoteControllerRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{3} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{5} } func (x *CreateNvmeRemoteControllerRequest) GetNvmeRemoteController() *NvmeRemoteController { @@ -600,7 +696,7 @@ type DeleteNvmeRemoteControllerRequest struct { func (x *DeleteNvmeRemoteControllerRequest) Reset() { *x = DeleteNvmeRemoteControllerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[4] + mi := &file_backend_nvme_tcp_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -613,7 +709,7 @@ func (x *DeleteNvmeRemoteControllerRequest) String() string { func (*DeleteNvmeRemoteControllerRequest) ProtoMessage() {} func (x *DeleteNvmeRemoteControllerRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[4] + mi := &file_backend_nvme_tcp_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -626,7 +722,7 @@ func (x *DeleteNvmeRemoteControllerRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteNvmeRemoteControllerRequest.ProtoReflect.Descriptor instead. func (*DeleteNvmeRemoteControllerRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{4} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{6} } func (x *DeleteNvmeRemoteControllerRequest) GetName() string { @@ -661,7 +757,7 @@ type UpdateNvmeRemoteControllerRequest struct { func (x *UpdateNvmeRemoteControllerRequest) Reset() { *x = UpdateNvmeRemoteControllerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[5] + mi := &file_backend_nvme_tcp_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -674,7 +770,7 @@ func (x *UpdateNvmeRemoteControllerRequest) String() string { func (*UpdateNvmeRemoteControllerRequest) ProtoMessage() {} func (x *UpdateNvmeRemoteControllerRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[5] + mi := &file_backend_nvme_tcp_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -687,7 +783,7 @@ func (x *UpdateNvmeRemoteControllerRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateNvmeRemoteControllerRequest.ProtoReflect.Descriptor instead. func (*UpdateNvmeRemoteControllerRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{5} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{7} } func (x *UpdateNvmeRemoteControllerRequest) GetNvmeRemoteController() *NvmeRemoteController { @@ -727,7 +823,7 @@ type ListNvmeRemoteControllersRequest struct { func (x *ListNvmeRemoteControllersRequest) Reset() { *x = ListNvmeRemoteControllersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[6] + mi := &file_backend_nvme_tcp_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -740,7 +836,7 @@ func (x *ListNvmeRemoteControllersRequest) String() string { func (*ListNvmeRemoteControllersRequest) ProtoMessage() {} func (x *ListNvmeRemoteControllersRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[6] + mi := &file_backend_nvme_tcp_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -753,7 +849,7 @@ func (x *ListNvmeRemoteControllersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNvmeRemoteControllersRequest.ProtoReflect.Descriptor instead. func (*ListNvmeRemoteControllersRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{6} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{8} } func (x *ListNvmeRemoteControllersRequest) GetParent() string { @@ -791,7 +887,7 @@ type ListNvmeRemoteControllersResponse struct { func (x *ListNvmeRemoteControllersResponse) Reset() { *x = ListNvmeRemoteControllersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[7] + mi := &file_backend_nvme_tcp_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -804,7 +900,7 @@ func (x *ListNvmeRemoteControllersResponse) String() string { func (*ListNvmeRemoteControllersResponse) ProtoMessage() {} func (x *ListNvmeRemoteControllersResponse) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[7] + mi := &file_backend_nvme_tcp_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -817,7 +913,7 @@ func (x *ListNvmeRemoteControllersResponse) ProtoReflect() protoreflect.Message // Deprecated: Use ListNvmeRemoteControllersResponse.ProtoReflect.Descriptor instead. func (*ListNvmeRemoteControllersResponse) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{7} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{9} } func (x *ListNvmeRemoteControllersResponse) GetNvmeRemoteControllers() []*NvmeRemoteController { @@ -846,7 +942,7 @@ type GetNvmeRemoteControllerRequest struct { func (x *GetNvmeRemoteControllerRequest) Reset() { *x = GetNvmeRemoteControllerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[8] + mi := &file_backend_nvme_tcp_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -859,7 +955,7 @@ func (x *GetNvmeRemoteControllerRequest) String() string { func (*GetNvmeRemoteControllerRequest) ProtoMessage() {} func (x *GetNvmeRemoteControllerRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[8] + mi := &file_backend_nvme_tcp_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -872,7 +968,7 @@ func (x *GetNvmeRemoteControllerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNvmeRemoteControllerRequest.ProtoReflect.Descriptor instead. func (*GetNvmeRemoteControllerRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{8} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{10} } func (x *GetNvmeRemoteControllerRequest) GetName() string { @@ -894,7 +990,7 @@ type ResetNvmeRemoteControllerRequest struct { func (x *ResetNvmeRemoteControllerRequest) Reset() { *x = ResetNvmeRemoteControllerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[9] + mi := &file_backend_nvme_tcp_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -907,7 +1003,7 @@ func (x *ResetNvmeRemoteControllerRequest) String() string { func (*ResetNvmeRemoteControllerRequest) ProtoMessage() {} func (x *ResetNvmeRemoteControllerRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[9] + mi := &file_backend_nvme_tcp_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -920,7 +1016,7 @@ func (x *ResetNvmeRemoteControllerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResetNvmeRemoteControllerRequest.ProtoReflect.Descriptor instead. func (*ResetNvmeRemoteControllerRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{9} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{11} } func (x *ResetNvmeRemoteControllerRequest) GetName() string { @@ -942,7 +1038,7 @@ type StatsNvmeRemoteControllerRequest struct { func (x *StatsNvmeRemoteControllerRequest) Reset() { *x = StatsNvmeRemoteControllerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[10] + mi := &file_backend_nvme_tcp_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -955,7 +1051,7 @@ func (x *StatsNvmeRemoteControllerRequest) String() string { func (*StatsNvmeRemoteControllerRequest) ProtoMessage() {} func (x *StatsNvmeRemoteControllerRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[10] + mi := &file_backend_nvme_tcp_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -968,7 +1064,7 @@ func (x *StatsNvmeRemoteControllerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StatsNvmeRemoteControllerRequest.ProtoReflect.Descriptor instead. func (*StatsNvmeRemoteControllerRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{10} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{12} } func (x *StatsNvmeRemoteControllerRequest) GetName() string { @@ -990,7 +1086,7 @@ type StatsNvmeRemoteControllerResponse struct { func (x *StatsNvmeRemoteControllerResponse) Reset() { *x = StatsNvmeRemoteControllerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[11] + mi := &file_backend_nvme_tcp_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1003,7 +1099,7 @@ func (x *StatsNvmeRemoteControllerResponse) String() string { func (*StatsNvmeRemoteControllerResponse) ProtoMessage() {} func (x *StatsNvmeRemoteControllerResponse) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[11] + mi := &file_backend_nvme_tcp_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1016,7 +1112,7 @@ func (x *StatsNvmeRemoteControllerResponse) ProtoReflect() protoreflect.Message // Deprecated: Use StatsNvmeRemoteControllerResponse.ProtoReflect.Descriptor instead. func (*StatsNvmeRemoteControllerResponse) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{11} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{13} } func (x *StatsNvmeRemoteControllerResponse) GetStats() *VolumeStats { @@ -1044,7 +1140,7 @@ type ListNvmeRemoteNamespacesRequest struct { func (x *ListNvmeRemoteNamespacesRequest) Reset() { *x = ListNvmeRemoteNamespacesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[12] + mi := &file_backend_nvme_tcp_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1057,7 +1153,7 @@ func (x *ListNvmeRemoteNamespacesRequest) String() string { func (*ListNvmeRemoteNamespacesRequest) ProtoMessage() {} func (x *ListNvmeRemoteNamespacesRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[12] + mi := &file_backend_nvme_tcp_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1070,7 +1166,7 @@ func (x *ListNvmeRemoteNamespacesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNvmeRemoteNamespacesRequest.ProtoReflect.Descriptor instead. func (*ListNvmeRemoteNamespacesRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{12} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{14} } func (x *ListNvmeRemoteNamespacesRequest) GetParent() string { @@ -1108,7 +1204,7 @@ type ListNvmeRemoteNamespacesResponse struct { func (x *ListNvmeRemoteNamespacesResponse) Reset() { *x = ListNvmeRemoteNamespacesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[13] + mi := &file_backend_nvme_tcp_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1121,7 +1217,7 @@ func (x *ListNvmeRemoteNamespacesResponse) String() string { func (*ListNvmeRemoteNamespacesResponse) ProtoMessage() {} func (x *ListNvmeRemoteNamespacesResponse) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[13] + mi := &file_backend_nvme_tcp_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1134,7 +1230,7 @@ func (x *ListNvmeRemoteNamespacesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNvmeRemoteNamespacesResponse.ProtoReflect.Descriptor instead. func (*ListNvmeRemoteNamespacesResponse) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{13} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{15} } func (x *ListNvmeRemoteNamespacesResponse) GetNvmeRemoteNamespaces() []*NvmeRemoteNamespace { @@ -1163,7 +1259,7 @@ type GetNvmeRemoteNamespaceRequest struct { func (x *GetNvmeRemoteNamespaceRequest) Reset() { *x = GetNvmeRemoteNamespaceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[14] + mi := &file_backend_nvme_tcp_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1176,7 +1272,7 @@ func (x *GetNvmeRemoteNamespaceRequest) String() string { func (*GetNvmeRemoteNamespaceRequest) ProtoMessage() {} func (x *GetNvmeRemoteNamespaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[14] + mi := &file_backend_nvme_tcp_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1189,7 +1285,7 @@ func (x *GetNvmeRemoteNamespaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNvmeRemoteNamespaceRequest.ProtoReflect.Descriptor instead. func (*GetNvmeRemoteNamespaceRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{14} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{16} } func (x *GetNvmeRemoteNamespaceRequest) GetName() string { @@ -1215,7 +1311,7 @@ type CreateNvmePathRequest struct { func (x *CreateNvmePathRequest) Reset() { *x = CreateNvmePathRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[15] + mi := &file_backend_nvme_tcp_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1228,7 +1324,7 @@ func (x *CreateNvmePathRequest) String() string { func (*CreateNvmePathRequest) ProtoMessage() {} func (x *CreateNvmePathRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[15] + mi := &file_backend_nvme_tcp_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1241,7 +1337,7 @@ func (x *CreateNvmePathRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNvmePathRequest.ProtoReflect.Descriptor instead. func (*CreateNvmePathRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{15} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{17} } func (x *CreateNvmePathRequest) GetNvmePath() *NvmePath { @@ -1274,7 +1370,7 @@ type DeleteNvmePathRequest struct { func (x *DeleteNvmePathRequest) Reset() { *x = DeleteNvmePathRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[16] + mi := &file_backend_nvme_tcp_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1287,7 +1383,7 @@ func (x *DeleteNvmePathRequest) String() string { func (*DeleteNvmePathRequest) ProtoMessage() {} func (x *DeleteNvmePathRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[16] + mi := &file_backend_nvme_tcp_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1300,7 +1396,7 @@ func (x *DeleteNvmePathRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteNvmePathRequest.ProtoReflect.Descriptor instead. func (*DeleteNvmePathRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{16} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{18} } func (x *DeleteNvmePathRequest) GetName() string { @@ -1335,7 +1431,7 @@ type UpdateNvmePathRequest struct { func (x *UpdateNvmePathRequest) Reset() { *x = UpdateNvmePathRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[17] + mi := &file_backend_nvme_tcp_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1348,7 +1444,7 @@ func (x *UpdateNvmePathRequest) String() string { func (*UpdateNvmePathRequest) ProtoMessage() {} func (x *UpdateNvmePathRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[17] + mi := &file_backend_nvme_tcp_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1361,7 +1457,7 @@ func (x *UpdateNvmePathRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateNvmePathRequest.ProtoReflect.Descriptor instead. func (*UpdateNvmePathRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{17} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{19} } func (x *UpdateNvmePathRequest) GetNvmePath() *NvmePath { @@ -1401,7 +1497,7 @@ type ListNvmePathsRequest struct { func (x *ListNvmePathsRequest) Reset() { *x = ListNvmePathsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[18] + mi := &file_backend_nvme_tcp_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1414,7 +1510,7 @@ func (x *ListNvmePathsRequest) String() string { func (*ListNvmePathsRequest) ProtoMessage() {} func (x *ListNvmePathsRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[18] + mi := &file_backend_nvme_tcp_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1427,7 +1523,7 @@ func (x *ListNvmePathsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNvmePathsRequest.ProtoReflect.Descriptor instead. func (*ListNvmePathsRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{18} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{20} } func (x *ListNvmePathsRequest) GetParent() string { @@ -1465,7 +1561,7 @@ type ListNvmePathsResponse struct { func (x *ListNvmePathsResponse) Reset() { *x = ListNvmePathsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[19] + mi := &file_backend_nvme_tcp_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1478,7 +1574,7 @@ func (x *ListNvmePathsResponse) String() string { func (*ListNvmePathsResponse) ProtoMessage() {} func (x *ListNvmePathsResponse) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[19] + mi := &file_backend_nvme_tcp_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1491,7 +1587,7 @@ func (x *ListNvmePathsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNvmePathsResponse.ProtoReflect.Descriptor instead. func (*ListNvmePathsResponse) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{19} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{21} } func (x *ListNvmePathsResponse) GetNvmePaths() []*NvmePath { @@ -1520,7 +1616,7 @@ type GetNvmePathRequest struct { func (x *GetNvmePathRequest) Reset() { *x = GetNvmePathRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[20] + mi := &file_backend_nvme_tcp_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1533,7 +1629,7 @@ func (x *GetNvmePathRequest) String() string { func (*GetNvmePathRequest) ProtoMessage() {} func (x *GetNvmePathRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[20] + mi := &file_backend_nvme_tcp_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1546,7 +1642,7 @@ func (x *GetNvmePathRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNvmePathRequest.ProtoReflect.Descriptor instead. func (*GetNvmePathRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{20} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{22} } func (x *GetNvmePathRequest) GetName() string { @@ -1568,7 +1664,7 @@ type StatsNvmePathRequest struct { func (x *StatsNvmePathRequest) Reset() { *x = StatsNvmePathRequest{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[21] + mi := &file_backend_nvme_tcp_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1581,7 +1677,7 @@ func (x *StatsNvmePathRequest) String() string { func (*StatsNvmePathRequest) ProtoMessage() {} func (x *StatsNvmePathRequest) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[21] + mi := &file_backend_nvme_tcp_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1594,7 +1690,7 @@ func (x *StatsNvmePathRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StatsNvmePathRequest.ProtoReflect.Descriptor instead. func (*StatsNvmePathRequest) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{21} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{23} } func (x *StatsNvmePathRequest) GetName() string { @@ -1616,7 +1712,7 @@ type StatsNvmePathResponse struct { func (x *StatsNvmePathResponse) Reset() { *x = StatsNvmePathResponse{} if protoimpl.UnsafeEnabled { - mi := &file_backend_nvme_tcp_proto_msgTypes[22] + mi := &file_backend_nvme_tcp_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1629,7 +1725,7 @@ func (x *StatsNvmePathResponse) String() string { func (*StatsNvmePathResponse) ProtoMessage() {} func (x *StatsNvmePathResponse) ProtoReflect() protoreflect.Message { - mi := &file_backend_nvme_tcp_proto_msgTypes[22] + mi := &file_backend_nvme_tcp_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1642,7 +1738,7 @@ func (x *StatsNvmePathResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StatsNvmePathResponse.ProtoReflect.Descriptor instead. func (*StatsNvmePathResponse) Descriptor() ([]byte, []int) { - return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{22} + return file_backend_nvme_tcp_proto_rawDescGZIP(), []int{24} } func (x *StatsNvmePathResponse) GetStats() *VolumeStats { @@ -1670,7 +1766,7 @@ var file_backend_nvme_tcp_proto_rawDesc = []byte{ 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x6f, 0x70, 0x69, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x0a, 0x75, 0x75, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x03, 0x0a, 0x14, + 0x0a, 0x75, 0x75, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x03, 0x0a, 0x14, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x6f, @@ -1686,455 +1782,465 @@ var file_backend_nvme_tcp_proto_rawDesc = []byte{ 0x52, 0x0d, 0x69, 0x6f, 0x51, 0x75, 0x65, 0x75, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x68, 0x64, 0x67, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x68, 0x64, 0x67, 0x73, 0x74, 0x12, 0x19, - 0x0a, 0x05, 0x64, 0x64, 0x67, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x05, 0x64, 0x64, 0x67, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x70, 0x73, 0x6b, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x03, 0x70, 0x73, 0x6b, - 0x3a, 0x6f, 0xea, 0x41, 0x6c, 0x0a, 0x2b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x6f, - 0x70, 0x69, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x4e, 0x76, - 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x12, 0x10, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x76, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x7d, 0x2a, 0x15, 0x6e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x32, 0x14, 0x6e, 0x76, 0x6d, + 0x69, 0x7a, 0x65, 0x12, 0x38, 0x0a, 0x03, 0x74, 0x63, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x03, 0x74, 0x63, 0x70, 0x3a, 0x6f, 0xea, + 0x41, 0x6c, 0x0a, 0x2b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x6f, 0x70, 0x69, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, + 0x10, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x7d, 0x2a, 0x15, 0x6e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x32, 0x14, 0x6e, 0x76, 0x6d, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x5c, + 0x0a, 0x0d, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, + 0x19, 0x0a, 0x05, 0x68, 0x64, 0x67, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x05, 0x68, 0x64, 0x67, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x64, 0x64, + 0x67, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, + 0x64, 0x64, 0x67, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x70, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x03, 0x70, 0x73, 0x6b, 0x22, 0x95, 0x03, 0x0a, + 0x08, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x05, 0xfa, + 0x41, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x6f, 0x70, 0x69, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, + 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x52, 0x65, 0x66, 0x12, 0x42, 0x0a, 0x06, 0x74, 0x72, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x74, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x74, 0x72, + 0x61, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x74, 0x72, 0x61, 0x64, 0x64, 0x72, 0x12, 0x3e, 0x0a, 0x07, 0x66, 0x61, 0x62, 0x72, 0x69, + 0x63, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, + 0x62, 0x72, 0x69, 0x63, 0x73, 0x50, 0x61, 0x74, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, + 0x66, 0x61, 0x62, 0x72, 0x69, 0x63, 0x73, 0x3a, 0x4b, 0xea, 0x41, 0x48, 0x0a, 0x1f, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x6f, 0x70, 0x69, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x10, 0x76, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x7d, 0x2a, + 0x09, 0x6e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x32, 0x08, 0x6e, 0x76, 0x6d, 0x65, + 0x50, 0x61, 0x74, 0x68, 0x22, 0x82, 0x02, 0x0a, 0x0b, 0x46, 0x61, 0x62, 0x72, 0x69, 0x63, 0x73, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x72, 0x73, 0x76, 0x63, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x74, 0x72, 0x73, 0x76, + 0x63, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x71, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x71, 0x6e, + 0x12, 0x42, 0x0a, 0x06, 0x61, 0x64, 0x72, 0x66, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x64, + 0x72, 0x66, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, + 0x72, 0x61, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x72, 0x61, 0x64, 0x64, 0x72, 0x12, 0x2a, + 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x72, 0x73, 0x76, 0x63, 0x69, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x72, 0x73, 0x76, 0x63, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x68, 0x6f, + 0x73, 0x74, 0x6e, 0x71, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x71, 0x6e, 0x22, 0xac, 0x03, 0x0a, 0x13, 0x4e, 0x76, + 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x31, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x6f, 0x70, 0x69, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, + 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x6f, + 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x66, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x73, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x73, + 0x69, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6e, 0x67, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6e, 0x67, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, + 0x05, 0x65, 0x75, 0x69, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x05, 0x65, 0x75, 0x69, 0x36, 0x34, 0x12, 0x30, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x75, 0x69, 0x64, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x3a, 0x6c, 0xea, 0x41, 0x69, 0x0a, + 0x2a, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x6f, 0x70, 0x69, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x7d, 0x2a, 0x14, 0x6e, + 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x32, 0x13, 0x6e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x21, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, + 0x0a, 0x16, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, + 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x19, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x6e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x22, 0xca, 0x04, 0x0a, 0x08, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x3a, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, - 0x03, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, - 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5f, 0x0a, 0x13, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, - 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, + 0x72, 0x49, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x76, + 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x66, 0x12, 0x42, 0x0a, 0x06, 0x74, - 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6f, 0x70, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, + 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0xf4, 0x01, 0x0a, 0x21, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, + 0x0a, 0x16, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, + 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, + 0xb1, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x74, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x42, 0x0a, 0x06, 0x61, 0x64, 0x72, 0x66, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x25, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x64, 0x72, - 0x66, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x64, 0x72, - 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x72, 0x73, 0x76, 0x63, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x74, 0x72, 0x73, 0x76, 0x63, 0x69, 0x64, 0x12, - 0x1b, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x71, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x71, 0x6e, 0x12, 0x28, 0x0a, 0x0d, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x54, 0x72, 0x61, 0x64, 0x64, 0x72, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x74, 0x72, 0x73, 0x76, 0x63, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x72, 0x73, 0x76, 0x63, - 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x71, 0x6e, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x71, - 0x6e, 0x3a, 0x4b, 0xea, 0x41, 0x48, 0x0a, 0x1f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x6f, 0x70, 0x69, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x4e, - 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x10, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, - 0x2f, 0x7b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x7d, 0x2a, 0x09, 0x6e, 0x76, 0x6d, 0x65, 0x50, - 0x61, 0x74, 0x68, 0x73, 0x32, 0x08, 0x6e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0xac, - 0x03, 0x0a, 0x13, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x28, 0x0a, - 0x26, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5f, 0x0a, - 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x03, 0xfa, - 0x41, 0x29, 0x0a, 0x27, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x11, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x66, 0x12, 0x17, - 0x0a, 0x04, 0x6e, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, - 0x03, 0x52, 0x04, 0x6e, 0x73, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6e, 0x67, 0x75, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6e, 0x67, 0x75, - 0x69, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x75, 0x69, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 0x75, 0x69, 0x36, 0x34, 0x12, 0x30, 0x0a, - 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, - 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x75, 0x69, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x3a, - 0x6c, 0xea, 0x41, 0x69, 0x0a, 0x2a, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x6f, 0x70, - 0x69, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x4e, 0x76, 0x6d, - 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x10, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x2f, 0x7b, 0x76, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x7d, 0x2a, 0x14, 0x6e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x32, 0x13, 0x6e, 0x76, 0x6d, 0x65, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xc8, 0x01, - 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x16, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x14, 0x6e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x19, 0x6e, 0x76, 0x6d, 0x65, - 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x16, 0x6e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x21, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x17, 0x6e, 0x76, 0x6d, + 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x69, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x15, 0x6e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0x65, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x6f, 0x70, 0x69, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, + 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x67, 0x0a, 0x20, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0xf4, 0x01, - 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x16, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x14, 0x6e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x22, 0xb1, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, - 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, - 0x29, 0x0a, 0x27, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, - 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, - 0x0a, 0x17, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x15, 0x6e, 0x76, 0x6d, 0x65, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, - 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x65, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4e, - 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, - 0x0a, 0x27, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x67, 0x0a, 0x20, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x6f, 0x70, 0x69, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, - 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x67, 0x0a, 0x20, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x29, 0x0a, 0x27, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x5a, 0x0a, 0x21, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0xaf, 0x01, - 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x46, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x6f, 0x70, 0x69, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, - 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, - 0xa9, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x16, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x14, 0x6e, - 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x63, 0x0a, 0x1d, 0x47, - 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, - 0x41, 0x28, 0x0a, 0x26, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x7e, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, - 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x09, 0x6e, 0x76, 0x6d, - 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, + 0x61, 0x6d, 0x65, 0x22, 0x67, 0x0a, 0x20, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, 0x76, 0x6d, 0x65, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x6e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0c, 0x6e, 0x76, 0x6d, - 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x6e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, - 0x22, 0x7a, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, - 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, - 0x1b, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0xc3, 0x01, 0x0a, - 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x09, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x69, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, - 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6e, 0x76, - 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x22, 0x99, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, - 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, + 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5a, 0x0a, 0x21, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa9, 0x01, 0x0a, 0x20, 0x4c, + 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5d, 0x0a, 0x16, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x14, 0x6e, 0x76, 0x6d, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x63, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4e, 0x76, 0x6d, + 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x28, 0x0a, 0x26, 0x6f, + 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7e, 0x0a, 0x15, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x09, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, + 0x65, 0x50, 0x61, 0x74, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6e, 0x76, 0x6d, 0x65, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0c, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0a, 0x6e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x49, 0x64, 0x22, 0x7a, 0x0a, 0x15, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x69, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, + 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, + 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0xc3, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3e, 0x0a, 0x09, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, + 0x74, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x22, 0x99, 0x01, + 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, + 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7c, 0x0a, 0x15, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x09, 0x6e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, + 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4e, 0x76, + 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, - 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7c, - 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6e, 0x76, 0x6d, 0x65, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, - 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x09, 0x6e, 0x76, 0x6d, 0x65, 0x50, - 0x61, 0x74, 0x68, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4d, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, - 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, - 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4f, 0x0a, 0x14, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x69, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, - 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x15, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2a, 0xb4, 0x01, 0x0a, - 0x11, 0x4e, 0x76, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x56, 0x4d, 0x45, 0x5f, - 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x43, 0x10, 0x01, 0x12, 0x17, - 0x0a, 0x13, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x50, 0x43, 0x49, 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x56, 0x4d, 0x45, 0x5f, - 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x52, 0x44, 0x4d, 0x41, 0x10, 0x03, - 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x54, 0x43, 0x50, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x56, 0x4d, 0x45, - 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, - 0x4d, 0x10, 0x05, 0x2a, 0xa8, 0x01, 0x0a, 0x11, 0x4e, 0x76, 0x6d, 0x65, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x1f, 0x4e, 0x56, 0x4d, - 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, - 0x0a, 0x10, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x41, 0x44, 0x52, 0x46, 0x41, 0x4d, 0x5f, 0x49, 0x50, - 0x56, 0x34, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x41, 0x44, 0x52, - 0x46, 0x41, 0x4d, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x56, - 0x4d, 0x45, 0x5f, 0x41, 0x44, 0x52, 0x46, 0x41, 0x4d, 0x5f, 0x49, 0x42, 0x10, 0x03, 0x12, 0x12, - 0x0a, 0x0e, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x41, 0x44, 0x52, 0x46, 0x41, 0x4d, 0x5f, 0x46, 0x43, - 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x41, 0x44, 0x52, 0x46, 0x41, - 0x4d, 0x5f, 0x49, 0x4e, 0x54, 0x52, 0x41, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x05, 0x2a, 0x86, - 0x01, 0x0a, 0x0d, 0x4e, 0x76, 0x6d, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x74, 0x68, - 0x12, 0x1e, 0x0a, 0x1a, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x41, - 0x54, 0x48, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x1a, 0x0a, 0x16, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x41, - 0x54, 0x48, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, - 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x4f, 0x56, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x56, 0x4d, - 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x4d, 0x55, 0x4c, 0x54, - 0x49, 0x50, 0x41, 0x54, 0x48, 0x10, 0x03, 0x32, 0x94, 0x14, 0x0a, 0x1b, 0x4e, 0x76, 0x6d, 0x65, - 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xdd, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, - 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, - 0x0b, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x3a, 0x16, 0x6e, 0x76, - 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0xda, 0x41, 0x30, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x6e, 0x76, - 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0x9e, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x2a, 0x22, 0x2f, - 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x2f, 0x2a, - 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xf0, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, - 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, - 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, - 0x32, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x3a, 0x16, - 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0xda, 0x41, 0x22, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xb2, 0x01, 0x0a, 0x19, - 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x6f, 0x70, 0x69, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x35, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, - 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x73, 0x75, 0x62, 0x73, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x12, 0xaa, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x6f, - 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x28, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x4e, 0x76, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4f, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, + 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2f, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, + 0x68, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x35, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2a, 0xb4, 0x01, 0x0a, 0x11, 0x4e, 0x76, 0x6d, 0x65, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, + 0x1f, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x43, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x56, 0x4d, + 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x43, 0x49, 0x45, + 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x52, 0x44, 0x4d, 0x41, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4e, + 0x56, 0x4d, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x43, + 0x50, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, + 0x53, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x05, 0x2a, 0xa8, + 0x01, 0x0a, 0x11, 0x4e, 0x76, 0x6d, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x46, 0x61, + 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x1f, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x41, 0x44, 0x44, + 0x52, 0x45, 0x53, 0x53, 0x5f, 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x56, 0x4d, + 0x45, 0x5f, 0x41, 0x44, 0x52, 0x46, 0x41, 0x4d, 0x5f, 0x49, 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, + 0x14, 0x0a, 0x10, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x41, 0x44, 0x52, 0x46, 0x41, 0x4d, 0x5f, 0x49, + 0x50, 0x56, 0x36, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x41, 0x44, + 0x52, 0x46, 0x41, 0x4d, 0x5f, 0x49, 0x42, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x56, 0x4d, + 0x45, 0x5f, 0x41, 0x44, 0x52, 0x46, 0x41, 0x4d, 0x5f, 0x46, 0x43, 0x10, 0x04, 0x12, 0x1a, 0x0a, + 0x16, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x41, 0x44, 0x52, 0x46, 0x41, 0x4d, 0x5f, 0x49, 0x4e, 0x54, + 0x52, 0x41, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x05, 0x2a, 0x86, 0x01, 0x0a, 0x0d, 0x4e, 0x76, + 0x6d, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x1a, 0x4e, + 0x56, 0x4d, 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4e, + 0x56, 0x4d, 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x44, 0x49, + 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x56, 0x4d, 0x45, 0x5f, + 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x4f, 0x56, + 0x45, 0x52, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x4d, 0x55, 0x4c, + 0x54, 0x49, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x41, 0x54, 0x48, + 0x10, 0x03, 0x32, 0x94, 0x14, 0x0a, 0x1b, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0xdd, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, + 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x12, 0x35, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, + 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa5, 0x01, - 0x0a, 0x19, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x6f, 0x70, - 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2d, 0x22, 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x4e, 0x76, 0x6d, + 0x65, 0x72, 0x22, 0x5e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x0b, 0x2f, 0x76, 0x31, 0x2f, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x3a, 0x16, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0xda, + 0x41, 0x30, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x12, 0x9e, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x76, 0x6d, + 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x12, 0x35, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc1, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x2a, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0xf0, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x76, + 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x12, 0x35, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x76, + 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6f, 0x70, 0x69, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, 0x76, + 0x6c, 0x65, 0x72, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x32, 0x2c, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x75, + 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x3a, 0x16, 0x6e, 0x76, 0x6d, 0x65, 0x5f, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0xda, 0x41, 0x22, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xb2, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x73, 0x12, 0x34, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6f, 0x70, 0x69, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x61, - 0x74, 0x73, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x18, 0x4c, 0x69, - 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x33, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6f, 0x70, - 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6f, 0x70, 0x69, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x73, 0x7d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xa6, 0x01, 0x0a, 0x16, - 0x47, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x31, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, - 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6f, 0x70, 0x69, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, - 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, - 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, - 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, - 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x22, 0x0b, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x6f, - 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x3a, 0x09, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0xda, 0x41, 0x16, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x2c, 0x6e, 0x76, 0x6d, - 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x12, 0x7a, 0x0a, 0x0e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x2e, 0x6f, 0x70, + 0x73, 0x7d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xaa, 0x01, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x32, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x25, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa5, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, - 0x68, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x32, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, - 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x3a, 0x09, 0x6e, 0x76, 0x6d, 0x65, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0xda, 0x41, 0x15, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x8e, 0x01, - 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, - 0x28, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, - 0x68, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6f, 0x70, 0x69, 0x5f, - 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, - 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x73, 0x7d, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x7a, - 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x26, 0x2e, + 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x2f, 0x2a, + 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa5, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, + 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x22, 0x28, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, + 0x3a, 0x72, 0x65, 0x73, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0xc1, 0x01, 0x0a, 0x19, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x34, + 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, + 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x4e, + 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x61, 0x74, 0x73, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xaf, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, + 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x12, 0x33, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xa6, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x76, + 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x31, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x30, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x4e, 0x76, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x92, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x29, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x76, + 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x50, - 0x61, 0x74, 0x68, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, 0x31, - 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, - 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x0d, 0x53, - 0x74, 0x61, 0x74, 0x73, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x2e, 0x6f, - 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x2f, 0x2a, - 0x7d, 0x3a, 0x73, 0x74, 0x61, 0x74, 0x73, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x62, - 0x0a, 0x12, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x4e, 0x76, 0x6d, - 0x65, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x69, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2f, 0x6f, 0x70, 0x69, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x67, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x37, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x18, 0x22, 0x0b, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, + 0x3a, 0x09, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0xda, 0x41, 0x16, 0x6e, 0x76, + 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x2c, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x5f, 0x69, 0x64, 0x12, 0x7a, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x76, + 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x18, 0x2a, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x4e, 0x76, 0x6d, + 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0xa5, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x76, 0x6d, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x29, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, + 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x4a, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2c, 0x32, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x76, 0x6d, 0x65, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x3a, 0x09, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0xda, 0x41, 0x15, 0x6e, 0x76, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x2c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x8e, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x28, 0x2e, 0x6f, 0x70, 0x69, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x76, + 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, + 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x7a, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x26, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x25, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, + 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, 0x76, 0x6d, 0x65, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x74, 0x61, + 0x74, 0x73, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x62, 0x0a, 0x12, 0x6f, 0x70, 0x69, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x42, + 0x13, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x4e, 0x76, 0x6d, 0x65, 0x54, 0x63, 0x70, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x69, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x6f, 0x70, + 0x69, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x6f, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2150,90 +2256,94 @@ func file_backend_nvme_tcp_proto_rawDescGZIP() []byte { } var file_backend_nvme_tcp_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_backend_nvme_tcp_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_backend_nvme_tcp_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_backend_nvme_tcp_proto_goTypes = []interface{}{ (NvmeTransportType)(0), // 0: opi_api.storage.v1.NvmeTransportType (NvmeAddressFamily)(0), // 1: opi_api.storage.v1.NvmeAddressFamily (NvmeMultipath)(0), // 2: opi_api.storage.v1.NvmeMultipath (*NvmeRemoteController)(nil), // 3: opi_api.storage.v1.NvmeRemoteController - (*NvmePath)(nil), // 4: opi_api.storage.v1.NvmePath - (*NvmeRemoteNamespace)(nil), // 5: opi_api.storage.v1.NvmeRemoteNamespace - (*CreateNvmeRemoteControllerRequest)(nil), // 6: opi_api.storage.v1.CreateNvmeRemoteControllerRequest - (*DeleteNvmeRemoteControllerRequest)(nil), // 7: opi_api.storage.v1.DeleteNvmeRemoteControllerRequest - (*UpdateNvmeRemoteControllerRequest)(nil), // 8: opi_api.storage.v1.UpdateNvmeRemoteControllerRequest - (*ListNvmeRemoteControllersRequest)(nil), // 9: opi_api.storage.v1.ListNvmeRemoteControllersRequest - (*ListNvmeRemoteControllersResponse)(nil), // 10: opi_api.storage.v1.ListNvmeRemoteControllersResponse - (*GetNvmeRemoteControllerRequest)(nil), // 11: opi_api.storage.v1.GetNvmeRemoteControllerRequest - (*ResetNvmeRemoteControllerRequest)(nil), // 12: opi_api.storage.v1.ResetNvmeRemoteControllerRequest - (*StatsNvmeRemoteControllerRequest)(nil), // 13: opi_api.storage.v1.StatsNvmeRemoteControllerRequest - (*StatsNvmeRemoteControllerResponse)(nil), // 14: opi_api.storage.v1.StatsNvmeRemoteControllerResponse - (*ListNvmeRemoteNamespacesRequest)(nil), // 15: opi_api.storage.v1.ListNvmeRemoteNamespacesRequest - (*ListNvmeRemoteNamespacesResponse)(nil), // 16: opi_api.storage.v1.ListNvmeRemoteNamespacesResponse - (*GetNvmeRemoteNamespaceRequest)(nil), // 17: opi_api.storage.v1.GetNvmeRemoteNamespaceRequest - (*CreateNvmePathRequest)(nil), // 18: opi_api.storage.v1.CreateNvmePathRequest - (*DeleteNvmePathRequest)(nil), // 19: opi_api.storage.v1.DeleteNvmePathRequest - (*UpdateNvmePathRequest)(nil), // 20: opi_api.storage.v1.UpdateNvmePathRequest - (*ListNvmePathsRequest)(nil), // 21: opi_api.storage.v1.ListNvmePathsRequest - (*ListNvmePathsResponse)(nil), // 22: opi_api.storage.v1.ListNvmePathsResponse - (*GetNvmePathRequest)(nil), // 23: opi_api.storage.v1.GetNvmePathRequest - (*StatsNvmePathRequest)(nil), // 24: opi_api.storage.v1.StatsNvmePathRequest - (*StatsNvmePathResponse)(nil), // 25: opi_api.storage.v1.StatsNvmePathResponse - (*_go.Uuid)(nil), // 26: opi_api.common.v1.Uuid - (*fieldmaskpb.FieldMask)(nil), // 27: google.protobuf.FieldMask - (*VolumeStats)(nil), // 28: opi_api.storage.v1.VolumeStats - (*emptypb.Empty)(nil), // 29: google.protobuf.Empty + (*TcpController)(nil), // 4: opi_api.storage.v1.TcpController + (*NvmePath)(nil), // 5: opi_api.storage.v1.NvmePath + (*FabricsPath)(nil), // 6: opi_api.storage.v1.FabricsPath + (*NvmeRemoteNamespace)(nil), // 7: opi_api.storage.v1.NvmeRemoteNamespace + (*CreateNvmeRemoteControllerRequest)(nil), // 8: opi_api.storage.v1.CreateNvmeRemoteControllerRequest + (*DeleteNvmeRemoteControllerRequest)(nil), // 9: opi_api.storage.v1.DeleteNvmeRemoteControllerRequest + (*UpdateNvmeRemoteControllerRequest)(nil), // 10: opi_api.storage.v1.UpdateNvmeRemoteControllerRequest + (*ListNvmeRemoteControllersRequest)(nil), // 11: opi_api.storage.v1.ListNvmeRemoteControllersRequest + (*ListNvmeRemoteControllersResponse)(nil), // 12: opi_api.storage.v1.ListNvmeRemoteControllersResponse + (*GetNvmeRemoteControllerRequest)(nil), // 13: opi_api.storage.v1.GetNvmeRemoteControllerRequest + (*ResetNvmeRemoteControllerRequest)(nil), // 14: opi_api.storage.v1.ResetNvmeRemoteControllerRequest + (*StatsNvmeRemoteControllerRequest)(nil), // 15: opi_api.storage.v1.StatsNvmeRemoteControllerRequest + (*StatsNvmeRemoteControllerResponse)(nil), // 16: opi_api.storage.v1.StatsNvmeRemoteControllerResponse + (*ListNvmeRemoteNamespacesRequest)(nil), // 17: opi_api.storage.v1.ListNvmeRemoteNamespacesRequest + (*ListNvmeRemoteNamespacesResponse)(nil), // 18: opi_api.storage.v1.ListNvmeRemoteNamespacesResponse + (*GetNvmeRemoteNamespaceRequest)(nil), // 19: opi_api.storage.v1.GetNvmeRemoteNamespaceRequest + (*CreateNvmePathRequest)(nil), // 20: opi_api.storage.v1.CreateNvmePathRequest + (*DeleteNvmePathRequest)(nil), // 21: opi_api.storage.v1.DeleteNvmePathRequest + (*UpdateNvmePathRequest)(nil), // 22: opi_api.storage.v1.UpdateNvmePathRequest + (*ListNvmePathsRequest)(nil), // 23: opi_api.storage.v1.ListNvmePathsRequest + (*ListNvmePathsResponse)(nil), // 24: opi_api.storage.v1.ListNvmePathsResponse + (*GetNvmePathRequest)(nil), // 25: opi_api.storage.v1.GetNvmePathRequest + (*StatsNvmePathRequest)(nil), // 26: opi_api.storage.v1.StatsNvmePathRequest + (*StatsNvmePathResponse)(nil), // 27: opi_api.storage.v1.StatsNvmePathResponse + (*_go.Uuid)(nil), // 28: opi_api.common.v1.Uuid + (*fieldmaskpb.FieldMask)(nil), // 29: google.protobuf.FieldMask + (*VolumeStats)(nil), // 30: opi_api.storage.v1.VolumeStats + (*emptypb.Empty)(nil), // 31: google.protobuf.Empty } var file_backend_nvme_tcp_proto_depIdxs = []int32{ 2, // 0: opi_api.storage.v1.NvmeRemoteController.multipath:type_name -> opi_api.storage.v1.NvmeMultipath - 0, // 1: opi_api.storage.v1.NvmePath.trtype:type_name -> opi_api.storage.v1.NvmeTransportType - 1, // 2: opi_api.storage.v1.NvmePath.adrfam:type_name -> opi_api.storage.v1.NvmeAddressFamily - 26, // 3: opi_api.storage.v1.NvmeRemoteNamespace.uuid:type_name -> opi_api.common.v1.Uuid - 3, // 4: opi_api.storage.v1.CreateNvmeRemoteControllerRequest.nvme_remote_controller:type_name -> opi_api.storage.v1.NvmeRemoteController - 3, // 5: opi_api.storage.v1.UpdateNvmeRemoteControllerRequest.nvme_remote_controller:type_name -> opi_api.storage.v1.NvmeRemoteController - 27, // 6: opi_api.storage.v1.UpdateNvmeRemoteControllerRequest.update_mask:type_name -> google.protobuf.FieldMask - 3, // 7: opi_api.storage.v1.ListNvmeRemoteControllersResponse.nvme_remote_controllers:type_name -> opi_api.storage.v1.NvmeRemoteController - 28, // 8: opi_api.storage.v1.StatsNvmeRemoteControllerResponse.stats:type_name -> opi_api.storage.v1.VolumeStats - 5, // 9: opi_api.storage.v1.ListNvmeRemoteNamespacesResponse.nvme_remote_namespaces:type_name -> opi_api.storage.v1.NvmeRemoteNamespace - 4, // 10: opi_api.storage.v1.CreateNvmePathRequest.nvme_path:type_name -> opi_api.storage.v1.NvmePath - 4, // 11: opi_api.storage.v1.UpdateNvmePathRequest.nvme_path:type_name -> opi_api.storage.v1.NvmePath - 27, // 12: opi_api.storage.v1.UpdateNvmePathRequest.update_mask:type_name -> google.protobuf.FieldMask - 4, // 13: opi_api.storage.v1.ListNvmePathsResponse.nvme_paths:type_name -> opi_api.storage.v1.NvmePath - 28, // 14: opi_api.storage.v1.StatsNvmePathResponse.stats:type_name -> opi_api.storage.v1.VolumeStats - 6, // 15: opi_api.storage.v1.NvmeRemoteControllerService.CreateNvmeRemoteController:input_type -> opi_api.storage.v1.CreateNvmeRemoteControllerRequest - 7, // 16: opi_api.storage.v1.NvmeRemoteControllerService.DeleteNvmeRemoteController:input_type -> opi_api.storage.v1.DeleteNvmeRemoteControllerRequest - 8, // 17: opi_api.storage.v1.NvmeRemoteControllerService.UpdateNvmeRemoteController:input_type -> opi_api.storage.v1.UpdateNvmeRemoteControllerRequest - 9, // 18: opi_api.storage.v1.NvmeRemoteControllerService.ListNvmeRemoteControllers:input_type -> opi_api.storage.v1.ListNvmeRemoteControllersRequest - 11, // 19: opi_api.storage.v1.NvmeRemoteControllerService.GetNvmeRemoteController:input_type -> opi_api.storage.v1.GetNvmeRemoteControllerRequest - 12, // 20: opi_api.storage.v1.NvmeRemoteControllerService.ResetNvmeRemoteController:input_type -> opi_api.storage.v1.ResetNvmeRemoteControllerRequest - 13, // 21: opi_api.storage.v1.NvmeRemoteControllerService.StatsNvmeRemoteController:input_type -> opi_api.storage.v1.StatsNvmeRemoteControllerRequest - 15, // 22: opi_api.storage.v1.NvmeRemoteControllerService.ListNvmeRemoteNamespaces:input_type -> opi_api.storage.v1.ListNvmeRemoteNamespacesRequest - 17, // 23: opi_api.storage.v1.NvmeRemoteControllerService.GetNvmeRemoteNamespace:input_type -> opi_api.storage.v1.GetNvmeRemoteNamespaceRequest - 18, // 24: opi_api.storage.v1.NvmeRemoteControllerService.CreateNvmePath:input_type -> opi_api.storage.v1.CreateNvmePathRequest - 19, // 25: opi_api.storage.v1.NvmeRemoteControllerService.DeleteNvmePath:input_type -> opi_api.storage.v1.DeleteNvmePathRequest - 20, // 26: opi_api.storage.v1.NvmeRemoteControllerService.UpdateNvmePath:input_type -> opi_api.storage.v1.UpdateNvmePathRequest - 21, // 27: opi_api.storage.v1.NvmeRemoteControllerService.ListNvmePaths:input_type -> opi_api.storage.v1.ListNvmePathsRequest - 23, // 28: opi_api.storage.v1.NvmeRemoteControllerService.GetNvmePath:input_type -> opi_api.storage.v1.GetNvmePathRequest - 24, // 29: opi_api.storage.v1.NvmeRemoteControllerService.StatsNvmePath:input_type -> opi_api.storage.v1.StatsNvmePathRequest - 3, // 30: opi_api.storage.v1.NvmeRemoteControllerService.CreateNvmeRemoteController:output_type -> opi_api.storage.v1.NvmeRemoteController - 29, // 31: opi_api.storage.v1.NvmeRemoteControllerService.DeleteNvmeRemoteController:output_type -> google.protobuf.Empty - 3, // 32: opi_api.storage.v1.NvmeRemoteControllerService.UpdateNvmeRemoteController:output_type -> opi_api.storage.v1.NvmeRemoteController - 10, // 33: opi_api.storage.v1.NvmeRemoteControllerService.ListNvmeRemoteControllers:output_type -> opi_api.storage.v1.ListNvmeRemoteControllersResponse - 3, // 34: opi_api.storage.v1.NvmeRemoteControllerService.GetNvmeRemoteController:output_type -> opi_api.storage.v1.NvmeRemoteController - 29, // 35: opi_api.storage.v1.NvmeRemoteControllerService.ResetNvmeRemoteController:output_type -> google.protobuf.Empty - 14, // 36: opi_api.storage.v1.NvmeRemoteControllerService.StatsNvmeRemoteController:output_type -> opi_api.storage.v1.StatsNvmeRemoteControllerResponse - 16, // 37: opi_api.storage.v1.NvmeRemoteControllerService.ListNvmeRemoteNamespaces:output_type -> opi_api.storage.v1.ListNvmeRemoteNamespacesResponse - 5, // 38: opi_api.storage.v1.NvmeRemoteControllerService.GetNvmeRemoteNamespace:output_type -> opi_api.storage.v1.NvmeRemoteNamespace - 4, // 39: opi_api.storage.v1.NvmeRemoteControllerService.CreateNvmePath:output_type -> opi_api.storage.v1.NvmePath - 29, // 40: opi_api.storage.v1.NvmeRemoteControllerService.DeleteNvmePath:output_type -> google.protobuf.Empty - 4, // 41: opi_api.storage.v1.NvmeRemoteControllerService.UpdateNvmePath:output_type -> opi_api.storage.v1.NvmePath - 22, // 42: opi_api.storage.v1.NvmeRemoteControllerService.ListNvmePaths:output_type -> opi_api.storage.v1.ListNvmePathsResponse - 4, // 43: opi_api.storage.v1.NvmeRemoteControllerService.GetNvmePath:output_type -> opi_api.storage.v1.NvmePath - 25, // 44: opi_api.storage.v1.NvmeRemoteControllerService.StatsNvmePath:output_type -> opi_api.storage.v1.StatsNvmePathResponse - 30, // [30:45] is the sub-list for method output_type - 15, // [15:30] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 4, // 1: opi_api.storage.v1.NvmeRemoteController.tcp:type_name -> opi_api.storage.v1.TcpController + 0, // 2: opi_api.storage.v1.NvmePath.trtype:type_name -> opi_api.storage.v1.NvmeTransportType + 6, // 3: opi_api.storage.v1.NvmePath.fabrics:type_name -> opi_api.storage.v1.FabricsPath + 1, // 4: opi_api.storage.v1.FabricsPath.adrfam:type_name -> opi_api.storage.v1.NvmeAddressFamily + 28, // 5: opi_api.storage.v1.NvmeRemoteNamespace.uuid:type_name -> opi_api.common.v1.Uuid + 3, // 6: opi_api.storage.v1.CreateNvmeRemoteControllerRequest.nvme_remote_controller:type_name -> opi_api.storage.v1.NvmeRemoteController + 3, // 7: opi_api.storage.v1.UpdateNvmeRemoteControllerRequest.nvme_remote_controller:type_name -> opi_api.storage.v1.NvmeRemoteController + 29, // 8: opi_api.storage.v1.UpdateNvmeRemoteControllerRequest.update_mask:type_name -> google.protobuf.FieldMask + 3, // 9: opi_api.storage.v1.ListNvmeRemoteControllersResponse.nvme_remote_controllers:type_name -> opi_api.storage.v1.NvmeRemoteController + 30, // 10: opi_api.storage.v1.StatsNvmeRemoteControllerResponse.stats:type_name -> opi_api.storage.v1.VolumeStats + 7, // 11: opi_api.storage.v1.ListNvmeRemoteNamespacesResponse.nvme_remote_namespaces:type_name -> opi_api.storage.v1.NvmeRemoteNamespace + 5, // 12: opi_api.storage.v1.CreateNvmePathRequest.nvme_path:type_name -> opi_api.storage.v1.NvmePath + 5, // 13: opi_api.storage.v1.UpdateNvmePathRequest.nvme_path:type_name -> opi_api.storage.v1.NvmePath + 29, // 14: opi_api.storage.v1.UpdateNvmePathRequest.update_mask:type_name -> google.protobuf.FieldMask + 5, // 15: opi_api.storage.v1.ListNvmePathsResponse.nvme_paths:type_name -> opi_api.storage.v1.NvmePath + 30, // 16: opi_api.storage.v1.StatsNvmePathResponse.stats:type_name -> opi_api.storage.v1.VolumeStats + 8, // 17: opi_api.storage.v1.NvmeRemoteControllerService.CreateNvmeRemoteController:input_type -> opi_api.storage.v1.CreateNvmeRemoteControllerRequest + 9, // 18: opi_api.storage.v1.NvmeRemoteControllerService.DeleteNvmeRemoteController:input_type -> opi_api.storage.v1.DeleteNvmeRemoteControllerRequest + 10, // 19: opi_api.storage.v1.NvmeRemoteControllerService.UpdateNvmeRemoteController:input_type -> opi_api.storage.v1.UpdateNvmeRemoteControllerRequest + 11, // 20: opi_api.storage.v1.NvmeRemoteControllerService.ListNvmeRemoteControllers:input_type -> opi_api.storage.v1.ListNvmeRemoteControllersRequest + 13, // 21: opi_api.storage.v1.NvmeRemoteControllerService.GetNvmeRemoteController:input_type -> opi_api.storage.v1.GetNvmeRemoteControllerRequest + 14, // 22: opi_api.storage.v1.NvmeRemoteControllerService.ResetNvmeRemoteController:input_type -> opi_api.storage.v1.ResetNvmeRemoteControllerRequest + 15, // 23: opi_api.storage.v1.NvmeRemoteControllerService.StatsNvmeRemoteController:input_type -> opi_api.storage.v1.StatsNvmeRemoteControllerRequest + 17, // 24: opi_api.storage.v1.NvmeRemoteControllerService.ListNvmeRemoteNamespaces:input_type -> opi_api.storage.v1.ListNvmeRemoteNamespacesRequest + 19, // 25: opi_api.storage.v1.NvmeRemoteControllerService.GetNvmeRemoteNamespace:input_type -> opi_api.storage.v1.GetNvmeRemoteNamespaceRequest + 20, // 26: opi_api.storage.v1.NvmeRemoteControllerService.CreateNvmePath:input_type -> opi_api.storage.v1.CreateNvmePathRequest + 21, // 27: opi_api.storage.v1.NvmeRemoteControllerService.DeleteNvmePath:input_type -> opi_api.storage.v1.DeleteNvmePathRequest + 22, // 28: opi_api.storage.v1.NvmeRemoteControllerService.UpdateNvmePath:input_type -> opi_api.storage.v1.UpdateNvmePathRequest + 23, // 29: opi_api.storage.v1.NvmeRemoteControllerService.ListNvmePaths:input_type -> opi_api.storage.v1.ListNvmePathsRequest + 25, // 30: opi_api.storage.v1.NvmeRemoteControllerService.GetNvmePath:input_type -> opi_api.storage.v1.GetNvmePathRequest + 26, // 31: opi_api.storage.v1.NvmeRemoteControllerService.StatsNvmePath:input_type -> opi_api.storage.v1.StatsNvmePathRequest + 3, // 32: opi_api.storage.v1.NvmeRemoteControllerService.CreateNvmeRemoteController:output_type -> opi_api.storage.v1.NvmeRemoteController + 31, // 33: opi_api.storage.v1.NvmeRemoteControllerService.DeleteNvmeRemoteController:output_type -> google.protobuf.Empty + 3, // 34: opi_api.storage.v1.NvmeRemoteControllerService.UpdateNvmeRemoteController:output_type -> opi_api.storage.v1.NvmeRemoteController + 12, // 35: opi_api.storage.v1.NvmeRemoteControllerService.ListNvmeRemoteControllers:output_type -> opi_api.storage.v1.ListNvmeRemoteControllersResponse + 3, // 36: opi_api.storage.v1.NvmeRemoteControllerService.GetNvmeRemoteController:output_type -> opi_api.storage.v1.NvmeRemoteController + 31, // 37: opi_api.storage.v1.NvmeRemoteControllerService.ResetNvmeRemoteController:output_type -> google.protobuf.Empty + 16, // 38: opi_api.storage.v1.NvmeRemoteControllerService.StatsNvmeRemoteController:output_type -> opi_api.storage.v1.StatsNvmeRemoteControllerResponse + 18, // 39: opi_api.storage.v1.NvmeRemoteControllerService.ListNvmeRemoteNamespaces:output_type -> opi_api.storage.v1.ListNvmeRemoteNamespacesResponse + 7, // 40: opi_api.storage.v1.NvmeRemoteControllerService.GetNvmeRemoteNamespace:output_type -> opi_api.storage.v1.NvmeRemoteNamespace + 5, // 41: opi_api.storage.v1.NvmeRemoteControllerService.CreateNvmePath:output_type -> opi_api.storage.v1.NvmePath + 31, // 42: opi_api.storage.v1.NvmeRemoteControllerService.DeleteNvmePath:output_type -> google.protobuf.Empty + 5, // 43: opi_api.storage.v1.NvmeRemoteControllerService.UpdateNvmePath:output_type -> opi_api.storage.v1.NvmePath + 24, // 44: opi_api.storage.v1.NvmeRemoteControllerService.ListNvmePaths:output_type -> opi_api.storage.v1.ListNvmePathsResponse + 5, // 45: opi_api.storage.v1.NvmeRemoteControllerService.GetNvmePath:output_type -> opi_api.storage.v1.NvmePath + 27, // 46: opi_api.storage.v1.NvmeRemoteControllerService.StatsNvmePath:output_type -> opi_api.storage.v1.StatsNvmePathResponse + 32, // [32:47] is the sub-list for method output_type + 17, // [17:32] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_backend_nvme_tcp_proto_init() } @@ -2256,7 +2366,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NvmePath); i { + switch v := v.(*TcpController); i { case 0: return &v.state case 1: @@ -2268,7 +2378,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NvmeRemoteNamespace); i { + switch v := v.(*NvmePath); i { case 0: return &v.state case 1: @@ -2280,7 +2390,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNvmeRemoteControllerRequest); i { + switch v := v.(*FabricsPath); i { case 0: return &v.state case 1: @@ -2292,7 +2402,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNvmeRemoteControllerRequest); i { + switch v := v.(*NvmeRemoteNamespace); i { case 0: return &v.state case 1: @@ -2304,7 +2414,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNvmeRemoteControllerRequest); i { + switch v := v.(*CreateNvmeRemoteControllerRequest); i { case 0: return &v.state case 1: @@ -2316,7 +2426,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNvmeRemoteControllersRequest); i { + switch v := v.(*DeleteNvmeRemoteControllerRequest); i { case 0: return &v.state case 1: @@ -2328,7 +2438,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNvmeRemoteControllersResponse); i { + switch v := v.(*UpdateNvmeRemoteControllerRequest); i { case 0: return &v.state case 1: @@ -2340,7 +2450,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNvmeRemoteControllerRequest); i { + switch v := v.(*ListNvmeRemoteControllersRequest); i { case 0: return &v.state case 1: @@ -2352,7 +2462,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResetNvmeRemoteControllerRequest); i { + switch v := v.(*ListNvmeRemoteControllersResponse); i { case 0: return &v.state case 1: @@ -2364,7 +2474,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatsNvmeRemoteControllerRequest); i { + switch v := v.(*GetNvmeRemoteControllerRequest); i { case 0: return &v.state case 1: @@ -2376,7 +2486,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatsNvmeRemoteControllerResponse); i { + switch v := v.(*ResetNvmeRemoteControllerRequest); i { case 0: return &v.state case 1: @@ -2388,7 +2498,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNvmeRemoteNamespacesRequest); i { + switch v := v.(*StatsNvmeRemoteControllerRequest); i { case 0: return &v.state case 1: @@ -2400,7 +2510,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNvmeRemoteNamespacesResponse); i { + switch v := v.(*StatsNvmeRemoteControllerResponse); i { case 0: return &v.state case 1: @@ -2412,7 +2522,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNvmeRemoteNamespaceRequest); i { + switch v := v.(*ListNvmeRemoteNamespacesRequest); i { case 0: return &v.state case 1: @@ -2424,7 +2534,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNvmePathRequest); i { + switch v := v.(*ListNvmeRemoteNamespacesResponse); i { case 0: return &v.state case 1: @@ -2436,7 +2546,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNvmePathRequest); i { + switch v := v.(*GetNvmeRemoteNamespaceRequest); i { case 0: return &v.state case 1: @@ -2448,7 +2558,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNvmePathRequest); i { + switch v := v.(*CreateNvmePathRequest); i { case 0: return &v.state case 1: @@ -2460,7 +2570,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNvmePathsRequest); i { + switch v := v.(*DeleteNvmePathRequest); i { case 0: return &v.state case 1: @@ -2472,7 +2582,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNvmePathsResponse); i { + switch v := v.(*UpdateNvmePathRequest); i { case 0: return &v.state case 1: @@ -2484,7 +2594,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNvmePathRequest); i { + switch v := v.(*ListNvmePathsRequest); i { case 0: return &v.state case 1: @@ -2496,7 +2606,7 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatsNvmePathRequest); i { + switch v := v.(*ListNvmePathsResponse); i { case 0: return &v.state case 1: @@ -2508,6 +2618,30 @@ func file_backend_nvme_tcp_proto_init() { } } file_backend_nvme_tcp_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNvmePathRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_backend_nvme_tcp_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatsNvmePathRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_backend_nvme_tcp_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatsNvmePathResponse); i { case 0: return &v.state @@ -2526,7 +2660,7 @@ func file_backend_nvme_tcp_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_backend_nvme_tcp_proto_rawDesc, NumEnums: 3, - NumMessages: 23, + NumMessages: 25, NumExtensions: 0, NumServices: 1, }, diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/BackendNvmeTcpProto.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/BackendNvmeTcpProto.java index 3da04d2f..b2c8d80c 100644 --- a/storage/v1alpha1/gen/java/opi_api/storage/v1/BackendNvmeTcpProto.java +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/BackendNvmeTcpProto.java @@ -19,11 +19,21 @@ public static void registerAllExtensions( static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_opi_api_storage_v1_NvmeRemoteController_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_opi_api_storage_v1_TcpController_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_opi_api_storage_v1_TcpController_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_opi_api_storage_v1_NvmePath_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_opi_api_storage_v1_NvmePath_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_opi_api_storage_v1_FabricsPath_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_opi_api_storage_v1_FabricsPath_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_opi_api_storage_v1_NvmeRemoteNamespace_descriptor; static final @@ -144,176 +154,180 @@ public static void registerAllExtensions( "proto\032\034google/api/annotations.proto\032\037goo" + "gle/api/field_behavior.proto\032 google/pro" + "tobuf/field_mask.proto\032\017opicommon.proto\032" + - "\nuuid.proto\"\365\002\n\024NvmeRemoteController\022@\n\004" + + "\nuuid.proto\"\360\002\n\024NvmeRemoteController\022@\n\004" + "name\030\001 \001(\tB2\340A\003\340A\005\372A)\n\'opi_api.storage.v" + "1/NvmeRemoteController\0229\n\tmultipath\030\002 \001(" + "\0162!.opi_api.storage.v1.NvmeMultipathB\003\340A" + "\002\022\034\n\017io_queues_count\030\003 \001(\003B\003\340A\001\022\027\n\nqueue" + - "_size\030\004 \001(\003B\003\340A\001\022\022\n\005hdgst\030\005 \001(\010B\003\340A\001\022\022\n\005" + - "ddgst\030\006 \001(\010B\003\340A\001\022\020\n\003psk\030\007 \001(\014B\003\340A\001:o\352Al\n" + - "+storage.opiproject.org/NvmeRemoteContro" + - "ller\022\020volumes/{volume}*\025nvmeRemoteContro" + - "llers2\024nvmeRemoteController\"\342\003\n\010NvmePath" + - "\0224\n\004name\030\001 \001(\tB&\340A\003\340A\005\372A\035\n\033opi_api.stora" + - "ge.v1/NvmePath\022L\n\023controller_name_ref\030\002 " + - "\001(\tB/\340A\002\372A)\n\'opi_api.storage.v1/NvmeRemo" + - "teController\022:\n\006trtype\030\003 \001(\0162%.opi_api.s" + - "torage.v1.NvmeTransportTypeB\003\340A\002\022:\n\006adrf" + - "am\030\004 \001(\0162%.opi_api.storage.v1.NvmeAddres" + - "sFamilyB\003\340A\001\022\023\n\006traddr\030\005 \001(\tB\003\340A\002\022\024\n\007trs" + - "vcid\030\006 \001(\003B\003\340A\001\022\023\n\006subnqn\030\007 \001(\tB\003\340A\001\022\032\n\r" + - "source_traddr\030\010 \001(\tB\003\340A\001\022\033\n\016source_trsvc" + - "id\030\t \001(\003B\003\340A\001\022\024\n\007hostnqn\030\n \001(\tB\003\340A\001:K\352AH" + - "\n\037storage.opiproject.org/NvmePath\022\020volum" + - "es/{volume}*\tnvmePaths2\010nvmePath\"\371\002\n\023Nvm" + - "eRemoteNamespace\022?\n\004name\030\001 \001(\tB1\340A\003\340A\005\372A" + - "(\n&opi_api.storage.v1/NvmeRemoteNamespac" + - "e\022L\n\023controller_name_ref\030\002 \001(\tB/\340A\003\372A)\n\'" + - "opi_api.storage.v1/NvmeRemoteController\022" + - "\021\n\004nsid\030\003 \001(\005B\003\340A\003\022\022\n\005nguid\030\004 \001(\tB\003\340A\003\022\022" + - "\n\005eui64\030\005 \001(\003B\003\340A\003\022*\n\004uuid\030\006 \001(\0132\027.opi_a" + - "pi.common.v1.UuidB\003\340A\003:l\352Ai\n*storage.opi" + - "project.org/NvmeRemoteNamespace\022\020volumes" + - "/{volume}*\024nvmeRemoteNamespaces2\023nvmeRem" + - "oteNamespace\"\232\001\n!CreateNvmeRemoteControl" + - "lerRequest\022M\n\026nvme_remote_controller\030\001 \001" + - "(\0132(.opi_api.storage.v1.NvmeRemoteContro" + - "llerB\003\340A\002\022&\n\031nvme_remote_controller_id\030\002" + - " \001(\tB\003\340A\001\"~\n!DeleteNvmeRemoteControllerR" + - "equest\022=\n\004name\030\001 \001(\tB/\340A\002\372A)\n\'opi_api.st" + - "orage.v1/NvmeRemoteController\022\032\n\rallow_m" + - "issing\030\002 \001(\010B\003\340A\001\"\304\001\n!UpdateNvmeRemoteCo" + - "ntrollerRequest\022M\n\026nvme_remote_controlle" + - "r\030\001 \001(\0132(.opi_api.storage.v1.NvmeRemoteC" + - "ontrollerB\003\340A\002\0224\n\013update_mask\030\002 \001(\0132\032.go" + - "ogle.protobuf.FieldMaskB\003\340A\001\022\032\n\rallow_mi" + - "ssing\030\003 \001(\010B\003\340A\001\"\224\001\n ListNvmeRemoteContr" + - "ollersRequest\022?\n\006parent\030\001 \001(\tB/\340A\002\372A)\n\'o" + - "pi_api.storage.v1/NvmeRemoteController\022\026" + - "\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\npage_token\030\003 \001" + - "(\tB\003\340A\001\"\207\001\n!ListNvmeRemoteControllersRes" + - "ponse\022I\n\027nvme_remote_controllers\030\001 \003(\0132(" + - ".opi_api.storage.v1.NvmeRemoteController" + - "\022\027\n\017next_page_token\030\002 \001(\t\"_\n\036GetNvmeRemo" + + "_size\030\004 \001(\003B\003\340A\001\0223\n\003tcp\030\005 \001(\0132!.opi_api." + + "storage.v1.TcpControllerB\003\340A\001:o\352Al\n+stor" + + "age.opiproject.org/NvmeRemoteController\022" + + "\020volumes/{volume}*\025nvmeRemoteControllers" + + "2\024nvmeRemoteController\"I\n\rTcpController\022" + + "\022\n\005hdgst\030\001 \001(\010B\003\340A\001\022\022\n\005ddgst\030\002 \001(\010B\003\340A\001\022" + + "\020\n\003psk\030\003 \001(\014B\003\340A\001\"\343\002\n\010NvmePath\0224\n\004name\030\001" + + " \001(\tB&\340A\003\340A\005\372A\035\n\033opi_api.storage.v1/Nvme" + + "Path\022L\n\023controller_name_ref\030\002 \001(\tB/\340A\002\372A" + + ")\n\'opi_api.storage.v1/NvmeRemoteControll" + + "er\022:\n\006trtype\030\003 \001(\0162%.opi_api.storage.v1." + + "NvmeTransportTypeB\003\340A\002\022\023\n\006traddr\030\004 \001(\tB\003" + + "\340A\002\0225\n\007fabrics\030\005 \001(\0132\037.opi_api.storage.v" + + "1.FabricsPathB\003\340A\001:K\352AH\n\037storage.opiproj" + + "ect.org/NvmePath\022\020volumes/{volume}*\tnvme" + + "Paths2\010nvmePath\"\303\001\n\013FabricsPath\022\024\n\007trsvc" + + "id\030\001 \001(\003B\003\340A\002\022\023\n\006subnqn\030\002 \001(\tB\003\340A\002\022:\n\006ad" + + "rfam\030\003 \001(\0162%.opi_api.storage.v1.NvmeAddr" + + "essFamilyB\003\340A\002\022\032\n\rsource_traddr\030\004 \001(\tB\003\340" + + "A\001\022\033\n\016source_trsvcid\030\005 \001(\003B\003\340A\001\022\024\n\007hostn" + + "qn\030\006 \001(\tB\003\340A\001\"\371\002\n\023NvmeRemoteNamespace\022?\n" + + "\004name\030\001 \001(\tB1\340A\003\340A\005\372A(\n&opi_api.storage." + + "v1/NvmeRemoteNamespace\022L\n\023controller_nam" + + "e_ref\030\002 \001(\tB/\340A\003\372A)\n\'opi_api.storage.v1/" + + "NvmeRemoteController\022\021\n\004nsid\030\003 \001(\005B\003\340A\003\022" + + "\022\n\005nguid\030\004 \001(\tB\003\340A\003\022\022\n\005eui64\030\005 \001(\003B\003\340A\003\022" + + "*\n\004uuid\030\006 \001(\0132\027.opi_api.common.v1.UuidB\003" + + "\340A\003:l\352Ai\n*storage.opiproject.org/NvmeRem" + + "oteNamespace\022\020volumes/{volume}*\024nvmeRemo" + + "teNamespaces2\023nvmeRemoteNamespace\"\232\001\n!Cr" + + "eateNvmeRemoteControllerRequest\022M\n\026nvme_" + + "remote_controller\030\001 \001(\0132(.opi_api.storag" + + "e.v1.NvmeRemoteControllerB\003\340A\002\022&\n\031nvme_r" + + "emote_controller_id\030\002 \001(\tB\003\340A\001\"~\n!Delete" + + "NvmeRemoteControllerRequest\022=\n\004name\030\001 \001(" + + "\tB/\340A\002\372A)\n\'opi_api.storage.v1/NvmeRemote" + + "Controller\022\032\n\rallow_missing\030\002 \001(\010B\003\340A\001\"\304" + + "\001\n!UpdateNvmeRemoteControllerRequest\022M\n\026" + + "nvme_remote_controller\030\001 \001(\0132(.opi_api.s" + + "torage.v1.NvmeRemoteControllerB\003\340A\002\0224\n\013u" + + "pdate_mask\030\002 \001(\0132\032.google.protobuf.Field" + + "MaskB\003\340A\001\022\032\n\rallow_missing\030\003 \001(\010B\003\340A\001\"\224\001" + + "\n ListNvmeRemoteControllersRequest\022?\n\006pa" + + "rent\030\001 \001(\tB/\340A\002\372A)\n\'opi_api.storage.v1/N" + + "vmeRemoteController\022\026\n\tpage_size\030\002 \001(\005B\003" + + "\340A\001\022\027\n\npage_token\030\003 \001(\tB\003\340A\001\"\207\001\n!ListNvm" + + "eRemoteControllersResponse\022I\n\027nvme_remot" + + "e_controllers\030\001 \003(\0132(.opi_api.storage.v1" + + ".NvmeRemoteController\022\027\n\017next_page_token" + + "\030\002 \001(\t\"_\n\036GetNvmeRemoteControllerRequest" + + "\022=\n\004name\030\001 \001(\tB/\340A\002\372A)\n\'opi_api.storage." + + "v1/NvmeRemoteController\"a\n ResetNvmeRemo" + "teControllerRequest\022=\n\004name\030\001 \001(\tB/\340A\002\372A" + ")\n\'opi_api.storage.v1/NvmeRemoteControll" + - "er\"a\n ResetNvmeRemoteControllerRequest\022=" + + "er\"a\n StatsNvmeRemoteControllerRequest\022=" + "\n\004name\030\001 \001(\tB/\340A\002\372A)\n\'opi_api.storage.v1" + - "/NvmeRemoteController\"a\n StatsNvmeRemote" + - "ControllerRequest\022=\n\004name\030\001 \001(\tB/\340A\002\372A)\n" + - "\'opi_api.storage.v1/NvmeRemoteController" + - "\"S\n!StatsNvmeRemoteControllerResponse\022.\n" + - "\005stats\030\001 \001(\0132\037.opi_api.storage.v1.Volume" + - "Stats\"\222\001\n\037ListNvmeRemoteNamespacesReques" + - "t\022>\n\006parent\030\001 \001(\tB.\340A\002\372A(\n&opi_api.stora" + - "ge.v1/NvmeRemoteNamespace\022\026\n\tpage_size\030\002" + - " \001(\005B\003\340A\001\022\027\n\npage_token\030\003 \001(\tB\003\340A\001\"\204\001\n L" + - "istNvmeRemoteNamespacesResponse\022G\n\026nvme_" + - "remote_namespaces\030\001 \003(\0132\'.opi_api.storag" + - "e.v1.NvmeRemoteNamespace\022\027\n\017next_page_to" + - "ken\030\002 \001(\t\"]\n\035GetNvmeRemoteNamespaceReque" + - "st\022<\n\004name\030\001 \001(\tB.\340A\002\372A(\n&opi_api.storag" + - "e.v1/NvmeRemoteNamespace\"h\n\025CreateNvmePa" + - "thRequest\0224\n\tnvme_path\030\001 \001(\0132\034.opi_api.s" + - "torage.v1.NvmePathB\003\340A\002\022\031\n\014nvme_path_id\030" + - "\002 \001(\tB\003\340A\001\"f\n\025DeleteNvmePathRequest\0221\n\004n" + - "ame\030\001 \001(\tB#\340A\002\372A\035\n\033opi_api.storage.v1/Nv" + - "mePath\022\032\n\rallow_missing\030\002 \001(\010B\003\340A\001\"\237\001\n\025U" + - "pdateNvmePathRequest\0224\n\tnvme_path\030\001 \001(\0132" + - "\034.opi_api.storage.v1.NvmePathB\003\340A\002\0224\n\013up" + - "date_mask\030\002 \001(\0132\032.google.protobuf.FieldM" + - "askB\003\340A\001\022\032\n\rallow_missing\030\003 \001(\010B\003\340A\001\"|\n\024" + - "ListNvmePathsRequest\0223\n\006parent\030\001 \001(\tB#\340A" + - "\002\372A\035\n\033opi_api.storage.v1/NvmePath\022\026\n\tpag" + - "e_size\030\002 \001(\005B\003\340A\001\022\027\n\npage_token\030\003 \001(\tB\003\340" + - "A\001\"b\n\025ListNvmePathsResponse\0220\n\nnvme_path" + - "s\030\001 \003(\0132\034.opi_api.storage.v1.NvmePath\022\027\n" + - "\017next_page_token\030\002 \001(\t\"G\n\022GetNvmePathReq" + - "uest\0221\n\004name\030\001 \001(\tB#\340A\002\372A\035\n\033opi_api.stor" + - "age.v1/NvmePath\"I\n\024StatsNvmePathRequest\022" + - "1\n\004name\030\001 \001(\tB#\340A\002\372A\035\n\033opi_api.storage.v" + - "1/NvmePath\"G\n\025StatsNvmePathResponse\022.\n\005s" + - "tats\030\001 \001(\0132\037.opi_api.storage.v1.VolumeSt" + - "ats*\264\001\n\021NvmeTransportType\022#\n\037NVME_TRANSP" + - "ORT_TYPE_UNSPECIFIED\020\000\022\025\n\021NVME_TRANSPORT" + - "_FC\020\001\022\027\n\023NVME_TRANSPORT_PCIE\020\002\022\027\n\023NVME_T" + - "RANSPORT_RDMA\020\003\022\026\n\022NVME_TRANSPORT_TCP\020\004\022" + - "\031\n\025NVME_TRANSPORT_CUSTOM\020\005*\250\001\n\021NvmeAddre" + - "ssFamily\022#\n\037NVME_ADDRESS_FAMILY_UNSPECIF" + - "IED\020\000\022\024\n\020NVME_ADRFAM_IPV4\020\001\022\024\n\020NVME_ADRF" + - "AM_IPV6\020\002\022\022\n\016NVME_ADRFAM_IB\020\003\022\022\n\016NVME_AD" + - "RFAM_FC\020\004\022\032\n\026NVME_ADRFAM_INTRA_HOST\020\005*\206\001" + - "\n\rNvmeMultipath\022\036\n\032NVME_MULTIPATH_UNSPEC" + - "IFIED\020\000\022\032\n\026NVME_MULTIPATH_DISABLE\020\001\022\033\n\027N" + - "VME_MULTIPATH_FAILOVER\020\002\022\034\n\030NVME_MULTIPA" + - "TH_MULTIPATH\020\0032\224\024\n\033NvmeRemoteControllerS" + - "ervice\022\335\001\n\032CreateNvmeRemoteController\0225." + - "opi_api.storage.v1.CreateNvmeRemoteContr" + - "ollerRequest\032(.opi_api.storage.v1.NvmeRe" + - "moteController\"^\202\323\344\223\002%\"\013/v1/volumes:\026nvm" + - "e_remote_controller\332A0nvme_remote_contro" + - "ller,nvme_remote_controller_id\022\236\001\n\032Delet" + - "eNvmeRemoteController\0225.opi_api.storage." + - "v1.DeleteNvmeRemoteControllerRequest\032\026.g" + - "oogle.protobuf.Empty\"1\202\323\344\223\002$*\"/v1/{name=" + - "NvmeRemoteControllers/*}\332A\004name\022\360\001\n\032Upda" + - "teNvmeRemoteController\0225.opi_api.storage" + - ".v1.UpdateNvmeRemoteControllerRequest\032(." + - "opi_api.storage.v1.NvmeRemoteController\"" + - "q\202\323\344\223\002F2,/v1/{nvme_remote_controller.nam" + - "e=subsystems}:\026nvme_remote_controller\332A\"" + - "nvme_remote_controller,update_mask\022\262\001\n\031L" + - "istNvmeRemoteControllers\0224.opi_api.stora" + - "ge.v1.ListNvmeRemoteControllersRequest\0325" + - ".opi_api.storage.v1.ListNvmeRemoteContro" + - "llersResponse\"(\202\323\344\223\002\031\022\027/v1/{parent=subsy" + - "stems}\332A\006parent\022\252\001\n\027GetNvmeRemoteControl" + - "ler\0222.opi_api.storage.v1.GetNvmeRemoteCo" + - "ntrollerRequest\032(.opi_api.storage.v1.Nvm" + - "eRemoteController\"1\202\323\344\223\002$\022\"/v1/{name=Nvm" + - "eRemoteControllers/*}\332A\004name\022\245\001\n\031ResetNv" + - "meRemoteController\0224.opi_api.storage.v1." + - "ResetNvmeRemoteControllerRequest\032\026.googl" + - "e.protobuf.Empty\":\202\323\344\223\002-\"(/v1/{name=Nvme" + - "RemoteControllers/*}:reset:\001*\332A\004name\022\301\001\n" + - "\031StatsNvmeRemoteController\0224.opi_api.sto" + - "rage.v1.StatsNvmeRemoteControllerRequest" + - "\0325.opi_api.storage.v1.StatsNvmeRemoteCon" + - "trollerResponse\"7\202\323\344\223\002*\022(/v1/{name=NvmeR" + - "emoteControllers/*}:stats\332A\004name\022\257\001\n\030Lis" + - "tNvmeRemoteNamespaces\0223.opi_api.storage." + - "v1.ListNvmeRemoteNamespacesRequest\0324.opi" + - "_api.storage.v1.ListNvmeRemoteNamespaces" + - "Response\"(\202\323\344\223\002\031\022\027/v1/{parent=subsystems" + - "}\332A\006parent\022\246\001\n\026GetNvmeRemoteNamespace\0221." + - "opi_api.storage.v1.GetNvmeRemoteNamespac" + - "eRequest\032\'.opi_api.storage.v1.NvmeRemote" + - "Namespace\"0\202\323\344\223\002#\022!/v1/{name=NvmeRemoteN" + - "amespaces/*}\332A\004name\022\222\001\n\016CreateNvmePath\022)" + - ".opi_api.storage.v1.CreateNvmePathReques" + - "t\032\034.opi_api.storage.v1.NvmePath\"7\202\323\344\223\002\030\"" + - "\013/v1/volumes:\tnvme_path\332A\026nvme_path,nvme" + - "_path_id\022z\n\016DeleteNvmePath\022).opi_api.sto" + - "rage.v1.DeleteNvmePathRequest\032\026.google.p" + - "rotobuf.Empty\"%\202\323\344\223\002\030*\026/v1/{name=NvmePat" + - "hs/*}\332A\004name\022\245\001\n\016UpdateNvmePath\022).opi_ap" + - "i.storage.v1.UpdateNvmePathRequest\032\034.opi" + - "_api.storage.v1.NvmePath\"J\202\323\344\223\002,2\037/v1/{n" + - "vme_path.name=subsystems}:\tnvme_path\332A\025n" + - "vme_path,update_mask\022\216\001\n\rListNvmePaths\022(" + - ".opi_api.storage.v1.ListNvmePathsRequest" + - "\032).opi_api.storage.v1.ListNvmePathsRespo" + - "nse\"(\202\323\344\223\002\031\022\027/v1/{parent=subsystems}\332A\006p" + - "arent\022z\n\013GetNvmePath\022&.opi_api.storage.v" + - "1.GetNvmePathRequest\032\034.opi_api.storage.v" + - "1.NvmePath\"%\202\323\344\223\002\030\022\026/v1/{name=NvmePaths/" + - "*}\332A\004name\022\221\001\n\rStatsNvmePath\022(.opi_api.st" + - "orage.v1.StatsNvmePathRequest\032).opi_api." + - "storage.v1.StatsNvmePathResponse\"+\202\323\344\223\002\036" + - "\022\034/v1/{name=NvmePaths/*}:stats\332A\004nameBb\n" + - "\022opi_api.storage.v1B\023BackendNvmeTcpProto" + - "P\001Z5github.com/opiproject/opi-api/storag" + - "e/v1alpha1/gen/gob\006proto3" + "/NvmeRemoteController\"S\n!StatsNvmeRemote" + + "ControllerResponse\022.\n\005stats\030\001 \001(\0132\037.opi_" + + "api.storage.v1.VolumeStats\"\222\001\n\037ListNvmeR" + + "emoteNamespacesRequest\022>\n\006parent\030\001 \001(\tB." + + "\340A\002\372A(\n&opi_api.storage.v1/NvmeRemoteNam" + + "espace\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\npage_t" + + "oken\030\003 \001(\tB\003\340A\001\"\204\001\n ListNvmeRemoteNamesp" + + "acesResponse\022G\n\026nvme_remote_namespaces\030\001" + + " \003(\0132\'.opi_api.storage.v1.NvmeRemoteName" + + "space\022\027\n\017next_page_token\030\002 \001(\t\"]\n\035GetNvm" + + "eRemoteNamespaceRequest\022<\n\004name\030\001 \001(\tB.\340" + + "A\002\372A(\n&opi_api.storage.v1/NvmeRemoteName" + + "space\"h\n\025CreateNvmePathRequest\0224\n\tnvme_p" + + "ath\030\001 \001(\0132\034.opi_api.storage.v1.NvmePathB" + + "\003\340A\002\022\031\n\014nvme_path_id\030\002 \001(\tB\003\340A\001\"f\n\025Delet" + + "eNvmePathRequest\0221\n\004name\030\001 \001(\tB#\340A\002\372A\035\n\033" + + "opi_api.storage.v1/NvmePath\022\032\n\rallow_mis" + + "sing\030\002 \001(\010B\003\340A\001\"\237\001\n\025UpdateNvmePathReques" + + "t\0224\n\tnvme_path\030\001 \001(\0132\034.opi_api.storage.v" + + "1.NvmePathB\003\340A\002\0224\n\013update_mask\030\002 \001(\0132\032.g" + + "oogle.protobuf.FieldMaskB\003\340A\001\022\032\n\rallow_m" + + "issing\030\003 \001(\010B\003\340A\001\"|\n\024ListNvmePathsReques" + + "t\0223\n\006parent\030\001 \001(\tB#\340A\002\372A\035\n\033opi_api.stora" + + "ge.v1/NvmePath\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027" + + "\n\npage_token\030\003 \001(\tB\003\340A\001\"b\n\025ListNvmePaths" + + "Response\0220\n\nnvme_paths\030\001 \003(\0132\034.opi_api.s" + + "torage.v1.NvmePath\022\027\n\017next_page_token\030\002 " + + "\001(\t\"G\n\022GetNvmePathRequest\0221\n\004name\030\001 \001(\tB" + + "#\340A\002\372A\035\n\033opi_api.storage.v1/NvmePath\"I\n\024" + + "StatsNvmePathRequest\0221\n\004name\030\001 \001(\tB#\340A\002\372" + + "A\035\n\033opi_api.storage.v1/NvmePath\"G\n\025Stats" + + "NvmePathResponse\022.\n\005stats\030\001 \001(\0132\037.opi_ap" + + "i.storage.v1.VolumeStats*\264\001\n\021NvmeTranspo" + + "rtType\022#\n\037NVME_TRANSPORT_TYPE_UNSPECIFIE" + + "D\020\000\022\025\n\021NVME_TRANSPORT_FC\020\001\022\027\n\023NVME_TRANS" + + "PORT_PCIE\020\002\022\027\n\023NVME_TRANSPORT_RDMA\020\003\022\026\n\022" + + "NVME_TRANSPORT_TCP\020\004\022\031\n\025NVME_TRANSPORT_C" + + "USTOM\020\005*\250\001\n\021NvmeAddressFamily\022#\n\037NVME_AD" + + "DRESS_FAMILY_UNSPECIFIED\020\000\022\024\n\020NVME_ADRFA" + + "M_IPV4\020\001\022\024\n\020NVME_ADRFAM_IPV6\020\002\022\022\n\016NVME_A" + + "DRFAM_IB\020\003\022\022\n\016NVME_ADRFAM_FC\020\004\022\032\n\026NVME_A" + + "DRFAM_INTRA_HOST\020\005*\206\001\n\rNvmeMultipath\022\036\n\032" + + "NVME_MULTIPATH_UNSPECIFIED\020\000\022\032\n\026NVME_MUL" + + "TIPATH_DISABLE\020\001\022\033\n\027NVME_MULTIPATH_FAILO" + + "VER\020\002\022\034\n\030NVME_MULTIPATH_MULTIPATH\020\0032\224\024\n\033" + + "NvmeRemoteControllerService\022\335\001\n\032CreateNv" + + "meRemoteController\0225.opi_api.storage.v1." + + "CreateNvmeRemoteControllerRequest\032(.opi_" + + "api.storage.v1.NvmeRemoteController\"^\202\323\344" + + "\223\002%\"\013/v1/volumes:\026nvme_remote_controller" + + "\332A0nvme_remote_controller,nvme_remote_co" + + "ntroller_id\022\236\001\n\032DeleteNvmeRemoteControll" + + "er\0225.opi_api.storage.v1.DeleteNvmeRemote" + + "ControllerRequest\032\026.google.protobuf.Empt" + + "y\"1\202\323\344\223\002$*\"/v1/{name=NvmeRemoteControlle" + + "rs/*}\332A\004name\022\360\001\n\032UpdateNvmeRemoteControl" + + "ler\0225.opi_api.storage.v1.UpdateNvmeRemot" + + "eControllerRequest\032(.opi_api.storage.v1." + + "NvmeRemoteController\"q\202\323\344\223\002F2,/v1/{nvme_" + + "remote_controller.name=subsystems}:\026nvme" + + "_remote_controller\332A\"nvme_remote_control" + + "ler,update_mask\022\262\001\n\031ListNvmeRemoteContro" + + "llers\0224.opi_api.storage.v1.ListNvmeRemot" + + "eControllersRequest\0325.opi_api.storage.v1" + + ".ListNvmeRemoteControllersResponse\"(\202\323\344\223" + + "\002\031\022\027/v1/{parent=subsystems}\332A\006parent\022\252\001\n" + + "\027GetNvmeRemoteController\0222.opi_api.stora" + + "ge.v1.GetNvmeRemoteControllerRequest\032(.o" + + "pi_api.storage.v1.NvmeRemoteController\"1" + + "\202\323\344\223\002$\022\"/v1/{name=NvmeRemoteControllers/" + + "*}\332A\004name\022\245\001\n\031ResetNvmeRemoteController\022" + + "4.opi_api.storage.v1.ResetNvmeRemoteCont" + + "rollerRequest\032\026.google.protobuf.Empty\":\202" + + "\323\344\223\002-\"(/v1/{name=NvmeRemoteControllers/*" + + "}:reset:\001*\332A\004name\022\301\001\n\031StatsNvmeRemoteCon" + + "troller\0224.opi_api.storage.v1.StatsNvmeRe" + + "moteControllerRequest\0325.opi_api.storage." + + "v1.StatsNvmeRemoteControllerResponse\"7\202\323" + + "\344\223\002*\022(/v1/{name=NvmeRemoteControllers/*}" + + ":stats\332A\004name\022\257\001\n\030ListNvmeRemoteNamespac" + + "es\0223.opi_api.storage.v1.ListNvmeRemoteNa" + + "mespacesRequest\0324.opi_api.storage.v1.Lis" + + "tNvmeRemoteNamespacesResponse\"(\202\323\344\223\002\031\022\027/" + + "v1/{parent=subsystems}\332A\006parent\022\246\001\n\026GetN" + + "vmeRemoteNamespace\0221.opi_api.storage.v1." + + "GetNvmeRemoteNamespaceRequest\032\'.opi_api." + + "storage.v1.NvmeRemoteNamespace\"0\202\323\344\223\002#\022!" + + "/v1/{name=NvmeRemoteNamespaces/*}\332A\004name" + + "\022\222\001\n\016CreateNvmePath\022).opi_api.storage.v1" + + ".CreateNvmePathRequest\032\034.opi_api.storage" + + ".v1.NvmePath\"7\202\323\344\223\002\030\"\013/v1/volumes:\tnvme_" + + "path\332A\026nvme_path,nvme_path_id\022z\n\016DeleteN" + + "vmePath\022).opi_api.storage.v1.DeleteNvmeP" + + "athRequest\032\026.google.protobuf.Empty\"%\202\323\344\223" + + "\002\030*\026/v1/{name=NvmePaths/*}\332A\004name\022\245\001\n\016Up" + + "dateNvmePath\022).opi_api.storage.v1.Update" + + "NvmePathRequest\032\034.opi_api.storage.v1.Nvm" + + "ePath\"J\202\323\344\223\002,2\037/v1/{nvme_path.name=subsy" + + "stems}:\tnvme_path\332A\025nvme_path,update_mas" + + "k\022\216\001\n\rListNvmePaths\022(.opi_api.storage.v1" + + ".ListNvmePathsRequest\032).opi_api.storage." + + "v1.ListNvmePathsResponse\"(\202\323\344\223\002\031\022\027/v1/{p" + + "arent=subsystems}\332A\006parent\022z\n\013GetNvmePat" + + "h\022&.opi_api.storage.v1.GetNvmePathReques" + + "t\032\034.opi_api.storage.v1.NvmePath\"%\202\323\344\223\002\030\022" + + "\026/v1/{name=NvmePaths/*}\332A\004name\022\221\001\n\rStats" + + "NvmePath\022(.opi_api.storage.v1.StatsNvmeP" + + "athRequest\032).opi_api.storage.v1.StatsNvm" + + "ePathResponse\"+\202\323\344\223\002\036\022\034/v1/{name=NvmePat" + + "hs/*}:stats\332A\004nameBb\n\022opi_api.storage.v1" + + "B\023BackendNvmeTcpProtoP\001Z5github.com/opip" + + "roject/opi-api/storage/v1alpha1/gen/gob\006" + + "proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -332,135 +346,147 @@ public static void registerAllExtensions( internal_static_opi_api_storage_v1_NvmeRemoteController_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_NvmeRemoteController_descriptor, - new java.lang.String[] { "Name", "Multipath", "IoQueuesCount", "QueueSize", "Hdgst", "Ddgst", "Psk", }); - internal_static_opi_api_storage_v1_NvmePath_descriptor = + new java.lang.String[] { "Name", "Multipath", "IoQueuesCount", "QueueSize", "Tcp", }); + internal_static_opi_api_storage_v1_TcpController_descriptor = getDescriptor().getMessageTypes().get(1); + internal_static_opi_api_storage_v1_TcpController_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_opi_api_storage_v1_TcpController_descriptor, + new java.lang.String[] { "Hdgst", "Ddgst", "Psk", }); + internal_static_opi_api_storage_v1_NvmePath_descriptor = + getDescriptor().getMessageTypes().get(2); internal_static_opi_api_storage_v1_NvmePath_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_NvmePath_descriptor, - new java.lang.String[] { "Name", "ControllerNameRef", "Trtype", "Adrfam", "Traddr", "Trsvcid", "Subnqn", "SourceTraddr", "SourceTrsvcid", "Hostnqn", }); + new java.lang.String[] { "Name", "ControllerNameRef", "Trtype", "Traddr", "Fabrics", }); + internal_static_opi_api_storage_v1_FabricsPath_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_opi_api_storage_v1_FabricsPath_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_opi_api_storage_v1_FabricsPath_descriptor, + new java.lang.String[] { "Trsvcid", "Subnqn", "Adrfam", "SourceTraddr", "SourceTrsvcid", "Hostnqn", }); internal_static_opi_api_storage_v1_NvmeRemoteNamespace_descriptor = - getDescriptor().getMessageTypes().get(2); + getDescriptor().getMessageTypes().get(4); internal_static_opi_api_storage_v1_NvmeRemoteNamespace_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_NvmeRemoteNamespace_descriptor, new java.lang.String[] { "Name", "ControllerNameRef", "Nsid", "Nguid", "Eui64", "Uuid", }); internal_static_opi_api_storage_v1_CreateNvmeRemoteControllerRequest_descriptor = - getDescriptor().getMessageTypes().get(3); + getDescriptor().getMessageTypes().get(5); internal_static_opi_api_storage_v1_CreateNvmeRemoteControllerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_CreateNvmeRemoteControllerRequest_descriptor, new java.lang.String[] { "NvmeRemoteController", "NvmeRemoteControllerId", }); internal_static_opi_api_storage_v1_DeleteNvmeRemoteControllerRequest_descriptor = - getDescriptor().getMessageTypes().get(4); + getDescriptor().getMessageTypes().get(6); internal_static_opi_api_storage_v1_DeleteNvmeRemoteControllerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_DeleteNvmeRemoteControllerRequest_descriptor, new java.lang.String[] { "Name", "AllowMissing", }); internal_static_opi_api_storage_v1_UpdateNvmeRemoteControllerRequest_descriptor = - getDescriptor().getMessageTypes().get(5); + getDescriptor().getMessageTypes().get(7); internal_static_opi_api_storage_v1_UpdateNvmeRemoteControllerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_UpdateNvmeRemoteControllerRequest_descriptor, new java.lang.String[] { "NvmeRemoteController", "UpdateMask", "AllowMissing", }); internal_static_opi_api_storage_v1_ListNvmeRemoteControllersRequest_descriptor = - getDescriptor().getMessageTypes().get(6); + getDescriptor().getMessageTypes().get(8); internal_static_opi_api_storage_v1_ListNvmeRemoteControllersRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_ListNvmeRemoteControllersRequest_descriptor, new java.lang.String[] { "Parent", "PageSize", "PageToken", }); internal_static_opi_api_storage_v1_ListNvmeRemoteControllersResponse_descriptor = - getDescriptor().getMessageTypes().get(7); + getDescriptor().getMessageTypes().get(9); internal_static_opi_api_storage_v1_ListNvmeRemoteControllersResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_ListNvmeRemoteControllersResponse_descriptor, new java.lang.String[] { "NvmeRemoteControllers", "NextPageToken", }); internal_static_opi_api_storage_v1_GetNvmeRemoteControllerRequest_descriptor = - getDescriptor().getMessageTypes().get(8); + getDescriptor().getMessageTypes().get(10); internal_static_opi_api_storage_v1_GetNvmeRemoteControllerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_GetNvmeRemoteControllerRequest_descriptor, new java.lang.String[] { "Name", }); internal_static_opi_api_storage_v1_ResetNvmeRemoteControllerRequest_descriptor = - getDescriptor().getMessageTypes().get(9); + getDescriptor().getMessageTypes().get(11); internal_static_opi_api_storage_v1_ResetNvmeRemoteControllerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_ResetNvmeRemoteControllerRequest_descriptor, new java.lang.String[] { "Name", }); internal_static_opi_api_storage_v1_StatsNvmeRemoteControllerRequest_descriptor = - getDescriptor().getMessageTypes().get(10); + getDescriptor().getMessageTypes().get(12); internal_static_opi_api_storage_v1_StatsNvmeRemoteControllerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_StatsNvmeRemoteControllerRequest_descriptor, new java.lang.String[] { "Name", }); internal_static_opi_api_storage_v1_StatsNvmeRemoteControllerResponse_descriptor = - getDescriptor().getMessageTypes().get(11); + getDescriptor().getMessageTypes().get(13); internal_static_opi_api_storage_v1_StatsNvmeRemoteControllerResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_StatsNvmeRemoteControllerResponse_descriptor, new java.lang.String[] { "Stats", }); internal_static_opi_api_storage_v1_ListNvmeRemoteNamespacesRequest_descriptor = - getDescriptor().getMessageTypes().get(12); + getDescriptor().getMessageTypes().get(14); internal_static_opi_api_storage_v1_ListNvmeRemoteNamespacesRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_ListNvmeRemoteNamespacesRequest_descriptor, new java.lang.String[] { "Parent", "PageSize", "PageToken", }); internal_static_opi_api_storage_v1_ListNvmeRemoteNamespacesResponse_descriptor = - getDescriptor().getMessageTypes().get(13); + getDescriptor().getMessageTypes().get(15); internal_static_opi_api_storage_v1_ListNvmeRemoteNamespacesResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_ListNvmeRemoteNamespacesResponse_descriptor, new java.lang.String[] { "NvmeRemoteNamespaces", "NextPageToken", }); internal_static_opi_api_storage_v1_GetNvmeRemoteNamespaceRequest_descriptor = - getDescriptor().getMessageTypes().get(14); + getDescriptor().getMessageTypes().get(16); internal_static_opi_api_storage_v1_GetNvmeRemoteNamespaceRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_GetNvmeRemoteNamespaceRequest_descriptor, new java.lang.String[] { "Name", }); internal_static_opi_api_storage_v1_CreateNvmePathRequest_descriptor = - getDescriptor().getMessageTypes().get(15); + getDescriptor().getMessageTypes().get(17); internal_static_opi_api_storage_v1_CreateNvmePathRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_CreateNvmePathRequest_descriptor, new java.lang.String[] { "NvmePath", "NvmePathId", }); internal_static_opi_api_storage_v1_DeleteNvmePathRequest_descriptor = - getDescriptor().getMessageTypes().get(16); + getDescriptor().getMessageTypes().get(18); internal_static_opi_api_storage_v1_DeleteNvmePathRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_DeleteNvmePathRequest_descriptor, new java.lang.String[] { "Name", "AllowMissing", }); internal_static_opi_api_storage_v1_UpdateNvmePathRequest_descriptor = - getDescriptor().getMessageTypes().get(17); + getDescriptor().getMessageTypes().get(19); internal_static_opi_api_storage_v1_UpdateNvmePathRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_UpdateNvmePathRequest_descriptor, new java.lang.String[] { "NvmePath", "UpdateMask", "AllowMissing", }); internal_static_opi_api_storage_v1_ListNvmePathsRequest_descriptor = - getDescriptor().getMessageTypes().get(18); + getDescriptor().getMessageTypes().get(20); internal_static_opi_api_storage_v1_ListNvmePathsRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_ListNvmePathsRequest_descriptor, new java.lang.String[] { "Parent", "PageSize", "PageToken", }); internal_static_opi_api_storage_v1_ListNvmePathsResponse_descriptor = - getDescriptor().getMessageTypes().get(19); + getDescriptor().getMessageTypes().get(21); internal_static_opi_api_storage_v1_ListNvmePathsResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_ListNvmePathsResponse_descriptor, new java.lang.String[] { "NvmePaths", "NextPageToken", }); internal_static_opi_api_storage_v1_GetNvmePathRequest_descriptor = - getDescriptor().getMessageTypes().get(20); + getDescriptor().getMessageTypes().get(22); internal_static_opi_api_storage_v1_GetNvmePathRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_GetNvmePathRequest_descriptor, new java.lang.String[] { "Name", }); internal_static_opi_api_storage_v1_StatsNvmePathRequest_descriptor = - getDescriptor().getMessageTypes().get(21); + getDescriptor().getMessageTypes().get(23); internal_static_opi_api_storage_v1_StatsNvmePathRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_StatsNvmePathRequest_descriptor, new java.lang.String[] { "Name", }); internal_static_opi_api_storage_v1_StatsNvmePathResponse_descriptor = - getDescriptor().getMessageTypes().get(22); + getDescriptor().getMessageTypes().get(24); internal_static_opi_api_storage_v1_StatsNvmePathResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_StatsNvmePathResponse_descriptor, diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/FabricsPath.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/FabricsPath.java new file mode 100644 index 00000000..108738af --- /dev/null +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/FabricsPath.java @@ -0,0 +1,1177 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: backend_nvme_tcp.proto + +package opi_api.storage.v1; + +/** + * Protobuf type {@code opi_api.storage.v1.FabricsPath} + */ +public final class FabricsPath extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:opi_api.storage.v1.FabricsPath) + FabricsPathOrBuilder { +private static final long serialVersionUID = 0L; + // Use FabricsPath.newBuilder() to construct. + private FabricsPath(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private FabricsPath() { + subnqn_ = ""; + adrfam_ = 0; + sourceTraddr_ = ""; + hostnqn_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new FabricsPath(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private FabricsPath( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + + trsvcid_ = input.readInt64(); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + subnqn_ = s; + break; + } + case 24: { + int rawValue = input.readEnum(); + + adrfam_ = rawValue; + break; + } + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + + sourceTraddr_ = s; + break; + } + case 40: { + + sourceTrsvcid_ = input.readInt64(); + break; + } + case 50: { + java.lang.String s = input.readStringRequireUtf8(); + + hostnqn_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return opi_api.storage.v1.BackendNvmeTcpProto.internal_static_opi_api_storage_v1_FabricsPath_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return opi_api.storage.v1.BackendNvmeTcpProto.internal_static_opi_api_storage_v1_FabricsPath_fieldAccessorTable + .ensureFieldAccessorsInitialized( + opi_api.storage.v1.FabricsPath.class, opi_api.storage.v1.FabricsPath.Builder.class); + } + + public static final int TRSVCID_FIELD_NUMBER = 1; + private long trsvcid_; + /** + *
+   * Destination service id (e.g. Port)
+   * 
+ * + * int64 trsvcid = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return The trsvcid. + */ + @java.lang.Override + public long getTrsvcid() { + return trsvcid_; + } + + public static final int SUBNQN_FIELD_NUMBER = 2; + private volatile java.lang.Object subnqn_; + /** + *
+   * Subsystem NQN
+   * 
+ * + * string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return The subnqn. + */ + @java.lang.Override + public java.lang.String getSubnqn() { + java.lang.Object ref = subnqn_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + subnqn_ = s; + return s; + } + } + /** + *
+   * Subsystem NQN
+   * 
+ * + * string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return The bytes for subnqn. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSubnqnBytes() { + java.lang.Object ref = subnqn_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + subnqn_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ADRFAM_FIELD_NUMBER = 3; + private int adrfam_; + /** + * .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return The enum numeric value on the wire for adrfam. + */ + @java.lang.Override public int getAdrfamValue() { + return adrfam_; + } + /** + * .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return The adrfam. + */ + @java.lang.Override public opi_api.storage.v1.NvmeAddressFamily getAdrfam() { + @SuppressWarnings("deprecation") + opi_api.storage.v1.NvmeAddressFamily result = opi_api.storage.v1.NvmeAddressFamily.valueOf(adrfam_); + return result == null ? opi_api.storage.v1.NvmeAddressFamily.UNRECOGNIZED : result; + } + + public static final int SOURCE_TRADDR_FIELD_NUMBER = 4; + private volatile java.lang.Object sourceTraddr_; + /** + *
+   * Source address (e.g. IP of local NIC)
+   * 
+ * + * string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return The sourceTraddr. + */ + @java.lang.Override + public java.lang.String getSourceTraddr() { + java.lang.Object ref = sourceTraddr_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + sourceTraddr_ = s; + return s; + } + } + /** + *
+   * Source address (e.g. IP of local NIC)
+   * 
+ * + * string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return The bytes for sourceTraddr. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSourceTraddrBytes() { + java.lang.Object ref = sourceTraddr_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + sourceTraddr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SOURCE_TRSVCID_FIELD_NUMBER = 5; + private long sourceTrsvcid_; + /** + *
+   * Source port (e.g. Port of local NIC)
+   * 
+ * + * int64 source_trsvcid = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return The sourceTrsvcid. + */ + @java.lang.Override + public long getSourceTrsvcid() { + return sourceTrsvcid_; + } + + public static final int HOSTNQN_FIELD_NUMBER = 6; + private volatile java.lang.Object hostnqn_; + /** + *
+   * Host NQN
+   * 
+ * + * string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return The hostnqn. + */ + @java.lang.Override + public java.lang.String getHostnqn() { + java.lang.Object ref = hostnqn_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + hostnqn_ = s; + return s; + } + } + /** + *
+   * Host NQN
+   * 
+ * + * string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return The bytes for hostnqn. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getHostnqnBytes() { + java.lang.Object ref = hostnqn_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + hostnqn_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (trsvcid_ != 0L) { + output.writeInt64(1, trsvcid_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(subnqn_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, subnqn_); + } + if (adrfam_ != opi_api.storage.v1.NvmeAddressFamily.NVME_ADDRESS_FAMILY_UNSPECIFIED.getNumber()) { + output.writeEnum(3, adrfam_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sourceTraddr_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, sourceTraddr_); + } + if (sourceTrsvcid_ != 0L) { + output.writeInt64(5, sourceTrsvcid_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(hostnqn_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 6, hostnqn_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (trsvcid_ != 0L) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(1, trsvcid_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(subnqn_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, subnqn_); + } + if (adrfam_ != opi_api.storage.v1.NvmeAddressFamily.NVME_ADDRESS_FAMILY_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(3, adrfam_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sourceTraddr_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, sourceTraddr_); + } + if (sourceTrsvcid_ != 0L) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(5, sourceTrsvcid_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(hostnqn_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, hostnqn_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof opi_api.storage.v1.FabricsPath)) { + return super.equals(obj); + } + opi_api.storage.v1.FabricsPath other = (opi_api.storage.v1.FabricsPath) obj; + + if (getTrsvcid() + != other.getTrsvcid()) return false; + if (!getSubnqn() + .equals(other.getSubnqn())) return false; + if (adrfam_ != other.adrfam_) return false; + if (!getSourceTraddr() + .equals(other.getSourceTraddr())) return false; + if (getSourceTrsvcid() + != other.getSourceTrsvcid()) return false; + if (!getHostnqn() + .equals(other.getHostnqn())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TRSVCID_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getTrsvcid()); + hash = (37 * hash) + SUBNQN_FIELD_NUMBER; + hash = (53 * hash) + getSubnqn().hashCode(); + hash = (37 * hash) + ADRFAM_FIELD_NUMBER; + hash = (53 * hash) + adrfam_; + hash = (37 * hash) + SOURCE_TRADDR_FIELD_NUMBER; + hash = (53 * hash) + getSourceTraddr().hashCode(); + hash = (37 * hash) + SOURCE_TRSVCID_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getSourceTrsvcid()); + hash = (37 * hash) + HOSTNQN_FIELD_NUMBER; + hash = (53 * hash) + getHostnqn().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static opi_api.storage.v1.FabricsPath parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.FabricsPath parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static opi_api.storage.v1.FabricsPath parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.FabricsPath parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static opi_api.storage.v1.FabricsPath parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.FabricsPath parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static opi_api.storage.v1.FabricsPath parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static opi_api.storage.v1.FabricsPath parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static opi_api.storage.v1.FabricsPath parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static opi_api.storage.v1.FabricsPath parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static opi_api.storage.v1.FabricsPath parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static opi_api.storage.v1.FabricsPath parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(opi_api.storage.v1.FabricsPath prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code opi_api.storage.v1.FabricsPath} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:opi_api.storage.v1.FabricsPath) + opi_api.storage.v1.FabricsPathOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return opi_api.storage.v1.BackendNvmeTcpProto.internal_static_opi_api_storage_v1_FabricsPath_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return opi_api.storage.v1.BackendNvmeTcpProto.internal_static_opi_api_storage_v1_FabricsPath_fieldAccessorTable + .ensureFieldAccessorsInitialized( + opi_api.storage.v1.FabricsPath.class, opi_api.storage.v1.FabricsPath.Builder.class); + } + + // Construct using opi_api.storage.v1.FabricsPath.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + trsvcid_ = 0L; + + subnqn_ = ""; + + adrfam_ = 0; + + sourceTraddr_ = ""; + + sourceTrsvcid_ = 0L; + + hostnqn_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return opi_api.storage.v1.BackendNvmeTcpProto.internal_static_opi_api_storage_v1_FabricsPath_descriptor; + } + + @java.lang.Override + public opi_api.storage.v1.FabricsPath getDefaultInstanceForType() { + return opi_api.storage.v1.FabricsPath.getDefaultInstance(); + } + + @java.lang.Override + public opi_api.storage.v1.FabricsPath build() { + opi_api.storage.v1.FabricsPath result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public opi_api.storage.v1.FabricsPath buildPartial() { + opi_api.storage.v1.FabricsPath result = new opi_api.storage.v1.FabricsPath(this); + result.trsvcid_ = trsvcid_; + result.subnqn_ = subnqn_; + result.adrfam_ = adrfam_; + result.sourceTraddr_ = sourceTraddr_; + result.sourceTrsvcid_ = sourceTrsvcid_; + result.hostnqn_ = hostnqn_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof opi_api.storage.v1.FabricsPath) { + return mergeFrom((opi_api.storage.v1.FabricsPath)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(opi_api.storage.v1.FabricsPath other) { + if (other == opi_api.storage.v1.FabricsPath.getDefaultInstance()) return this; + if (other.getTrsvcid() != 0L) { + setTrsvcid(other.getTrsvcid()); + } + if (!other.getSubnqn().isEmpty()) { + subnqn_ = other.subnqn_; + onChanged(); + } + if (other.adrfam_ != 0) { + setAdrfamValue(other.getAdrfamValue()); + } + if (!other.getSourceTraddr().isEmpty()) { + sourceTraddr_ = other.sourceTraddr_; + onChanged(); + } + if (other.getSourceTrsvcid() != 0L) { + setSourceTrsvcid(other.getSourceTrsvcid()); + } + if (!other.getHostnqn().isEmpty()) { + hostnqn_ = other.hostnqn_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + opi_api.storage.v1.FabricsPath parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (opi_api.storage.v1.FabricsPath) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private long trsvcid_ ; + /** + *
+     * Destination service id (e.g. Port)
+     * 
+ * + * int64 trsvcid = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return The trsvcid. + */ + @java.lang.Override + public long getTrsvcid() { + return trsvcid_; + } + /** + *
+     * Destination service id (e.g. Port)
+     * 
+ * + * int64 trsvcid = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param value The trsvcid to set. + * @return This builder for chaining. + */ + public Builder setTrsvcid(long value) { + + trsvcid_ = value; + onChanged(); + return this; + } + /** + *
+     * Destination service id (e.g. Port)
+     * 
+ * + * int64 trsvcid = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return This builder for chaining. + */ + public Builder clearTrsvcid() { + + trsvcid_ = 0L; + onChanged(); + return this; + } + + private java.lang.Object subnqn_ = ""; + /** + *
+     * Subsystem NQN
+     * 
+ * + * string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return The subnqn. + */ + public java.lang.String getSubnqn() { + java.lang.Object ref = subnqn_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + subnqn_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * Subsystem NQN
+     * 
+ * + * string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return The bytes for subnqn. + */ + public com.google.protobuf.ByteString + getSubnqnBytes() { + java.lang.Object ref = subnqn_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + subnqn_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * Subsystem NQN
+     * 
+ * + * string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param value The subnqn to set. + * @return This builder for chaining. + */ + public Builder setSubnqn( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + subnqn_ = value; + onChanged(); + return this; + } + /** + *
+     * Subsystem NQN
+     * 
+ * + * string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return This builder for chaining. + */ + public Builder clearSubnqn() { + + subnqn_ = getDefaultInstance().getSubnqn(); + onChanged(); + return this; + } + /** + *
+     * Subsystem NQN
+     * 
+ * + * string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param value The bytes for subnqn to set. + * @return This builder for chaining. + */ + public Builder setSubnqnBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + subnqn_ = value; + onChanged(); + return this; + } + + private int adrfam_ = 0; + /** + * .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return The enum numeric value on the wire for adrfam. + */ + @java.lang.Override public int getAdrfamValue() { + return adrfam_; + } + /** + * .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; + * @param value The enum numeric value on the wire for adrfam to set. + * @return This builder for chaining. + */ + public Builder setAdrfamValue(int value) { + + adrfam_ = value; + onChanged(); + return this; + } + /** + * .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return The adrfam. + */ + @java.lang.Override + public opi_api.storage.v1.NvmeAddressFamily getAdrfam() { + @SuppressWarnings("deprecation") + opi_api.storage.v1.NvmeAddressFamily result = opi_api.storage.v1.NvmeAddressFamily.valueOf(adrfam_); + return result == null ? opi_api.storage.v1.NvmeAddressFamily.UNRECOGNIZED : result; + } + /** + * .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; + * @param value The adrfam to set. + * @return This builder for chaining. + */ + public Builder setAdrfam(opi_api.storage.v1.NvmeAddressFamily value) { + if (value == null) { + throw new NullPointerException(); + } + + adrfam_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return This builder for chaining. + */ + public Builder clearAdrfam() { + + adrfam_ = 0; + onChanged(); + return this; + } + + private java.lang.Object sourceTraddr_ = ""; + /** + *
+     * Source address (e.g. IP of local NIC)
+     * 
+ * + * string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return The sourceTraddr. + */ + public java.lang.String getSourceTraddr() { + java.lang.Object ref = sourceTraddr_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + sourceTraddr_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * Source address (e.g. IP of local NIC)
+     * 
+ * + * string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return The bytes for sourceTraddr. + */ + public com.google.protobuf.ByteString + getSourceTraddrBytes() { + java.lang.Object ref = sourceTraddr_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + sourceTraddr_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * Source address (e.g. IP of local NIC)
+     * 
+ * + * string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param value The sourceTraddr to set. + * @return This builder for chaining. + */ + public Builder setSourceTraddr( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + sourceTraddr_ = value; + onChanged(); + return this; + } + /** + *
+     * Source address (e.g. IP of local NIC)
+     * 
+ * + * string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return This builder for chaining. + */ + public Builder clearSourceTraddr() { + + sourceTraddr_ = getDefaultInstance().getSourceTraddr(); + onChanged(); + return this; + } + /** + *
+     * Source address (e.g. IP of local NIC)
+     * 
+ * + * string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param value The bytes for sourceTraddr to set. + * @return This builder for chaining. + */ + public Builder setSourceTraddrBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + sourceTraddr_ = value; + onChanged(); + return this; + } + + private long sourceTrsvcid_ ; + /** + *
+     * Source port (e.g. Port of local NIC)
+     * 
+ * + * int64 source_trsvcid = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return The sourceTrsvcid. + */ + @java.lang.Override + public long getSourceTrsvcid() { + return sourceTrsvcid_; + } + /** + *
+     * Source port (e.g. Port of local NIC)
+     * 
+ * + * int64 source_trsvcid = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param value The sourceTrsvcid to set. + * @return This builder for chaining. + */ + public Builder setSourceTrsvcid(long value) { + + sourceTrsvcid_ = value; + onChanged(); + return this; + } + /** + *
+     * Source port (e.g. Port of local NIC)
+     * 
+ * + * int64 source_trsvcid = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return This builder for chaining. + */ + public Builder clearSourceTrsvcid() { + + sourceTrsvcid_ = 0L; + onChanged(); + return this; + } + + private java.lang.Object hostnqn_ = ""; + /** + *
+     * Host NQN
+     * 
+ * + * string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return The hostnqn. + */ + public java.lang.String getHostnqn() { + java.lang.Object ref = hostnqn_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + hostnqn_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + *
+     * Host NQN
+     * 
+ * + * string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return The bytes for hostnqn. + */ + public com.google.protobuf.ByteString + getHostnqnBytes() { + java.lang.Object ref = hostnqn_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + hostnqn_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + *
+     * Host NQN
+     * 
+ * + * string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @param value The hostnqn to set. + * @return This builder for chaining. + */ + public Builder setHostnqn( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + hostnqn_ = value; + onChanged(); + return this; + } + /** + *
+     * Host NQN
+     * 
+ * + * string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return This builder for chaining. + */ + public Builder clearHostnqn() { + + hostnqn_ = getDefaultInstance().getHostnqn(); + onChanged(); + return this; + } + /** + *
+     * Host NQN
+     * 
+ * + * string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @param value The bytes for hostnqn to set. + * @return This builder for chaining. + */ + public Builder setHostnqnBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + hostnqn_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:opi_api.storage.v1.FabricsPath) + } + + // @@protoc_insertion_point(class_scope:opi_api.storage.v1.FabricsPath) + private static final opi_api.storage.v1.FabricsPath DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new opi_api.storage.v1.FabricsPath(); + } + + public static opi_api.storage.v1.FabricsPath getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public FabricsPath parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new FabricsPath(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public opi_api.storage.v1.FabricsPath getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/FabricsPathOrBuilder.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/FabricsPathOrBuilder.java new file mode 100644 index 00000000..82bb2987 --- /dev/null +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/FabricsPathOrBuilder.java @@ -0,0 +1,100 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: backend_nvme_tcp.proto + +package opi_api.storage.v1; + +public interface FabricsPathOrBuilder extends + // @@protoc_insertion_point(interface_extends:opi_api.storage.v1.FabricsPath) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * Destination service id (e.g. Port)
+   * 
+ * + * int64 trsvcid = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return The trsvcid. + */ + long getTrsvcid(); + + /** + *
+   * Subsystem NQN
+   * 
+ * + * string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return The subnqn. + */ + java.lang.String getSubnqn(); + /** + *
+   * Subsystem NQN
+   * 
+ * + * string subnqn = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return The bytes for subnqn. + */ + com.google.protobuf.ByteString + getSubnqnBytes(); + + /** + * .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return The enum numeric value on the wire for adrfam. + */ + int getAdrfamValue(); + /** + * .opi_api.storage.v1.NvmeAddressFamily adrfam = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return The adrfam. + */ + opi_api.storage.v1.NvmeAddressFamily getAdrfam(); + + /** + *
+   * Source address (e.g. IP of local NIC)
+   * 
+ * + * string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return The sourceTraddr. + */ + java.lang.String getSourceTraddr(); + /** + *
+   * Source address (e.g. IP of local NIC)
+   * 
+ * + * string source_traddr = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return The bytes for sourceTraddr. + */ + com.google.protobuf.ByteString + getSourceTraddrBytes(); + + /** + *
+   * Source port (e.g. Port of local NIC)
+   * 
+ * + * int64 source_trsvcid = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return The sourceTrsvcid. + */ + long getSourceTrsvcid(); + + /** + *
+   * Host NQN
+   * 
+ * + * string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return The hostnqn. + */ + java.lang.String getHostnqn(); + /** + *
+   * Host NQN
+   * 
+ * + * string hostnqn = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return The bytes for hostnqn. + */ + com.google.protobuf.ByteString + getHostnqnBytes(); +} diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmePath.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmePath.java index 666faa77..d4541db0 100644 --- a/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmePath.java +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmePath.java @@ -19,11 +19,7 @@ private NvmePath() { name_ = ""; controllerNameRef_ = ""; trtype_ = 0; - adrfam_ = 0; traddr_ = ""; - subnqn_ = ""; - sourceTraddr_ = ""; - hostnqn_ = ""; } @java.lang.Override @@ -74,44 +70,23 @@ private NvmePath( trtype_ = rawValue; break; } - case 32: { - int rawValue = input.readEnum(); - - adrfam_ = rawValue; - break; - } - case 42: { + case 34: { java.lang.String s = input.readStringRequireUtf8(); traddr_ = s; break; } - case 48: { - - trsvcid_ = input.readInt64(); - break; - } - case 58: { - java.lang.String s = input.readStringRequireUtf8(); - - subnqn_ = s; - break; - } - case 66: { - java.lang.String s = input.readStringRequireUtf8(); - - sourceTraddr_ = s; - break; - } - case 72: { - - sourceTrsvcid_ = input.readInt64(); - break; - } - case 82: { - java.lang.String s = input.readStringRequireUtf8(); + case 42: { + opi_api.storage.v1.FabricsPath.Builder subBuilder = null; + if (fabrics_ != null) { + subBuilder = fabrics_.toBuilder(); + } + fabrics_ = input.readMessage(opi_api.storage.v1.FabricsPath.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(fabrics_); + fabrics_ = subBuilder.buildPartial(); + } - hostnqn_ = s; break; } default: { @@ -255,33 +230,14 @@ public java.lang.String getControllerNameRef() { return result == null ? opi_api.storage.v1.NvmeTransportType.UNRECOGNIZED : result; } - public static final int ADRFAM_FIELD_NUMBER = 4; - private int adrfam_; - /** - * .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; - * @return The enum numeric value on the wire for adrfam. - */ - @java.lang.Override public int getAdrfamValue() { - return adrfam_; - } - /** - * .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; - * @return The adrfam. - */ - @java.lang.Override public opi_api.storage.v1.NvmeAddressFamily getAdrfam() { - @SuppressWarnings("deprecation") - opi_api.storage.v1.NvmeAddressFamily result = opi_api.storage.v1.NvmeAddressFamily.valueOf(adrfam_); - return result == null ? opi_api.storage.v1.NvmeAddressFamily.UNRECOGNIZED : result; - } - - public static final int TRADDR_FIELD_NUMBER = 5; + public static final int TRADDR_FIELD_NUMBER = 4; private volatile java.lang.Object traddr_; /** *
    * Destination address (e.g. IP address, BDF for local PCIe)
    * 
* - * string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; + * string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; * @return The traddr. */ @java.lang.Override @@ -302,7 +258,7 @@ public java.lang.String getTraddr() { * Destination address (e.g. IP address, BDF for local PCIe) * * - * string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; + * string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; * @return The bytes for traddr. */ @java.lang.Override @@ -320,172 +276,42 @@ public java.lang.String getTraddr() { } } - public static final int TRSVCID_FIELD_NUMBER = 6; - private long trsvcid_; - /** - *
-   * Destination service id (e.g. Port)
-   * 
- * - * int64 trsvcid = 6 [(.google.api.field_behavior) = OPTIONAL]; - * @return The trsvcid. - */ - @java.lang.Override - public long getTrsvcid() { - return trsvcid_; - } - - public static final int SUBNQN_FIELD_NUMBER = 7; - private volatile java.lang.Object subnqn_; - /** - *
-   * Subsystem NQN
-   * 
- * - * string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @return The subnqn. - */ - @java.lang.Override - public java.lang.String getSubnqn() { - java.lang.Object ref = subnqn_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - subnqn_ = s; - return s; - } - } - /** - *
-   * Subsystem NQN
-   * 
- * - * string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @return The bytes for subnqn. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getSubnqnBytes() { - java.lang.Object ref = subnqn_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - subnqn_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - public static final int SOURCE_TRADDR_FIELD_NUMBER = 8; - private volatile java.lang.Object sourceTraddr_; + public static final int FABRICS_FIELD_NUMBER = 5; + private opi_api.storage.v1.FabricsPath fabrics_; /** *
-   * Source address (e.g. IP of local NIC)
+   * Not applicable for local PCIe. Required for Nvme over fabrics transport types
    * 
* - * string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; - * @return The sourceTraddr. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return Whether the fabrics field is set. */ @java.lang.Override - public java.lang.String getSourceTraddr() { - java.lang.Object ref = sourceTraddr_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - sourceTraddr_ = s; - return s; - } + public boolean hasFabrics() { + return fabrics_ != null; } /** *
-   * Source address (e.g. IP of local NIC)
+   * Not applicable for local PCIe. Required for Nvme over fabrics transport types
    * 
* - * string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; - * @return The bytes for sourceTraddr. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return The fabrics. */ @java.lang.Override - public com.google.protobuf.ByteString - getSourceTraddrBytes() { - java.lang.Object ref = sourceTraddr_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - sourceTraddr_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public opi_api.storage.v1.FabricsPath getFabrics() { + return fabrics_ == null ? opi_api.storage.v1.FabricsPath.getDefaultInstance() : fabrics_; } - - public static final int SOURCE_TRSVCID_FIELD_NUMBER = 9; - private long sourceTrsvcid_; /** *
-   * Source port (e.g. Port of local NIC)
+   * Not applicable for local PCIe. Required for Nvme over fabrics transport types
    * 
* - * int64 source_trsvcid = 9 [(.google.api.field_behavior) = OPTIONAL]; - * @return The sourceTrsvcid. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override - public long getSourceTrsvcid() { - return sourceTrsvcid_; - } - - public static final int HOSTNQN_FIELD_NUMBER = 10; - private volatile java.lang.Object hostnqn_; - /** - *
-   * Host NQN
-   * 
- * - * string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; - * @return The hostnqn. - */ - @java.lang.Override - public java.lang.String getHostnqn() { - java.lang.Object ref = hostnqn_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - hostnqn_ = s; - return s; - } - } - /** - *
-   * Host NQN
-   * 
- * - * string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; - * @return The bytes for hostnqn. - */ - @java.lang.Override - public com.google.protobuf.ByteString - getHostnqnBytes() { - java.lang.Object ref = hostnqn_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - hostnqn_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public opi_api.storage.v1.FabricsPathOrBuilder getFabricsOrBuilder() { + return getFabrics(); } private byte memoizedIsInitialized = -1; @@ -511,26 +337,11 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (trtype_ != opi_api.storage.v1.NvmeTransportType.NVME_TRANSPORT_TYPE_UNSPECIFIED.getNumber()) { output.writeEnum(3, trtype_); } - if (adrfam_ != opi_api.storage.v1.NvmeAddressFamily.NVME_ADDRESS_FAMILY_UNSPECIFIED.getNumber()) { - output.writeEnum(4, adrfam_); - } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(traddr_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 5, traddr_); - } - if (trsvcid_ != 0L) { - output.writeInt64(6, trsvcid_); + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, traddr_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(subnqn_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 7, subnqn_); - } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sourceTraddr_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 8, sourceTraddr_); - } - if (sourceTrsvcid_ != 0L) { - output.writeInt64(9, sourceTrsvcid_); - } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(hostnqn_)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 10, hostnqn_); + if (fabrics_ != null) { + output.writeMessage(5, getFabrics()); } unknownFields.writeTo(output); } @@ -551,29 +362,12 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeEnumSize(3, trtype_); } - if (adrfam_ != opi_api.storage.v1.NvmeAddressFamily.NVME_ADDRESS_FAMILY_UNSPECIFIED.getNumber()) { - size += com.google.protobuf.CodedOutputStream - .computeEnumSize(4, adrfam_); - } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(traddr_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, traddr_); - } - if (trsvcid_ != 0L) { - size += com.google.protobuf.CodedOutputStream - .computeInt64Size(6, trsvcid_); - } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(subnqn_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, subnqn_); - } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sourceTraddr_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, sourceTraddr_); + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, traddr_); } - if (sourceTrsvcid_ != 0L) { + if (fabrics_ != null) { size += com.google.protobuf.CodedOutputStream - .computeInt64Size(9, sourceTrsvcid_); - } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(hostnqn_)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, hostnqn_); + .computeMessageSize(5, getFabrics()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -595,19 +389,13 @@ public boolean equals(final java.lang.Object obj) { if (!getControllerNameRef() .equals(other.getControllerNameRef())) return false; if (trtype_ != other.trtype_) return false; - if (adrfam_ != other.adrfam_) return false; if (!getTraddr() .equals(other.getTraddr())) return false; - if (getTrsvcid() - != other.getTrsvcid()) return false; - if (!getSubnqn() - .equals(other.getSubnqn())) return false; - if (!getSourceTraddr() - .equals(other.getSourceTraddr())) return false; - if (getSourceTrsvcid() - != other.getSourceTrsvcid()) return false; - if (!getHostnqn() - .equals(other.getHostnqn())) return false; + if (hasFabrics() != other.hasFabrics()) return false; + if (hasFabrics()) { + if (!getFabrics() + .equals(other.getFabrics())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -625,22 +413,12 @@ public int hashCode() { hash = (53 * hash) + getControllerNameRef().hashCode(); hash = (37 * hash) + TRTYPE_FIELD_NUMBER; hash = (53 * hash) + trtype_; - hash = (37 * hash) + ADRFAM_FIELD_NUMBER; - hash = (53 * hash) + adrfam_; hash = (37 * hash) + TRADDR_FIELD_NUMBER; hash = (53 * hash) + getTraddr().hashCode(); - hash = (37 * hash) + TRSVCID_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getTrsvcid()); - hash = (37 * hash) + SUBNQN_FIELD_NUMBER; - hash = (53 * hash) + getSubnqn().hashCode(); - hash = (37 * hash) + SOURCE_TRADDR_FIELD_NUMBER; - hash = (53 * hash) + getSourceTraddr().hashCode(); - hash = (37 * hash) + SOURCE_TRSVCID_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getSourceTrsvcid()); - hash = (37 * hash) + HOSTNQN_FIELD_NUMBER; - hash = (53 * hash) + getHostnqn().hashCode(); + if (hasFabrics()) { + hash = (37 * hash) + FABRICS_FIELD_NUMBER; + hash = (53 * hash) + getFabrics().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -780,20 +558,14 @@ public Builder clear() { trtype_ = 0; - adrfam_ = 0; - traddr_ = ""; - trsvcid_ = 0L; - - subnqn_ = ""; - - sourceTraddr_ = ""; - - sourceTrsvcid_ = 0L; - - hostnqn_ = ""; - + if (fabricsBuilder_ == null) { + fabrics_ = null; + } else { + fabrics_ = null; + fabricsBuilder_ = null; + } return this; } @@ -823,13 +595,12 @@ public opi_api.storage.v1.NvmePath buildPartial() { result.name_ = name_; result.controllerNameRef_ = controllerNameRef_; result.trtype_ = trtype_; - result.adrfam_ = adrfam_; result.traddr_ = traddr_; - result.trsvcid_ = trsvcid_; - result.subnqn_ = subnqn_; - result.sourceTraddr_ = sourceTraddr_; - result.sourceTrsvcid_ = sourceTrsvcid_; - result.hostnqn_ = hostnqn_; + if (fabricsBuilder_ == null) { + result.fabrics_ = fabrics_; + } else { + result.fabrics_ = fabricsBuilder_.build(); + } onBuilt(); return result; } @@ -889,30 +660,12 @@ public Builder mergeFrom(opi_api.storage.v1.NvmePath other) { if (other.trtype_ != 0) { setTrtypeValue(other.getTrtypeValue()); } - if (other.adrfam_ != 0) { - setAdrfamValue(other.getAdrfamValue()); - } if (!other.getTraddr().isEmpty()) { traddr_ = other.traddr_; onChanged(); } - if (other.getTrsvcid() != 0L) { - setTrsvcid(other.getTrsvcid()); - } - if (!other.getSubnqn().isEmpty()) { - subnqn_ = other.subnqn_; - onChanged(); - } - if (!other.getSourceTraddr().isEmpty()) { - sourceTraddr_ = other.sourceTraddr_; - onChanged(); - } - if (other.getSourceTrsvcid() != 0L) { - setSourceTrsvcid(other.getSourceTrsvcid()); - } - if (!other.getHostnqn().isEmpty()) { - hostnqn_ = other.hostnqn_; - onChanged(); + if (other.hasFabrics()) { + mergeFabrics(other.getFabrics()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -1179,67 +932,13 @@ public Builder clearTrtype() { return this; } - private int adrfam_ = 0; - /** - * .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; - * @return The enum numeric value on the wire for adrfam. - */ - @java.lang.Override public int getAdrfamValue() { - return adrfam_; - } - /** - * .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The enum numeric value on the wire for adrfam to set. - * @return This builder for chaining. - */ - public Builder setAdrfamValue(int value) { - - adrfam_ = value; - onChanged(); - return this; - } - /** - * .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; - * @return The adrfam. - */ - @java.lang.Override - public opi_api.storage.v1.NvmeAddressFamily getAdrfam() { - @SuppressWarnings("deprecation") - opi_api.storage.v1.NvmeAddressFamily result = opi_api.storage.v1.NvmeAddressFamily.valueOf(adrfam_); - return result == null ? opi_api.storage.v1.NvmeAddressFamily.UNRECOGNIZED : result; - } - /** - * .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The adrfam to set. - * @return This builder for chaining. - */ - public Builder setAdrfam(opi_api.storage.v1.NvmeAddressFamily value) { - if (value == null) { - throw new NullPointerException(); - } - - adrfam_ = value.getNumber(); - onChanged(); - return this; - } - /** - * .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; - * @return This builder for chaining. - */ - public Builder clearAdrfam() { - - adrfam_ = 0; - onChanged(); - return this; - } - private java.lang.Object traddr_ = ""; /** *
      * Destination address (e.g. IP address, BDF for local PCIe)
      * 
* - * string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; + * string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; * @return The traddr. */ public java.lang.String getTraddr() { @@ -1259,7 +958,7 @@ public java.lang.String getTraddr() { * Destination address (e.g. IP address, BDF for local PCIe) * * - * string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; + * string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; * @return The bytes for traddr. */ public com.google.protobuf.ByteString @@ -1280,7 +979,7 @@ public java.lang.String getTraddr() { * Destination address (e.g. IP address, BDF for local PCIe) * * - * string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; + * string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; * @param value The traddr to set. * @return This builder for chaining. */ @@ -1299,7 +998,7 @@ public Builder setTraddr( * Destination address (e.g. IP address, BDF for local PCIe) * * - * string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; + * string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; * @return This builder for chaining. */ public Builder clearTraddr() { @@ -1313,7 +1012,7 @@ public Builder clearTraddr() { * Destination address (e.g. IP address, BDF for local PCIe) * * - * string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; + * string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; * @param value The bytes for traddr to set. * @return This builder for chaining. */ @@ -1329,378 +1028,159 @@ public Builder setTraddrBytes( return this; } - private long trsvcid_ ; + private opi_api.storage.v1.FabricsPath fabrics_; + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.storage.v1.FabricsPath, opi_api.storage.v1.FabricsPath.Builder, opi_api.storage.v1.FabricsPathOrBuilder> fabricsBuilder_; /** *
-     * Destination service id (e.g. Port)
+     * Not applicable for local PCIe. Required for Nvme over fabrics transport types
      * 
* - * int64 trsvcid = 6 [(.google.api.field_behavior) = OPTIONAL]; - * @return The trsvcid. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return Whether the fabrics field is set. */ - @java.lang.Override - public long getTrsvcid() { - return trsvcid_; + public boolean hasFabrics() { + return fabricsBuilder_ != null || fabrics_ != null; } /** *
-     * Destination service id (e.g. Port)
+     * Not applicable for local PCIe. Required for Nvme over fabrics transport types
      * 
* - * int64 trsvcid = 6 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The trsvcid to set. - * @return This builder for chaining. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return The fabrics. */ - public Builder setTrsvcid(long value) { - - trsvcid_ = value; - onChanged(); - return this; - } - /** - *
-     * Destination service id (e.g. Port)
-     * 
- * - * int64 trsvcid = 6 [(.google.api.field_behavior) = OPTIONAL]; - * @return This builder for chaining. - */ - public Builder clearTrsvcid() { - - trsvcid_ = 0L; - onChanged(); - return this; - } - - private java.lang.Object subnqn_ = ""; - /** - *
-     * Subsystem NQN
-     * 
- * - * string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @return The subnqn. - */ - public java.lang.String getSubnqn() { - java.lang.Object ref = subnqn_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - subnqn_ = s; - return s; + public opi_api.storage.v1.FabricsPath getFabrics() { + if (fabricsBuilder_ == null) { + return fabrics_ == null ? opi_api.storage.v1.FabricsPath.getDefaultInstance() : fabrics_; } else { - return (java.lang.String) ref; + return fabricsBuilder_.getMessage(); } } /** *
-     * Subsystem NQN
+     * Not applicable for local PCIe. Required for Nvme over fabrics transport types
      * 
* - * string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @return The bytes for subnqn. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - public com.google.protobuf.ByteString - getSubnqnBytes() { - java.lang.Object ref = subnqn_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - subnqn_ = b; - return b; + public Builder setFabrics(opi_api.storage.v1.FabricsPath value) { + if (fabricsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + fabrics_ = value; + onChanged(); } else { - return (com.google.protobuf.ByteString) ref; + fabricsBuilder_.setMessage(value); } - } - /** - *
-     * Subsystem NQN
-     * 
- * - * string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The subnqn to set. - * @return This builder for chaining. - */ - public Builder setSubnqn( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - subnqn_ = value; - onChanged(); - return this; - } - /** - *
-     * Subsystem NQN
-     * 
- * - * string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @return This builder for chaining. - */ - public Builder clearSubnqn() { - - subnqn_ = getDefaultInstance().getSubnqn(); - onChanged(); - return this; - } - /** - *
-     * Subsystem NQN
-     * 
- * - * string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The bytes for subnqn to set. - * @return This builder for chaining. - */ - public Builder setSubnqnBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - subnqn_ = value; - onChanged(); + return this; } - - private java.lang.Object sourceTraddr_ = ""; /** *
-     * Source address (e.g. IP of local NIC)
+     * Not applicable for local PCIe. Required for Nvme over fabrics transport types
      * 
* - * string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; - * @return The sourceTraddr. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - public java.lang.String getSourceTraddr() { - java.lang.Object ref = sourceTraddr_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - sourceTraddr_ = s; - return s; + public Builder setFabrics( + opi_api.storage.v1.FabricsPath.Builder builderForValue) { + if (fabricsBuilder_ == null) { + fabrics_ = builderForValue.build(); + onChanged(); } else { - return (java.lang.String) ref; + fabricsBuilder_.setMessage(builderForValue.build()); } + + return this; } /** *
-     * Source address (e.g. IP of local NIC)
+     * Not applicable for local PCIe. Required for Nvme over fabrics transport types
      * 
* - * string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; - * @return The bytes for sourceTraddr. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - public com.google.protobuf.ByteString - getSourceTraddrBytes() { - java.lang.Object ref = sourceTraddr_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - sourceTraddr_ = b; - return b; + public Builder mergeFabrics(opi_api.storage.v1.FabricsPath value) { + if (fabricsBuilder_ == null) { + if (fabrics_ != null) { + fabrics_ = + opi_api.storage.v1.FabricsPath.newBuilder(fabrics_).mergeFrom(value).buildPartial(); + } else { + fabrics_ = value; + } + onChanged(); } else { - return (com.google.protobuf.ByteString) ref; + fabricsBuilder_.mergeFrom(value); } - } - /** - *
-     * Source address (e.g. IP of local NIC)
-     * 
- * - * string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The sourceTraddr to set. - * @return This builder for chaining. - */ - public Builder setSourceTraddr( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - sourceTraddr_ = value; - onChanged(); + return this; } /** *
-     * Source address (e.g. IP of local NIC)
+     * Not applicable for local PCIe. Required for Nvme over fabrics transport types
      * 
* - * string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; - * @return This builder for chaining. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - public Builder clearSourceTraddr() { - - sourceTraddr_ = getDefaultInstance().getSourceTraddr(); - onChanged(); - return this; - } - /** - *
-     * Source address (e.g. IP of local NIC)
-     * 
- * - * string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The bytes for sourceTraddr to set. - * @return This builder for chaining. - */ - public Builder setSourceTraddrBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - sourceTraddr_ = value; - onChanged(); - return this; - } + public Builder clearFabrics() { + if (fabricsBuilder_ == null) { + fabrics_ = null; + onChanged(); + } else { + fabrics_ = null; + fabricsBuilder_ = null; + } - private long sourceTrsvcid_ ; - /** - *
-     * Source port (e.g. Port of local NIC)
-     * 
- * - * int64 source_trsvcid = 9 [(.google.api.field_behavior) = OPTIONAL]; - * @return The sourceTrsvcid. - */ - @java.lang.Override - public long getSourceTrsvcid() { - return sourceTrsvcid_; - } - /** - *
-     * Source port (e.g. Port of local NIC)
-     * 
- * - * int64 source_trsvcid = 9 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The sourceTrsvcid to set. - * @return This builder for chaining. - */ - public Builder setSourceTrsvcid(long value) { - - sourceTrsvcid_ = value; - onChanged(); return this; } /** *
-     * Source port (e.g. Port of local NIC)
+     * Not applicable for local PCIe. Required for Nvme over fabrics transport types
      * 
* - * int64 source_trsvcid = 9 [(.google.api.field_behavior) = OPTIONAL]; - * @return This builder for chaining. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - public Builder clearSourceTrsvcid() { + public opi_api.storage.v1.FabricsPath.Builder getFabricsBuilder() { - sourceTrsvcid_ = 0L; onChanged(); - return this; + return getFabricsFieldBuilder().getBuilder(); } - - private java.lang.Object hostnqn_ = ""; /** *
-     * Host NQN
+     * Not applicable for local PCIe. Required for Nvme over fabrics transport types
      * 
* - * string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; - * @return The hostnqn. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - public java.lang.String getHostnqn() { - java.lang.Object ref = hostnqn_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - hostnqn_ = s; - return s; + public opi_api.storage.v1.FabricsPathOrBuilder getFabricsOrBuilder() { + if (fabricsBuilder_ != null) { + return fabricsBuilder_.getMessageOrBuilder(); } else { - return (java.lang.String) ref; + return fabrics_ == null ? + opi_api.storage.v1.FabricsPath.getDefaultInstance() : fabrics_; } } /** *
-     * Host NQN
+     * Not applicable for local PCIe. Required for Nvme over fabrics transport types
      * 
* - * string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; - * @return The bytes for hostnqn. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - public com.google.protobuf.ByteString - getHostnqnBytes() { - java.lang.Object ref = hostnqn_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - hostnqn_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.storage.v1.FabricsPath, opi_api.storage.v1.FabricsPath.Builder, opi_api.storage.v1.FabricsPathOrBuilder> + getFabricsFieldBuilder() { + if (fabricsBuilder_ == null) { + fabricsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + opi_api.storage.v1.FabricsPath, opi_api.storage.v1.FabricsPath.Builder, opi_api.storage.v1.FabricsPathOrBuilder>( + getFabrics(), + getParentForChildren(), + isClean()); + fabrics_ = null; } - } - /** - *
-     * Host NQN
-     * 
- * - * string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The hostnqn to set. - * @return This builder for chaining. - */ - public Builder setHostnqn( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - hostnqn_ = value; - onChanged(); - return this; - } - /** - *
-     * Host NQN
-     * 
- * - * string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; - * @return This builder for chaining. - */ - public Builder clearHostnqn() { - - hostnqn_ = getDefaultInstance().getHostnqn(); - onChanged(); - return this; - } - /** - *
-     * Host NQN
-     * 
- * - * string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The bytes for hostnqn to set. - * @return This builder for chaining. - */ - public Builder setHostnqnBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - checkByteStringIsUtf8(value); - - hostnqn_ = value; - onChanged(); - return this; + return fabricsBuilder_; } @java.lang.Override public final Builder setUnknownFields( diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmePathOrBuilder.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmePathOrBuilder.java index 47b3e11a..bf6ce84f 100644 --- a/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmePathOrBuilder.java +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmePathOrBuilder.java @@ -54,23 +54,12 @@ public interface NvmePathOrBuilder extends */ opi_api.storage.v1.NvmeTransportType getTrtype(); - /** - * .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; - * @return The enum numeric value on the wire for adrfam. - */ - int getAdrfamValue(); - /** - * .opi_api.storage.v1.NvmeAddressFamily adrfam = 4 [(.google.api.field_behavior) = OPTIONAL]; - * @return The adrfam. - */ - opi_api.storage.v1.NvmeAddressFamily getAdrfam(); - /** *
    * Destination address (e.g. IP address, BDF for local PCIe)
    * 
* - * string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; + * string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; * @return The traddr. */ java.lang.String getTraddr(); @@ -79,7 +68,7 @@ public interface NvmePathOrBuilder extends * Destination address (e.g. IP address, BDF for local PCIe) * * - * string traddr = 5 [(.google.api.field_behavior) = REQUIRED]; + * string traddr = 4 [(.google.api.field_behavior) = REQUIRED]; * @return The bytes for traddr. */ com.google.protobuf.ByteString @@ -87,81 +76,28 @@ public interface NvmePathOrBuilder extends /** *
-   * Destination service id (e.g. Port)
+   * Not applicable for local PCIe. Required for Nvme over fabrics transport types
    * 
* - * int64 trsvcid = 6 [(.google.api.field_behavior) = OPTIONAL]; - * @return The trsvcid. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return Whether the fabrics field is set. */ - long getTrsvcid(); - + boolean hasFabrics(); /** *
-   * Subsystem NQN
+   * Not applicable for local PCIe. Required for Nvme over fabrics transport types
    * 
* - * string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @return The subnqn. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return The fabrics. */ - java.lang.String getSubnqn(); + opi_api.storage.v1.FabricsPath getFabrics(); /** *
-   * Subsystem NQN
+   * Not applicable for local PCIe. Required for Nvme over fabrics transport types
    * 
* - * string subnqn = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @return The bytes for subnqn. + * .opi_api.storage.v1.FabricsPath fabrics = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - com.google.protobuf.ByteString - getSubnqnBytes(); - - /** - *
-   * Source address (e.g. IP of local NIC)
-   * 
- * - * string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; - * @return The sourceTraddr. - */ - java.lang.String getSourceTraddr(); - /** - *
-   * Source address (e.g. IP of local NIC)
-   * 
- * - * string source_traddr = 8 [(.google.api.field_behavior) = OPTIONAL]; - * @return The bytes for sourceTraddr. - */ - com.google.protobuf.ByteString - getSourceTraddrBytes(); - - /** - *
-   * Source port (e.g. Port of local NIC)
-   * 
- * - * int64 source_trsvcid = 9 [(.google.api.field_behavior) = OPTIONAL]; - * @return The sourceTrsvcid. - */ - long getSourceTrsvcid(); - - /** - *
-   * Host NQN
-   * 
- * - * string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; - * @return The hostnqn. - */ - java.lang.String getHostnqn(); - /** - *
-   * Host NQN
-   * 
- * - * string hostnqn = 10 [(.google.api.field_behavior) = OPTIONAL]; - * @return The bytes for hostnqn. - */ - com.google.protobuf.ByteString - getHostnqnBytes(); + opi_api.storage.v1.FabricsPathOrBuilder getFabricsOrBuilder(); } diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmeRemoteController.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmeRemoteController.java index 3fca9034..5965f3f2 100644 --- a/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmeRemoteController.java +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmeRemoteController.java @@ -18,7 +18,6 @@ private NvmeRemoteController(com.google.protobuf.GeneratedMessageV3.Builder b private NvmeRemoteController() { name_ = ""; multipath_ = 0; - psk_ = com.google.protobuf.ByteString.EMPTY; } @java.lang.Override @@ -73,19 +72,17 @@ private NvmeRemoteController( queueSize_ = input.readInt64(); break; } - case 40: { - - hdgst_ = input.readBool(); - break; - } - case 48: { - - ddgst_ = input.readBool(); - break; - } - case 58: { + case 42: { + opi_api.storage.v1.TcpController.Builder subBuilder = null; + if (tcp_ != null) { + subBuilder = tcp_.toBuilder(); + } + tcp_ = input.readMessage(opi_api.storage.v1.TcpController.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(tcp_); + tcp_ = subBuilder.buildPartial(); + } - psk_ = input.readBytes(); break; } default: { @@ -213,49 +210,42 @@ public long getQueueSize() { return queueSize_; } - public static final int HDGST_FIELD_NUMBER = 5; - private boolean hdgst_; + public static final int TCP_FIELD_NUMBER = 5; + private opi_api.storage.v1.TcpController tcp_; /** - * bool hdgst = 5 [(.google.api.field_behavior) = OPTIONAL]; - * @return The hdgst. + *
+   * Nvme over TCP specific fields
+   * 
+ * + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return Whether the tcp field is set. */ @java.lang.Override - public boolean getHdgst() { - return hdgst_; + public boolean hasTcp() { + return tcp_ != null; } - - public static final int DDGST_FIELD_NUMBER = 6; - private boolean ddgst_; /** - * bool ddgst = 6 [(.google.api.field_behavior) = OPTIONAL]; - * @return The ddgst. + *
+   * Nvme over TCP specific fields
+   * 
+ * + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return The tcp. */ @java.lang.Override - public boolean getDdgst() { - return ddgst_; + public opi_api.storage.v1.TcpController getTcp() { + return tcp_ == null ? opi_api.storage.v1.TcpController.getDefaultInstance() : tcp_; } - - public static final int PSK_FIELD_NUMBER = 7; - private com.google.protobuf.ByteString psk_; /** *
-   * Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK.
-   * Use PSK interchange format with base64 encoding as input.
-   * Also use information about hash function in interchange
-   * format for retained PSK generation. If no hash is selected,
-   * use configured PSK as retained PSK.
-   * Check the size of interchange PSK to determine cipher suite.
-   * Calculate CRC-32 bytes to ensure validity of PSK.
-   * Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:"
-   * if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made
+   * Nvme over TCP specific fields
    * 
* - * bytes psk = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @return The psk. + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; */ @java.lang.Override - public com.google.protobuf.ByteString getPsk() { - return psk_; + public opi_api.storage.v1.TcpControllerOrBuilder getTcpOrBuilder() { + return getTcp(); } private byte memoizedIsInitialized = -1; @@ -284,14 +274,8 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (queueSize_ != 0L) { output.writeInt64(4, queueSize_); } - if (hdgst_ != false) { - output.writeBool(5, hdgst_); - } - if (ddgst_ != false) { - output.writeBool(6, ddgst_); - } - if (!psk_.isEmpty()) { - output.writeBytes(7, psk_); + if (tcp_ != null) { + output.writeMessage(5, getTcp()); } unknownFields.writeTo(output); } @@ -317,17 +301,9 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeInt64Size(4, queueSize_); } - if (hdgst_ != false) { + if (tcp_ != null) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(5, hdgst_); - } - if (ddgst_ != false) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(6, ddgst_); - } - if (!psk_.isEmpty()) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(7, psk_); + .computeMessageSize(5, getTcp()); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -351,12 +327,11 @@ public boolean equals(final java.lang.Object obj) { != other.getIoQueuesCount()) return false; if (getQueueSize() != other.getQueueSize()) return false; - if (getHdgst() - != other.getHdgst()) return false; - if (getDdgst() - != other.getDdgst()) return false; - if (!getPsk() - .equals(other.getPsk())) return false; + if (hasTcp() != other.hasTcp()) return false; + if (hasTcp()) { + if (!getTcp() + .equals(other.getTcp())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -378,14 +353,10 @@ public int hashCode() { hash = (37 * hash) + QUEUE_SIZE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getQueueSize()); - hash = (37 * hash) + HDGST_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getHdgst()); - hash = (37 * hash) + DDGST_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getDdgst()); - hash = (37 * hash) + PSK_FIELD_NUMBER; - hash = (53 * hash) + getPsk().hashCode(); + if (hasTcp()) { + hash = (37 * hash) + TCP_FIELD_NUMBER; + hash = (53 * hash) + getTcp().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -527,12 +498,12 @@ public Builder clear() { queueSize_ = 0L; - hdgst_ = false; - - ddgst_ = false; - - psk_ = com.google.protobuf.ByteString.EMPTY; - + if (tcpBuilder_ == null) { + tcp_ = null; + } else { + tcp_ = null; + tcpBuilder_ = null; + } return this; } @@ -563,9 +534,11 @@ public opi_api.storage.v1.NvmeRemoteController buildPartial() { result.multipath_ = multipath_; result.ioQueuesCount_ = ioQueuesCount_; result.queueSize_ = queueSize_; - result.hdgst_ = hdgst_; - result.ddgst_ = ddgst_; - result.psk_ = psk_; + if (tcpBuilder_ == null) { + result.tcp_ = tcp_; + } else { + result.tcp_ = tcpBuilder_.build(); + } onBuilt(); return result; } @@ -627,14 +600,8 @@ public Builder mergeFrom(opi_api.storage.v1.NvmeRemoteController other) { if (other.getQueueSize() != 0L) { setQueueSize(other.getQueueSize()); } - if (other.getHdgst() != false) { - setHdgst(other.getHdgst()); - } - if (other.getDdgst() != false) { - setDdgst(other.getDdgst()); - } - if (other.getPsk() != com.google.protobuf.ByteString.EMPTY) { - setPsk(other.getPsk()); + if (other.hasTcp()) { + mergeTcp(other.getTcp()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -887,136 +854,159 @@ public Builder clearQueueSize() { return this; } - private boolean hdgst_ ; + private opi_api.storage.v1.TcpController tcp_; + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.storage.v1.TcpController, opi_api.storage.v1.TcpController.Builder, opi_api.storage.v1.TcpControllerOrBuilder> tcpBuilder_; /** - * bool hdgst = 5 [(.google.api.field_behavior) = OPTIONAL]; - * @return The hdgst. + *
+     * Nvme over TCP specific fields
+     * 
+ * + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return Whether the tcp field is set. */ - @java.lang.Override - public boolean getHdgst() { - return hdgst_; + public boolean hasTcp() { + return tcpBuilder_ != null || tcp_ != null; } /** - * bool hdgst = 5 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The hdgst to set. - * @return This builder for chaining. + *
+     * Nvme over TCP specific fields
+     * 
+ * + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return The tcp. */ - public Builder setHdgst(boolean value) { - - hdgst_ = value; - onChanged(); - return this; + public opi_api.storage.v1.TcpController getTcp() { + if (tcpBuilder_ == null) { + return tcp_ == null ? opi_api.storage.v1.TcpController.getDefaultInstance() : tcp_; + } else { + return tcpBuilder_.getMessage(); + } } /** - * bool hdgst = 5 [(.google.api.field_behavior) = OPTIONAL]; - * @return This builder for chaining. + *
+     * Nvme over TCP specific fields
+     * 
+ * + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - public Builder clearHdgst() { - - hdgst_ = false; - onChanged(); + public Builder setTcp(opi_api.storage.v1.TcpController value) { + if (tcpBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + tcp_ = value; + onChanged(); + } else { + tcpBuilder_.setMessage(value); + } + return this; } - - private boolean ddgst_ ; /** - * bool ddgst = 6 [(.google.api.field_behavior) = OPTIONAL]; - * @return The ddgst. + *
+     * Nvme over TCP specific fields
+     * 
+ * + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - @java.lang.Override - public boolean getDdgst() { - return ddgst_; + public Builder setTcp( + opi_api.storage.v1.TcpController.Builder builderForValue) { + if (tcpBuilder_ == null) { + tcp_ = builderForValue.build(); + onChanged(); + } else { + tcpBuilder_.setMessage(builderForValue.build()); + } + + return this; } /** - * bool ddgst = 6 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The ddgst to set. - * @return This builder for chaining. + *
+     * Nvme over TCP specific fields
+     * 
+ * + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - public Builder setDdgst(boolean value) { - - ddgst_ = value; - onChanged(); + public Builder mergeTcp(opi_api.storage.v1.TcpController value) { + if (tcpBuilder_ == null) { + if (tcp_ != null) { + tcp_ = + opi_api.storage.v1.TcpController.newBuilder(tcp_).mergeFrom(value).buildPartial(); + } else { + tcp_ = value; + } + onChanged(); + } else { + tcpBuilder_.mergeFrom(value); + } + return this; } /** - * bool ddgst = 6 [(.google.api.field_behavior) = OPTIONAL]; - * @return This builder for chaining. + *
+     * Nvme over TCP specific fields
+     * 
+ * + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - public Builder clearDdgst() { - - ddgst_ = false; - onChanged(); + public Builder clearTcp() { + if (tcpBuilder_ == null) { + tcp_ = null; + onChanged(); + } else { + tcp_ = null; + tcpBuilder_ = null; + } + return this; } - - private com.google.protobuf.ByteString psk_ = com.google.protobuf.ByteString.EMPTY; /** *
-     * Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK.
-     * Use PSK interchange format with base64 encoding as input.
-     * Also use information about hash function in interchange
-     * format for retained PSK generation. If no hash is selected,
-     * use configured PSK as retained PSK.
-     * Check the size of interchange PSK to determine cipher suite.
-     * Calculate CRC-32 bytes to ensure validity of PSK.
-     * Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:"
-     * if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made
+     * Nvme over TCP specific fields
      * 
* - * bytes psk = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @return The psk. + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - @java.lang.Override - public com.google.protobuf.ByteString getPsk() { - return psk_; + public opi_api.storage.v1.TcpController.Builder getTcpBuilder() { + + onChanged(); + return getTcpFieldBuilder().getBuilder(); } /** *
-     * Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK.
-     * Use PSK interchange format with base64 encoding as input.
-     * Also use information about hash function in interchange
-     * format for retained PSK generation. If no hash is selected,
-     * use configured PSK as retained PSK.
-     * Check the size of interchange PSK to determine cipher suite.
-     * Calculate CRC-32 bytes to ensure validity of PSK.
-     * Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:"
-     * if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made
+     * Nvme over TCP specific fields
      * 
* - * bytes psk = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @param value The psk to set. - * @return This builder for chaining. + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - public Builder setPsk(com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - - psk_ = value; - onChanged(); - return this; + public opi_api.storage.v1.TcpControllerOrBuilder getTcpOrBuilder() { + if (tcpBuilder_ != null) { + return tcpBuilder_.getMessageOrBuilder(); + } else { + return tcp_ == null ? + opi_api.storage.v1.TcpController.getDefaultInstance() : tcp_; + } } /** *
-     * Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK.
-     * Use PSK interchange format with base64 encoding as input.
-     * Also use information about hash function in interchange
-     * format for retained PSK generation. If no hash is selected,
-     * use configured PSK as retained PSK.
-     * Check the size of interchange PSK to determine cipher suite.
-     * Calculate CRC-32 bytes to ensure validity of PSK.
-     * Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:"
-     * if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made
+     * Nvme over TCP specific fields
      * 
* - * bytes psk = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @return This builder for chaining. + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - public Builder clearPsk() { - - psk_ = getDefaultInstance().getPsk(); - onChanged(); - return this; + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.storage.v1.TcpController, opi_api.storage.v1.TcpController.Builder, opi_api.storage.v1.TcpControllerOrBuilder> + getTcpFieldBuilder() { + if (tcpBuilder_ == null) { + tcpBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + opi_api.storage.v1.TcpController, opi_api.storage.v1.TcpController.Builder, opi_api.storage.v1.TcpControllerOrBuilder>( + getTcp(), + getParentForChildren(), + isClean()); + tcp_ = null; + } + return tcpBuilder_; } @java.lang.Override public final Builder setUnknownFields( diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmeRemoteControllerOrBuilder.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmeRemoteControllerOrBuilder.java index 387fffc3..087e8e04 100644 --- a/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmeRemoteControllerOrBuilder.java +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/NvmeRemoteControllerOrBuilder.java @@ -55,32 +55,29 @@ public interface NvmeRemoteControllerOrBuilder extends long getQueueSize(); /** - * bool hdgst = 5 [(.google.api.field_behavior) = OPTIONAL]; - * @return The hdgst. + *
+   * Nvme over TCP specific fields
+   * 
+ * + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return Whether the tcp field is set. */ - boolean getHdgst(); - + boolean hasTcp(); /** - * bool ddgst = 6 [(.google.api.field_behavior) = OPTIONAL]; - * @return The ddgst. + *
+   * Nvme over TCP specific fields
+   * 
+ * + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return The tcp. */ - boolean getDdgst(); - + opi_api.storage.v1.TcpController getTcp(); /** *
-   * Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK.
-   * Use PSK interchange format with base64 encoding as input.
-   * Also use information about hash function in interchange
-   * format for retained PSK generation. If no hash is selected,
-   * use configured PSK as retained PSK.
-   * Check the size of interchange PSK to determine cipher suite.
-   * Calculate CRC-32 bytes to ensure validity of PSK.
-   * Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:"
-   * if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made
+   * Nvme over TCP specific fields
    * 
* - * bytes psk = 7 [(.google.api.field_behavior) = OPTIONAL]; - * @return The psk. + * .opi_api.storage.v1.TcpController tcp = 5 [(.google.api.field_behavior) = OPTIONAL]; */ - com.google.protobuf.ByteString getPsk(); + opi_api.storage.v1.TcpControllerOrBuilder getTcpOrBuilder(); } diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/TcpController.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/TcpController.java new file mode 100644 index 00000000..016c0933 --- /dev/null +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/TcpController.java @@ -0,0 +1,667 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: backend_nvme_tcp.proto + +package opi_api.storage.v1; + +/** + * Protobuf type {@code opi_api.storage.v1.TcpController} + */ +public final class TcpController extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:opi_api.storage.v1.TcpController) + TcpControllerOrBuilder { +private static final long serialVersionUID = 0L; + // Use TcpController.newBuilder() to construct. + private TcpController(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private TcpController() { + psk_ = com.google.protobuf.ByteString.EMPTY; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new TcpController(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private TcpController( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + + hdgst_ = input.readBool(); + break; + } + case 16: { + + ddgst_ = input.readBool(); + break; + } + case 26: { + + psk_ = input.readBytes(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return opi_api.storage.v1.BackendNvmeTcpProto.internal_static_opi_api_storage_v1_TcpController_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return opi_api.storage.v1.BackendNvmeTcpProto.internal_static_opi_api_storage_v1_TcpController_fieldAccessorTable + .ensureFieldAccessorsInitialized( + opi_api.storage.v1.TcpController.class, opi_api.storage.v1.TcpController.Builder.class); + } + + public static final int HDGST_FIELD_NUMBER = 1; + private boolean hdgst_; + /** + * bool hdgst = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return The hdgst. + */ + @java.lang.Override + public boolean getHdgst() { + return hdgst_; + } + + public static final int DDGST_FIELD_NUMBER = 2; + private boolean ddgst_; + /** + * bool ddgst = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return The ddgst. + */ + @java.lang.Override + public boolean getDdgst() { + return ddgst_; + } + + public static final int PSK_FIELD_NUMBER = 3; + private com.google.protobuf.ByteString psk_; + /** + *
+   * Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK.
+   * Use PSK interchange format with base64 encoding as input.
+   * Also use information about hash function in interchange
+   * format for retained PSK generation. If no hash is selected,
+   * use configured PSK as retained PSK.
+   * Check the size of interchange PSK to determine cipher suite.
+   * Calculate CRC-32 bytes to ensure validity of PSK.
+   * Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:"
+   * if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made
+   * 
+ * + * bytes psk = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return The psk. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPsk() { + return psk_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (hdgst_ != false) { + output.writeBool(1, hdgst_); + } + if (ddgst_ != false) { + output.writeBool(2, ddgst_); + } + if (!psk_.isEmpty()) { + output.writeBytes(3, psk_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (hdgst_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(1, hdgst_); + } + if (ddgst_ != false) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(2, ddgst_); + } + if (!psk_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(3, psk_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof opi_api.storage.v1.TcpController)) { + return super.equals(obj); + } + opi_api.storage.v1.TcpController other = (opi_api.storage.v1.TcpController) obj; + + if (getHdgst() + != other.getHdgst()) return false; + if (getDdgst() + != other.getDdgst()) return false; + if (!getPsk() + .equals(other.getPsk())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + HDGST_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getHdgst()); + hash = (37 * hash) + DDGST_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getDdgst()); + hash = (37 * hash) + PSK_FIELD_NUMBER; + hash = (53 * hash) + getPsk().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static opi_api.storage.v1.TcpController parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.TcpController parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static opi_api.storage.v1.TcpController parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.TcpController parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static opi_api.storage.v1.TcpController parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.TcpController parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static opi_api.storage.v1.TcpController parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static opi_api.storage.v1.TcpController parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static opi_api.storage.v1.TcpController parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static opi_api.storage.v1.TcpController parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static opi_api.storage.v1.TcpController parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static opi_api.storage.v1.TcpController parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(opi_api.storage.v1.TcpController prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code opi_api.storage.v1.TcpController} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:opi_api.storage.v1.TcpController) + opi_api.storage.v1.TcpControllerOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return opi_api.storage.v1.BackendNvmeTcpProto.internal_static_opi_api_storage_v1_TcpController_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return opi_api.storage.v1.BackendNvmeTcpProto.internal_static_opi_api_storage_v1_TcpController_fieldAccessorTable + .ensureFieldAccessorsInitialized( + opi_api.storage.v1.TcpController.class, opi_api.storage.v1.TcpController.Builder.class); + } + + // Construct using opi_api.storage.v1.TcpController.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + hdgst_ = false; + + ddgst_ = false; + + psk_ = com.google.protobuf.ByteString.EMPTY; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return opi_api.storage.v1.BackendNvmeTcpProto.internal_static_opi_api_storage_v1_TcpController_descriptor; + } + + @java.lang.Override + public opi_api.storage.v1.TcpController getDefaultInstanceForType() { + return opi_api.storage.v1.TcpController.getDefaultInstance(); + } + + @java.lang.Override + public opi_api.storage.v1.TcpController build() { + opi_api.storage.v1.TcpController result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public opi_api.storage.v1.TcpController buildPartial() { + opi_api.storage.v1.TcpController result = new opi_api.storage.v1.TcpController(this); + result.hdgst_ = hdgst_; + result.ddgst_ = ddgst_; + result.psk_ = psk_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof opi_api.storage.v1.TcpController) { + return mergeFrom((opi_api.storage.v1.TcpController)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(opi_api.storage.v1.TcpController other) { + if (other == opi_api.storage.v1.TcpController.getDefaultInstance()) return this; + if (other.getHdgst() != false) { + setHdgst(other.getHdgst()); + } + if (other.getDdgst() != false) { + setDdgst(other.getDdgst()); + } + if (other.getPsk() != com.google.protobuf.ByteString.EMPTY) { + setPsk(other.getPsk()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + opi_api.storage.v1.TcpController parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (opi_api.storage.v1.TcpController) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private boolean hdgst_ ; + /** + * bool hdgst = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return The hdgst. + */ + @java.lang.Override + public boolean getHdgst() { + return hdgst_; + } + /** + * bool hdgst = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param value The hdgst to set. + * @return This builder for chaining. + */ + public Builder setHdgst(boolean value) { + + hdgst_ = value; + onChanged(); + return this; + } + /** + * bool hdgst = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return This builder for chaining. + */ + public Builder clearHdgst() { + + hdgst_ = false; + onChanged(); + return this; + } + + private boolean ddgst_ ; + /** + * bool ddgst = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return The ddgst. + */ + @java.lang.Override + public boolean getDdgst() { + return ddgst_; + } + /** + * bool ddgst = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param value The ddgst to set. + * @return This builder for chaining. + */ + public Builder setDdgst(boolean value) { + + ddgst_ = value; + onChanged(); + return this; + } + /** + * bool ddgst = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return This builder for chaining. + */ + public Builder clearDdgst() { + + ddgst_ = false; + onChanged(); + return this; + } + + private com.google.protobuf.ByteString psk_ = com.google.protobuf.ByteString.EMPTY; + /** + *
+     * Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK.
+     * Use PSK interchange format with base64 encoding as input.
+     * Also use information about hash function in interchange
+     * format for retained PSK generation. If no hash is selected,
+     * use configured PSK as retained PSK.
+     * Check the size of interchange PSK to determine cipher suite.
+     * Calculate CRC-32 bytes to ensure validity of PSK.
+     * Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:"
+     * if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made
+     * 
+ * + * bytes psk = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return The psk. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPsk() { + return psk_; + } + /** + *
+     * Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK.
+     * Use PSK interchange format with base64 encoding as input.
+     * Also use information about hash function in interchange
+     * format for retained PSK generation. If no hash is selected,
+     * use configured PSK as retained PSK.
+     * Check the size of interchange PSK to determine cipher suite.
+     * Calculate CRC-32 bytes to ensure validity of PSK.
+     * Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:"
+     * if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made
+     * 
+ * + * bytes psk = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param value The psk to set. + * @return This builder for chaining. + */ + public Builder setPsk(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + psk_ = value; + onChanged(); + return this; + } + /** + *
+     * Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK.
+     * Use PSK interchange format with base64 encoding as input.
+     * Also use information about hash function in interchange
+     * format for retained PSK generation. If no hash is selected,
+     * use configured PSK as retained PSK.
+     * Check the size of interchange PSK to determine cipher suite.
+     * Calculate CRC-32 bytes to ensure validity of PSK.
+     * Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:"
+     * if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made
+     * 
+ * + * bytes psk = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return This builder for chaining. + */ + public Builder clearPsk() { + + psk_ = getDefaultInstance().getPsk(); + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:opi_api.storage.v1.TcpController) + } + + // @@protoc_insertion_point(class_scope:opi_api.storage.v1.TcpController) + private static final opi_api.storage.v1.TcpController DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new opi_api.storage.v1.TcpController(); + } + + public static opi_api.storage.v1.TcpController getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public TcpController parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new TcpController(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public opi_api.storage.v1.TcpController getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/TcpControllerOrBuilder.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/TcpControllerOrBuilder.java new file mode 100644 index 00000000..9b991500 --- /dev/null +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/TcpControllerOrBuilder.java @@ -0,0 +1,39 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: backend_nvme_tcp.proto + +package opi_api.storage.v1; + +public interface TcpControllerOrBuilder extends + // @@protoc_insertion_point(interface_extends:opi_api.storage.v1.TcpController) + com.google.protobuf.MessageOrBuilder { + + /** + * bool hdgst = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return The hdgst. + */ + boolean getHdgst(); + + /** + * bool ddgst = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return The ddgst. + */ + boolean getDdgst(); + + /** + *
+   * Nvme/TCP published secure channel specification (TP 8011) based on TLS 1.3 and PSK.
+   * Use PSK interchange format with base64 encoding as input.
+   * Also use information about hash function in interchange
+   * format for retained PSK generation. If no hash is selected,
+   * use configured PSK as retained PSK.
+   * Check the size of interchange PSK to determine cipher suite.
+   * Calculate CRC-32 bytes to ensure validity of PSK.
+   * Example: "NVMeTLSkey-1:01:VRLbtnN9AQb2WXW3c9+wEf/DRLz0QuLdbYvEhwtdWwNf9LrZ:"
+   * if PSK field is empty, then unsecure connection Nvme/TCP without TLS will be made
+   * 
+ * + * bytes psk = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return The psk. + */ + com.google.protobuf.ByteString getPsk(); +} diff --git a/storage/v1alpha1/gen/python/backend_nvme_tcp_pb2.py b/storage/v1alpha1/gen/python/backend_nvme_tcp_pb2.py index 8ee92053..26b5fc22 100644 --- a/storage/v1alpha1/gen/python/backend_nvme_tcp_pb2.py +++ b/storage/v1alpha1/gen/python/backend_nvme_tcp_pb2.py @@ -21,7 +21,7 @@ import uuid_pb2 as uuid__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x62\x61\x63kend_nvme_tcp.proto\x12\x12opi_api.storage.v1\x1a\x17google/api/client.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x0fopicommon.proto\x1a\nuuid.proto\"\xf5\x02\n\x14NvmeRemoteController\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x03\xe0\x41\x05\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\x12\x39\n\tmultipath\x18\x02 \x01(\x0e\x32!.opi_api.storage.v1.NvmeMultipathB\x03\xe0\x41\x02\x12\x1c\n\x0fio_queues_count\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12\x17\n\nqueue_size\x18\x04 \x01(\x03\x42\x03\xe0\x41\x01\x12\x12\n\x05hdgst\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\x12\x12\n\x05\x64\x64gst\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\x12\x10\n\x03psk\x18\x07 \x01(\x0c\x42\x03\xe0\x41\x01:o\xea\x41l\n+storage.opiproject.org/NvmeRemoteController\x12\x10volumes/{volume}*\x15nvmeRemoteControllers2\x14nvmeRemoteController\"\xe2\x03\n\x08NvmePath\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x03\xe0\x41\x05\xfa\x41\x1d\n\x1bopi_api.storage.v1/NvmePath\x12L\n\x13\x63ontroller_name_ref\x18\x02 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\x12:\n\x06trtype\x18\x03 \x01(\x0e\x32%.opi_api.storage.v1.NvmeTransportTypeB\x03\xe0\x41\x02\x12:\n\x06\x61\x64rfam\x18\x04 \x01(\x0e\x32%.opi_api.storage.v1.NvmeAddressFamilyB\x03\xe0\x41\x01\x12\x13\n\x06traddr\x18\x05 \x01(\tB\x03\xe0\x41\x02\x12\x14\n\x07trsvcid\x18\x06 \x01(\x03\x42\x03\xe0\x41\x01\x12\x13\n\x06subnqn\x18\x07 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rsource_traddr\x18\x08 \x01(\tB\x03\xe0\x41\x01\x12\x1b\n\x0esource_trsvcid\x18\t \x01(\x03\x42\x03\xe0\x41\x01\x12\x14\n\x07hostnqn\x18\n \x01(\tB\x03\xe0\x41\x01:K\xea\x41H\n\x1fstorage.opiproject.org/NvmePath\x12\x10volumes/{volume}*\tnvmePaths2\x08nvmePath\"\xf9\x02\n\x13NvmeRemoteNamespace\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x03\xe0\x41\x05\xfa\x41(\n&opi_api.storage.v1/NvmeRemoteNamespace\x12L\n\x13\x63ontroller_name_ref\x18\x02 \x01(\tB/\xe0\x41\x03\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\x12\x11\n\x04nsid\x18\x03 \x01(\x05\x42\x03\xe0\x41\x03\x12\x12\n\x05nguid\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x12\n\x05\x65ui64\x18\x05 \x01(\x03\x42\x03\xe0\x41\x03\x12*\n\x04uuid\x18\x06 \x01(\x0b\x32\x17.opi_api.common.v1.UuidB\x03\xe0\x41\x03:l\xea\x41i\n*storage.opiproject.org/NvmeRemoteNamespace\x12\x10volumes/{volume}*\x14nvmeRemoteNamespaces2\x13nvmeRemoteNamespace\"\x9a\x01\n!CreateNvmeRemoteControllerRequest\x12M\n\x16nvme_remote_controller\x18\x01 \x01(\x0b\x32(.opi_api.storage.v1.NvmeRemoteControllerB\x03\xe0\x41\x02\x12&\n\x19nvme_remote_controller_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\"~\n!DeleteNvmeRemoteControllerRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\x12\x1a\n\rallow_missing\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\xc4\x01\n!UpdateNvmeRemoteControllerRequest\x12M\n\x16nvme_remote_controller\x18\x01 \x01(\x0b\x32(.opi_api.storage.v1.NvmeRemoteControllerB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"\x94\x01\n ListNvmeRemoteControllersRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x87\x01\n!ListNvmeRemoteControllersResponse\x12I\n\x17nvme_remote_controllers\x18\x01 \x03(\x0b\x32(.opi_api.storage.v1.NvmeRemoteController\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"_\n\x1eGetNvmeRemoteControllerRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\"a\n ResetNvmeRemoteControllerRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\"a\n StatsNvmeRemoteControllerRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\"S\n!StatsNvmeRemoteControllerResponse\x12.\n\x05stats\x18\x01 \x01(\x0b\x32\x1f.opi_api.storage.v1.VolumeStats\"\x92\x01\n\x1fListNvmeRemoteNamespacesRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&opi_api.storage.v1/NvmeRemoteNamespace\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x84\x01\n ListNvmeRemoteNamespacesResponse\x12G\n\x16nvme_remote_namespaces\x18\x01 \x03(\x0b\x32\'.opi_api.storage.v1.NvmeRemoteNamespace\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"]\n\x1dGetNvmeRemoteNamespaceRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&opi_api.storage.v1/NvmeRemoteNamespace\"h\n\x15\x43reateNvmePathRequest\x12\x34\n\tnvme_path\x18\x01 \x01(\x0b\x32\x1c.opi_api.storage.v1.NvmePathB\x03\xe0\x41\x02\x12\x19\n\x0cnvme_path_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\"f\n\x15\x44\x65leteNvmePathRequest\x12\x31\n\x04name\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bopi_api.storage.v1/NvmePath\x12\x1a\n\rallow_missing\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\x9f\x01\n\x15UpdateNvmePathRequest\x12\x34\n\tnvme_path\x18\x01 \x01(\x0b\x32\x1c.opi_api.storage.v1.NvmePathB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"|\n\x14ListNvmePathsRequest\x12\x33\n\x06parent\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bopi_api.storage.v1/NvmePath\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"b\n\x15ListNvmePathsResponse\x12\x30\n\nnvme_paths\x18\x01 \x03(\x0b\x32\x1c.opi_api.storage.v1.NvmePath\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"G\n\x12GetNvmePathRequest\x12\x31\n\x04name\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bopi_api.storage.v1/NvmePath\"I\n\x14StatsNvmePathRequest\x12\x31\n\x04name\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bopi_api.storage.v1/NvmePath\"G\n\x15StatsNvmePathResponse\x12.\n\x05stats\x18\x01 \x01(\x0b\x32\x1f.opi_api.storage.v1.VolumeStats*\xb4\x01\n\x11NvmeTransportType\x12#\n\x1fNVME_TRANSPORT_TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11NVME_TRANSPORT_FC\x10\x01\x12\x17\n\x13NVME_TRANSPORT_PCIE\x10\x02\x12\x17\n\x13NVME_TRANSPORT_RDMA\x10\x03\x12\x16\n\x12NVME_TRANSPORT_TCP\x10\x04\x12\x19\n\x15NVME_TRANSPORT_CUSTOM\x10\x05*\xa8\x01\n\x11NvmeAddressFamily\x12#\n\x1fNVME_ADDRESS_FAMILY_UNSPECIFIED\x10\x00\x12\x14\n\x10NVME_ADRFAM_IPV4\x10\x01\x12\x14\n\x10NVME_ADRFAM_IPV6\x10\x02\x12\x12\n\x0eNVME_ADRFAM_IB\x10\x03\x12\x12\n\x0eNVME_ADRFAM_FC\x10\x04\x12\x1a\n\x16NVME_ADRFAM_INTRA_HOST\x10\x05*\x86\x01\n\rNvmeMultipath\x12\x1e\n\x1aNVME_MULTIPATH_UNSPECIFIED\x10\x00\x12\x1a\n\x16NVME_MULTIPATH_DISABLE\x10\x01\x12\x1b\n\x17NVME_MULTIPATH_FAILOVER\x10\x02\x12\x1c\n\x18NVME_MULTIPATH_MULTIPATH\x10\x03\x32\x94\x14\n\x1bNvmeRemoteControllerService\x12\xdd\x01\n\x1a\x43reateNvmeRemoteController\x12\x35.opi_api.storage.v1.CreateNvmeRemoteControllerRequest\x1a(.opi_api.storage.v1.NvmeRemoteController\"^\x82\xd3\xe4\x93\x02%\"\x0b/v1/volumes:\x16nvme_remote_controller\xda\x41\x30nvme_remote_controller,nvme_remote_controller_id\x12\x9e\x01\n\x1a\x44\x65leteNvmeRemoteController\x12\x35.opi_api.storage.v1.DeleteNvmeRemoteControllerRequest\x1a\x16.google.protobuf.Empty\"1\x82\xd3\xe4\x93\x02$*\"/v1/{name=NvmeRemoteControllers/*}\xda\x41\x04name\x12\xf0\x01\n\x1aUpdateNvmeRemoteController\x12\x35.opi_api.storage.v1.UpdateNvmeRemoteControllerRequest\x1a(.opi_api.storage.v1.NvmeRemoteController\"q\x82\xd3\xe4\x93\x02\x46\x32,/v1/{nvme_remote_controller.name=subsystems}:\x16nvme_remote_controller\xda\x41\"nvme_remote_controller,update_mask\x12\xb2\x01\n\x19ListNvmeRemoteControllers\x12\x34.opi_api.storage.v1.ListNvmeRemoteControllersRequest\x1a\x35.opi_api.storage.v1.ListNvmeRemoteControllersResponse\"(\x82\xd3\xe4\x93\x02\x19\x12\x17/v1/{parent=subsystems}\xda\x41\x06parent\x12\xaa\x01\n\x17GetNvmeRemoteController\x12\x32.opi_api.storage.v1.GetNvmeRemoteControllerRequest\x1a(.opi_api.storage.v1.NvmeRemoteController\"1\x82\xd3\xe4\x93\x02$\x12\"/v1/{name=NvmeRemoteControllers/*}\xda\x41\x04name\x12\xa5\x01\n\x19ResetNvmeRemoteController\x12\x34.opi_api.storage.v1.ResetNvmeRemoteControllerRequest\x1a\x16.google.protobuf.Empty\":\x82\xd3\xe4\x93\x02-\"(/v1/{name=NvmeRemoteControllers/*}:reset:\x01*\xda\x41\x04name\x12\xc1\x01\n\x19StatsNvmeRemoteController\x12\x34.opi_api.storage.v1.StatsNvmeRemoteControllerRequest\x1a\x35.opi_api.storage.v1.StatsNvmeRemoteControllerResponse\"7\x82\xd3\xe4\x93\x02*\x12(/v1/{name=NvmeRemoteControllers/*}:stats\xda\x41\x04name\x12\xaf\x01\n\x18ListNvmeRemoteNamespaces\x12\x33.opi_api.storage.v1.ListNvmeRemoteNamespacesRequest\x1a\x34.opi_api.storage.v1.ListNvmeRemoteNamespacesResponse\"(\x82\xd3\xe4\x93\x02\x19\x12\x17/v1/{parent=subsystems}\xda\x41\x06parent\x12\xa6\x01\n\x16GetNvmeRemoteNamespace\x12\x31.opi_api.storage.v1.GetNvmeRemoteNamespaceRequest\x1a\'.opi_api.storage.v1.NvmeRemoteNamespace\"0\x82\xd3\xe4\x93\x02#\x12!/v1/{name=NvmeRemoteNamespaces/*}\xda\x41\x04name\x12\x92\x01\n\x0e\x43reateNvmePath\x12).opi_api.storage.v1.CreateNvmePathRequest\x1a\x1c.opi_api.storage.v1.NvmePath\"7\x82\xd3\xe4\x93\x02\x18\"\x0b/v1/volumes:\tnvme_path\xda\x41\x16nvme_path,nvme_path_id\x12z\n\x0e\x44\x65leteNvmePath\x12).opi_api.storage.v1.DeleteNvmePathRequest\x1a\x16.google.protobuf.Empty\"%\x82\xd3\xe4\x93\x02\x18*\x16/v1/{name=NvmePaths/*}\xda\x41\x04name\x12\xa5\x01\n\x0eUpdateNvmePath\x12).opi_api.storage.v1.UpdateNvmePathRequest\x1a\x1c.opi_api.storage.v1.NvmePath\"J\x82\xd3\xe4\x93\x02,2\x1f/v1/{nvme_path.name=subsystems}:\tnvme_path\xda\x41\x15nvme_path,update_mask\x12\x8e\x01\n\rListNvmePaths\x12(.opi_api.storage.v1.ListNvmePathsRequest\x1a).opi_api.storage.v1.ListNvmePathsResponse\"(\x82\xd3\xe4\x93\x02\x19\x12\x17/v1/{parent=subsystems}\xda\x41\x06parent\x12z\n\x0bGetNvmePath\x12&.opi_api.storage.v1.GetNvmePathRequest\x1a\x1c.opi_api.storage.v1.NvmePath\"%\x82\xd3\xe4\x93\x02\x18\x12\x16/v1/{name=NvmePaths/*}\xda\x41\x04name\x12\x91\x01\n\rStatsNvmePath\x12(.opi_api.storage.v1.StatsNvmePathRequest\x1a).opi_api.storage.v1.StatsNvmePathResponse\"+\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v1/{name=NvmePaths/*}:stats\xda\x41\x04nameBb\n\x12opi_api.storage.v1B\x13\x42\x61\x63kendNvmeTcpProtoP\x01Z5github.com/opiproject/opi-api/storage/v1alpha1/gen/gob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16\x62\x61\x63kend_nvme_tcp.proto\x12\x12opi_api.storage.v1\x1a\x17google/api/client.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x0fopicommon.proto\x1a\nuuid.proto\"\xf0\x02\n\x14NvmeRemoteController\x12@\n\x04name\x18\x01 \x01(\tB2\xe0\x41\x03\xe0\x41\x05\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\x12\x39\n\tmultipath\x18\x02 \x01(\x0e\x32!.opi_api.storage.v1.NvmeMultipathB\x03\xe0\x41\x02\x12\x1c\n\x0fio_queues_count\x18\x03 \x01(\x03\x42\x03\xe0\x41\x01\x12\x17\n\nqueue_size\x18\x04 \x01(\x03\x42\x03\xe0\x41\x01\x12\x33\n\x03tcp\x18\x05 \x01(\x0b\x32!.opi_api.storage.v1.TcpControllerB\x03\xe0\x41\x01:o\xea\x41l\n+storage.opiproject.org/NvmeRemoteController\x12\x10volumes/{volume}*\x15nvmeRemoteControllers2\x14nvmeRemoteController\"I\n\rTcpController\x12\x12\n\x05hdgst\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\x12\x12\n\x05\x64\x64gst\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x10\n\x03psk\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\"\xe3\x02\n\x08NvmePath\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x03\xe0\x41\x05\xfa\x41\x1d\n\x1bopi_api.storage.v1/NvmePath\x12L\n\x13\x63ontroller_name_ref\x18\x02 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\x12:\n\x06trtype\x18\x03 \x01(\x0e\x32%.opi_api.storage.v1.NvmeTransportTypeB\x03\xe0\x41\x02\x12\x13\n\x06traddr\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x35\n\x07\x66\x61\x62rics\x18\x05 \x01(\x0b\x32\x1f.opi_api.storage.v1.FabricsPathB\x03\xe0\x41\x01:K\xea\x41H\n\x1fstorage.opiproject.org/NvmePath\x12\x10volumes/{volume}*\tnvmePaths2\x08nvmePath\"\xc3\x01\n\x0b\x46\x61\x62ricsPath\x12\x14\n\x07trsvcid\x18\x01 \x01(\x03\x42\x03\xe0\x41\x02\x12\x13\n\x06subnqn\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12:\n\x06\x61\x64rfam\x18\x03 \x01(\x0e\x32%.opi_api.storage.v1.NvmeAddressFamilyB\x03\xe0\x41\x02\x12\x1a\n\rsource_traddr\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1b\n\x0esource_trsvcid\x18\x05 \x01(\x03\x42\x03\xe0\x41\x01\x12\x14\n\x07hostnqn\x18\x06 \x01(\tB\x03\xe0\x41\x01\"\xf9\x02\n\x13NvmeRemoteNamespace\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x03\xe0\x41\x05\xfa\x41(\n&opi_api.storage.v1/NvmeRemoteNamespace\x12L\n\x13\x63ontroller_name_ref\x18\x02 \x01(\tB/\xe0\x41\x03\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\x12\x11\n\x04nsid\x18\x03 \x01(\x05\x42\x03\xe0\x41\x03\x12\x12\n\x05nguid\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x12\n\x05\x65ui64\x18\x05 \x01(\x03\x42\x03\xe0\x41\x03\x12*\n\x04uuid\x18\x06 \x01(\x0b\x32\x17.opi_api.common.v1.UuidB\x03\xe0\x41\x03:l\xea\x41i\n*storage.opiproject.org/NvmeRemoteNamespace\x12\x10volumes/{volume}*\x14nvmeRemoteNamespaces2\x13nvmeRemoteNamespace\"\x9a\x01\n!CreateNvmeRemoteControllerRequest\x12M\n\x16nvme_remote_controller\x18\x01 \x01(\x0b\x32(.opi_api.storage.v1.NvmeRemoteControllerB\x03\xe0\x41\x02\x12&\n\x19nvme_remote_controller_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\"~\n!DeleteNvmeRemoteControllerRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\x12\x1a\n\rallow_missing\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\xc4\x01\n!UpdateNvmeRemoteControllerRequest\x12M\n\x16nvme_remote_controller\x18\x01 \x01(\x0b\x32(.opi_api.storage.v1.NvmeRemoteControllerB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"\x94\x01\n ListNvmeRemoteControllersRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x87\x01\n!ListNvmeRemoteControllersResponse\x12I\n\x17nvme_remote_controllers\x18\x01 \x03(\x0b\x32(.opi_api.storage.v1.NvmeRemoteController\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"_\n\x1eGetNvmeRemoteControllerRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\"a\n ResetNvmeRemoteControllerRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\"a\n StatsNvmeRemoteControllerRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'opi_api.storage.v1/NvmeRemoteController\"S\n!StatsNvmeRemoteControllerResponse\x12.\n\x05stats\x18\x01 \x01(\x0b\x32\x1f.opi_api.storage.v1.VolumeStats\"\x92\x01\n\x1fListNvmeRemoteNamespacesRequest\x12>\n\x06parent\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&opi_api.storage.v1/NvmeRemoteNamespace\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x84\x01\n ListNvmeRemoteNamespacesResponse\x12G\n\x16nvme_remote_namespaces\x18\x01 \x03(\x0b\x32\'.opi_api.storage.v1.NvmeRemoteNamespace\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"]\n\x1dGetNvmeRemoteNamespaceRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&opi_api.storage.v1/NvmeRemoteNamespace\"h\n\x15\x43reateNvmePathRequest\x12\x34\n\tnvme_path\x18\x01 \x01(\x0b\x32\x1c.opi_api.storage.v1.NvmePathB\x03\xe0\x41\x02\x12\x19\n\x0cnvme_path_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\"f\n\x15\x44\x65leteNvmePathRequest\x12\x31\n\x04name\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bopi_api.storage.v1/NvmePath\x12\x1a\n\rallow_missing\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\x9f\x01\n\x15UpdateNvmePathRequest\x12\x34\n\tnvme_path\x18\x01 \x01(\x0b\x32\x1c.opi_api.storage.v1.NvmePathB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12\x1a\n\rallow_missing\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"|\n\x14ListNvmePathsRequest\x12\x33\n\x06parent\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bopi_api.storage.v1/NvmePath\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\"b\n\x15ListNvmePathsResponse\x12\x30\n\nnvme_paths\x18\x01 \x03(\x0b\x32\x1c.opi_api.storage.v1.NvmePath\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"G\n\x12GetNvmePathRequest\x12\x31\n\x04name\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bopi_api.storage.v1/NvmePath\"I\n\x14StatsNvmePathRequest\x12\x31\n\x04name\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bopi_api.storage.v1/NvmePath\"G\n\x15StatsNvmePathResponse\x12.\n\x05stats\x18\x01 \x01(\x0b\x32\x1f.opi_api.storage.v1.VolumeStats*\xb4\x01\n\x11NvmeTransportType\x12#\n\x1fNVME_TRANSPORT_TYPE_UNSPECIFIED\x10\x00\x12\x15\n\x11NVME_TRANSPORT_FC\x10\x01\x12\x17\n\x13NVME_TRANSPORT_PCIE\x10\x02\x12\x17\n\x13NVME_TRANSPORT_RDMA\x10\x03\x12\x16\n\x12NVME_TRANSPORT_TCP\x10\x04\x12\x19\n\x15NVME_TRANSPORT_CUSTOM\x10\x05*\xa8\x01\n\x11NvmeAddressFamily\x12#\n\x1fNVME_ADDRESS_FAMILY_UNSPECIFIED\x10\x00\x12\x14\n\x10NVME_ADRFAM_IPV4\x10\x01\x12\x14\n\x10NVME_ADRFAM_IPV6\x10\x02\x12\x12\n\x0eNVME_ADRFAM_IB\x10\x03\x12\x12\n\x0eNVME_ADRFAM_FC\x10\x04\x12\x1a\n\x16NVME_ADRFAM_INTRA_HOST\x10\x05*\x86\x01\n\rNvmeMultipath\x12\x1e\n\x1aNVME_MULTIPATH_UNSPECIFIED\x10\x00\x12\x1a\n\x16NVME_MULTIPATH_DISABLE\x10\x01\x12\x1b\n\x17NVME_MULTIPATH_FAILOVER\x10\x02\x12\x1c\n\x18NVME_MULTIPATH_MULTIPATH\x10\x03\x32\x94\x14\n\x1bNvmeRemoteControllerService\x12\xdd\x01\n\x1a\x43reateNvmeRemoteController\x12\x35.opi_api.storage.v1.CreateNvmeRemoteControllerRequest\x1a(.opi_api.storage.v1.NvmeRemoteController\"^\x82\xd3\xe4\x93\x02%\"\x0b/v1/volumes:\x16nvme_remote_controller\xda\x41\x30nvme_remote_controller,nvme_remote_controller_id\x12\x9e\x01\n\x1a\x44\x65leteNvmeRemoteController\x12\x35.opi_api.storage.v1.DeleteNvmeRemoteControllerRequest\x1a\x16.google.protobuf.Empty\"1\x82\xd3\xe4\x93\x02$*\"/v1/{name=NvmeRemoteControllers/*}\xda\x41\x04name\x12\xf0\x01\n\x1aUpdateNvmeRemoteController\x12\x35.opi_api.storage.v1.UpdateNvmeRemoteControllerRequest\x1a(.opi_api.storage.v1.NvmeRemoteController\"q\x82\xd3\xe4\x93\x02\x46\x32,/v1/{nvme_remote_controller.name=subsystems}:\x16nvme_remote_controller\xda\x41\"nvme_remote_controller,update_mask\x12\xb2\x01\n\x19ListNvmeRemoteControllers\x12\x34.opi_api.storage.v1.ListNvmeRemoteControllersRequest\x1a\x35.opi_api.storage.v1.ListNvmeRemoteControllersResponse\"(\x82\xd3\xe4\x93\x02\x19\x12\x17/v1/{parent=subsystems}\xda\x41\x06parent\x12\xaa\x01\n\x17GetNvmeRemoteController\x12\x32.opi_api.storage.v1.GetNvmeRemoteControllerRequest\x1a(.opi_api.storage.v1.NvmeRemoteController\"1\x82\xd3\xe4\x93\x02$\x12\"/v1/{name=NvmeRemoteControllers/*}\xda\x41\x04name\x12\xa5\x01\n\x19ResetNvmeRemoteController\x12\x34.opi_api.storage.v1.ResetNvmeRemoteControllerRequest\x1a\x16.google.protobuf.Empty\":\x82\xd3\xe4\x93\x02-\"(/v1/{name=NvmeRemoteControllers/*}:reset:\x01*\xda\x41\x04name\x12\xc1\x01\n\x19StatsNvmeRemoteController\x12\x34.opi_api.storage.v1.StatsNvmeRemoteControllerRequest\x1a\x35.opi_api.storage.v1.StatsNvmeRemoteControllerResponse\"7\x82\xd3\xe4\x93\x02*\x12(/v1/{name=NvmeRemoteControllers/*}:stats\xda\x41\x04name\x12\xaf\x01\n\x18ListNvmeRemoteNamespaces\x12\x33.opi_api.storage.v1.ListNvmeRemoteNamespacesRequest\x1a\x34.opi_api.storage.v1.ListNvmeRemoteNamespacesResponse\"(\x82\xd3\xe4\x93\x02\x19\x12\x17/v1/{parent=subsystems}\xda\x41\x06parent\x12\xa6\x01\n\x16GetNvmeRemoteNamespace\x12\x31.opi_api.storage.v1.GetNvmeRemoteNamespaceRequest\x1a\'.opi_api.storage.v1.NvmeRemoteNamespace\"0\x82\xd3\xe4\x93\x02#\x12!/v1/{name=NvmeRemoteNamespaces/*}\xda\x41\x04name\x12\x92\x01\n\x0e\x43reateNvmePath\x12).opi_api.storage.v1.CreateNvmePathRequest\x1a\x1c.opi_api.storage.v1.NvmePath\"7\x82\xd3\xe4\x93\x02\x18\"\x0b/v1/volumes:\tnvme_path\xda\x41\x16nvme_path,nvme_path_id\x12z\n\x0e\x44\x65leteNvmePath\x12).opi_api.storage.v1.DeleteNvmePathRequest\x1a\x16.google.protobuf.Empty\"%\x82\xd3\xe4\x93\x02\x18*\x16/v1/{name=NvmePaths/*}\xda\x41\x04name\x12\xa5\x01\n\x0eUpdateNvmePath\x12).opi_api.storage.v1.UpdateNvmePathRequest\x1a\x1c.opi_api.storage.v1.NvmePath\"J\x82\xd3\xe4\x93\x02,2\x1f/v1/{nvme_path.name=subsystems}:\tnvme_path\xda\x41\x15nvme_path,update_mask\x12\x8e\x01\n\rListNvmePaths\x12(.opi_api.storage.v1.ListNvmePathsRequest\x1a).opi_api.storage.v1.ListNvmePathsResponse\"(\x82\xd3\xe4\x93\x02\x19\x12\x17/v1/{parent=subsystems}\xda\x41\x06parent\x12z\n\x0bGetNvmePath\x12&.opi_api.storage.v1.GetNvmePathRequest\x1a\x1c.opi_api.storage.v1.NvmePath\"%\x82\xd3\xe4\x93\x02\x18\x12\x16/v1/{name=NvmePaths/*}\xda\x41\x04name\x12\x91\x01\n\rStatsNvmePath\x12(.opi_api.storage.v1.StatsNvmePathRequest\x1a).opi_api.storage.v1.StatsNvmePathResponse\"+\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v1/{name=NvmePaths/*}:stats\xda\x41\x04nameBb\n\x12opi_api.storage.v1B\x13\x42\x61\x63kendNvmeTcpProtoP\x01Z5github.com/opiproject/opi-api/storage/v1alpha1/gen/gob\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'backend_nvme_tcp_pb2', globals()) @@ -37,36 +37,40 @@ _NVMEREMOTECONTROLLER.fields_by_name['io_queues_count']._serialized_options = b'\340A\001' _NVMEREMOTECONTROLLER.fields_by_name['queue_size']._options = None _NVMEREMOTECONTROLLER.fields_by_name['queue_size']._serialized_options = b'\340A\001' - _NVMEREMOTECONTROLLER.fields_by_name['hdgst']._options = None - _NVMEREMOTECONTROLLER.fields_by_name['hdgst']._serialized_options = b'\340A\001' - _NVMEREMOTECONTROLLER.fields_by_name['ddgst']._options = None - _NVMEREMOTECONTROLLER.fields_by_name['ddgst']._serialized_options = b'\340A\001' - _NVMEREMOTECONTROLLER.fields_by_name['psk']._options = None - _NVMEREMOTECONTROLLER.fields_by_name['psk']._serialized_options = b'\340A\001' + _NVMEREMOTECONTROLLER.fields_by_name['tcp']._options = None + _NVMEREMOTECONTROLLER.fields_by_name['tcp']._serialized_options = b'\340A\001' _NVMEREMOTECONTROLLER._options = None _NVMEREMOTECONTROLLER._serialized_options = b'\352Al\n+storage.opiproject.org/NvmeRemoteController\022\020volumes/{volume}*\025nvmeRemoteControllers2\024nvmeRemoteController' + _TCPCONTROLLER.fields_by_name['hdgst']._options = None + _TCPCONTROLLER.fields_by_name['hdgst']._serialized_options = b'\340A\001' + _TCPCONTROLLER.fields_by_name['ddgst']._options = None + _TCPCONTROLLER.fields_by_name['ddgst']._serialized_options = b'\340A\001' + _TCPCONTROLLER.fields_by_name['psk']._options = None + _TCPCONTROLLER.fields_by_name['psk']._serialized_options = b'\340A\001' _NVMEPATH.fields_by_name['name']._options = None _NVMEPATH.fields_by_name['name']._serialized_options = b'\340A\003\340A\005\372A\035\n\033opi_api.storage.v1/NvmePath' _NVMEPATH.fields_by_name['controller_name_ref']._options = None _NVMEPATH.fields_by_name['controller_name_ref']._serialized_options = b'\340A\002\372A)\n\'opi_api.storage.v1/NvmeRemoteController' _NVMEPATH.fields_by_name['trtype']._options = None _NVMEPATH.fields_by_name['trtype']._serialized_options = b'\340A\002' - _NVMEPATH.fields_by_name['adrfam']._options = None - _NVMEPATH.fields_by_name['adrfam']._serialized_options = b'\340A\001' _NVMEPATH.fields_by_name['traddr']._options = None _NVMEPATH.fields_by_name['traddr']._serialized_options = b'\340A\002' - _NVMEPATH.fields_by_name['trsvcid']._options = None - _NVMEPATH.fields_by_name['trsvcid']._serialized_options = b'\340A\001' - _NVMEPATH.fields_by_name['subnqn']._options = None - _NVMEPATH.fields_by_name['subnqn']._serialized_options = b'\340A\001' - _NVMEPATH.fields_by_name['source_traddr']._options = None - _NVMEPATH.fields_by_name['source_traddr']._serialized_options = b'\340A\001' - _NVMEPATH.fields_by_name['source_trsvcid']._options = None - _NVMEPATH.fields_by_name['source_trsvcid']._serialized_options = b'\340A\001' - _NVMEPATH.fields_by_name['hostnqn']._options = None - _NVMEPATH.fields_by_name['hostnqn']._serialized_options = b'\340A\001' + _NVMEPATH.fields_by_name['fabrics']._options = None + _NVMEPATH.fields_by_name['fabrics']._serialized_options = b'\340A\001' _NVMEPATH._options = None _NVMEPATH._serialized_options = b'\352AH\n\037storage.opiproject.org/NvmePath\022\020volumes/{volume}*\tnvmePaths2\010nvmePath' + _FABRICSPATH.fields_by_name['trsvcid']._options = None + _FABRICSPATH.fields_by_name['trsvcid']._serialized_options = b'\340A\002' + _FABRICSPATH.fields_by_name['subnqn']._options = None + _FABRICSPATH.fields_by_name['subnqn']._serialized_options = b'\340A\002' + _FABRICSPATH.fields_by_name['adrfam']._options = None + _FABRICSPATH.fields_by_name['adrfam']._serialized_options = b'\340A\002' + _FABRICSPATH.fields_by_name['source_traddr']._options = None + _FABRICSPATH.fields_by_name['source_traddr']._serialized_options = b'\340A\001' + _FABRICSPATH.fields_by_name['source_trsvcid']._options = None + _FABRICSPATH.fields_by_name['source_trsvcid']._serialized_options = b'\340A\001' + _FABRICSPATH.fields_by_name['hostnqn']._options = None + _FABRICSPATH.fields_by_name['hostnqn']._serialized_options = b'\340A\001' _NVMEREMOTENAMESPACE.fields_by_name['name']._options = None _NVMEREMOTENAMESPACE.fields_by_name['name']._serialized_options = b'\340A\003\340A\005\372A(\n&opi_api.storage.v1/NvmeRemoteNamespace' _NVMEREMOTENAMESPACE.fields_by_name['controller_name_ref']._options = None @@ -169,58 +173,62 @@ _NVMEREMOTECONTROLLERSERVICE.methods_by_name['GetNvmePath']._serialized_options = b'\202\323\344\223\002\030\022\026/v1/{name=NvmePaths/*}\332A\004name' _NVMEREMOTECONTROLLERSERVICE.methods_by_name['StatsNvmePath']._options = None _NVMEREMOTECONTROLLERSERVICE.methods_by_name['StatsNvmePath']._serialized_options = b'\202\323\344\223\002\036\022\034/v1/{name=NvmePaths/*}:stats\332A\004name' - _NVMETRANSPORTTYPE._serialized_start=3846 - _NVMETRANSPORTTYPE._serialized_end=4026 - _NVMEADDRESSFAMILY._serialized_start=4029 - _NVMEADDRESSFAMILY._serialized_end=4197 - _NVMEMULTIPATH._serialized_start=4200 - _NVMEMULTIPATH._serialized_end=4334 + _NVMETRANSPORTTYPE._serialized_start=3987 + _NVMETRANSPORTTYPE._serialized_end=4167 + _NVMEADDRESSFAMILY._serialized_start=4170 + _NVMEADDRESSFAMILY._serialized_end=4338 + _NVMEMULTIPATH._serialized_start=4341 + _NVMEMULTIPATH._serialized_end=4475 _NVMEREMOTECONTROLLER._serialized_start=254 - _NVMEREMOTECONTROLLER._serialized_end=627 - _NVMEPATH._serialized_start=630 - _NVMEPATH._serialized_end=1112 - _NVMEREMOTENAMESPACE._serialized_start=1115 - _NVMEREMOTENAMESPACE._serialized_end=1492 - _CREATENVMEREMOTECONTROLLERREQUEST._serialized_start=1495 - _CREATENVMEREMOTECONTROLLERREQUEST._serialized_end=1649 - _DELETENVMEREMOTECONTROLLERREQUEST._serialized_start=1651 - _DELETENVMEREMOTECONTROLLERREQUEST._serialized_end=1777 - _UPDATENVMEREMOTECONTROLLERREQUEST._serialized_start=1780 - _UPDATENVMEREMOTECONTROLLERREQUEST._serialized_end=1976 - _LISTNVMEREMOTECONTROLLERSREQUEST._serialized_start=1979 - _LISTNVMEREMOTECONTROLLERSREQUEST._serialized_end=2127 - _LISTNVMEREMOTECONTROLLERSRESPONSE._serialized_start=2130 - _LISTNVMEREMOTECONTROLLERSRESPONSE._serialized_end=2265 - _GETNVMEREMOTECONTROLLERREQUEST._serialized_start=2267 - _GETNVMEREMOTECONTROLLERREQUEST._serialized_end=2362 - _RESETNVMEREMOTECONTROLLERREQUEST._serialized_start=2364 - _RESETNVMEREMOTECONTROLLERREQUEST._serialized_end=2461 - _STATSNVMEREMOTECONTROLLERREQUEST._serialized_start=2463 - _STATSNVMEREMOTECONTROLLERREQUEST._serialized_end=2560 - _STATSNVMEREMOTECONTROLLERRESPONSE._serialized_start=2562 - _STATSNVMEREMOTECONTROLLERRESPONSE._serialized_end=2645 - _LISTNVMEREMOTENAMESPACESREQUEST._serialized_start=2648 - _LISTNVMEREMOTENAMESPACESREQUEST._serialized_end=2794 - _LISTNVMEREMOTENAMESPACESRESPONSE._serialized_start=2797 - _LISTNVMEREMOTENAMESPACESRESPONSE._serialized_end=2929 - _GETNVMEREMOTENAMESPACEREQUEST._serialized_start=2931 - _GETNVMEREMOTENAMESPACEREQUEST._serialized_end=3024 - _CREATENVMEPATHREQUEST._serialized_start=3026 - _CREATENVMEPATHREQUEST._serialized_end=3130 - _DELETENVMEPATHREQUEST._serialized_start=3132 - _DELETENVMEPATHREQUEST._serialized_end=3234 - _UPDATENVMEPATHREQUEST._serialized_start=3237 - _UPDATENVMEPATHREQUEST._serialized_end=3396 - _LISTNVMEPATHSREQUEST._serialized_start=3398 - _LISTNVMEPATHSREQUEST._serialized_end=3522 - _LISTNVMEPATHSRESPONSE._serialized_start=3524 - _LISTNVMEPATHSRESPONSE._serialized_end=3622 - _GETNVMEPATHREQUEST._serialized_start=3624 - _GETNVMEPATHREQUEST._serialized_end=3695 - _STATSNVMEPATHREQUEST._serialized_start=3697 - _STATSNVMEPATHREQUEST._serialized_end=3770 - _STATSNVMEPATHRESPONSE._serialized_start=3772 - _STATSNVMEPATHRESPONSE._serialized_end=3843 - _NVMEREMOTECONTROLLERSERVICE._serialized_start=4337 - _NVMEREMOTECONTROLLERSERVICE._serialized_end=6917 + _NVMEREMOTECONTROLLER._serialized_end=622 + _TCPCONTROLLER._serialized_start=624 + _TCPCONTROLLER._serialized_end=697 + _NVMEPATH._serialized_start=700 + _NVMEPATH._serialized_end=1055 + _FABRICSPATH._serialized_start=1058 + _FABRICSPATH._serialized_end=1253 + _NVMEREMOTENAMESPACE._serialized_start=1256 + _NVMEREMOTENAMESPACE._serialized_end=1633 + _CREATENVMEREMOTECONTROLLERREQUEST._serialized_start=1636 + _CREATENVMEREMOTECONTROLLERREQUEST._serialized_end=1790 + _DELETENVMEREMOTECONTROLLERREQUEST._serialized_start=1792 + _DELETENVMEREMOTECONTROLLERREQUEST._serialized_end=1918 + _UPDATENVMEREMOTECONTROLLERREQUEST._serialized_start=1921 + _UPDATENVMEREMOTECONTROLLERREQUEST._serialized_end=2117 + _LISTNVMEREMOTECONTROLLERSREQUEST._serialized_start=2120 + _LISTNVMEREMOTECONTROLLERSREQUEST._serialized_end=2268 + _LISTNVMEREMOTECONTROLLERSRESPONSE._serialized_start=2271 + _LISTNVMEREMOTECONTROLLERSRESPONSE._serialized_end=2406 + _GETNVMEREMOTECONTROLLERREQUEST._serialized_start=2408 + _GETNVMEREMOTECONTROLLERREQUEST._serialized_end=2503 + _RESETNVMEREMOTECONTROLLERREQUEST._serialized_start=2505 + _RESETNVMEREMOTECONTROLLERREQUEST._serialized_end=2602 + _STATSNVMEREMOTECONTROLLERREQUEST._serialized_start=2604 + _STATSNVMEREMOTECONTROLLERREQUEST._serialized_end=2701 + _STATSNVMEREMOTECONTROLLERRESPONSE._serialized_start=2703 + _STATSNVMEREMOTECONTROLLERRESPONSE._serialized_end=2786 + _LISTNVMEREMOTENAMESPACESREQUEST._serialized_start=2789 + _LISTNVMEREMOTENAMESPACESREQUEST._serialized_end=2935 + _LISTNVMEREMOTENAMESPACESRESPONSE._serialized_start=2938 + _LISTNVMEREMOTENAMESPACESRESPONSE._serialized_end=3070 + _GETNVMEREMOTENAMESPACEREQUEST._serialized_start=3072 + _GETNVMEREMOTENAMESPACEREQUEST._serialized_end=3165 + _CREATENVMEPATHREQUEST._serialized_start=3167 + _CREATENVMEPATHREQUEST._serialized_end=3271 + _DELETENVMEPATHREQUEST._serialized_start=3273 + _DELETENVMEPATHREQUEST._serialized_end=3375 + _UPDATENVMEPATHREQUEST._serialized_start=3378 + _UPDATENVMEPATHREQUEST._serialized_end=3537 + _LISTNVMEPATHSREQUEST._serialized_start=3539 + _LISTNVMEPATHSREQUEST._serialized_end=3663 + _LISTNVMEPATHSRESPONSE._serialized_start=3665 + _LISTNVMEPATHSRESPONSE._serialized_end=3763 + _GETNVMEPATHREQUEST._serialized_start=3765 + _GETNVMEPATHREQUEST._serialized_end=3836 + _STATSNVMEPATHREQUEST._serialized_start=3838 + _STATSNVMEPATHREQUEST._serialized_end=3911 + _STATSNVMEPATHRESPONSE._serialized_start=3913 + _STATSNVMEPATHRESPONSE._serialized_end=3984 + _NVMEREMOTECONTROLLERSERVICE._serialized_start=4478 + _NVMEREMOTECONTROLLERSERVICE._serialized_end=7058 # @@protoc_insertion_point(module_scope)