From 1699976338a1c0dd8412add78fd9dc6e74950144 Mon Sep 17 00:00:00 2001 From: vaibhav jain Date: Fri, 20 Jan 2023 02:05:19 -0500 Subject: [PATCH] New rpc service to attach/detach a controller to a namespace. Added attach/detach controller to cater to use-case of an existing customer. Signed-off-by: Vaibhav Jain Signed-off-by: Michal Kalderon --- storage/v1alpha1/autogen.md | 20 + storage/v1alpha1/frontend_nvme_pcie.proto | 21 + .../gen/cpp/frontend_nvme_pcie.grpc.pb.cc | 84 ++ .../gen/cpp/frontend_nvme_pcie.grpc.pb.h | 322 ++++- .../v1alpha1/gen/cpp/frontend_nvme_pcie.pb.cc | 530 ++++++-- .../v1alpha1/gen/cpp/frontend_nvme_pcie.pb.h | 426 ++++++- .../v1alpha1/gen/go/frontend_nvme_pcie.pb.go | 806 ++++++++----- .../storage/v1/ControllerNVMeNamespace.java | 795 ++++++++++++ .../v1/ControllerNVMeNamespaceOrBuilder.java | 39 + .../v1/ControllerNVMeNamespaceRequest.java | 933 ++++++++++++++ ...ntrollerNVMeNamespaceRequestOrBuilder.java | 51 + .../storage/v1/FrontendNvmePcieProto.java | 200 +-- .../storage/v1/FrontendNvmeServiceGrpc.java | 148 +++ .../v1/NVMeControllerNamespaceSpec.java | 1067 +++++++++++++++++ .../NVMeControllerNamespaceSpecOrBuilder.java | 87 ++ .../v1/NVMeControllerNamespaceStatus.java | 667 +++++++++++ ...VMeControllerNamespaceStatusOrBuilder.java | 47 + .../gen/python/frontend_nvme_pcie_pb2.py | 34 +- .../gen/python/frontend_nvme_pcie_pb2_grpc.py | 66 + 19 files changed, 5848 insertions(+), 495 deletions(-) create mode 100644 storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespace.java create mode 100644 storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespaceOrBuilder.java create mode 100644 storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespaceRequest.java create mode 100644 storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespaceRequestOrBuilder.java create mode 100644 storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceSpec.java create mode 100644 storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceSpecOrBuilder.java create mode 100644 storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceStatus.java create mode 100644 storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceStatusOrBuilder.java diff --git a/storage/v1alpha1/autogen.md b/storage/v1alpha1/autogen.md index f98fb130..e3a42c7b 100644 --- a/storage/v1alpha1/autogen.md +++ b/storage/v1alpha1/autogen.md @@ -50,6 +50,7 @@ - [NVMfRemoteControllerService](#opi_api-storage-v1-NVMfRemoteControllerService) - [frontend_nvme_pcie.proto](#frontend_nvme_pcie-proto) + - [ControllerNVMeNamespaceRequest](#opi_api-storage-v1-ControllerNVMeNamespaceRequest) - [CreateNVMeControllerRequest](#opi_api-storage-v1-CreateNVMeControllerRequest) - [CreateNVMeNamespaceRequest](#opi_api-storage-v1-CreateNVMeNamespaceRequest) - [CreateNVMeSubsystemRequest](#opi_api-storage-v1-CreateNVMeSubsystemRequest) @@ -813,6 +814,23 @@ Back End (network-facing) APIs. NVMe/TCP and NVMe/RoCEv2 protocols are covered b + + +### ControllerNVMeNamespaceRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| subsystem | [string](#string) | | | +| controller | [opi_api.common.v1.ObjectKey](#opi_api-common-v1-ObjectKey) | | | +| nv_me_namespace_id | [opi_api.common.v1.ObjectKey](#opi_api-common-v1-ObjectKey) | | | + + + + + + ### CreateNVMeControllerRequest @@ -1409,6 +1427,8 @@ Front End (host-facing) APIs. Mostly used for NVMe/PCIe emulation and host prese | ListNVMeNamespaces | [ListNVMeNamespacesRequest](#opi_api-storage-v1-ListNVMeNamespacesRequest) | [ListNVMeNamespacesResponse](#opi_api-storage-v1-ListNVMeNamespacesResponse) | | | GetNVMeNamespace | [GetNVMeNamespaceRequest](#opi_api-storage-v1-GetNVMeNamespaceRequest) | [NVMeNamespace](#opi_api-storage-v1-NVMeNamespace) | | | NVMeNamespaceStats | [NVMeNamespaceStatsRequest](#opi_api-storage-v1-NVMeNamespaceStatsRequest) | [NVMeNamespaceStatsResponse](#opi_api-storage-v1-NVMeNamespaceStatsResponse) | | +| AttachControllerNVMeNamespace | [ControllerNVMeNamespaceRequest](#opi_api-storage-v1-ControllerNVMeNamespaceRequest) | [.google.protobuf.Empty](#google-protobuf-Empty) | | +| DetachControllerNVMeNamespace | [ControllerNVMeNamespaceRequest](#opi_api-storage-v1-ControllerNVMeNamespaceRequest) | [.google.protobuf.Empty](#google-protobuf-Empty) | | diff --git a/storage/v1alpha1/frontend_nvme_pcie.proto b/storage/v1alpha1/frontend_nvme_pcie.proto index 1e842e67..d5ece169 100755 --- a/storage/v1alpha1/frontend_nvme_pcie.proto +++ b/storage/v1alpha1/frontend_nvme_pcie.proto @@ -124,6 +124,20 @@ service FrontendNvmeService { option (google.api.method_signature) = "name"; } rpc NVMeNamespaceStats (NVMeNamespaceStatsRequest) returns (NVMeNamespaceStatsResponse) {} + + rpc AttachControllerNVMeNamespace (ControllerNVMeNamespaceRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{subsystem=subsystemId/*/controller=nvmeControllerId/*}:attachControllerNvMeNamespace" + body: "*" + }; + } + + rpc DetachControllerNVMeNamespace (ControllerNVMeNamespaceRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + post: "/v1/{subsystem=subsystemId/*/controller=nvmeControllerId/*}:detachControllerNvMeNamespace" + body: "*" + }; + } } message NVMeSubsystem { @@ -398,6 +412,13 @@ message NVMeNamespaceStatsResponse { VolumeStats stats = 2; } +message ControllerNVMeNamespaceRequest { + string subsystem = 1 [ + (google.api.field_behavior) = REQUIRED + ]; + common.v1.ObjectKey controller = 2 [(google.api.field_behavior) = REQUIRED]; + common.v1.ObjectKey nv_me_namespace_id = 3 [(google.api.field_behavior) = REQUIRED]; +} // Namespace Administrative States enum NVMeNamespacePciState { // unspecified diff --git a/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.grpc.pb.cc b/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.grpc.pb.cc index 9e4e5b8e..d22456d5 100644 --- a/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.grpc.pb.cc +++ b/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.grpc.pb.cc @@ -42,6 +42,8 @@ static const char* FrontendNvmeService_method_names[] = { "/opi_api.storage.v1.FrontendNvmeService/ListNVMeNamespaces", "/opi_api.storage.v1.FrontendNvmeService/GetNVMeNamespace", "/opi_api.storage.v1.FrontendNvmeService/NVMeNamespaceStats", + "/opi_api.storage.v1.FrontendNvmeService/AttachControllerNVMeNamespace", + "/opi_api.storage.v1.FrontendNvmeService/DetachControllerNVMeNamespace", }; std::unique_ptr< FrontendNvmeService::Stub> FrontendNvmeService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { @@ -69,6 +71,8 @@ FrontendNvmeService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface> , rpcmethod_ListNVMeNamespaces_(FrontendNvmeService_method_names[15], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_GetNVMeNamespace_(FrontendNvmeService_method_names[16], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_NVMeNamespaceStats_(FrontendNvmeService_method_names[17], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_AttachControllerNVMeNamespace_(FrontendNvmeService_method_names[18], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_DetachControllerNVMeNamespace_(FrontendNvmeService_method_names[19], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) {} ::grpc::Status FrontendNvmeService::Stub::CreateNVMeSubsystem(::grpc::ClientContext* context, const ::opi_api::storage::v1::CreateNVMeSubsystemRequest& request, ::opi_api::storage::v1::NVMeSubsystem* response) { @@ -485,6 +489,52 @@ ::grpc::ClientAsyncResponseReader< ::opi_api::storage::v1::NVMeNamespaceStatsRes return result; } +::grpc::Status FrontendNvmeService::Stub::AttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::google::protobuf::Empty* response) { + return ::grpc::internal::BlockingUnaryCall< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_AttachControllerNVMeNamespace_, context, request, response); +} + +void FrontendNvmeService::Stub::async::AttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AttachControllerNVMeNamespace_, context, request, response, std::move(f)); +} + +void FrontendNvmeService::Stub::async::AttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AttachControllerNVMeNamespace_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* FrontendNvmeService::Stub::PrepareAsyncAttachControllerNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_AttachControllerNVMeNamespace_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* FrontendNvmeService::Stub::AsyncAttachControllerNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncAttachControllerNVMeNamespaceRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status FrontendNvmeService::Stub::DetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::google::protobuf::Empty* response) { + return ::grpc::internal::BlockingUnaryCall< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_DetachControllerNVMeNamespace_, context, request, response); +} + +void FrontendNvmeService::Stub::async::DetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_DetachControllerNVMeNamespace_, context, request, response, std::move(f)); +} + +void FrontendNvmeService::Stub::async::DetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_DetachControllerNVMeNamespace_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* FrontendNvmeService::Stub::PrepareAsyncDetachControllerNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_DetachControllerNVMeNamespace_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* FrontendNvmeService::Stub::AsyncDetachControllerNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncDetachControllerNVMeNamespaceRaw(context, request, cq); + result->StartCall(); + return result; +} + FrontendNvmeService::Service::Service() { AddMethod(new ::grpc::internal::RpcServiceMethod( FrontendNvmeService_method_names[0], @@ -666,6 +716,26 @@ FrontendNvmeService::Service::Service() { ::opi_api::storage::v1::NVMeNamespaceStatsResponse* resp) { return service->NVMeNamespaceStats(ctx, req, resp); }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + FrontendNvmeService_method_names[18], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< FrontendNvmeService::Service, ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](FrontendNvmeService::Service* service, + ::grpc::ServerContext* ctx, + const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* req, + ::google::protobuf::Empty* resp) { + return service->AttachControllerNVMeNamespace(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + FrontendNvmeService_method_names[19], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< FrontendNvmeService::Service, ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](FrontendNvmeService::Service* service, + ::grpc::ServerContext* ctx, + const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* req, + ::google::protobuf::Empty* resp) { + return service->DetachControllerNVMeNamespace(ctx, req, resp); + }, this))); } FrontendNvmeService::Service::~Service() { @@ -797,6 +867,20 @@ ::grpc::Status FrontendNvmeService::Service::NVMeNamespaceStats(::grpc::ServerCo return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } +::grpc::Status FrontendNvmeService::Service::AttachControllerNVMeNamespace(::grpc::ServerContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status FrontendNvmeService::Service::DetachControllerNVMeNamespace(::grpc::ServerContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + } // namespace opi_api } // namespace storage diff --git a/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.grpc.pb.h b/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.grpc.pb.h index 473c1170..d2d1a91a 100644 --- a/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.grpc.pb.h +++ b/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.grpc.pb.h @@ -169,6 +169,20 @@ class FrontendNvmeService final { std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::opi_api::storage::v1::NVMeNamespaceStatsResponse>> PrepareAsyncNVMeNamespaceStats(::grpc::ClientContext* context, const ::opi_api::storage::v1::NVMeNamespaceStatsRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::opi_api::storage::v1::NVMeNamespaceStatsResponse>>(PrepareAsyncNVMeNamespaceStatsRaw(context, request, cq)); } + virtual ::grpc::Status AttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::google::protobuf::Empty* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncAttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncAttachControllerNVMeNamespaceRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncAttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncAttachControllerNVMeNamespaceRaw(context, request, cq)); + } + virtual ::grpc::Status DetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::google::protobuf::Empty* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncDetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncDetachControllerNVMeNamespaceRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncDetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncDetachControllerNVMeNamespaceRaw(context, request, cq)); + } class async_interface { public: virtual ~async_interface() {} @@ -208,6 +222,10 @@ class FrontendNvmeService final { virtual void GetNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::GetNVMeNamespaceRequest* request, ::opi_api::storage::v1::NVMeNamespace* response, ::grpc::ClientUnaryReactor* reactor) = 0; virtual void NVMeNamespaceStats(::grpc::ClientContext* context, const ::opi_api::storage::v1::NVMeNamespaceStatsRequest* request, ::opi_api::storage::v1::NVMeNamespaceStatsResponse* response, std::function) = 0; virtual void NVMeNamespaceStats(::grpc::ClientContext* context, const ::opi_api::storage::v1::NVMeNamespaceStatsRequest* request, ::opi_api::storage::v1::NVMeNamespaceStatsResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void AttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response, std::function) = 0; + virtual void AttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void DetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response, std::function) = 0; + virtual void DetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0; }; typedef class async_interface experimental_async_interface; virtual class async_interface* async() { return nullptr; } @@ -249,6 +267,10 @@ class FrontendNvmeService final { virtual ::grpc::ClientAsyncResponseReaderInterface< ::opi_api::storage::v1::NVMeNamespace>* PrepareAsyncGetNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::GetNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::opi_api::storage::v1::NVMeNamespaceStatsResponse>* AsyncNVMeNamespaceStatsRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::NVMeNamespaceStatsRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::opi_api::storage::v1::NVMeNamespaceStatsResponse>* PrepareAsyncNVMeNamespaceStatsRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::NVMeNamespaceStatsRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncAttachControllerNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncAttachControllerNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncDetachControllerNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncDetachControllerNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) = 0; }; class Stub final : public StubInterface { public: @@ -379,6 +401,20 @@ class FrontendNvmeService final { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::opi_api::storage::v1::NVMeNamespaceStatsResponse>> PrepareAsyncNVMeNamespaceStats(::grpc::ClientContext* context, const ::opi_api::storage::v1::NVMeNamespaceStatsRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::opi_api::storage::v1::NVMeNamespaceStatsResponse>>(PrepareAsyncNVMeNamespaceStatsRaw(context, request, cq)); } + ::grpc::Status AttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::google::protobuf::Empty* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncAttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncAttachControllerNVMeNamespaceRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncAttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncAttachControllerNVMeNamespaceRaw(context, request, cq)); + } + ::grpc::Status DetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::google::protobuf::Empty* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncDetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncDetachControllerNVMeNamespaceRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncDetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncDetachControllerNVMeNamespaceRaw(context, request, cq)); + } class async final : public StubInterface::async_interface { public: @@ -418,6 +454,10 @@ class FrontendNvmeService final { void GetNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::GetNVMeNamespaceRequest* request, ::opi_api::storage::v1::NVMeNamespace* response, ::grpc::ClientUnaryReactor* reactor) override; void NVMeNamespaceStats(::grpc::ClientContext* context, const ::opi_api::storage::v1::NVMeNamespaceStatsRequest* request, ::opi_api::storage::v1::NVMeNamespaceStatsResponse* response, std::function) override; void NVMeNamespaceStats(::grpc::ClientContext* context, const ::opi_api::storage::v1::NVMeNamespaceStatsRequest* request, ::opi_api::storage::v1::NVMeNamespaceStatsResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void AttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response, std::function) override; + void AttachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override; + void DetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response, std::function) override; + void DetachControllerNVMeNamespace(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override; private: friend class Stub; explicit async(Stub* stub): stub_(stub) { } @@ -465,6 +505,10 @@ class FrontendNvmeService final { ::grpc::ClientAsyncResponseReader< ::opi_api::storage::v1::NVMeNamespace>* PrepareAsyncGetNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::GetNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::opi_api::storage::v1::NVMeNamespaceStatsResponse>* AsyncNVMeNamespaceStatsRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::NVMeNamespaceStatsRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::opi_api::storage::v1::NVMeNamespaceStatsResponse>* PrepareAsyncNVMeNamespaceStatsRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::NVMeNamespaceStatsRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncAttachControllerNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncAttachControllerNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncDetachControllerNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncDetachControllerNVMeNamespaceRaw(::grpc::ClientContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest& request, ::grpc::CompletionQueue* cq) override; const ::grpc::internal::RpcMethod rpcmethod_CreateNVMeSubsystem_; const ::grpc::internal::RpcMethod rpcmethod_DeleteNVMeSubsystem_; const ::grpc::internal::RpcMethod rpcmethod_UpdateNVMeSubsystem_; @@ -483,6 +527,8 @@ class FrontendNvmeService final { const ::grpc::internal::RpcMethod rpcmethod_ListNVMeNamespaces_; const ::grpc::internal::RpcMethod rpcmethod_GetNVMeNamespace_; const ::grpc::internal::RpcMethod rpcmethod_NVMeNamespaceStats_; + const ::grpc::internal::RpcMethod rpcmethod_AttachControllerNVMeNamespace_; + const ::grpc::internal::RpcMethod rpcmethod_DetachControllerNVMeNamespace_; }; static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); @@ -508,6 +554,8 @@ class FrontendNvmeService final { virtual ::grpc::Status ListNVMeNamespaces(::grpc::ServerContext* context, const ::opi_api::storage::v1::ListNVMeNamespacesRequest* request, ::opi_api::storage::v1::ListNVMeNamespacesResponse* response); virtual ::grpc::Status GetNVMeNamespace(::grpc::ServerContext* context, const ::opi_api::storage::v1::GetNVMeNamespaceRequest* request, ::opi_api::storage::v1::NVMeNamespace* response); virtual ::grpc::Status NVMeNamespaceStats(::grpc::ServerContext* context, const ::opi_api::storage::v1::NVMeNamespaceStatsRequest* request, ::opi_api::storage::v1::NVMeNamespaceStatsResponse* response); + virtual ::grpc::Status AttachControllerNVMeNamespace(::grpc::ServerContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response); + virtual ::grpc::Status DetachControllerNVMeNamespace(::grpc::ServerContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response); }; template class WithAsyncMethod_CreateNVMeSubsystem : public BaseClass { @@ -869,7 +917,47 @@ class FrontendNvmeService final { ::grpc::Service::RequestAsyncUnary(17, context, request, response, new_call_cq, notification_cq, tag); } }; - typedef WithAsyncMethod_CreateNVMeSubsystem > > > > > > > > > > > > > > > > > AsyncService; + template + class WithAsyncMethod_AttachControllerNVMeNamespace : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_AttachControllerNVMeNamespace() { + ::grpc::Service::MarkMethodAsync(18); + } + ~WithAsyncMethod_AttachControllerNVMeNamespace() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AttachControllerNVMeNamespace(::grpc::ServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestAttachControllerNVMeNamespace(::grpc::ServerContext* context, ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(18, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_DetachControllerNVMeNamespace : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_DetachControllerNVMeNamespace() { + ::grpc::Service::MarkMethodAsync(19); + } + ~WithAsyncMethod_DetachControllerNVMeNamespace() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status DetachControllerNVMeNamespace(::grpc::ServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestDetachControllerNVMeNamespace(::grpc::ServerContext* context, ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(19, context, request, response, new_call_cq, notification_cq, tag); + } + }; + typedef WithAsyncMethod_CreateNVMeSubsystem > > > > > > > > > > > > > > > > > > > AsyncService; template class WithCallbackMethod_CreateNVMeSubsystem : public BaseClass { private: @@ -1356,7 +1444,61 @@ class FrontendNvmeService final { virtual ::grpc::ServerUnaryReactor* NVMeNamespaceStats( ::grpc::CallbackServerContext* /*context*/, const ::opi_api::storage::v1::NVMeNamespaceStatsRequest* /*request*/, ::opi_api::storage::v1::NVMeNamespaceStatsResponse* /*response*/) { return nullptr; } }; - typedef WithCallbackMethod_CreateNVMeSubsystem > > > > > > > > > > > > > > > > > CallbackService; + template + class WithCallbackMethod_AttachControllerNVMeNamespace : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_AttachControllerNVMeNamespace() { + ::grpc::Service::MarkMethodCallback(18, + new ::grpc::internal::CallbackUnaryHandler< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty>( + [this]( + ::grpc::CallbackServerContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response) { return this->AttachControllerNVMeNamespace(context, request, response); }));} + void SetMessageAllocatorFor_AttachControllerNVMeNamespace( + ::grpc::MessageAllocator< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(18); + static_cast<::grpc::internal::CallbackUnaryHandler< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_AttachControllerNVMeNamespace() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AttachControllerNVMeNamespace(::grpc::ServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* AttachControllerNVMeNamespace( + ::grpc::CallbackServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) { return nullptr; } + }; + template + class WithCallbackMethod_DetachControllerNVMeNamespace : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_DetachControllerNVMeNamespace() { + ::grpc::Service::MarkMethodCallback(19, + new ::grpc::internal::CallbackUnaryHandler< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty>( + [this]( + ::grpc::CallbackServerContext* context, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* request, ::google::protobuf::Empty* response) { return this->DetachControllerNVMeNamespace(context, request, response); }));} + void SetMessageAllocatorFor_DetachControllerNVMeNamespace( + ::grpc::MessageAllocator< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(19); + static_cast<::grpc::internal::CallbackUnaryHandler< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_DetachControllerNVMeNamespace() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status DetachControllerNVMeNamespace(::grpc::ServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* DetachControllerNVMeNamespace( + ::grpc::CallbackServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) { return nullptr; } + }; + typedef WithCallbackMethod_CreateNVMeSubsystem > > > > > > > > > > > > > > > > > > > CallbackService; typedef CallbackService ExperimentalCallbackService; template class WithGenericMethod_CreateNVMeSubsystem : public BaseClass { @@ -1665,6 +1807,40 @@ class FrontendNvmeService final { } }; template + class WithGenericMethod_AttachControllerNVMeNamespace : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_AttachControllerNVMeNamespace() { + ::grpc::Service::MarkMethodGeneric(18); + } + ~WithGenericMethod_AttachControllerNVMeNamespace() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AttachControllerNVMeNamespace(::grpc::ServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_DetachControllerNVMeNamespace : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_DetachControllerNVMeNamespace() { + ::grpc::Service::MarkMethodGeneric(19); + } + ~WithGenericMethod_DetachControllerNVMeNamespace() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status DetachControllerNVMeNamespace(::grpc::ServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template class WithRawMethod_CreateNVMeSubsystem : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} @@ -2025,6 +2201,46 @@ class FrontendNvmeService final { } }; template + class WithRawMethod_AttachControllerNVMeNamespace : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_AttachControllerNVMeNamespace() { + ::grpc::Service::MarkMethodRaw(18); + } + ~WithRawMethod_AttachControllerNVMeNamespace() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AttachControllerNVMeNamespace(::grpc::ServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestAttachControllerNVMeNamespace(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(18, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_DetachControllerNVMeNamespace : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_DetachControllerNVMeNamespace() { + ::grpc::Service::MarkMethodRaw(19); + } + ~WithRawMethod_DetachControllerNVMeNamespace() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status DetachControllerNVMeNamespace(::grpc::ServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestDetachControllerNVMeNamespace(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(19, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithRawCallbackMethod_CreateNVMeSubsystem : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} @@ -2421,6 +2637,50 @@ class FrontendNvmeService final { ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } }; template + class WithRawCallbackMethod_AttachControllerNVMeNamespace : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_AttachControllerNVMeNamespace() { + ::grpc::Service::MarkMethodRawCallback(18, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->AttachControllerNVMeNamespace(context, request, response); })); + } + ~WithRawCallbackMethod_AttachControllerNVMeNamespace() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AttachControllerNVMeNamespace(::grpc::ServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* AttachControllerNVMeNamespace( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_DetachControllerNVMeNamespace : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_DetachControllerNVMeNamespace() { + ::grpc::Service::MarkMethodRawCallback(19, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->DetachControllerNVMeNamespace(context, request, response); })); + } + ~WithRawCallbackMethod_DetachControllerNVMeNamespace() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status DetachControllerNVMeNamespace(::grpc::ServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* DetachControllerNVMeNamespace( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template class WithStreamedUnaryMethod_CreateNVMeSubsystem : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} @@ -2906,9 +3166,63 @@ class FrontendNvmeService final { // replace default version of method with streamed unary virtual ::grpc::Status StreamedNVMeNamespaceStats(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::opi_api::storage::v1::NVMeNamespaceStatsRequest,::opi_api::storage::v1::NVMeNamespaceStatsResponse>* server_unary_streamer) = 0; }; - typedef WithStreamedUnaryMethod_CreateNVMeSubsystem > > > > > > > > > > > > > > > > > StreamedUnaryService; + template + class WithStreamedUnaryMethod_AttachControllerNVMeNamespace : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_AttachControllerNVMeNamespace() { + ::grpc::Service::MarkMethodStreamed(18, + new ::grpc::internal::StreamedUnaryHandler< + ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty>* streamer) { + return this->StreamedAttachControllerNVMeNamespace(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_AttachControllerNVMeNamespace() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status AttachControllerNVMeNamespace(::grpc::ServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedAttachControllerNVMeNamespace(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest,::google::protobuf::Empty>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_DetachControllerNVMeNamespace : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_DetachControllerNVMeNamespace() { + ::grpc::Service::MarkMethodStreamed(19, + new ::grpc::internal::StreamedUnaryHandler< + ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::opi_api::storage::v1::ControllerNVMeNamespaceRequest, ::google::protobuf::Empty>* streamer) { + return this->StreamedDetachControllerNVMeNamespace(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_DetachControllerNVMeNamespace() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status DetachControllerNVMeNamespace(::grpc::ServerContext* /*context*/, const ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedDetachControllerNVMeNamespace(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest,::google::protobuf::Empty>* server_unary_streamer) = 0; + }; + typedef WithStreamedUnaryMethod_CreateNVMeSubsystem > > > > > > > > > > > > > > > > > > > StreamedUnaryService; typedef Service SplitStreamedService; - typedef WithStreamedUnaryMethod_CreateNVMeSubsystem > > > > > > > > > > > > > > > > > StreamedService; + typedef WithStreamedUnaryMethod_CreateNVMeSubsystem > > > > > > > > > > > > > > > > > > > StreamedService; }; } // namespace v1 diff --git a/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.pb.cc b/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.pb.cc index c05cfaf4..046db8ab 100644 --- a/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.pb.cc +++ b/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.pb.cc @@ -460,10 +460,24 @@ struct NVMeNamespaceStatsResponseDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT NVMeNamespaceStatsResponseDefaultTypeInternal _NVMeNamespaceStatsResponse_default_instance_; +constexpr ControllerNVMeNamespaceRequest::ControllerNVMeNamespaceRequest( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : subsystem_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , controller_(nullptr) + , nv_me_namespace_id_(nullptr){} +struct ControllerNVMeNamespaceRequestDefaultTypeInternal { + constexpr ControllerNVMeNamespaceRequestDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~ControllerNVMeNamespaceRequestDefaultTypeInternal() {} + union { + ControllerNVMeNamespaceRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ControllerNVMeNamespaceRequestDefaultTypeInternal _ControllerNVMeNamespaceRequest_default_instance_; } // namespace v1 } // namespace storage } // namespace opi_api -static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_frontend_5fnvme_5fpcie_2eproto[33]; +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_frontend_5fnvme_5fpcie_2eproto[34]; static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_frontend_5fnvme_5fpcie_2eproto[2]; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_frontend_5fnvme_5fpcie_2eproto = nullptr; @@ -742,6 +756,15 @@ const uint32_t TableStruct_frontend_5fnvme_5fpcie_2eproto::offsets[] PROTOBUF_SE ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NVMeNamespaceStatsResponse, id_), PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::NVMeNamespaceStatsResponse, stats_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::ControllerNVMeNamespaceRequest, _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::ControllerNVMeNamespaceRequest, subsystem_), + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::ControllerNVMeNamespaceRequest, controller_), + PROTOBUF_FIELD_OFFSET(::opi_api::storage::v1::ControllerNVMeNamespaceRequest, nv_me_namespace_id_), }; static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, -1, sizeof(::opi_api::storage::v1::NVMeSubsystem)}, @@ -777,6 +800,7 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 252, -1, -1, sizeof(::opi_api::storage::v1::GetNVMeNamespaceRequest)}, { 259, -1, -1, sizeof(::opi_api::storage::v1::NVMeNamespaceStatsRequest)}, { 266, -1, -1, sizeof(::opi_api::storage::v1::NVMeNamespaceStatsResponse)}, + { 274, -1, -1, sizeof(::opi_api::storage::v1::ControllerNVMeNamespaceRequest)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -813,6 +837,7 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = reinterpret_cast(&::opi_api::storage::v1::_GetNVMeNamespaceRequest_default_instance_), reinterpret_cast(&::opi_api::storage::v1::_NVMeNamespaceStatsRequest_default_instance_), reinterpret_cast(&::opi_api::storage::v1::_NVMeNamespaceStatsResponse_default_instance_), + reinterpret_cast(&::opi_api::storage::v1::_ControllerNVMeNamespaceRequest_default_instance_), }; const char descriptor_table_protodef_frontend_5fnvme_5fpcie_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = @@ -925,93 +950,108 @@ const char descriptor_table_protodef_frontend_5fnvme_5fpcie_2eproto[] PROTOBUF_S ".ObjectKey\"v\n\032NVMeNamespaceStatsResponse" "\022(\n\002id\030\001 \001(\0132\034.opi_api.common.v1.ObjectK" "ey\022.\n\005stats\030\002 \001(\0132\037.opi_api.storage.v1.V" - "olumeStats*\266\001\n\025NVMeNamespacePciState\022)\n%" - "NV_ME_NAMESPACE_PCI_STATE_UNSPECIFIED\020\000\022" - "%\n!NVME_NAMESPACE_PCI_STATE_DISABLED\020\001\022$" - "\n NVME_NAMESPACE_PCI_STATE_ENABLED\020\002\022%\n!" - "NVME_NAMESPACE_PCI_STATE_DELETING\020\003*\240\001\n\031" - "NVMeNamespacePciOperState\022.\n*NV_ME_NAMES" - "PACE_PCI_OPER_STATE_UNSPECIFIED\020\000\022(\n$NVM" - "E_NAMESPACE_PCI_OPER_STATE_ONLINE\020\001\022)\n%N" - "VME_NAMESPACE_PCI_OPER_STATE_OFFLINE\020\0022\245" - "\027\n\023FrontendNvmeService\022\306\001\n\023CreateNVMeSub" - "system\022..opi_api.storage.v1.CreateNVMeSu" - "bsystemRequest\032!.opi_api.storage.v1.NVMe" - "Subsystem\"\\\202\323\344\223\002*\"\027/v1/{parent=subsystem" - "s}:\017nv_me_subsystem\332A)parent,nv_me_subsy" - "stem,nv_me_subsystem_id\022\217\001\n\023DeleteNVMeSu" - "bsystem\022..opi_api.storage.v1.DeleteNVMeS" - "ubsystemRequest\032\026.google.protobuf.Empty\"" - "0\202\323\344\223\002#*!/v1/{name=subsystems}/{subsyste" - "m}\332A\004name\022\306\001\n\023UpdateNVMeSubsystem\022..opi_" - "api.storage.v1.UpdateNVMeSubsystemReques" - "t\032!.opi_api.storage.v1.NVMeSubsystem\"\\\202\323" - "\344\223\00282%/v1/{nv_me_subsystem.name=subsyste" - "ms}:\017nv_me_subsystem\332A\033nv_me_subsystem,u" - "pdate_mask\022\235\001\n\022ListNVMeSubsystems\022-.opi_" - "api.storage.v1.ListNVMeSubsystemsRequest" - "\032..opi_api.storage.v1.ListNVMeSubsystems" - "Response\"(\202\323\344\223\002\031\022\027/v1/{parent=subsystems" - "}\332A\006parent\022\224\001\n\020GetNVMeSubsystem\022+.opi_ap" - "i.storage.v1.GetNVMeSubsystemRequest\032!.o" - "pi_api.storage.v1.NVMeSubsystem\"0\202\323\344\223\002#\022" - "!/v1/{name=subsystems}/{subsystem}\332A\004nam" - "e\022u\n\022NVMeSubsystemStats\022-.opi_api.storag" - "e.v1.NVMeSubsystemStatsRequest\032..opi_api" - ".storage.v1.NVMeSubsystemStatsResponse\"\000" - "\022\314\001\n\024CreateNVMeController\022/.opi_api.stor" - "age.v1.CreateNVMeControllerRequest\032\".opi" - "_api.storage.v1.NVMeController\"_\202\323\344\223\002+\"\027" - "/v1/{parent=subsystems}:\020nv_me_controlle" - "r\332A+parent,nv_me_controller,nv_me_contro" - "ller_id\022\223\001\n\024DeleteNVMeController\022/.opi_a" - "pi.storage.v1.DeleteNVMeControllerReques" - "t\032\026.google.protobuf.Empty\"2\202\323\344\223\002%*#/v1/{" - "name=controllers}/{controller}\332A\004name\022\314\001" - "\n\024UpdateNVMeController\022/.opi_api.storage" - ".v1.UpdateNVMeControllerRequest\032\".opi_ap" - "i.storage.v1.NVMeController\"_\202\323\344\223\002:2&/v1" - "/{nv_me_controller.name=subsystems}:\020nv_" - "me_controller\332A\034nv_me_controller,update_" - "mask\022\240\001\n\023ListNVMeControllers\022..opi_api.s" - "torage.v1.ListNVMeControllersRequest\032/.o" - "pi_api.storage.v1.ListNVMeControllersRes" - "ponse\"(\202\323\344\223\002\031\022\027/v1/{parent=subsystems}\332A" - "\006parent\022\230\001\n\021GetNVMeController\022,.opi_api." - "storage.v1.GetNVMeControllerRequest\032\".op" - "i_api.storage.v1.NVMeController\"1\202\323\344\223\002$\022" - "\"/v1/{name=subsystems}/{controller}\332A\004na" - "me\022x\n\023NVMeControllerStats\022..opi_api.stor" - "age.v1.NVMeControllerStatsRequest\032/.opi_" - "api.storage.v1.NVMeControllerStatsRespon" - "se\"\000\022\306\001\n\023CreateNVMeNamespace\022..opi_api.s" - "torage.v1.CreateNVMeNamespaceRequest\032!.o" - "pi_api.storage.v1.NVMeNamespace\"\\\202\323\344\223\002*\"" - "\027/v1/{parent=subsystems}:\017nv_me_namespac" - "e\332A)parent,nv_me_namespace,nv_me_namespa" - "ce_id\022\217\001\n\023DeleteNVMeNamespace\022..opi_api." - "storage.v1.DeleteNVMeNamespaceRequest\032\026." - "google.protobuf.Empty\"0\202\323\344\223\002#*!/v1/{name" - "=namespaces}/{namespace}\332A\004name\022\306\001\n\023Upda" - "teNVMeNamespace\022..opi_api.storage.v1.Upd" - "ateNVMeNamespaceRequest\032!.opi_api.storag" - "e.v1.NVMeNamespace\"\\\202\323\344\223\00282%/v1/{nv_me_n" - "amespace.name=subsystems}:\017nv_me_namespa" - "ce\332A\033nv_me_namespace,update_mask\022\235\001\n\022Lis" - "tNVMeNamespaces\022-.opi_api.storage.v1.Lis" - "tNVMeNamespacesRequest\032..opi_api.storage" - ".v1.ListNVMeNamespacesResponse\"(\202\323\344\223\002\031\022\027" - "/v1/{parent=subsystems}\332A\006parent\022\224\001\n\020Get" - "NVMeNamespace\022+.opi_api.storage.v1.GetNV" - "MeNamespaceRequest\032!.opi_api.storage.v1." - "NVMeNamespace\"0\202\323\344\223\002#\022!/v1/{name=subsyst" - "ems}/{namespace}\332A\004name\022u\n\022NVMeNamespace" - "Stats\022-.opi_api.storage.v1.NVMeNamespace" - "StatsRequest\032..opi_api.storage.v1.NVMeNa" - "mespaceStatsResponse\"\000Bd\n\022opi_api.storag" - "e.v1B\025FrontendNvmePcieProtoP\001Z5github.co" - "m/opiproject/opi-api/storage/v1alpha1/ge" - "n/gob\006proto3" + "olumeStats\"\256\001\n\036ControllerNVMeNamespaceRe" + "quest\022\026\n\tsubsystem\030\001 \001(\tB\003\340A\002\0225\n\ncontrol" + "ler\030\002 \001(\0132\034.opi_api.common.v1.ObjectKeyB" + "\003\340A\002\022=\n\022nv_me_namespace_id\030\003 \001(\0132\034.opi_a" + "pi.common.v1.ObjectKeyB\003\340A\002*\266\001\n\025NVMeName" + "spacePciState\022)\n%NV_ME_NAMESPACE_PCI_STA" + "TE_UNSPECIFIED\020\000\022%\n!NVME_NAMESPACE_PCI_S" + "TATE_DISABLED\020\001\022$\n NVME_NAMESPACE_PCI_ST" + "ATE_ENABLED\020\002\022%\n!NVME_NAMESPACE_PCI_STAT" + "E_DELETING\020\003*\240\001\n\031NVMeNamespacePciOperSta" + "te\022.\n*NV_ME_NAMESPACE_PCI_OPER_STATE_UNS" + "PECIFIED\020\000\022(\n$NVME_NAMESPACE_PCI_OPER_ST" + "ATE_ONLINE\020\001\022)\n%NVME_NAMESPACE_PCI_OPER_" + "STATE_OFFLINE\020\0022\315\032\n\023FrontendNvmeService\022" + "\306\001\n\023CreateNVMeSubsystem\022..opi_api.storag" + "e.v1.CreateNVMeSubsystemRequest\032!.opi_ap" + "i.storage.v1.NVMeSubsystem\"\\\202\323\344\223\002*\"\027/v1/" + "{parent=subsystems}:\017nv_me_subsystem\332A)p" + "arent,nv_me_subsystem,nv_me_subsystem_id" + "\022\217\001\n\023DeleteNVMeSubsystem\022..opi_api.stora" + "ge.v1.DeleteNVMeSubsystemRequest\032\026.googl" + "e.protobuf.Empty\"0\202\323\344\223\002#*!/v1/{name=subs" + "ystems}/{subsystem}\332A\004name\022\306\001\n\023UpdateNVM" + "eSubsystem\022..opi_api.storage.v1.UpdateNV" + "MeSubsystemRequest\032!.opi_api.storage.v1." + "NVMeSubsystem\"\\\202\323\344\223\00282%/v1/{nv_me_subsys" + "tem.name=subsystems}:\017nv_me_subsystem\332A\033" + "nv_me_subsystem,update_mask\022\235\001\n\022ListNVMe" + "Subsystems\022-.opi_api.storage.v1.ListNVMe" + "SubsystemsRequest\032..opi_api.storage.v1.L" + "istNVMeSubsystemsResponse\"(\202\323\344\223\002\031\022\027/v1/{" + "parent=subsystems}\332A\006parent\022\224\001\n\020GetNVMeS" + "ubsystem\022+.opi_api.storage.v1.GetNVMeSub" + "systemRequest\032!.opi_api.storage.v1.NVMeS" + "ubsystem\"0\202\323\344\223\002#\022!/v1/{name=subsystems}/" + "{subsystem}\332A\004name\022u\n\022NVMeSubsystemStats" + "\022-.opi_api.storage.v1.NVMeSubsystemStats" + "Request\032..opi_api.storage.v1.NVMeSubsyst" + "emStatsResponse\"\000\022\314\001\n\024CreateNVMeControll" + "er\022/.opi_api.storage.v1.CreateNVMeContro" + "llerRequest\032\".opi_api.storage.v1.NVMeCon" + "troller\"_\202\323\344\223\002+\"\027/v1/{parent=subsystems}" + ":\020nv_me_controller\332A+parent,nv_me_contro" + "ller,nv_me_controller_id\022\223\001\n\024DeleteNVMeC" + "ontroller\022/.opi_api.storage.v1.DeleteNVM" + "eControllerRequest\032\026.google.protobuf.Emp" + "ty\"2\202\323\344\223\002%*#/v1/{name=controllers}/{cont" + "roller}\332A\004name\022\314\001\n\024UpdateNVMeController\022" + "/.opi_api.storage.v1.UpdateNVMeControlle" + "rRequest\032\".opi_api.storage.v1.NVMeContro" + "ller\"_\202\323\344\223\002:2&/v1/{nv_me_controller.name" + "=subsystems}:\020nv_me_controller\332A\034nv_me_c" + "ontroller,update_mask\022\240\001\n\023ListNVMeContro" + "llers\022..opi_api.storage.v1.ListNVMeContr" + "ollersRequest\032/.opi_api.storage.v1.ListN" + "VMeControllersResponse\"(\202\323\344\223\002\031\022\027/v1/{par" + "ent=subsystems}\332A\006parent\022\230\001\n\021GetNVMeCont" + "roller\022,.opi_api.storage.v1.GetNVMeContr" + "ollerRequest\032\".opi_api.storage.v1.NVMeCo" + "ntroller\"1\202\323\344\223\002$\022\"/v1/{name=subsystems}/" + "{controller}\332A\004name\022x\n\023NVMeControllerSta" + "ts\022..opi_api.storage.v1.NVMeControllerSt" + "atsRequest\032/.opi_api.storage.v1.NVMeCont" + "rollerStatsResponse\"\000\022\306\001\n\023CreateNVMeName" + "space\022..opi_api.storage.v1.CreateNVMeNam" + "espaceRequest\032!.opi_api.storage.v1.NVMeN" + "amespace\"\\\202\323\344\223\002*\"\027/v1/{parent=subsystems" + "}:\017nv_me_namespace\332A)parent,nv_me_namesp" + "ace,nv_me_namespace_id\022\217\001\n\023DeleteNVMeNam" + "espace\022..opi_api.storage.v1.DeleteNVMeNa" + "mespaceRequest\032\026.google.protobuf.Empty\"0" + "\202\323\344\223\002#*!/v1/{name=namespaces}/{namespace" + "}\332A\004name\022\306\001\n\023UpdateNVMeNamespace\022..opi_a" + "pi.storage.v1.UpdateNVMeNamespaceRequest" + "\032!.opi_api.storage.v1.NVMeNamespace\"\\\202\323\344" + "\223\00282%/v1/{nv_me_namespace.name=subsystem" + "s}:\017nv_me_namespace\332A\033nv_me_namespace,up" + "date_mask\022\235\001\n\022ListNVMeNamespaces\022-.opi_a" + "pi.storage.v1.ListNVMeNamespacesRequest\032" + "..opi_api.storage.v1.ListNVMeNamespacesR" + "esponse\"(\202\323\344\223\002\031\022\027/v1/{parent=subsystems}" + "\332A\006parent\022\224\001\n\020GetNVMeNamespace\022+.opi_api" + ".storage.v1.GetNVMeNamespaceRequest\032!.op" + "i_api.storage.v1.NVMeNamespace\"0\202\323\344\223\002#\022!" + "/v1/{name=subsystems}/{namespace}\332A\004name" + "\022u\n\022NVMeNamespaceStats\022-.opi_api.storage" + ".v1.NVMeNamespaceStatsRequest\032..opi_api." + "storage.v1.NVMeNamespaceStatsResponse\"\000\022" + "\321\001\n\035AttachControllerNVMeNamespace\0222.opi_" + "api.storage.v1.ControllerNVMeNamespaceRe" + "quest\032\026.google.protobuf.Empty\"d\202\323\344\223\002^\"Y/" + "v1/{subsystem=subsystemId/*/controller=n" + "vmeControllerId/*}:attachControllerNvMeN" + "amespace:\001*\022\321\001\n\035DetachControllerNVMeName" + "space\0222.opi_api.storage.v1.ControllerNVM" + "eNamespaceRequest\032\026.google.protobuf.Empt" + "y\"d\202\323\344\223\002^\"Y/v1/{subsystem=subsystemId/*/" + "controller=nvmeControllerId/*}:detachCon" + "trollerNvMeNamespace:\001*Bd\n\022opi_api.stora" + "ge.v1B\025FrontendNvmePcieProtoP\001Z5github.c" + "om/opiproject/opi-api/storage/v1alpha1/g" + "en/gob\006proto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_frontend_5fnvme_5fpcie_2eproto_deps[9] = { &::descriptor_table_google_2fapi_2fannotations_2eproto, @@ -1026,8 +1066,8 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_frontend_5fnvme_5fpcie_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_frontend_5fnvme_5fpcie_2eproto = { - false, false, 7812, descriptor_table_protodef_frontend_5fnvme_5fpcie_2eproto, "frontend_nvme_pcie.proto", - &descriptor_table_frontend_5fnvme_5fpcie_2eproto_once, descriptor_table_frontend_5fnvme_5fpcie_2eproto_deps, 9, 33, + false, false, 8413, descriptor_table_protodef_frontend_5fnvme_5fpcie_2eproto, "frontend_nvme_pcie.proto", + &descriptor_table_frontend_5fnvme_5fpcie_2eproto_once, descriptor_table_frontend_5fnvme_5fpcie_2eproto_deps, 9, 34, schemas, file_default_instances, TableStruct_frontend_5fnvme_5fpcie_2eproto::offsets, file_level_metadata_frontend_5fnvme_5fpcie_2eproto, file_level_enum_descriptors_frontend_5fnvme_5fpcie_2eproto, file_level_service_descriptors_frontend_5fnvme_5fpcie_2eproto, }; @@ -9432,6 +9472,313 @@ ::PROTOBUF_NAMESPACE_ID::Metadata NVMeNamespaceStatsResponse::GetMetadata() cons file_level_metadata_frontend_5fnvme_5fpcie_2eproto[32]); } +// =================================================================== + +class ControllerNVMeNamespaceRequest::_Internal { + public: + static const ::opi_api::common::v1::ObjectKey& controller(const ControllerNVMeNamespaceRequest* msg); + static const ::opi_api::common::v1::ObjectKey& nv_me_namespace_id(const ControllerNVMeNamespaceRequest* msg); +}; + +const ::opi_api::common::v1::ObjectKey& +ControllerNVMeNamespaceRequest::_Internal::controller(const ControllerNVMeNamespaceRequest* msg) { + return *msg->controller_; +} +const ::opi_api::common::v1::ObjectKey& +ControllerNVMeNamespaceRequest::_Internal::nv_me_namespace_id(const ControllerNVMeNamespaceRequest* msg) { + return *msg->nv_me_namespace_id_; +} +void ControllerNVMeNamespaceRequest::clear_controller() { + if (GetArenaForAllocation() == nullptr && controller_ != nullptr) { + delete controller_; + } + controller_ = nullptr; +} +void ControllerNVMeNamespaceRequest::clear_nv_me_namespace_id() { + if (GetArenaForAllocation() == nullptr && nv_me_namespace_id_ != nullptr) { + delete nv_me_namespace_id_; + } + nv_me_namespace_id_ = nullptr; +} +ControllerNVMeNamespaceRequest::ControllerNVMeNamespaceRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:opi_api.storage.v1.ControllerNVMeNamespaceRequest) +} +ControllerNVMeNamespaceRequest::ControllerNVMeNamespaceRequest(const ControllerNVMeNamespaceRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + subsystem_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + subsystem_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_subsystem().empty()) { + subsystem_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_subsystem(), + GetArenaForAllocation()); + } + if (from._internal_has_controller()) { + controller_ = new ::opi_api::common::v1::ObjectKey(*from.controller_); + } else { + controller_ = nullptr; + } + if (from._internal_has_nv_me_namespace_id()) { + nv_me_namespace_id_ = new ::opi_api::common::v1::ObjectKey(*from.nv_me_namespace_id_); + } else { + nv_me_namespace_id_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:opi_api.storage.v1.ControllerNVMeNamespaceRequest) +} + +inline void ControllerNVMeNamespaceRequest::SharedCtor() { +subsystem_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + subsystem_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&controller_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&nv_me_namespace_id_) - + reinterpret_cast(&controller_)) + sizeof(nv_me_namespace_id_)); +} + +ControllerNVMeNamespaceRequest::~ControllerNVMeNamespaceRequest() { + // @@protoc_insertion_point(destructor:opi_api.storage.v1.ControllerNVMeNamespaceRequest) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void ControllerNVMeNamespaceRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + subsystem_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete controller_; + if (this != internal_default_instance()) delete nv_me_namespace_id_; +} + +void ControllerNVMeNamespaceRequest::ArenaDtor(void* object) { + ControllerNVMeNamespaceRequest* _this = reinterpret_cast< ControllerNVMeNamespaceRequest* >(object); + (void)_this; +} +void ControllerNVMeNamespaceRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void ControllerNVMeNamespaceRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void ControllerNVMeNamespaceRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:opi_api.storage.v1.ControllerNVMeNamespaceRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + subsystem_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && controller_ != nullptr) { + delete controller_; + } + controller_ = nullptr; + if (GetArenaForAllocation() == nullptr && nv_me_namespace_id_ != nullptr) { + delete nv_me_namespace_id_; + } + nv_me_namespace_id_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ControllerNVMeNamespaceRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_subsystem(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "opi_api.storage.v1.ControllerNVMeNamespaceRequest.subsystem")); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_controller(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_nv_me_namespace_id(), 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* ControllerNVMeNamespaceRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:opi_api.storage.v1.ControllerNVMeNamespaceRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + if (!this->_internal_subsystem().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_subsystem().data(), static_cast(this->_internal_subsystem().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "opi_api.storage.v1.ControllerNVMeNamespaceRequest.subsystem"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_subsystem(), target); + } + + // .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + if (this->_internal_has_controller()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::controller(this), target, stream); + } + + // .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + if (this->_internal_has_nv_me_namespace_id()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 3, _Internal::nv_me_namespace_id(this), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::PROTOBUF_NAMESPACE_ID::internal::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.ControllerNVMeNamespaceRequest) + return target; +} + +size_t ControllerNVMeNamespaceRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:opi_api.storage.v1.ControllerNVMeNamespaceRequest) + 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 subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + if (!this->_internal_subsystem().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_subsystem()); + } + + // .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + if (this->_internal_has_controller()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *controller_); + } + + // .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + if (this->_internal_has_nv_me_namespace_id()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *nv_me_namespace_id_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ControllerNVMeNamespaceRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + ControllerNVMeNamespaceRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ControllerNVMeNamespaceRequest::GetClassData() const { return &_class_data_; } + +void ControllerNVMeNamespaceRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void ControllerNVMeNamespaceRequest::MergeFrom(const ControllerNVMeNamespaceRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:opi_api.storage.v1.ControllerNVMeNamespaceRequest) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_subsystem().empty()) { + _internal_set_subsystem(from._internal_subsystem()); + } + if (from._internal_has_controller()) { + _internal_mutable_controller()->::opi_api::common::v1::ObjectKey::MergeFrom(from._internal_controller()); + } + if (from._internal_has_nv_me_namespace_id()) { + _internal_mutable_nv_me_namespace_id()->::opi_api::common::v1::ObjectKey::MergeFrom(from._internal_nv_me_namespace_id()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ControllerNVMeNamespaceRequest::CopyFrom(const ControllerNVMeNamespaceRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:opi_api.storage.v1.ControllerNVMeNamespaceRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ControllerNVMeNamespaceRequest::IsInitialized() const { + return true; +} + +void ControllerNVMeNamespaceRequest::InternalSwap(ControllerNVMeNamespaceRequest* 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( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &subsystem_, lhs_arena, + &other->subsystem_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(ControllerNVMeNamespaceRequest, nv_me_namespace_id_) + + sizeof(ControllerNVMeNamespaceRequest::nv_me_namespace_id_) + - PROTOBUF_FIELD_OFFSET(ControllerNVMeNamespaceRequest, controller_)>( + reinterpret_cast(&controller_), + reinterpret_cast(&other->controller_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ControllerNVMeNamespaceRequest::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_frontend_5fnvme_5fpcie_2eproto_getter, &descriptor_table_frontend_5fnvme_5fpcie_2eproto_once, + file_level_metadata_frontend_5fnvme_5fpcie_2eproto[33]); +} + // @@protoc_insertion_point(namespace_scope) } // namespace v1 } // namespace storage @@ -9536,6 +9883,9 @@ template<> PROTOBUF_NOINLINE ::opi_api::storage::v1::NVMeNamespaceStatsRequest* template<> PROTOBUF_NOINLINE ::opi_api::storage::v1::NVMeNamespaceStatsResponse* Arena::CreateMaybeMessage< ::opi_api::storage::v1::NVMeNamespaceStatsResponse >(Arena* arena) { return Arena::CreateMessageInternal< ::opi_api::storage::v1::NVMeNamespaceStatsResponse >(arena); } +template<> PROTOBUF_NOINLINE ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* Arena::CreateMaybeMessage< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::opi_api::storage::v1::ControllerNVMeNamespaceRequest >(arena); +} PROTOBUF_NAMESPACE_CLOSE // @@protoc_insertion_point(global_scope) diff --git a/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.pb.h b/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.pb.h index 8b0e4fdb..0cf10ca0 100644 --- a/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.pb.h +++ b/storage/v1alpha1/gen/cpp/frontend_nvme_pcie.pb.h @@ -56,7 +56,7 @@ struct TableStruct_frontend_5fnvme_5fpcie_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[33] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[34] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -66,6 +66,9 @@ extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table namespace opi_api { namespace storage { namespace v1 { +class ControllerNVMeNamespaceRequest; +struct ControllerNVMeNamespaceRequestDefaultTypeInternal; +extern ControllerNVMeNamespaceRequestDefaultTypeInternal _ControllerNVMeNamespaceRequest_default_instance_; class CreateNVMeControllerRequest; struct CreateNVMeControllerRequestDefaultTypeInternal; extern CreateNVMeControllerRequestDefaultTypeInternal _CreateNVMeControllerRequest_default_instance_; @@ -169,6 +172,7 @@ extern UpdateNVMeSubsystemRequestDefaultTypeInternal _UpdateNVMeSubsystemRequest } // namespace storage } // namespace opi_api PROTOBUF_NAMESPACE_OPEN +template<> ::opi_api::storage::v1::ControllerNVMeNamespaceRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::ControllerNVMeNamespaceRequest>(Arena*); template<> ::opi_api::storage::v1::CreateNVMeControllerRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::CreateNVMeControllerRequest>(Arena*); template<> ::opi_api::storage::v1::CreateNVMeNamespaceRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::CreateNVMeNamespaceRequest>(Arena*); template<> ::opi_api::storage::v1::CreateNVMeSubsystemRequest* Arena::CreateMaybeMessage<::opi_api::storage::v1::CreateNVMeSubsystemRequest>(Arena*); @@ -5992,6 +5996,197 @@ class NVMeNamespaceStatsResponse final : mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_frontend_5fnvme_5fpcie_2eproto; }; +// ------------------------------------------------------------------- + +class ControllerNVMeNamespaceRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:opi_api.storage.v1.ControllerNVMeNamespaceRequest) */ { + public: + inline ControllerNVMeNamespaceRequest() : ControllerNVMeNamespaceRequest(nullptr) {} + ~ControllerNVMeNamespaceRequest() override; + explicit constexpr ControllerNVMeNamespaceRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ControllerNVMeNamespaceRequest(const ControllerNVMeNamespaceRequest& from); + ControllerNVMeNamespaceRequest(ControllerNVMeNamespaceRequest&& from) noexcept + : ControllerNVMeNamespaceRequest() { + *this = ::std::move(from); + } + + inline ControllerNVMeNamespaceRequest& operator=(const ControllerNVMeNamespaceRequest& from) { + CopyFrom(from); + return *this; + } + inline ControllerNVMeNamespaceRequest& operator=(ControllerNVMeNamespaceRequest&& 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 ControllerNVMeNamespaceRequest& default_instance() { + return *internal_default_instance(); + } + static inline const ControllerNVMeNamespaceRequest* internal_default_instance() { + return reinterpret_cast( + &_ControllerNVMeNamespaceRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 33; + + friend void swap(ControllerNVMeNamespaceRequest& a, ControllerNVMeNamespaceRequest& b) { + a.Swap(&b); + } + inline void Swap(ControllerNVMeNamespaceRequest* 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(ControllerNVMeNamespaceRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ControllerNVMeNamespaceRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ControllerNVMeNamespaceRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ControllerNVMeNamespaceRequest& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + 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 _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ControllerNVMeNamespaceRequest* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "opi_api.storage.v1.ControllerNVMeNamespaceRequest"; + } + protected: + explicit ControllerNVMeNamespaceRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + 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 { + kSubsystemFieldNumber = 1, + kControllerFieldNumber = 2, + kNvMeNamespaceIdFieldNumber = 3, + }; + // string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + void clear_subsystem(); + const std::string& subsystem() const; + template + void set_subsystem(ArgT0&& arg0, ArgT... args); + std::string* mutable_subsystem(); + PROTOBUF_NODISCARD std::string* release_subsystem(); + void set_allocated_subsystem(std::string* subsystem); + private: + const std::string& _internal_subsystem() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_subsystem(const std::string& value); + std::string* _internal_mutable_subsystem(); + public: + + // .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + bool has_controller() const; + private: + bool _internal_has_controller() const; + public: + void clear_controller(); + const ::opi_api::common::v1::ObjectKey& controller() const; + PROTOBUF_NODISCARD ::opi_api::common::v1::ObjectKey* release_controller(); + ::opi_api::common::v1::ObjectKey* mutable_controller(); + void set_allocated_controller(::opi_api::common::v1::ObjectKey* controller); + private: + const ::opi_api::common::v1::ObjectKey& _internal_controller() const; + ::opi_api::common::v1::ObjectKey* _internal_mutable_controller(); + public: + void unsafe_arena_set_allocated_controller( + ::opi_api::common::v1::ObjectKey* controller); + ::opi_api::common::v1::ObjectKey* unsafe_arena_release_controller(); + + // .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + bool has_nv_me_namespace_id() const; + private: + bool _internal_has_nv_me_namespace_id() const; + public: + void clear_nv_me_namespace_id(); + const ::opi_api::common::v1::ObjectKey& nv_me_namespace_id() const; + PROTOBUF_NODISCARD ::opi_api::common::v1::ObjectKey* release_nv_me_namespace_id(); + ::opi_api::common::v1::ObjectKey* mutable_nv_me_namespace_id(); + void set_allocated_nv_me_namespace_id(::opi_api::common::v1::ObjectKey* nv_me_namespace_id); + private: + const ::opi_api::common::v1::ObjectKey& _internal_nv_me_namespace_id() const; + ::opi_api::common::v1::ObjectKey* _internal_mutable_nv_me_namespace_id(); + public: + void unsafe_arena_set_allocated_nv_me_namespace_id( + ::opi_api::common::v1::ObjectKey* nv_me_namespace_id); + ::opi_api::common::v1::ObjectKey* unsafe_arena_release_nv_me_namespace_id(); + + // @@protoc_insertion_point(class_scope:opi_api.storage.v1.ControllerNVMeNamespaceRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr subsystem_; + ::opi_api::common::v1::ObjectKey* controller_; + ::opi_api::common::v1::ObjectKey* nv_me_namespace_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_frontend_5fnvme_5fpcie_2eproto; +}; // =================================================================== @@ -10642,6 +10837,233 @@ inline void NVMeNamespaceStatsResponse::set_allocated_stats(::opi_api::storage:: // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.NVMeNamespaceStatsResponse.stats) } +// ------------------------------------------------------------------- + +// ControllerNVMeNamespaceRequest + +// string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; +inline void ControllerNVMeNamespaceRequest::clear_subsystem() { + subsystem_.ClearToEmpty(); +} +inline const std::string& ControllerNVMeNamespaceRequest::subsystem() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.ControllerNVMeNamespaceRequest.subsystem) + return _internal_subsystem(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ControllerNVMeNamespaceRequest::set_subsystem(ArgT0&& arg0, ArgT... args) { + + subsystem_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:opi_api.storage.v1.ControllerNVMeNamespaceRequest.subsystem) +} +inline std::string* ControllerNVMeNamespaceRequest::mutable_subsystem() { + std::string* _s = _internal_mutable_subsystem(); + // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.ControllerNVMeNamespaceRequest.subsystem) + return _s; +} +inline const std::string& ControllerNVMeNamespaceRequest::_internal_subsystem() const { + return subsystem_.Get(); +} +inline void ControllerNVMeNamespaceRequest::_internal_set_subsystem(const std::string& value) { + + subsystem_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ControllerNVMeNamespaceRequest::_internal_mutable_subsystem() { + + return subsystem_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ControllerNVMeNamespaceRequest::release_subsystem() { + // @@protoc_insertion_point(field_release:opi_api.storage.v1.ControllerNVMeNamespaceRequest.subsystem) + return subsystem_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ControllerNVMeNamespaceRequest::set_allocated_subsystem(std::string* subsystem) { + if (subsystem != nullptr) { + + } else { + + } + subsystem_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), subsystem, + GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (subsystem_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) { + subsystem_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.ControllerNVMeNamespaceRequest.subsystem) +} + +// .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; +inline bool ControllerNVMeNamespaceRequest::_internal_has_controller() const { + return this != internal_default_instance() && controller_ != nullptr; +} +inline bool ControllerNVMeNamespaceRequest::has_controller() const { + return _internal_has_controller(); +} +inline const ::opi_api::common::v1::ObjectKey& ControllerNVMeNamespaceRequest::_internal_controller() const { + const ::opi_api::common::v1::ObjectKey* p = controller_; + return p != nullptr ? *p : reinterpret_cast( + ::opi_api::common::v1::_ObjectKey_default_instance_); +} +inline const ::opi_api::common::v1::ObjectKey& ControllerNVMeNamespaceRequest::controller() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.ControllerNVMeNamespaceRequest.controller) + return _internal_controller(); +} +inline void ControllerNVMeNamespaceRequest::unsafe_arena_set_allocated_controller( + ::opi_api::common::v1::ObjectKey* controller) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(controller_); + } + controller_ = controller; + if (controller) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:opi_api.storage.v1.ControllerNVMeNamespaceRequest.controller) +} +inline ::opi_api::common::v1::ObjectKey* ControllerNVMeNamespaceRequest::release_controller() { + + ::opi_api::common::v1::ObjectKey* temp = controller_; + controller_ = 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::common::v1::ObjectKey* ControllerNVMeNamespaceRequest::unsafe_arena_release_controller() { + // @@protoc_insertion_point(field_release:opi_api.storage.v1.ControllerNVMeNamespaceRequest.controller) + + ::opi_api::common::v1::ObjectKey* temp = controller_; + controller_ = nullptr; + return temp; +} +inline ::opi_api::common::v1::ObjectKey* ControllerNVMeNamespaceRequest::_internal_mutable_controller() { + + if (controller_ == nullptr) { + auto* p = CreateMaybeMessage<::opi_api::common::v1::ObjectKey>(GetArenaForAllocation()); + controller_ = p; + } + return controller_; +} +inline ::opi_api::common::v1::ObjectKey* ControllerNVMeNamespaceRequest::mutable_controller() { + ::opi_api::common::v1::ObjectKey* _msg = _internal_mutable_controller(); + // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.ControllerNVMeNamespaceRequest.controller) + return _msg; +} +inline void ControllerNVMeNamespaceRequest::set_allocated_controller(::opi_api::common::v1::ObjectKey* controller) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(controller_); + } + if (controller) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(controller)); + if (message_arena != submessage_arena) { + controller = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, controller, submessage_arena); + } + + } else { + + } + controller_ = controller; + // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.ControllerNVMeNamespaceRequest.controller) +} + +// .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; +inline bool ControllerNVMeNamespaceRequest::_internal_has_nv_me_namespace_id() const { + return this != internal_default_instance() && nv_me_namespace_id_ != nullptr; +} +inline bool ControllerNVMeNamespaceRequest::has_nv_me_namespace_id() const { + return _internal_has_nv_me_namespace_id(); +} +inline const ::opi_api::common::v1::ObjectKey& ControllerNVMeNamespaceRequest::_internal_nv_me_namespace_id() const { + const ::opi_api::common::v1::ObjectKey* p = nv_me_namespace_id_; + return p != nullptr ? *p : reinterpret_cast( + ::opi_api::common::v1::_ObjectKey_default_instance_); +} +inline const ::opi_api::common::v1::ObjectKey& ControllerNVMeNamespaceRequest::nv_me_namespace_id() const { + // @@protoc_insertion_point(field_get:opi_api.storage.v1.ControllerNVMeNamespaceRequest.nv_me_namespace_id) + return _internal_nv_me_namespace_id(); +} +inline void ControllerNVMeNamespaceRequest::unsafe_arena_set_allocated_nv_me_namespace_id( + ::opi_api::common::v1::ObjectKey* nv_me_namespace_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(nv_me_namespace_id_); + } + nv_me_namespace_id_ = nv_me_namespace_id; + if (nv_me_namespace_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:opi_api.storage.v1.ControllerNVMeNamespaceRequest.nv_me_namespace_id) +} +inline ::opi_api::common::v1::ObjectKey* ControllerNVMeNamespaceRequest::release_nv_me_namespace_id() { + + ::opi_api::common::v1::ObjectKey* temp = nv_me_namespace_id_; + nv_me_namespace_id_ = 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::common::v1::ObjectKey* ControllerNVMeNamespaceRequest::unsafe_arena_release_nv_me_namespace_id() { + // @@protoc_insertion_point(field_release:opi_api.storage.v1.ControllerNVMeNamespaceRequest.nv_me_namespace_id) + + ::opi_api::common::v1::ObjectKey* temp = nv_me_namespace_id_; + nv_me_namespace_id_ = nullptr; + return temp; +} +inline ::opi_api::common::v1::ObjectKey* ControllerNVMeNamespaceRequest::_internal_mutable_nv_me_namespace_id() { + + if (nv_me_namespace_id_ == nullptr) { + auto* p = CreateMaybeMessage<::opi_api::common::v1::ObjectKey>(GetArenaForAllocation()); + nv_me_namespace_id_ = p; + } + return nv_me_namespace_id_; +} +inline ::opi_api::common::v1::ObjectKey* ControllerNVMeNamespaceRequest::mutable_nv_me_namespace_id() { + ::opi_api::common::v1::ObjectKey* _msg = _internal_mutable_nv_me_namespace_id(); + // @@protoc_insertion_point(field_mutable:opi_api.storage.v1.ControllerNVMeNamespaceRequest.nv_me_namespace_id) + return _msg; +} +inline void ControllerNVMeNamespaceRequest::set_allocated_nv_me_namespace_id(::opi_api::common::v1::ObjectKey* nv_me_namespace_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(nv_me_namespace_id_); + } + if (nv_me_namespace_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(nv_me_namespace_id)); + if (message_arena != submessage_arena) { + nv_me_namespace_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, nv_me_namespace_id, submessage_arena); + } + + } else { + + } + nv_me_namespace_id_ = nv_me_namespace_id; + // @@protoc_insertion_point(field_set_allocated:opi_api.storage.v1.ControllerNVMeNamespaceRequest.nv_me_namespace_id) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -10709,6 +11131,8 @@ inline void NVMeNamespaceStatsResponse::set_allocated_stats(::opi_api::storage:: // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/storage/v1alpha1/gen/go/frontend_nvme_pcie.pb.go b/storage/v1alpha1/gen/go/frontend_nvme_pcie.pb.go index 84862d4d..d94eb86d 100644 --- a/storage/v1alpha1/gen/go/frontend_nvme_pcie.pb.go +++ b/storage/v1alpha1/gen/go/frontend_nvme_pcie.pb.go @@ -2078,6 +2078,69 @@ func (x *NVMeNamespaceStatsResponse) GetStats() *VolumeStats { return nil } +type ControllerNVMeNamespaceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subsystem string `protobuf:"bytes,1,opt,name=subsystem,proto3" json:"subsystem,omitempty"` + Controller *_go.ObjectKey `protobuf:"bytes,2,opt,name=controller,proto3" json:"controller,omitempty"` + NvMeNamespaceId *_go.ObjectKey `protobuf:"bytes,3,opt,name=nv_me_namespace_id,json=nvMeNamespaceId,proto3" json:"nv_me_namespace_id,omitempty"` +} + +func (x *ControllerNVMeNamespaceRequest) Reset() { + *x = ControllerNVMeNamespaceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_frontend_nvme_pcie_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ControllerNVMeNamespaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ControllerNVMeNamespaceRequest) ProtoMessage() {} + +func (x *ControllerNVMeNamespaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_frontend_nvme_pcie_proto_msgTypes[33] + 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 ControllerNVMeNamespaceRequest.ProtoReflect.Descriptor instead. +func (*ControllerNVMeNamespaceRequest) Descriptor() ([]byte, []int) { + return file_frontend_nvme_pcie_proto_rawDescGZIP(), []int{33} +} + +func (x *ControllerNVMeNamespaceRequest) GetSubsystem() string { + if x != nil { + return x.Subsystem + } + return "" +} + +func (x *ControllerNVMeNamespaceRequest) GetController() *_go.ObjectKey { + if x != nil { + return x.Controller + } + return nil +} + +func (x *ControllerNVMeNamespaceRequest) GetNvMeNamespaceId() *_go.ObjectKey { + if x != nil { + return x.NvMeNamespaceId + } + return nil +} + var File_frontend_nvme_pcie_proto protoreflect.FileDescriptor var file_frontend_nvme_pcie_proto_rawDesc = []byte{ @@ -2403,222 +2466,262 @@ var file_frontend_nvme_pcie_proto_rawDesc = []byte{ 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 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, 0xb6, 0x01, 0x0a, 0x15, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x63, 0x69, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, - 0x25, 0x4e, 0x56, 0x5f, 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, - 0x5f, 0x50, 0x43, 0x49, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x56, 0x4d, 0x45, + 0x61, 0x74, 0x73, 0x22, 0xd6, 0x01, 0x0a, 0x1e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x12, + 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6e, 0x76, 0x4d, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x2a, 0xb6, 0x01, 0x0a, + 0x15, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x63, + 0x69, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x4e, 0x56, 0x5f, 0x4d, 0x45, 0x5f, + 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x43, 0x49, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, + 0x41, 0x43, 0x45, 0x5f, 0x50, 0x43, 0x49, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, + 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x43, 0x49, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, - 0x24, 0x0a, 0x20, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, - 0x45, 0x5f, 0x50, 0x43, 0x49, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, - 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x4e, 0x41, - 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x43, 0x49, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x2a, 0xa0, 0x01, 0x0a, - 0x19, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x63, - 0x69, 0x4f, 0x70, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x2a, 0x4e, 0x56, - 0x5f, 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x43, - 0x49, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x4e, 0x56, - 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x43, 0x49, - 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, - 0x4e, 0x45, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4d, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, + 0x0a, 0x21, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, + 0x5f, 0x50, 0x43, 0x49, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, + 0x49, 0x4e, 0x47, 0x10, 0x03, 0x2a, 0xa0, 0x01, 0x0a, 0x19, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x63, 0x69, 0x4f, 0x70, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x2a, 0x4e, 0x56, 0x5f, 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x43, 0x49, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x32, - 0xa5, 0x17, 0x0a, 0x13, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x4e, 0x76, 0x6d, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc6, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, - 0x2e, 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, 0x56, 0x4d, 0x65, 0x53, - 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x21, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, - 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x73, 0x7d, 0x3a, 0x0f, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0xda, 0x41, 0x29, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x76, - 0x5f, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2c, 0x6e, 0x76, - 0x5f, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, - 0x12, 0x8f, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x53, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, + 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x43, 0x49, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x29, 0x0a, + 0x25, 0x4e, 0x56, 0x4d, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, + 0x50, 0x43, 0x49, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, + 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x32, 0xcd, 0x1a, 0x0a, 0x13, 0x46, 0x72, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x4e, 0x76, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0xc6, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x2e, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, + 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x5c, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x3a, 0x0f, 0x6e, 0x76, + 0x5f, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0xda, 0x41, 0x29, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x62, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2c, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x62, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x12, 0x8f, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, - 0x6d, 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, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x2a, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x2f, - 0x7b, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0xc6, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x56, 0x4d, - 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x2e, 0x2e, 0x6f, 0x70, 0x69, - 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x6d, 0x12, 0x2e, 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, 0x56, 0x4d, + 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 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, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x23, 0x2a, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x75, 0x62, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc6, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x69, + 0x74, 0x65, 0x6d, 0x12, 0x2e, 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, + 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x32, 0x25, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x3a, 0x0f, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x62, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0xda, 0x41, 0x1b, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x73, + 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x9d, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x56, 0x4d, + 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2d, 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, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x5c, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x32, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x76, 0x5f, 0x6d, - 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x3a, 0x0f, 0x6e, 0x76, - 0x5f, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0xda, 0x41, 0x1b, - 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2c, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x9d, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x73, 0x12, 0x2d, 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, 0x56, 0x4d, 0x65, - 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 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, 0x56, 0x4d, 0x65, 0x53, - 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 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, 0x94, 0x01, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x12, 0x2b, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, - 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, - 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x2f, - 0x7b, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x75, 0x0a, 0x12, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, - 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, - 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, - 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xcc, 0x01, 0x0a, 0x14, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x12, 0x2f, 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, 0x56, - 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, - 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x73, 0x75, 0x62, - 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x3a, 0x10, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0xda, 0x41, 0x2b, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0x93, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x12, 0x2f, 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, 0x56, 0x4d, - 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, 0x32, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x25, 0x2a, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xcc, - 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x2f, 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, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, - 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x5f, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3a, 0x32, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x76, 0x5f, 0x6d, 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, 0x10, 0x6e, 0x76, - 0x5f, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0xda, 0x41, - 0x1c, 0x6e, 0x76, 0x5f, 0x6d, 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, 0xa0, 0x01, - 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x2e, 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, - 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 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, - 0x56, 0x4d, 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, 0x98, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, - 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 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, 0x73, 0x75, 0x62, 0x73, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x78, 0x0a, 0x13, 0x4e, - 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xc6, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2e, 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, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, - 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, + 0x6d, 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, 0x94, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4e, 0x56, 0x4d, 0x65, + 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x2b, 0x2e, 0x6f, 0x70, 0x69, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, + 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x23, 0x12, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x75, 0x62, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x75, 0x0a, 0x12, 0x4e, + 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x12, 0x2d, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2e, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0xcc, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x56, 0x4d, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x2f, 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, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6f, + 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, - 0x7d, 0x3a, 0x0f, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0xda, 0x41, 0x29, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x76, 0x5f, 0x6d, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2c, 0x6e, 0x76, 0x5f, 0x6d, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x8f, - 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, + 0x7d, 0x3a, 0x10, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0xda, 0x41, 0x2b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x76, 0x5f, + 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x6e, 0x76, + 0x5f, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x12, 0x93, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x2f, 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, 0x56, 0x4d, 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, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x2a, 0x23, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x73, 0x7d, 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x7d, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xcc, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x12, 0x2f, 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, 0x56, 0x4d, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x32, 0x26, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x76, 0x5f, 0x6d, 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, 0x10, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0xda, 0x41, 0x1c, 0x6e, 0x76, 0x5f, 0x6d, 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, 0xa0, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x2e, + 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, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 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, 0x56, 0x4d, 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, 0x98, 0x01, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, + 0x2c, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 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, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, + 0x2f, 0x7b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x7d, 0xda, 0x41, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x78, 0x0a, 0x13, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x6f, 0x70, + 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6f, 0x70, + 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xc6, + 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 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, 0x30, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x2a, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x7d, 0x2f, 0x7b, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0xc6, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2e, 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, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, - 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x38, 0x32, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x3a, 0x0f, 0x6e, 0x76, 0x5f, 0x6d, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0xda, 0x41, 0x1b, 0x6e, 0x76, - 0x5f, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2c, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x9d, 0x01, 0x0a, 0x12, 0x4c, 0x69, - 0x73, 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, - 0x12, 0x2d, 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, 0x56, 0x4d, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0xda, 0x41, 0x29, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x2c, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x8f, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2e, 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, 0x56, 0x4d, 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, 0x94, 0x01, 0x0a, 0x10, 0x47, 0x65, - 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2b, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 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, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x2a, + 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x7d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc6, 0x01, 0x0a, 0x13, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x2e, 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, 0x56, 0x4d, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x22, 0x5c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x32, 0x25, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x73, 0x7d, 0x3a, 0x0f, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0xda, 0x41, 0x1b, 0x6e, 0x76, 0x5f, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x12, 0x9d, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x2d, 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, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 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, 0x56, 0x4d, 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, 0x94, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2b, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 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, 0x73, 0x75, 0x62, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x75, 0x0a, 0x12, 0x4e, 0x56, 0x4d, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, + 0x2d, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x70, - 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x56, 0x4d, 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, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x7d, 0x2f, 0x7b, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x75, 0x0a, 0x12, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x64, 0x0a, 0x12, 0x6f, 0x70, 0x69, 0x5f, 0x61, - 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x15, 0x46, - 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x63, 0x69, 0x65, 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, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0xd1, 0x01, 0x0a, 0x1d, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x32, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 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, 0x64, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x22, 0x59, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x3d, + 0x6e, 0x76, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, + 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x4e, 0x76, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x3a, 0x01, 0x2a, 0x12, 0xd1, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, 0x2e, 0x6f, 0x70, 0x69, 0x5f, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4e, 0x56, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 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, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x22, 0x59, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3d, 0x73, 0x75, 0x62, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x2f, 0x2a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x3d, 0x6e, 0x76, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x49, 0x64, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4e, 0x76, 0x4d, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x3a, 0x01, 0x2a, 0x42, 0x64, 0x0a, 0x12, 0x6f, 0x70, 0x69, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x15, + 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x4e, 0x76, 0x6d, 0x65, 0x50, 0x63, 0x69, 0x65, + 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 ( @@ -2634,128 +2737,135 @@ func file_frontend_nvme_pcie_proto_rawDescGZIP() []byte { } var file_frontend_nvme_pcie_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_frontend_nvme_pcie_proto_msgTypes = make([]protoimpl.MessageInfo, 33) +var file_frontend_nvme_pcie_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_frontend_nvme_pcie_proto_goTypes = []interface{}{ - (NVMeNamespacePciState)(0), // 0: opi_api.storage.v1.NVMeNamespacePciState - (NVMeNamespacePciOperState)(0), // 1: opi_api.storage.v1.NVMeNamespacePciOperState - (*NVMeSubsystem)(nil), // 2: opi_api.storage.v1.NVMeSubsystem - (*NVMeSubsystemSpec)(nil), // 3: opi_api.storage.v1.NVMeSubsystemSpec - (*NVMeSubsystemStatus)(nil), // 4: opi_api.storage.v1.NVMeSubsystemStatus - (*NVMeController)(nil), // 5: opi_api.storage.v1.NVMeController - (*NVMeControllerSpec)(nil), // 6: opi_api.storage.v1.NVMeControllerSpec - (*NVMeControllerStatus)(nil), // 7: opi_api.storage.v1.NVMeControllerStatus - (*NVMeNamespace)(nil), // 8: opi_api.storage.v1.NVMeNamespace - (*NVMeNamespaceSpec)(nil), // 9: opi_api.storage.v1.NVMeNamespaceSpec - (*NVMeNamespaceStatus)(nil), // 10: opi_api.storage.v1.NVMeNamespaceStatus - (*CreateNVMeSubsystemRequest)(nil), // 11: opi_api.storage.v1.CreateNVMeSubsystemRequest - (*DeleteNVMeSubsystemRequest)(nil), // 12: opi_api.storage.v1.DeleteNVMeSubsystemRequest - (*UpdateNVMeSubsystemRequest)(nil), // 13: opi_api.storage.v1.UpdateNVMeSubsystemRequest - (*ListNVMeSubsystemsRequest)(nil), // 14: opi_api.storage.v1.ListNVMeSubsystemsRequest - (*ListNVMeSubsystemsResponse)(nil), // 15: opi_api.storage.v1.ListNVMeSubsystemsResponse - (*GetNVMeSubsystemRequest)(nil), // 16: opi_api.storage.v1.GetNVMeSubsystemRequest - (*NVMeSubsystemStatsRequest)(nil), // 17: opi_api.storage.v1.NVMeSubsystemStatsRequest - (*NVMeSubsystemStatsResponse)(nil), // 18: opi_api.storage.v1.NVMeSubsystemStatsResponse - (*CreateNVMeControllerRequest)(nil), // 19: opi_api.storage.v1.CreateNVMeControllerRequest - (*DeleteNVMeControllerRequest)(nil), // 20: opi_api.storage.v1.DeleteNVMeControllerRequest - (*UpdateNVMeControllerRequest)(nil), // 21: opi_api.storage.v1.UpdateNVMeControllerRequest - (*ListNVMeControllersRequest)(nil), // 22: opi_api.storage.v1.ListNVMeControllersRequest - (*ListNVMeControllersResponse)(nil), // 23: opi_api.storage.v1.ListNVMeControllersResponse - (*GetNVMeControllerRequest)(nil), // 24: opi_api.storage.v1.GetNVMeControllerRequest - (*NVMeControllerStatsRequest)(nil), // 25: opi_api.storage.v1.NVMeControllerStatsRequest - (*NVMeControllerStatsResponse)(nil), // 26: opi_api.storage.v1.NVMeControllerStatsResponse - (*CreateNVMeNamespaceRequest)(nil), // 27: opi_api.storage.v1.CreateNVMeNamespaceRequest - (*DeleteNVMeNamespaceRequest)(nil), // 28: opi_api.storage.v1.DeleteNVMeNamespaceRequest - (*UpdateNVMeNamespaceRequest)(nil), // 29: opi_api.storage.v1.UpdateNVMeNamespaceRequest - (*ListNVMeNamespacesRequest)(nil), // 30: opi_api.storage.v1.ListNVMeNamespacesRequest - (*ListNVMeNamespacesResponse)(nil), // 31: opi_api.storage.v1.ListNVMeNamespacesResponse - (*GetNVMeNamespaceRequest)(nil), // 32: opi_api.storage.v1.GetNVMeNamespaceRequest - (*NVMeNamespaceStatsRequest)(nil), // 33: opi_api.storage.v1.NVMeNamespaceStatsRequest - (*NVMeNamespaceStatsResponse)(nil), // 34: opi_api.storage.v1.NVMeNamespaceStatsResponse - (*_go.ObjectKey)(nil), // 35: opi_api.common.v1.ObjectKey - (*PciEndpoint)(nil), // 36: opi_api.storage.v1.PciEndpoint - (*_go.Uuid)(nil), // 37: opi_api.common.v1.Uuid - (*fieldmaskpb.FieldMask)(nil), // 38: google.protobuf.FieldMask - (*VolumeStats)(nil), // 39: opi_api.storage.v1.VolumeStats - (*emptypb.Empty)(nil), // 40: google.protobuf.Empty + (NVMeNamespacePciState)(0), // 0: opi_api.storage.v1.NVMeNamespacePciState + (NVMeNamespacePciOperState)(0), // 1: opi_api.storage.v1.NVMeNamespacePciOperState + (*NVMeSubsystem)(nil), // 2: opi_api.storage.v1.NVMeSubsystem + (*NVMeSubsystemSpec)(nil), // 3: opi_api.storage.v1.NVMeSubsystemSpec + (*NVMeSubsystemStatus)(nil), // 4: opi_api.storage.v1.NVMeSubsystemStatus + (*NVMeController)(nil), // 5: opi_api.storage.v1.NVMeController + (*NVMeControllerSpec)(nil), // 6: opi_api.storage.v1.NVMeControllerSpec + (*NVMeControllerStatus)(nil), // 7: opi_api.storage.v1.NVMeControllerStatus + (*NVMeNamespace)(nil), // 8: opi_api.storage.v1.NVMeNamespace + (*NVMeNamespaceSpec)(nil), // 9: opi_api.storage.v1.NVMeNamespaceSpec + (*NVMeNamespaceStatus)(nil), // 10: opi_api.storage.v1.NVMeNamespaceStatus + (*CreateNVMeSubsystemRequest)(nil), // 11: opi_api.storage.v1.CreateNVMeSubsystemRequest + (*DeleteNVMeSubsystemRequest)(nil), // 12: opi_api.storage.v1.DeleteNVMeSubsystemRequest + (*UpdateNVMeSubsystemRequest)(nil), // 13: opi_api.storage.v1.UpdateNVMeSubsystemRequest + (*ListNVMeSubsystemsRequest)(nil), // 14: opi_api.storage.v1.ListNVMeSubsystemsRequest + (*ListNVMeSubsystemsResponse)(nil), // 15: opi_api.storage.v1.ListNVMeSubsystemsResponse + (*GetNVMeSubsystemRequest)(nil), // 16: opi_api.storage.v1.GetNVMeSubsystemRequest + (*NVMeSubsystemStatsRequest)(nil), // 17: opi_api.storage.v1.NVMeSubsystemStatsRequest + (*NVMeSubsystemStatsResponse)(nil), // 18: opi_api.storage.v1.NVMeSubsystemStatsResponse + (*CreateNVMeControllerRequest)(nil), // 19: opi_api.storage.v1.CreateNVMeControllerRequest + (*DeleteNVMeControllerRequest)(nil), // 20: opi_api.storage.v1.DeleteNVMeControllerRequest + (*UpdateNVMeControllerRequest)(nil), // 21: opi_api.storage.v1.UpdateNVMeControllerRequest + (*ListNVMeControllersRequest)(nil), // 22: opi_api.storage.v1.ListNVMeControllersRequest + (*ListNVMeControllersResponse)(nil), // 23: opi_api.storage.v1.ListNVMeControllersResponse + (*GetNVMeControllerRequest)(nil), // 24: opi_api.storage.v1.GetNVMeControllerRequest + (*NVMeControllerStatsRequest)(nil), // 25: opi_api.storage.v1.NVMeControllerStatsRequest + (*NVMeControllerStatsResponse)(nil), // 26: opi_api.storage.v1.NVMeControllerStatsResponse + (*CreateNVMeNamespaceRequest)(nil), // 27: opi_api.storage.v1.CreateNVMeNamespaceRequest + (*DeleteNVMeNamespaceRequest)(nil), // 28: opi_api.storage.v1.DeleteNVMeNamespaceRequest + (*UpdateNVMeNamespaceRequest)(nil), // 29: opi_api.storage.v1.UpdateNVMeNamespaceRequest + (*ListNVMeNamespacesRequest)(nil), // 30: opi_api.storage.v1.ListNVMeNamespacesRequest + (*ListNVMeNamespacesResponse)(nil), // 31: opi_api.storage.v1.ListNVMeNamespacesResponse + (*GetNVMeNamespaceRequest)(nil), // 32: opi_api.storage.v1.GetNVMeNamespaceRequest + (*NVMeNamespaceStatsRequest)(nil), // 33: opi_api.storage.v1.NVMeNamespaceStatsRequest + (*NVMeNamespaceStatsResponse)(nil), // 34: opi_api.storage.v1.NVMeNamespaceStatsResponse + (*ControllerNVMeNamespaceRequest)(nil), // 35: opi_api.storage.v1.ControllerNVMeNamespaceRequest + (*_go.ObjectKey)(nil), // 36: opi_api.common.v1.ObjectKey + (*PciEndpoint)(nil), // 37: opi_api.storage.v1.PciEndpoint + (*_go.Uuid)(nil), // 38: opi_api.common.v1.Uuid + (*fieldmaskpb.FieldMask)(nil), // 39: google.protobuf.FieldMask + (*VolumeStats)(nil), // 40: opi_api.storage.v1.VolumeStats + (*emptypb.Empty)(nil), // 41: google.protobuf.Empty } var file_frontend_nvme_pcie_proto_depIdxs = []int32{ 3, // 0: opi_api.storage.v1.NVMeSubsystem.spec:type_name -> opi_api.storage.v1.NVMeSubsystemSpec 4, // 1: opi_api.storage.v1.NVMeSubsystem.status:type_name -> opi_api.storage.v1.NVMeSubsystemStatus - 35, // 2: opi_api.storage.v1.NVMeSubsystemSpec.id:type_name -> opi_api.common.v1.ObjectKey + 36, // 2: opi_api.storage.v1.NVMeSubsystemSpec.id:type_name -> opi_api.common.v1.ObjectKey 6, // 3: opi_api.storage.v1.NVMeController.spec:type_name -> opi_api.storage.v1.NVMeControllerSpec 7, // 4: opi_api.storage.v1.NVMeController.status:type_name -> opi_api.storage.v1.NVMeControllerStatus - 35, // 5: opi_api.storage.v1.NVMeControllerSpec.id:type_name -> opi_api.common.v1.ObjectKey - 35, // 6: opi_api.storage.v1.NVMeControllerSpec.subsystem_id:type_name -> opi_api.common.v1.ObjectKey - 36, // 7: opi_api.storage.v1.NVMeControllerSpec.pcie_id:type_name -> opi_api.storage.v1.PciEndpoint + 36, // 5: opi_api.storage.v1.NVMeControllerSpec.id:type_name -> opi_api.common.v1.ObjectKey + 36, // 6: opi_api.storage.v1.NVMeControllerSpec.subsystem_id:type_name -> opi_api.common.v1.ObjectKey + 37, // 7: opi_api.storage.v1.NVMeControllerSpec.pcie_id:type_name -> opi_api.storage.v1.PciEndpoint 9, // 8: opi_api.storage.v1.NVMeNamespace.spec:type_name -> opi_api.storage.v1.NVMeNamespaceSpec 10, // 9: opi_api.storage.v1.NVMeNamespace.status:type_name -> opi_api.storage.v1.NVMeNamespaceStatus - 35, // 10: opi_api.storage.v1.NVMeNamespaceSpec.id:type_name -> opi_api.common.v1.ObjectKey - 35, // 11: opi_api.storage.v1.NVMeNamespaceSpec.subsystem_id:type_name -> opi_api.common.v1.ObjectKey - 37, // 12: opi_api.storage.v1.NVMeNamespaceSpec.uuid:type_name -> opi_api.common.v1.Uuid - 35, // 13: opi_api.storage.v1.NVMeNamespaceSpec.volume_id:type_name -> opi_api.common.v1.ObjectKey + 36, // 10: opi_api.storage.v1.NVMeNamespaceSpec.id:type_name -> opi_api.common.v1.ObjectKey + 36, // 11: opi_api.storage.v1.NVMeNamespaceSpec.subsystem_id:type_name -> opi_api.common.v1.ObjectKey + 38, // 12: opi_api.storage.v1.NVMeNamespaceSpec.uuid:type_name -> opi_api.common.v1.Uuid + 36, // 13: opi_api.storage.v1.NVMeNamespaceSpec.volume_id:type_name -> opi_api.common.v1.ObjectKey 0, // 14: opi_api.storage.v1.NVMeNamespaceStatus.pci_state:type_name -> opi_api.storage.v1.NVMeNamespacePciState 1, // 15: opi_api.storage.v1.NVMeNamespaceStatus.pci_oper_state:type_name -> opi_api.storage.v1.NVMeNamespacePciOperState 2, // 16: opi_api.storage.v1.CreateNVMeSubsystemRequest.nv_me_subsystem:type_name -> opi_api.storage.v1.NVMeSubsystem 2, // 17: opi_api.storage.v1.UpdateNVMeSubsystemRequest.nv_me_subsystem:type_name -> opi_api.storage.v1.NVMeSubsystem - 38, // 18: opi_api.storage.v1.UpdateNVMeSubsystemRequest.update_mask:type_name -> google.protobuf.FieldMask + 39, // 18: opi_api.storage.v1.UpdateNVMeSubsystemRequest.update_mask:type_name -> google.protobuf.FieldMask 2, // 19: opi_api.storage.v1.ListNVMeSubsystemsResponse.nv_me_subsystems:type_name -> opi_api.storage.v1.NVMeSubsystem - 35, // 20: opi_api.storage.v1.NVMeSubsystemStatsRequest.subsystem_id:type_name -> opi_api.common.v1.ObjectKey - 39, // 21: opi_api.storage.v1.NVMeSubsystemStatsResponse.stats:type_name -> opi_api.storage.v1.VolumeStats + 36, // 20: opi_api.storage.v1.NVMeSubsystemStatsRequest.subsystem_id:type_name -> opi_api.common.v1.ObjectKey + 40, // 21: opi_api.storage.v1.NVMeSubsystemStatsResponse.stats:type_name -> opi_api.storage.v1.VolumeStats 5, // 22: opi_api.storage.v1.CreateNVMeControllerRequest.nv_me_controller:type_name -> opi_api.storage.v1.NVMeController 5, // 23: opi_api.storage.v1.UpdateNVMeControllerRequest.nv_me_controller:type_name -> opi_api.storage.v1.NVMeController - 38, // 24: opi_api.storage.v1.UpdateNVMeControllerRequest.update_mask:type_name -> google.protobuf.FieldMask + 39, // 24: opi_api.storage.v1.UpdateNVMeControllerRequest.update_mask:type_name -> google.protobuf.FieldMask 5, // 25: opi_api.storage.v1.ListNVMeControllersResponse.nv_me_controllers:type_name -> opi_api.storage.v1.NVMeController - 35, // 26: opi_api.storage.v1.NVMeControllerStatsRequest.id:type_name -> opi_api.common.v1.ObjectKey - 35, // 27: opi_api.storage.v1.NVMeControllerStatsResponse.id:type_name -> opi_api.common.v1.ObjectKey - 39, // 28: opi_api.storage.v1.NVMeControllerStatsResponse.stats:type_name -> opi_api.storage.v1.VolumeStats + 36, // 26: opi_api.storage.v1.NVMeControllerStatsRequest.id:type_name -> opi_api.common.v1.ObjectKey + 36, // 27: opi_api.storage.v1.NVMeControllerStatsResponse.id:type_name -> opi_api.common.v1.ObjectKey + 40, // 28: opi_api.storage.v1.NVMeControllerStatsResponse.stats:type_name -> opi_api.storage.v1.VolumeStats 8, // 29: opi_api.storage.v1.CreateNVMeNamespaceRequest.nv_me_namespace:type_name -> opi_api.storage.v1.NVMeNamespace 8, // 30: opi_api.storage.v1.UpdateNVMeNamespaceRequest.nv_me_namespace:type_name -> opi_api.storage.v1.NVMeNamespace - 38, // 31: opi_api.storage.v1.UpdateNVMeNamespaceRequest.update_mask:type_name -> google.protobuf.FieldMask + 39, // 31: opi_api.storage.v1.UpdateNVMeNamespaceRequest.update_mask:type_name -> google.protobuf.FieldMask 8, // 32: opi_api.storage.v1.ListNVMeNamespacesResponse.nv_me_namespaces:type_name -> opi_api.storage.v1.NVMeNamespace - 35, // 33: opi_api.storage.v1.NVMeNamespaceStatsRequest.namespace_id:type_name -> opi_api.common.v1.ObjectKey - 35, // 34: opi_api.storage.v1.NVMeNamespaceStatsResponse.id:type_name -> opi_api.common.v1.ObjectKey - 39, // 35: opi_api.storage.v1.NVMeNamespaceStatsResponse.stats:type_name -> opi_api.storage.v1.VolumeStats - 11, // 36: opi_api.storage.v1.FrontendNvmeService.CreateNVMeSubsystem:input_type -> opi_api.storage.v1.CreateNVMeSubsystemRequest - 12, // 37: opi_api.storage.v1.FrontendNvmeService.DeleteNVMeSubsystem:input_type -> opi_api.storage.v1.DeleteNVMeSubsystemRequest - 13, // 38: opi_api.storage.v1.FrontendNvmeService.UpdateNVMeSubsystem:input_type -> opi_api.storage.v1.UpdateNVMeSubsystemRequest - 14, // 39: opi_api.storage.v1.FrontendNvmeService.ListNVMeSubsystems:input_type -> opi_api.storage.v1.ListNVMeSubsystemsRequest - 16, // 40: opi_api.storage.v1.FrontendNvmeService.GetNVMeSubsystem:input_type -> opi_api.storage.v1.GetNVMeSubsystemRequest - 17, // 41: opi_api.storage.v1.FrontendNvmeService.NVMeSubsystemStats:input_type -> opi_api.storage.v1.NVMeSubsystemStatsRequest - 19, // 42: opi_api.storage.v1.FrontendNvmeService.CreateNVMeController:input_type -> opi_api.storage.v1.CreateNVMeControllerRequest - 20, // 43: opi_api.storage.v1.FrontendNvmeService.DeleteNVMeController:input_type -> opi_api.storage.v1.DeleteNVMeControllerRequest - 21, // 44: opi_api.storage.v1.FrontendNvmeService.UpdateNVMeController:input_type -> opi_api.storage.v1.UpdateNVMeControllerRequest - 22, // 45: opi_api.storage.v1.FrontendNvmeService.ListNVMeControllers:input_type -> opi_api.storage.v1.ListNVMeControllersRequest - 24, // 46: opi_api.storage.v1.FrontendNvmeService.GetNVMeController:input_type -> opi_api.storage.v1.GetNVMeControllerRequest - 25, // 47: opi_api.storage.v1.FrontendNvmeService.NVMeControllerStats:input_type -> opi_api.storage.v1.NVMeControllerStatsRequest - 27, // 48: opi_api.storage.v1.FrontendNvmeService.CreateNVMeNamespace:input_type -> opi_api.storage.v1.CreateNVMeNamespaceRequest - 28, // 49: opi_api.storage.v1.FrontendNvmeService.DeleteNVMeNamespace:input_type -> opi_api.storage.v1.DeleteNVMeNamespaceRequest - 29, // 50: opi_api.storage.v1.FrontendNvmeService.UpdateNVMeNamespace:input_type -> opi_api.storage.v1.UpdateNVMeNamespaceRequest - 30, // 51: opi_api.storage.v1.FrontendNvmeService.ListNVMeNamespaces:input_type -> opi_api.storage.v1.ListNVMeNamespacesRequest - 32, // 52: opi_api.storage.v1.FrontendNvmeService.GetNVMeNamespace:input_type -> opi_api.storage.v1.GetNVMeNamespaceRequest - 33, // 53: opi_api.storage.v1.FrontendNvmeService.NVMeNamespaceStats:input_type -> opi_api.storage.v1.NVMeNamespaceStatsRequest - 2, // 54: opi_api.storage.v1.FrontendNvmeService.CreateNVMeSubsystem:output_type -> opi_api.storage.v1.NVMeSubsystem - 40, // 55: opi_api.storage.v1.FrontendNvmeService.DeleteNVMeSubsystem:output_type -> google.protobuf.Empty - 2, // 56: opi_api.storage.v1.FrontendNvmeService.UpdateNVMeSubsystem:output_type -> opi_api.storage.v1.NVMeSubsystem - 15, // 57: opi_api.storage.v1.FrontendNvmeService.ListNVMeSubsystems:output_type -> opi_api.storage.v1.ListNVMeSubsystemsResponse - 2, // 58: opi_api.storage.v1.FrontendNvmeService.GetNVMeSubsystem:output_type -> opi_api.storage.v1.NVMeSubsystem - 18, // 59: opi_api.storage.v1.FrontendNvmeService.NVMeSubsystemStats:output_type -> opi_api.storage.v1.NVMeSubsystemStatsResponse - 5, // 60: opi_api.storage.v1.FrontendNvmeService.CreateNVMeController:output_type -> opi_api.storage.v1.NVMeController - 40, // 61: opi_api.storage.v1.FrontendNvmeService.DeleteNVMeController:output_type -> google.protobuf.Empty - 5, // 62: opi_api.storage.v1.FrontendNvmeService.UpdateNVMeController:output_type -> opi_api.storage.v1.NVMeController - 23, // 63: opi_api.storage.v1.FrontendNvmeService.ListNVMeControllers:output_type -> opi_api.storage.v1.ListNVMeControllersResponse - 5, // 64: opi_api.storage.v1.FrontendNvmeService.GetNVMeController:output_type -> opi_api.storage.v1.NVMeController - 26, // 65: opi_api.storage.v1.FrontendNvmeService.NVMeControllerStats:output_type -> opi_api.storage.v1.NVMeControllerStatsResponse - 8, // 66: opi_api.storage.v1.FrontendNvmeService.CreateNVMeNamespace:output_type -> opi_api.storage.v1.NVMeNamespace - 40, // 67: opi_api.storage.v1.FrontendNvmeService.DeleteNVMeNamespace:output_type -> google.protobuf.Empty - 8, // 68: opi_api.storage.v1.FrontendNvmeService.UpdateNVMeNamespace:output_type -> opi_api.storage.v1.NVMeNamespace - 31, // 69: opi_api.storage.v1.FrontendNvmeService.ListNVMeNamespaces:output_type -> opi_api.storage.v1.ListNVMeNamespacesResponse - 8, // 70: opi_api.storage.v1.FrontendNvmeService.GetNVMeNamespace:output_type -> opi_api.storage.v1.NVMeNamespace - 34, // 71: opi_api.storage.v1.FrontendNvmeService.NVMeNamespaceStats:output_type -> opi_api.storage.v1.NVMeNamespaceStatsResponse - 54, // [54:72] is the sub-list for method output_type - 36, // [36:54] is the sub-list for method input_type - 36, // [36:36] is the sub-list for extension type_name - 36, // [36:36] is the sub-list for extension extendee - 0, // [0:36] is the sub-list for field type_name + 36, // 33: opi_api.storage.v1.NVMeNamespaceStatsRequest.namespace_id:type_name -> opi_api.common.v1.ObjectKey + 36, // 34: opi_api.storage.v1.NVMeNamespaceStatsResponse.id:type_name -> opi_api.common.v1.ObjectKey + 40, // 35: opi_api.storage.v1.NVMeNamespaceStatsResponse.stats:type_name -> opi_api.storage.v1.VolumeStats + 36, // 36: opi_api.storage.v1.ControllerNVMeNamespaceRequest.controller:type_name -> opi_api.common.v1.ObjectKey + 36, // 37: opi_api.storage.v1.ControllerNVMeNamespaceRequest.nv_me_namespace_id:type_name -> opi_api.common.v1.ObjectKey + 11, // 38: opi_api.storage.v1.FrontendNvmeService.CreateNVMeSubsystem:input_type -> opi_api.storage.v1.CreateNVMeSubsystemRequest + 12, // 39: opi_api.storage.v1.FrontendNvmeService.DeleteNVMeSubsystem:input_type -> opi_api.storage.v1.DeleteNVMeSubsystemRequest + 13, // 40: opi_api.storage.v1.FrontendNvmeService.UpdateNVMeSubsystem:input_type -> opi_api.storage.v1.UpdateNVMeSubsystemRequest + 14, // 41: opi_api.storage.v1.FrontendNvmeService.ListNVMeSubsystems:input_type -> opi_api.storage.v1.ListNVMeSubsystemsRequest + 16, // 42: opi_api.storage.v1.FrontendNvmeService.GetNVMeSubsystem:input_type -> opi_api.storage.v1.GetNVMeSubsystemRequest + 17, // 43: opi_api.storage.v1.FrontendNvmeService.NVMeSubsystemStats:input_type -> opi_api.storage.v1.NVMeSubsystemStatsRequest + 19, // 44: opi_api.storage.v1.FrontendNvmeService.CreateNVMeController:input_type -> opi_api.storage.v1.CreateNVMeControllerRequest + 20, // 45: opi_api.storage.v1.FrontendNvmeService.DeleteNVMeController:input_type -> opi_api.storage.v1.DeleteNVMeControllerRequest + 21, // 46: opi_api.storage.v1.FrontendNvmeService.UpdateNVMeController:input_type -> opi_api.storage.v1.UpdateNVMeControllerRequest + 22, // 47: opi_api.storage.v1.FrontendNvmeService.ListNVMeControllers:input_type -> opi_api.storage.v1.ListNVMeControllersRequest + 24, // 48: opi_api.storage.v1.FrontendNvmeService.GetNVMeController:input_type -> opi_api.storage.v1.GetNVMeControllerRequest + 25, // 49: opi_api.storage.v1.FrontendNvmeService.NVMeControllerStats:input_type -> opi_api.storage.v1.NVMeControllerStatsRequest + 27, // 50: opi_api.storage.v1.FrontendNvmeService.CreateNVMeNamespace:input_type -> opi_api.storage.v1.CreateNVMeNamespaceRequest + 28, // 51: opi_api.storage.v1.FrontendNvmeService.DeleteNVMeNamespace:input_type -> opi_api.storage.v1.DeleteNVMeNamespaceRequest + 29, // 52: opi_api.storage.v1.FrontendNvmeService.UpdateNVMeNamespace:input_type -> opi_api.storage.v1.UpdateNVMeNamespaceRequest + 30, // 53: opi_api.storage.v1.FrontendNvmeService.ListNVMeNamespaces:input_type -> opi_api.storage.v1.ListNVMeNamespacesRequest + 32, // 54: opi_api.storage.v1.FrontendNvmeService.GetNVMeNamespace:input_type -> opi_api.storage.v1.GetNVMeNamespaceRequest + 33, // 55: opi_api.storage.v1.FrontendNvmeService.NVMeNamespaceStats:input_type -> opi_api.storage.v1.NVMeNamespaceStatsRequest + 35, // 56: opi_api.storage.v1.FrontendNvmeService.AttachControllerNVMeNamespace:input_type -> opi_api.storage.v1.ControllerNVMeNamespaceRequest + 35, // 57: opi_api.storage.v1.FrontendNvmeService.DetachControllerNVMeNamespace:input_type -> opi_api.storage.v1.ControllerNVMeNamespaceRequest + 2, // 58: opi_api.storage.v1.FrontendNvmeService.CreateNVMeSubsystem:output_type -> opi_api.storage.v1.NVMeSubsystem + 41, // 59: opi_api.storage.v1.FrontendNvmeService.DeleteNVMeSubsystem:output_type -> google.protobuf.Empty + 2, // 60: opi_api.storage.v1.FrontendNvmeService.UpdateNVMeSubsystem:output_type -> opi_api.storage.v1.NVMeSubsystem + 15, // 61: opi_api.storage.v1.FrontendNvmeService.ListNVMeSubsystems:output_type -> opi_api.storage.v1.ListNVMeSubsystemsResponse + 2, // 62: opi_api.storage.v1.FrontendNvmeService.GetNVMeSubsystem:output_type -> opi_api.storage.v1.NVMeSubsystem + 18, // 63: opi_api.storage.v1.FrontendNvmeService.NVMeSubsystemStats:output_type -> opi_api.storage.v1.NVMeSubsystemStatsResponse + 5, // 64: opi_api.storage.v1.FrontendNvmeService.CreateNVMeController:output_type -> opi_api.storage.v1.NVMeController + 41, // 65: opi_api.storage.v1.FrontendNvmeService.DeleteNVMeController:output_type -> google.protobuf.Empty + 5, // 66: opi_api.storage.v1.FrontendNvmeService.UpdateNVMeController:output_type -> opi_api.storage.v1.NVMeController + 23, // 67: opi_api.storage.v1.FrontendNvmeService.ListNVMeControllers:output_type -> opi_api.storage.v1.ListNVMeControllersResponse + 5, // 68: opi_api.storage.v1.FrontendNvmeService.GetNVMeController:output_type -> opi_api.storage.v1.NVMeController + 26, // 69: opi_api.storage.v1.FrontendNvmeService.NVMeControllerStats:output_type -> opi_api.storage.v1.NVMeControllerStatsResponse + 8, // 70: opi_api.storage.v1.FrontendNvmeService.CreateNVMeNamespace:output_type -> opi_api.storage.v1.NVMeNamespace + 41, // 71: opi_api.storage.v1.FrontendNvmeService.DeleteNVMeNamespace:output_type -> google.protobuf.Empty + 8, // 72: opi_api.storage.v1.FrontendNvmeService.UpdateNVMeNamespace:output_type -> opi_api.storage.v1.NVMeNamespace + 31, // 73: opi_api.storage.v1.FrontendNvmeService.ListNVMeNamespaces:output_type -> opi_api.storage.v1.ListNVMeNamespacesResponse + 8, // 74: opi_api.storage.v1.FrontendNvmeService.GetNVMeNamespace:output_type -> opi_api.storage.v1.NVMeNamespace + 34, // 75: opi_api.storage.v1.FrontendNvmeService.NVMeNamespaceStats:output_type -> opi_api.storage.v1.NVMeNamespaceStatsResponse + 41, // 76: opi_api.storage.v1.FrontendNvmeService.AttachControllerNVMeNamespace:output_type -> google.protobuf.Empty + 41, // 77: opi_api.storage.v1.FrontendNvmeService.DetachControllerNVMeNamespace:output_type -> google.protobuf.Empty + 58, // [58:78] is the sub-list for method output_type + 38, // [38:58] is the sub-list for method input_type + 38, // [38:38] is the sub-list for extension type_name + 38, // [38:38] is the sub-list for extension extendee + 0, // [0:38] is the sub-list for field type_name } func init() { file_frontend_nvme_pcie_proto_init() } @@ -3161,6 +3271,18 @@ func file_frontend_nvme_pcie_proto_init() { return nil } } + file_frontend_nvme_pcie_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ControllerNVMeNamespaceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -3168,7 +3290,7 @@ func file_frontend_nvme_pcie_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_frontend_nvme_pcie_proto_rawDesc, NumEnums: 2, - NumMessages: 33, + NumMessages: 34, NumExtensions: 0, NumServices: 1, }, @@ -3213,6 +3335,8 @@ type FrontendNvmeServiceClient interface { ListNVMeNamespaces(ctx context.Context, in *ListNVMeNamespacesRequest, opts ...grpc.CallOption) (*ListNVMeNamespacesResponse, error) GetNVMeNamespace(ctx context.Context, in *GetNVMeNamespaceRequest, opts ...grpc.CallOption) (*NVMeNamespace, error) NVMeNamespaceStats(ctx context.Context, in *NVMeNamespaceStatsRequest, opts ...grpc.CallOption) (*NVMeNamespaceStatsResponse, error) + AttachControllerNVMeNamespace(ctx context.Context, in *ControllerNVMeNamespaceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + DetachControllerNVMeNamespace(ctx context.Context, in *ControllerNVMeNamespaceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) } type frontendNvmeServiceClient struct { @@ -3385,6 +3509,24 @@ func (c *frontendNvmeServiceClient) NVMeNamespaceStats(ctx context.Context, in * return out, nil } +func (c *frontendNvmeServiceClient) AttachControllerNVMeNamespace(ctx context.Context, in *ControllerNVMeNamespaceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/opi_api.storage.v1.FrontendNvmeService/AttachControllerNVMeNamespace", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *frontendNvmeServiceClient) DetachControllerNVMeNamespace(ctx context.Context, in *ControllerNVMeNamespaceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/opi_api.storage.v1.FrontendNvmeService/DetachControllerNVMeNamespace", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // FrontendNvmeServiceServer is the server API for FrontendNvmeService service. type FrontendNvmeServiceServer interface { CreateNVMeSubsystem(context.Context, *CreateNVMeSubsystemRequest) (*NVMeSubsystem, error) @@ -3405,6 +3547,8 @@ type FrontendNvmeServiceServer interface { ListNVMeNamespaces(context.Context, *ListNVMeNamespacesRequest) (*ListNVMeNamespacesResponse, error) GetNVMeNamespace(context.Context, *GetNVMeNamespaceRequest) (*NVMeNamespace, error) NVMeNamespaceStats(context.Context, *NVMeNamespaceStatsRequest) (*NVMeNamespaceStatsResponse, error) + AttachControllerNVMeNamespace(context.Context, *ControllerNVMeNamespaceRequest) (*emptypb.Empty, error) + DetachControllerNVMeNamespace(context.Context, *ControllerNVMeNamespaceRequest) (*emptypb.Empty, error) } // UnimplementedFrontendNvmeServiceServer can be embedded to have forward compatible implementations. @@ -3465,6 +3609,12 @@ func (*UnimplementedFrontendNvmeServiceServer) GetNVMeNamespace(context.Context, func (*UnimplementedFrontendNvmeServiceServer) NVMeNamespaceStats(context.Context, *NVMeNamespaceStatsRequest) (*NVMeNamespaceStatsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method NVMeNamespaceStats not implemented") } +func (*UnimplementedFrontendNvmeServiceServer) AttachControllerNVMeNamespace(context.Context, *ControllerNVMeNamespaceRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method AttachControllerNVMeNamespace not implemented") +} +func (*UnimplementedFrontendNvmeServiceServer) DetachControllerNVMeNamespace(context.Context, *ControllerNVMeNamespaceRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DetachControllerNVMeNamespace not implemented") +} func RegisterFrontendNvmeServiceServer(s *grpc.Server, srv FrontendNvmeServiceServer) { s.RegisterService(&_FrontendNvmeService_serviceDesc, srv) @@ -3794,6 +3944,42 @@ func _FrontendNvmeService_NVMeNamespaceStats_Handler(srv interface{}, ctx contex return interceptor(ctx, in, info, handler) } +func _FrontendNvmeService_AttachControllerNVMeNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ControllerNVMeNamespaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FrontendNvmeServiceServer).AttachControllerNVMeNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/opi_api.storage.v1.FrontendNvmeService/AttachControllerNVMeNamespace", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FrontendNvmeServiceServer).AttachControllerNVMeNamespace(ctx, req.(*ControllerNVMeNamespaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _FrontendNvmeService_DetachControllerNVMeNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ControllerNVMeNamespaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FrontendNvmeServiceServer).DetachControllerNVMeNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/opi_api.storage.v1.FrontendNvmeService/DetachControllerNVMeNamespace", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FrontendNvmeServiceServer).DetachControllerNVMeNamespace(ctx, req.(*ControllerNVMeNamespaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _FrontendNvmeService_serviceDesc = grpc.ServiceDesc{ ServiceName: "opi_api.storage.v1.FrontendNvmeService", HandlerType: (*FrontendNvmeServiceServer)(nil), @@ -3870,6 +4056,14 @@ var _FrontendNvmeService_serviceDesc = grpc.ServiceDesc{ MethodName: "NVMeNamespaceStats", Handler: _FrontendNvmeService_NVMeNamespaceStats_Handler, }, + { + MethodName: "AttachControllerNVMeNamespace", + Handler: _FrontendNvmeService_AttachControllerNVMeNamespace_Handler, + }, + { + MethodName: "DetachControllerNVMeNamespace", + Handler: _FrontendNvmeService_DetachControllerNVMeNamespace_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "frontend_nvme_pcie.proto", diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespace.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespace.java new file mode 100644 index 00000000..1a775e1a --- /dev/null +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespace.java @@ -0,0 +1,795 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: frontend_nvme_pcie.proto + +package opi_api.storage.v1; + +/** + * Protobuf type {@code opi_api.storage.v1.ControllerNVMeNamespace} + */ +public final class ControllerNVMeNamespace extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:opi_api.storage.v1.ControllerNVMeNamespace) + ControllerNVMeNamespaceOrBuilder { +private static final long serialVersionUID = 0L; + // Use ControllerNVMeNamespace.newBuilder() to construct. + private ControllerNVMeNamespace(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ControllerNVMeNamespace() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ControllerNVMeNamespace(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ControllerNVMeNamespace( + 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 10: { + opi_api.storage.v1.NVMeControllerNamespaceSpec.Builder subBuilder = null; + if (spec_ != null) { + subBuilder = spec_.toBuilder(); + } + spec_ = input.readMessage(opi_api.storage.v1.NVMeControllerNamespaceSpec.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(spec_); + spec_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + opi_api.storage.v1.NVMeControllerNamespaceStatus.Builder subBuilder = null; + if (status_ != null) { + subBuilder = status_.toBuilder(); + } + status_ = input.readMessage(opi_api.storage.v1.NVMeControllerNamespaceStatus.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(status_); + status_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.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.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_ControllerNVMeNamespace_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_ControllerNVMeNamespace_fieldAccessorTable + .ensureFieldAccessorsInitialized( + opi_api.storage.v1.ControllerNVMeNamespace.class, opi_api.storage.v1.ControllerNVMeNamespace.Builder.class); + } + + public static final int SPEC_FIELD_NUMBER = 1; + private opi_api.storage.v1.NVMeControllerNamespaceSpec spec_; + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + * @return Whether the spec field is set. + */ + @java.lang.Override + public boolean hasSpec() { + return spec_ != null; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + * @return The spec. + */ + @java.lang.Override + public opi_api.storage.v1.NVMeControllerNamespaceSpec getSpec() { + return spec_ == null ? opi_api.storage.v1.NVMeControllerNamespaceSpec.getDefaultInstance() : spec_; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + */ + @java.lang.Override + public opi_api.storage.v1.NVMeControllerNamespaceSpecOrBuilder getSpecOrBuilder() { + return getSpec(); + } + + public static final int STATUS_FIELD_NUMBER = 2; + private opi_api.storage.v1.NVMeControllerNamespaceStatus status_; + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + * @return Whether the status field is set. + */ + @java.lang.Override + public boolean hasStatus() { + return status_ != null; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + * @return The status. + */ + @java.lang.Override + public opi_api.storage.v1.NVMeControllerNamespaceStatus getStatus() { + return status_ == null ? opi_api.storage.v1.NVMeControllerNamespaceStatus.getDefaultInstance() : status_; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + */ + @java.lang.Override + public opi_api.storage.v1.NVMeControllerNamespaceStatusOrBuilder getStatusOrBuilder() { + return getStatus(); + } + + 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 (spec_ != null) { + output.writeMessage(1, getSpec()); + } + if (status_ != null) { + output.writeMessage(2, getStatus()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (spec_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getSpec()); + } + if (status_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getStatus()); + } + 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.ControllerNVMeNamespace)) { + return super.equals(obj); + } + opi_api.storage.v1.ControllerNVMeNamespace other = (opi_api.storage.v1.ControllerNVMeNamespace) obj; + + if (hasSpec() != other.hasSpec()) return false; + if (hasSpec()) { + if (!getSpec() + .equals(other.getSpec())) return false; + } + if (hasStatus() != other.hasStatus()) return false; + if (hasStatus()) { + if (!getStatus() + .equals(other.getStatus())) 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(); + if (hasSpec()) { + hash = (37 * hash) + SPEC_FIELD_NUMBER; + hash = (53 * hash) + getSpec().hashCode(); + } + if (hasStatus()) { + hash = (37 * hash) + STATUS_FIELD_NUMBER; + hash = (53 * hash) + getStatus().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static opi_api.storage.v1.ControllerNVMeNamespace parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.ControllerNVMeNamespace 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.ControllerNVMeNamespace parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.ControllerNVMeNamespace 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.ControllerNVMeNamespace parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.ControllerNVMeNamespace parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static opi_api.storage.v1.ControllerNVMeNamespace parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static opi_api.storage.v1.ControllerNVMeNamespace 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.ControllerNVMeNamespace parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static opi_api.storage.v1.ControllerNVMeNamespace 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.ControllerNVMeNamespace parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static opi_api.storage.v1.ControllerNVMeNamespace 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.ControllerNVMeNamespace 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.ControllerNVMeNamespace} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:opi_api.storage.v1.ControllerNVMeNamespace) + opi_api.storage.v1.ControllerNVMeNamespaceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_ControllerNVMeNamespace_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_ControllerNVMeNamespace_fieldAccessorTable + .ensureFieldAccessorsInitialized( + opi_api.storage.v1.ControllerNVMeNamespace.class, opi_api.storage.v1.ControllerNVMeNamespace.Builder.class); + } + + // Construct using opi_api.storage.v1.ControllerNVMeNamespace.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(); + if (specBuilder_ == null) { + spec_ = null; + } else { + spec_ = null; + specBuilder_ = null; + } + if (statusBuilder_ == null) { + status_ = null; + } else { + status_ = null; + statusBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_ControllerNVMeNamespace_descriptor; + } + + @java.lang.Override + public opi_api.storage.v1.ControllerNVMeNamespace getDefaultInstanceForType() { + return opi_api.storage.v1.ControllerNVMeNamespace.getDefaultInstance(); + } + + @java.lang.Override + public opi_api.storage.v1.ControllerNVMeNamespace build() { + opi_api.storage.v1.ControllerNVMeNamespace result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public opi_api.storage.v1.ControllerNVMeNamespace buildPartial() { + opi_api.storage.v1.ControllerNVMeNamespace result = new opi_api.storage.v1.ControllerNVMeNamespace(this); + if (specBuilder_ == null) { + result.spec_ = spec_; + } else { + result.spec_ = specBuilder_.build(); + } + if (statusBuilder_ == null) { + result.status_ = status_; + } else { + result.status_ = statusBuilder_.build(); + } + 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.ControllerNVMeNamespace) { + return mergeFrom((opi_api.storage.v1.ControllerNVMeNamespace)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(opi_api.storage.v1.ControllerNVMeNamespace other) { + if (other == opi_api.storage.v1.ControllerNVMeNamespace.getDefaultInstance()) return this; + if (other.hasSpec()) { + mergeSpec(other.getSpec()); + } + if (other.hasStatus()) { + mergeStatus(other.getStatus()); + } + 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.ControllerNVMeNamespace parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (opi_api.storage.v1.ControllerNVMeNamespace) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private opi_api.storage.v1.NVMeControllerNamespaceSpec spec_; + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.storage.v1.NVMeControllerNamespaceSpec, opi_api.storage.v1.NVMeControllerNamespaceSpec.Builder, opi_api.storage.v1.NVMeControllerNamespaceSpecOrBuilder> specBuilder_; + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + * @return Whether the spec field is set. + */ + public boolean hasSpec() { + return specBuilder_ != null || spec_ != null; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + * @return The spec. + */ + public opi_api.storage.v1.NVMeControllerNamespaceSpec getSpec() { + if (specBuilder_ == null) { + return spec_ == null ? opi_api.storage.v1.NVMeControllerNamespaceSpec.getDefaultInstance() : spec_; + } else { + return specBuilder_.getMessage(); + } + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + */ + public Builder setSpec(opi_api.storage.v1.NVMeControllerNamespaceSpec value) { + if (specBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + spec_ = value; + onChanged(); + } else { + specBuilder_.setMessage(value); + } + + return this; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + */ + public Builder setSpec( + opi_api.storage.v1.NVMeControllerNamespaceSpec.Builder builderForValue) { + if (specBuilder_ == null) { + spec_ = builderForValue.build(); + onChanged(); + } else { + specBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + */ + public Builder mergeSpec(opi_api.storage.v1.NVMeControllerNamespaceSpec value) { + if (specBuilder_ == null) { + if (spec_ != null) { + spec_ = + opi_api.storage.v1.NVMeControllerNamespaceSpec.newBuilder(spec_).mergeFrom(value).buildPartial(); + } else { + spec_ = value; + } + onChanged(); + } else { + specBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + */ + public Builder clearSpec() { + if (specBuilder_ == null) { + spec_ = null; + onChanged(); + } else { + spec_ = null; + specBuilder_ = null; + } + + return this; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + */ + public opi_api.storage.v1.NVMeControllerNamespaceSpec.Builder getSpecBuilder() { + + onChanged(); + return getSpecFieldBuilder().getBuilder(); + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + */ + public opi_api.storage.v1.NVMeControllerNamespaceSpecOrBuilder getSpecOrBuilder() { + if (specBuilder_ != null) { + return specBuilder_.getMessageOrBuilder(); + } else { + return spec_ == null ? + opi_api.storage.v1.NVMeControllerNamespaceSpec.getDefaultInstance() : spec_; + } + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.storage.v1.NVMeControllerNamespaceSpec, opi_api.storage.v1.NVMeControllerNamespaceSpec.Builder, opi_api.storage.v1.NVMeControllerNamespaceSpecOrBuilder> + getSpecFieldBuilder() { + if (specBuilder_ == null) { + specBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + opi_api.storage.v1.NVMeControllerNamespaceSpec, opi_api.storage.v1.NVMeControllerNamespaceSpec.Builder, opi_api.storage.v1.NVMeControllerNamespaceSpecOrBuilder>( + getSpec(), + getParentForChildren(), + isClean()); + spec_ = null; + } + return specBuilder_; + } + + private opi_api.storage.v1.NVMeControllerNamespaceStatus status_; + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.storage.v1.NVMeControllerNamespaceStatus, opi_api.storage.v1.NVMeControllerNamespaceStatus.Builder, opi_api.storage.v1.NVMeControllerNamespaceStatusOrBuilder> statusBuilder_; + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + * @return Whether the status field is set. + */ + public boolean hasStatus() { + return statusBuilder_ != null || status_ != null; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + * @return The status. + */ + public opi_api.storage.v1.NVMeControllerNamespaceStatus getStatus() { + if (statusBuilder_ == null) { + return status_ == null ? opi_api.storage.v1.NVMeControllerNamespaceStatus.getDefaultInstance() : status_; + } else { + return statusBuilder_.getMessage(); + } + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + */ + public Builder setStatus(opi_api.storage.v1.NVMeControllerNamespaceStatus value) { + if (statusBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + status_ = value; + onChanged(); + } else { + statusBuilder_.setMessage(value); + } + + return this; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + */ + public Builder setStatus( + opi_api.storage.v1.NVMeControllerNamespaceStatus.Builder builderForValue) { + if (statusBuilder_ == null) { + status_ = builderForValue.build(); + onChanged(); + } else { + statusBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + */ + public Builder mergeStatus(opi_api.storage.v1.NVMeControllerNamespaceStatus value) { + if (statusBuilder_ == null) { + if (status_ != null) { + status_ = + opi_api.storage.v1.NVMeControllerNamespaceStatus.newBuilder(status_).mergeFrom(value).buildPartial(); + } else { + status_ = value; + } + onChanged(); + } else { + statusBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + */ + public Builder clearStatus() { + if (statusBuilder_ == null) { + status_ = null; + onChanged(); + } else { + status_ = null; + statusBuilder_ = null; + } + + return this; + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + */ + public opi_api.storage.v1.NVMeControllerNamespaceStatus.Builder getStatusBuilder() { + + onChanged(); + return getStatusFieldBuilder().getBuilder(); + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + */ + public opi_api.storage.v1.NVMeControllerNamespaceStatusOrBuilder getStatusOrBuilder() { + if (statusBuilder_ != null) { + return statusBuilder_.getMessageOrBuilder(); + } else { + return status_ == null ? + opi_api.storage.v1.NVMeControllerNamespaceStatus.getDefaultInstance() : status_; + } + } + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.storage.v1.NVMeControllerNamespaceStatus, opi_api.storage.v1.NVMeControllerNamespaceStatus.Builder, opi_api.storage.v1.NVMeControllerNamespaceStatusOrBuilder> + getStatusFieldBuilder() { + if (statusBuilder_ == null) { + statusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + opi_api.storage.v1.NVMeControllerNamespaceStatus, opi_api.storage.v1.NVMeControllerNamespaceStatus.Builder, opi_api.storage.v1.NVMeControllerNamespaceStatusOrBuilder>( + getStatus(), + getParentForChildren(), + isClean()); + status_ = null; + } + return statusBuilder_; + } + @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.ControllerNVMeNamespace) + } + + // @@protoc_insertion_point(class_scope:opi_api.storage.v1.ControllerNVMeNamespace) + private static final opi_api.storage.v1.ControllerNVMeNamespace DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new opi_api.storage.v1.ControllerNVMeNamespace(); + } + + public static opi_api.storage.v1.ControllerNVMeNamespace getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ControllerNVMeNamespace parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ControllerNVMeNamespace(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.ControllerNVMeNamespace getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespaceOrBuilder.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespaceOrBuilder.java new file mode 100644 index 00000000..1557e63f --- /dev/null +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespaceOrBuilder.java @@ -0,0 +1,39 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: frontend_nvme_pcie.proto + +package opi_api.storage.v1; + +public interface ControllerNVMeNamespaceOrBuilder extends + // @@protoc_insertion_point(interface_extends:opi_api.storage.v1.ControllerNVMeNamespace) + com.google.protobuf.MessageOrBuilder { + + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + * @return Whether the spec field is set. + */ + boolean hasSpec(); + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + * @return The spec. + */ + opi_api.storage.v1.NVMeControllerNamespaceSpec getSpec(); + /** + * .opi_api.storage.v1.NVMeControllerNamespaceSpec spec = 1; + */ + opi_api.storage.v1.NVMeControllerNamespaceSpecOrBuilder getSpecOrBuilder(); + + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + * @return Whether the status field is set. + */ + boolean hasStatus(); + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + * @return The status. + */ + opi_api.storage.v1.NVMeControllerNamespaceStatus getStatus(); + /** + * .opi_api.storage.v1.NVMeControllerNamespaceStatus status = 2; + */ + opi_api.storage.v1.NVMeControllerNamespaceStatusOrBuilder getStatusOrBuilder(); +} diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespaceRequest.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespaceRequest.java new file mode 100644 index 00000000..4dcc4709 --- /dev/null +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespaceRequest.java @@ -0,0 +1,933 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: frontend_nvme_pcie.proto + +package opi_api.storage.v1; + +/** + * Protobuf type {@code opi_api.storage.v1.ControllerNVMeNamespaceRequest} + */ +public final class ControllerNVMeNamespaceRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:opi_api.storage.v1.ControllerNVMeNamespaceRequest) + ControllerNVMeNamespaceRequestOrBuilder { +private static final long serialVersionUID = 0L; + // Use ControllerNVMeNamespaceRequest.newBuilder() to construct. + private ControllerNVMeNamespaceRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ControllerNVMeNamespaceRequest() { + subsystem_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new ControllerNVMeNamespaceRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ControllerNVMeNamespaceRequest( + 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 10: { + java.lang.String s = input.readStringRequireUtf8(); + + subsystem_ = s; + break; + } + case 18: { + opi_api.common.v1.ObjectKey.Builder subBuilder = null; + if (controller_ != null) { + subBuilder = controller_.toBuilder(); + } + controller_ = input.readMessage(opi_api.common.v1.ObjectKey.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(controller_); + controller_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + opi_api.common.v1.ObjectKey.Builder subBuilder = null; + if (nvMeNamespaceId_ != null) { + subBuilder = nvMeNamespaceId_.toBuilder(); + } + nvMeNamespaceId_ = input.readMessage(opi_api.common.v1.ObjectKey.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(nvMeNamespaceId_); + nvMeNamespaceId_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.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.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_ControllerNVMeNamespaceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_ControllerNVMeNamespaceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + opi_api.storage.v1.ControllerNVMeNamespaceRequest.class, opi_api.storage.v1.ControllerNVMeNamespaceRequest.Builder.class); + } + + public static final int SUBSYSTEM_FIELD_NUMBER = 1; + private volatile java.lang.Object subsystem_; + /** + * string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return The subsystem. + */ + @java.lang.Override + public java.lang.String getSubsystem() { + java.lang.Object ref = subsystem_; + 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(); + subsystem_ = s; + return s; + } + } + /** + * string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return The bytes for subsystem. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getSubsystemBytes() { + java.lang.Object ref = subsystem_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + subsystem_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CONTROLLER_FIELD_NUMBER = 2; + private opi_api.common.v1.ObjectKey controller_; + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return Whether the controller field is set. + */ + @java.lang.Override + public boolean hasController() { + return controller_ != null; + } + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return The controller. + */ + @java.lang.Override + public opi_api.common.v1.ObjectKey getController() { + return controller_ == null ? opi_api.common.v1.ObjectKey.getDefaultInstance() : controller_; + } + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + @java.lang.Override + public opi_api.common.v1.ObjectKeyOrBuilder getControllerOrBuilder() { + return getController(); + } + + public static final int NV_ME_NAMESPACE_ID_FIELD_NUMBER = 3; + private opi_api.common.v1.ObjectKey nvMeNamespaceId_; + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return Whether the nvMeNamespaceId field is set. + */ + @java.lang.Override + public boolean hasNvMeNamespaceId() { + return nvMeNamespaceId_ != null; + } + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return The nvMeNamespaceId. + */ + @java.lang.Override + public opi_api.common.v1.ObjectKey getNvMeNamespaceId() { + return nvMeNamespaceId_ == null ? opi_api.common.v1.ObjectKey.getDefaultInstance() : nvMeNamespaceId_; + } + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + @java.lang.Override + public opi_api.common.v1.ObjectKeyOrBuilder getNvMeNamespaceIdOrBuilder() { + return getNvMeNamespaceId(); + } + + 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 (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(subsystem_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, subsystem_); + } + if (controller_ != null) { + output.writeMessage(2, getController()); + } + if (nvMeNamespaceId_ != null) { + output.writeMessage(3, getNvMeNamespaceId()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(subsystem_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, subsystem_); + } + if (controller_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getController()); + } + if (nvMeNamespaceId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getNvMeNamespaceId()); + } + 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.ControllerNVMeNamespaceRequest)) { + return super.equals(obj); + } + opi_api.storage.v1.ControllerNVMeNamespaceRequest other = (opi_api.storage.v1.ControllerNVMeNamespaceRequest) obj; + + if (!getSubsystem() + .equals(other.getSubsystem())) return false; + if (hasController() != other.hasController()) return false; + if (hasController()) { + if (!getController() + .equals(other.getController())) return false; + } + if (hasNvMeNamespaceId() != other.hasNvMeNamespaceId()) return false; + if (hasNvMeNamespaceId()) { + if (!getNvMeNamespaceId() + .equals(other.getNvMeNamespaceId())) 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) + SUBSYSTEM_FIELD_NUMBER; + hash = (53 * hash) + getSubsystem().hashCode(); + if (hasController()) { + hash = (37 * hash) + CONTROLLER_FIELD_NUMBER; + hash = (53 * hash) + getController().hashCode(); + } + if (hasNvMeNamespaceId()) { + hash = (37 * hash) + NV_ME_NAMESPACE_ID_FIELD_NUMBER; + hash = (53 * hash) + getNvMeNamespaceId().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static opi_api.storage.v1.ControllerNVMeNamespaceRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.ControllerNVMeNamespaceRequest 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.ControllerNVMeNamespaceRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.ControllerNVMeNamespaceRequest 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.ControllerNVMeNamespaceRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.ControllerNVMeNamespaceRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static opi_api.storage.v1.ControllerNVMeNamespaceRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static opi_api.storage.v1.ControllerNVMeNamespaceRequest 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.ControllerNVMeNamespaceRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static opi_api.storage.v1.ControllerNVMeNamespaceRequest 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.ControllerNVMeNamespaceRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static opi_api.storage.v1.ControllerNVMeNamespaceRequest 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.ControllerNVMeNamespaceRequest 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.ControllerNVMeNamespaceRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:opi_api.storage.v1.ControllerNVMeNamespaceRequest) + opi_api.storage.v1.ControllerNVMeNamespaceRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_ControllerNVMeNamespaceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_ControllerNVMeNamespaceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + opi_api.storage.v1.ControllerNVMeNamespaceRequest.class, opi_api.storage.v1.ControllerNVMeNamespaceRequest.Builder.class); + } + + // Construct using opi_api.storage.v1.ControllerNVMeNamespaceRequest.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(); + subsystem_ = ""; + + if (controllerBuilder_ == null) { + controller_ = null; + } else { + controller_ = null; + controllerBuilder_ = null; + } + if (nvMeNamespaceIdBuilder_ == null) { + nvMeNamespaceId_ = null; + } else { + nvMeNamespaceId_ = null; + nvMeNamespaceIdBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_ControllerNVMeNamespaceRequest_descriptor; + } + + @java.lang.Override + public opi_api.storage.v1.ControllerNVMeNamespaceRequest getDefaultInstanceForType() { + return opi_api.storage.v1.ControllerNVMeNamespaceRequest.getDefaultInstance(); + } + + @java.lang.Override + public opi_api.storage.v1.ControllerNVMeNamespaceRequest build() { + opi_api.storage.v1.ControllerNVMeNamespaceRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public opi_api.storage.v1.ControllerNVMeNamespaceRequest buildPartial() { + opi_api.storage.v1.ControllerNVMeNamespaceRequest result = new opi_api.storage.v1.ControllerNVMeNamespaceRequest(this); + result.subsystem_ = subsystem_; + if (controllerBuilder_ == null) { + result.controller_ = controller_; + } else { + result.controller_ = controllerBuilder_.build(); + } + if (nvMeNamespaceIdBuilder_ == null) { + result.nvMeNamespaceId_ = nvMeNamespaceId_; + } else { + result.nvMeNamespaceId_ = nvMeNamespaceIdBuilder_.build(); + } + 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.ControllerNVMeNamespaceRequest) { + return mergeFrom((opi_api.storage.v1.ControllerNVMeNamespaceRequest)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(opi_api.storage.v1.ControllerNVMeNamespaceRequest other) { + if (other == opi_api.storage.v1.ControllerNVMeNamespaceRequest.getDefaultInstance()) return this; + if (!other.getSubsystem().isEmpty()) { + subsystem_ = other.subsystem_; + onChanged(); + } + if (other.hasController()) { + mergeController(other.getController()); + } + if (other.hasNvMeNamespaceId()) { + mergeNvMeNamespaceId(other.getNvMeNamespaceId()); + } + 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.ControllerNVMeNamespaceRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (opi_api.storage.v1.ControllerNVMeNamespaceRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object subsystem_ = ""; + /** + * string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return The subsystem. + */ + public java.lang.String getSubsystem() { + java.lang.Object ref = subsystem_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + subsystem_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return The bytes for subsystem. + */ + public com.google.protobuf.ByteString + getSubsystemBytes() { + java.lang.Object ref = subsystem_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + subsystem_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param value The subsystem to set. + * @return This builder for chaining. + */ + public Builder setSubsystem( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + subsystem_ = value; + onChanged(); + return this; + } + /** + * string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return This builder for chaining. + */ + public Builder clearSubsystem() { + + subsystem_ = getDefaultInstance().getSubsystem(); + onChanged(); + return this; + } + /** + * string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param value The bytes for subsystem to set. + * @return This builder for chaining. + */ + public Builder setSubsystemBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + subsystem_ = value; + onChanged(); + return this; + } + + private opi_api.common.v1.ObjectKey controller_; + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.common.v1.ObjectKey, opi_api.common.v1.ObjectKey.Builder, opi_api.common.v1.ObjectKeyOrBuilder> controllerBuilder_; + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return Whether the controller field is set. + */ + public boolean hasController() { + return controllerBuilder_ != null || controller_ != null; + } + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return The controller. + */ + public opi_api.common.v1.ObjectKey getController() { + if (controllerBuilder_ == null) { + return controller_ == null ? opi_api.common.v1.ObjectKey.getDefaultInstance() : controller_; + } else { + return controllerBuilder_.getMessage(); + } + } + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + public Builder setController(opi_api.common.v1.ObjectKey value) { + if (controllerBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + controller_ = value; + onChanged(); + } else { + controllerBuilder_.setMessage(value); + } + + return this; + } + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + public Builder setController( + opi_api.common.v1.ObjectKey.Builder builderForValue) { + if (controllerBuilder_ == null) { + controller_ = builderForValue.build(); + onChanged(); + } else { + controllerBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + public Builder mergeController(opi_api.common.v1.ObjectKey value) { + if (controllerBuilder_ == null) { + if (controller_ != null) { + controller_ = + opi_api.common.v1.ObjectKey.newBuilder(controller_).mergeFrom(value).buildPartial(); + } else { + controller_ = value; + } + onChanged(); + } else { + controllerBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + public Builder clearController() { + if (controllerBuilder_ == null) { + controller_ = null; + onChanged(); + } else { + controller_ = null; + controllerBuilder_ = null; + } + + return this; + } + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + public opi_api.common.v1.ObjectKey.Builder getControllerBuilder() { + + onChanged(); + return getControllerFieldBuilder().getBuilder(); + } + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + public opi_api.common.v1.ObjectKeyOrBuilder getControllerOrBuilder() { + if (controllerBuilder_ != null) { + return controllerBuilder_.getMessageOrBuilder(); + } else { + return controller_ == null ? + opi_api.common.v1.ObjectKey.getDefaultInstance() : controller_; + } + } + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.common.v1.ObjectKey, opi_api.common.v1.ObjectKey.Builder, opi_api.common.v1.ObjectKeyOrBuilder> + getControllerFieldBuilder() { + if (controllerBuilder_ == null) { + controllerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + opi_api.common.v1.ObjectKey, opi_api.common.v1.ObjectKey.Builder, opi_api.common.v1.ObjectKeyOrBuilder>( + getController(), + getParentForChildren(), + isClean()); + controller_ = null; + } + return controllerBuilder_; + } + + private opi_api.common.v1.ObjectKey nvMeNamespaceId_; + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.common.v1.ObjectKey, opi_api.common.v1.ObjectKey.Builder, opi_api.common.v1.ObjectKeyOrBuilder> nvMeNamespaceIdBuilder_; + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return Whether the nvMeNamespaceId field is set. + */ + public boolean hasNvMeNamespaceId() { + return nvMeNamespaceIdBuilder_ != null || nvMeNamespaceId_ != null; + } + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return The nvMeNamespaceId. + */ + public opi_api.common.v1.ObjectKey getNvMeNamespaceId() { + if (nvMeNamespaceIdBuilder_ == null) { + return nvMeNamespaceId_ == null ? opi_api.common.v1.ObjectKey.getDefaultInstance() : nvMeNamespaceId_; + } else { + return nvMeNamespaceIdBuilder_.getMessage(); + } + } + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + public Builder setNvMeNamespaceId(opi_api.common.v1.ObjectKey value) { + if (nvMeNamespaceIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + nvMeNamespaceId_ = value; + onChanged(); + } else { + nvMeNamespaceIdBuilder_.setMessage(value); + } + + return this; + } + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + public Builder setNvMeNamespaceId( + opi_api.common.v1.ObjectKey.Builder builderForValue) { + if (nvMeNamespaceIdBuilder_ == null) { + nvMeNamespaceId_ = builderForValue.build(); + onChanged(); + } else { + nvMeNamespaceIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + public Builder mergeNvMeNamespaceId(opi_api.common.v1.ObjectKey value) { + if (nvMeNamespaceIdBuilder_ == null) { + if (nvMeNamespaceId_ != null) { + nvMeNamespaceId_ = + opi_api.common.v1.ObjectKey.newBuilder(nvMeNamespaceId_).mergeFrom(value).buildPartial(); + } else { + nvMeNamespaceId_ = value; + } + onChanged(); + } else { + nvMeNamespaceIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + public Builder clearNvMeNamespaceId() { + if (nvMeNamespaceIdBuilder_ == null) { + nvMeNamespaceId_ = null; + onChanged(); + } else { + nvMeNamespaceId_ = null; + nvMeNamespaceIdBuilder_ = null; + } + + return this; + } + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + public opi_api.common.v1.ObjectKey.Builder getNvMeNamespaceIdBuilder() { + + onChanged(); + return getNvMeNamespaceIdFieldBuilder().getBuilder(); + } + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + public opi_api.common.v1.ObjectKeyOrBuilder getNvMeNamespaceIdOrBuilder() { + if (nvMeNamespaceIdBuilder_ != null) { + return nvMeNamespaceIdBuilder_.getMessageOrBuilder(); + } else { + return nvMeNamespaceId_ == null ? + opi_api.common.v1.ObjectKey.getDefaultInstance() : nvMeNamespaceId_; + } + } + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.common.v1.ObjectKey, opi_api.common.v1.ObjectKey.Builder, opi_api.common.v1.ObjectKeyOrBuilder> + getNvMeNamespaceIdFieldBuilder() { + if (nvMeNamespaceIdBuilder_ == null) { + nvMeNamespaceIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + opi_api.common.v1.ObjectKey, opi_api.common.v1.ObjectKey.Builder, opi_api.common.v1.ObjectKeyOrBuilder>( + getNvMeNamespaceId(), + getParentForChildren(), + isClean()); + nvMeNamespaceId_ = null; + } + return nvMeNamespaceIdBuilder_; + } + @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.ControllerNVMeNamespaceRequest) + } + + // @@protoc_insertion_point(class_scope:opi_api.storage.v1.ControllerNVMeNamespaceRequest) + private static final opi_api.storage.v1.ControllerNVMeNamespaceRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new opi_api.storage.v1.ControllerNVMeNamespaceRequest(); + } + + public static opi_api.storage.v1.ControllerNVMeNamespaceRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ControllerNVMeNamespaceRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ControllerNVMeNamespaceRequest(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.ControllerNVMeNamespaceRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespaceRequestOrBuilder.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespaceRequestOrBuilder.java new file mode 100644 index 00000000..8dcad716 --- /dev/null +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/ControllerNVMeNamespaceRequestOrBuilder.java @@ -0,0 +1,51 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: frontend_nvme_pcie.proto + +package opi_api.storage.v1; + +public interface ControllerNVMeNamespaceRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:opi_api.storage.v1.ControllerNVMeNamespaceRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return The subsystem. + */ + java.lang.String getSubsystem(); + /** + * string subsystem = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return The bytes for subsystem. + */ + com.google.protobuf.ByteString + getSubsystemBytes(); + + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return Whether the controller field is set. + */ + boolean hasController(); + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return The controller. + */ + opi_api.common.v1.ObjectKey getController(); + /** + * .opi_api.common.v1.ObjectKey controller = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + opi_api.common.v1.ObjectKeyOrBuilder getControllerOrBuilder(); + + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return Whether the nvMeNamespaceId field is set. + */ + boolean hasNvMeNamespaceId(); + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return The nvMeNamespaceId. + */ + opi_api.common.v1.ObjectKey getNvMeNamespaceId(); + /** + * .opi_api.common.v1.ObjectKey nv_me_namespace_id = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + opi_api.common.v1.ObjectKeyOrBuilder getNvMeNamespaceIdOrBuilder(); +} diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/FrontendNvmePcieProto.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/FrontendNvmePcieProto.java index 51bd3b8e..f6b48715 100644 --- a/storage/v1alpha1/gen/java/opi_api/storage/v1/FrontendNvmePcieProto.java +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/FrontendNvmePcieProto.java @@ -179,6 +179,11 @@ public static void registerAllExtensions( static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_opi_api_storage_v1_NVMeNamespaceStatsResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_opi_api_storage_v1_ControllerNVMeNamespaceRequest_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_opi_api_storage_v1_ControllerNVMeNamespaceRequest_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { @@ -297,93 +302,108 @@ public static void registerAllExtensions( ".ObjectKey\"v\n\032NVMeNamespaceStatsResponse" + "\022(\n\002id\030\001 \001(\0132\034.opi_api.common.v1.ObjectK" + "ey\022.\n\005stats\030\002 \001(\0132\037.opi_api.storage.v1.V" + - "olumeStats*\266\001\n\025NVMeNamespacePciState\022)\n%" + - "NV_ME_NAMESPACE_PCI_STATE_UNSPECIFIED\020\000\022" + - "%\n!NVME_NAMESPACE_PCI_STATE_DISABLED\020\001\022$" + - "\n NVME_NAMESPACE_PCI_STATE_ENABLED\020\002\022%\n!" + - "NVME_NAMESPACE_PCI_STATE_DELETING\020\003*\240\001\n\031" + - "NVMeNamespacePciOperState\022.\n*NV_ME_NAMES" + - "PACE_PCI_OPER_STATE_UNSPECIFIED\020\000\022(\n$NVM" + - "E_NAMESPACE_PCI_OPER_STATE_ONLINE\020\001\022)\n%N" + - "VME_NAMESPACE_PCI_OPER_STATE_OFFLINE\020\0022\245" + - "\027\n\023FrontendNvmeService\022\306\001\n\023CreateNVMeSub" + - "system\022..opi_api.storage.v1.CreateNVMeSu" + - "bsystemRequest\032!.opi_api.storage.v1.NVMe" + - "Subsystem\"\\\202\323\344\223\002*\"\027/v1/{parent=subsystem" + - "s}:\017nv_me_subsystem\332A)parent,nv_me_subsy" + - "stem,nv_me_subsystem_id\022\217\001\n\023DeleteNVMeSu" + - "bsystem\022..opi_api.storage.v1.DeleteNVMeS" + - "ubsystemRequest\032\026.google.protobuf.Empty\"" + - "0\202\323\344\223\002#*!/v1/{name=subsystems}/{subsyste" + - "m}\332A\004name\022\306\001\n\023UpdateNVMeSubsystem\022..opi_" + - "api.storage.v1.UpdateNVMeSubsystemReques" + - "t\032!.opi_api.storage.v1.NVMeSubsystem\"\\\202\323" + - "\344\223\00282%/v1/{nv_me_subsystem.name=subsyste" + - "ms}:\017nv_me_subsystem\332A\033nv_me_subsystem,u" + - "pdate_mask\022\235\001\n\022ListNVMeSubsystems\022-.opi_" + - "api.storage.v1.ListNVMeSubsystemsRequest" + - "\032..opi_api.storage.v1.ListNVMeSubsystems" + - "Response\"(\202\323\344\223\002\031\022\027/v1/{parent=subsystems" + - "}\332A\006parent\022\224\001\n\020GetNVMeSubsystem\022+.opi_ap" + - "i.storage.v1.GetNVMeSubsystemRequest\032!.o" + - "pi_api.storage.v1.NVMeSubsystem\"0\202\323\344\223\002#\022" + - "!/v1/{name=subsystems}/{subsystem}\332A\004nam" + - "e\022u\n\022NVMeSubsystemStats\022-.opi_api.storag" + - "e.v1.NVMeSubsystemStatsRequest\032..opi_api" + - ".storage.v1.NVMeSubsystemStatsResponse\"\000" + - "\022\314\001\n\024CreateNVMeController\022/.opi_api.stor" + - "age.v1.CreateNVMeControllerRequest\032\".opi" + - "_api.storage.v1.NVMeController\"_\202\323\344\223\002+\"\027" + - "/v1/{parent=subsystems}:\020nv_me_controlle" + - "r\332A+parent,nv_me_controller,nv_me_contro" + - "ller_id\022\223\001\n\024DeleteNVMeController\022/.opi_a" + - "pi.storage.v1.DeleteNVMeControllerReques" + - "t\032\026.google.protobuf.Empty\"2\202\323\344\223\002%*#/v1/{" + - "name=controllers}/{controller}\332A\004name\022\314\001" + - "\n\024UpdateNVMeController\022/.opi_api.storage" + - ".v1.UpdateNVMeControllerRequest\032\".opi_ap" + - "i.storage.v1.NVMeController\"_\202\323\344\223\002:2&/v1" + - "/{nv_me_controller.name=subsystems}:\020nv_" + - "me_controller\332A\034nv_me_controller,update_" + - "mask\022\240\001\n\023ListNVMeControllers\022..opi_api.s" + - "torage.v1.ListNVMeControllersRequest\032/.o" + - "pi_api.storage.v1.ListNVMeControllersRes" + - "ponse\"(\202\323\344\223\002\031\022\027/v1/{parent=subsystems}\332A" + - "\006parent\022\230\001\n\021GetNVMeController\022,.opi_api." + - "storage.v1.GetNVMeControllerRequest\032\".op" + - "i_api.storage.v1.NVMeController\"1\202\323\344\223\002$\022" + - "\"/v1/{name=subsystems}/{controller}\332A\004na" + - "me\022x\n\023NVMeControllerStats\022..opi_api.stor" + - "age.v1.NVMeControllerStatsRequest\032/.opi_" + - "api.storage.v1.NVMeControllerStatsRespon" + - "se\"\000\022\306\001\n\023CreateNVMeNamespace\022..opi_api.s" + - "torage.v1.CreateNVMeNamespaceRequest\032!.o" + - "pi_api.storage.v1.NVMeNamespace\"\\\202\323\344\223\002*\"" + - "\027/v1/{parent=subsystems}:\017nv_me_namespac" + - "e\332A)parent,nv_me_namespace,nv_me_namespa" + - "ce_id\022\217\001\n\023DeleteNVMeNamespace\022..opi_api." + - "storage.v1.DeleteNVMeNamespaceRequest\032\026." + - "google.protobuf.Empty\"0\202\323\344\223\002#*!/v1/{name" + - "=namespaces}/{namespace}\332A\004name\022\306\001\n\023Upda" + - "teNVMeNamespace\022..opi_api.storage.v1.Upd" + - "ateNVMeNamespaceRequest\032!.opi_api.storag" + - "e.v1.NVMeNamespace\"\\\202\323\344\223\00282%/v1/{nv_me_n" + - "amespace.name=subsystems}:\017nv_me_namespa" + - "ce\332A\033nv_me_namespace,update_mask\022\235\001\n\022Lis" + - "tNVMeNamespaces\022-.opi_api.storage.v1.Lis" + - "tNVMeNamespacesRequest\032..opi_api.storage" + - ".v1.ListNVMeNamespacesResponse\"(\202\323\344\223\002\031\022\027" + - "/v1/{parent=subsystems}\332A\006parent\022\224\001\n\020Get" + - "NVMeNamespace\022+.opi_api.storage.v1.GetNV" + - "MeNamespaceRequest\032!.opi_api.storage.v1." + - "NVMeNamespace\"0\202\323\344\223\002#\022!/v1/{name=subsyst" + - "ems}/{namespace}\332A\004name\022u\n\022NVMeNamespace" + - "Stats\022-.opi_api.storage.v1.NVMeNamespace" + - "StatsRequest\032..opi_api.storage.v1.NVMeNa" + - "mespaceStatsResponse\"\000Bd\n\022opi_api.storag" + - "e.v1B\025FrontendNvmePcieProtoP\001Z5github.co" + - "m/opiproject/opi-api/storage/v1alpha1/ge" + - "n/gob\006proto3" + "olumeStats\"\256\001\n\036ControllerNVMeNamespaceRe" + + "quest\022\026\n\tsubsystem\030\001 \001(\tB\003\340A\002\0225\n\ncontrol" + + "ler\030\002 \001(\0132\034.opi_api.common.v1.ObjectKeyB" + + "\003\340A\002\022=\n\022nv_me_namespace_id\030\003 \001(\0132\034.opi_a" + + "pi.common.v1.ObjectKeyB\003\340A\002*\266\001\n\025NVMeName" + + "spacePciState\022)\n%NV_ME_NAMESPACE_PCI_STA" + + "TE_UNSPECIFIED\020\000\022%\n!NVME_NAMESPACE_PCI_S" + + "TATE_DISABLED\020\001\022$\n NVME_NAMESPACE_PCI_ST" + + "ATE_ENABLED\020\002\022%\n!NVME_NAMESPACE_PCI_STAT" + + "E_DELETING\020\003*\240\001\n\031NVMeNamespacePciOperSta" + + "te\022.\n*NV_ME_NAMESPACE_PCI_OPER_STATE_UNS" + + "PECIFIED\020\000\022(\n$NVME_NAMESPACE_PCI_OPER_ST" + + "ATE_ONLINE\020\001\022)\n%NVME_NAMESPACE_PCI_OPER_" + + "STATE_OFFLINE\020\0022\315\032\n\023FrontendNvmeService\022" + + "\306\001\n\023CreateNVMeSubsystem\022..opi_api.storag" + + "e.v1.CreateNVMeSubsystemRequest\032!.opi_ap" + + "i.storage.v1.NVMeSubsystem\"\\\202\323\344\223\002*\"\027/v1/" + + "{parent=subsystems}:\017nv_me_subsystem\332A)p" + + "arent,nv_me_subsystem,nv_me_subsystem_id" + + "\022\217\001\n\023DeleteNVMeSubsystem\022..opi_api.stora" + + "ge.v1.DeleteNVMeSubsystemRequest\032\026.googl" + + "e.protobuf.Empty\"0\202\323\344\223\002#*!/v1/{name=subs" + + "ystems}/{subsystem}\332A\004name\022\306\001\n\023UpdateNVM" + + "eSubsystem\022..opi_api.storage.v1.UpdateNV" + + "MeSubsystemRequest\032!.opi_api.storage.v1." + + "NVMeSubsystem\"\\\202\323\344\223\00282%/v1/{nv_me_subsys" + + "tem.name=subsystems}:\017nv_me_subsystem\332A\033" + + "nv_me_subsystem,update_mask\022\235\001\n\022ListNVMe" + + "Subsystems\022-.opi_api.storage.v1.ListNVMe" + + "SubsystemsRequest\032..opi_api.storage.v1.L" + + "istNVMeSubsystemsResponse\"(\202\323\344\223\002\031\022\027/v1/{" + + "parent=subsystems}\332A\006parent\022\224\001\n\020GetNVMeS" + + "ubsystem\022+.opi_api.storage.v1.GetNVMeSub" + + "systemRequest\032!.opi_api.storage.v1.NVMeS" + + "ubsystem\"0\202\323\344\223\002#\022!/v1/{name=subsystems}/" + + "{subsystem}\332A\004name\022u\n\022NVMeSubsystemStats" + + "\022-.opi_api.storage.v1.NVMeSubsystemStats" + + "Request\032..opi_api.storage.v1.NVMeSubsyst" + + "emStatsResponse\"\000\022\314\001\n\024CreateNVMeControll" + + "er\022/.opi_api.storage.v1.CreateNVMeContro" + + "llerRequest\032\".opi_api.storage.v1.NVMeCon" + + "troller\"_\202\323\344\223\002+\"\027/v1/{parent=subsystems}" + + ":\020nv_me_controller\332A+parent,nv_me_contro" + + "ller,nv_me_controller_id\022\223\001\n\024DeleteNVMeC" + + "ontroller\022/.opi_api.storage.v1.DeleteNVM" + + "eControllerRequest\032\026.google.protobuf.Emp" + + "ty\"2\202\323\344\223\002%*#/v1/{name=controllers}/{cont" + + "roller}\332A\004name\022\314\001\n\024UpdateNVMeController\022" + + "/.opi_api.storage.v1.UpdateNVMeControlle" + + "rRequest\032\".opi_api.storage.v1.NVMeContro" + + "ller\"_\202\323\344\223\002:2&/v1/{nv_me_controller.name" + + "=subsystems}:\020nv_me_controller\332A\034nv_me_c" + + "ontroller,update_mask\022\240\001\n\023ListNVMeContro" + + "llers\022..opi_api.storage.v1.ListNVMeContr" + + "ollersRequest\032/.opi_api.storage.v1.ListN" + + "VMeControllersResponse\"(\202\323\344\223\002\031\022\027/v1/{par" + + "ent=subsystems}\332A\006parent\022\230\001\n\021GetNVMeCont" + + "roller\022,.opi_api.storage.v1.GetNVMeContr" + + "ollerRequest\032\".opi_api.storage.v1.NVMeCo" + + "ntroller\"1\202\323\344\223\002$\022\"/v1/{name=subsystems}/" + + "{controller}\332A\004name\022x\n\023NVMeControllerSta" + + "ts\022..opi_api.storage.v1.NVMeControllerSt" + + "atsRequest\032/.opi_api.storage.v1.NVMeCont" + + "rollerStatsResponse\"\000\022\306\001\n\023CreateNVMeName" + + "space\022..opi_api.storage.v1.CreateNVMeNam" + + "espaceRequest\032!.opi_api.storage.v1.NVMeN" + + "amespace\"\\\202\323\344\223\002*\"\027/v1/{parent=subsystems" + + "}:\017nv_me_namespace\332A)parent,nv_me_namesp" + + "ace,nv_me_namespace_id\022\217\001\n\023DeleteNVMeNam" + + "espace\022..opi_api.storage.v1.DeleteNVMeNa" + + "mespaceRequest\032\026.google.protobuf.Empty\"0" + + "\202\323\344\223\002#*!/v1/{name=namespaces}/{namespace" + + "}\332A\004name\022\306\001\n\023UpdateNVMeNamespace\022..opi_a" + + "pi.storage.v1.UpdateNVMeNamespaceRequest" + + "\032!.opi_api.storage.v1.NVMeNamespace\"\\\202\323\344" + + "\223\00282%/v1/{nv_me_namespace.name=subsystem" + + "s}:\017nv_me_namespace\332A\033nv_me_namespace,up" + + "date_mask\022\235\001\n\022ListNVMeNamespaces\022-.opi_a" + + "pi.storage.v1.ListNVMeNamespacesRequest\032" + + "..opi_api.storage.v1.ListNVMeNamespacesR" + + "esponse\"(\202\323\344\223\002\031\022\027/v1/{parent=subsystems}" + + "\332A\006parent\022\224\001\n\020GetNVMeNamespace\022+.opi_api" + + ".storage.v1.GetNVMeNamespaceRequest\032!.op" + + "i_api.storage.v1.NVMeNamespace\"0\202\323\344\223\002#\022!" + + "/v1/{name=subsystems}/{namespace}\332A\004name" + + "\022u\n\022NVMeNamespaceStats\022-.opi_api.storage" + + ".v1.NVMeNamespaceStatsRequest\032..opi_api." + + "storage.v1.NVMeNamespaceStatsResponse\"\000\022" + + "\321\001\n\035AttachControllerNVMeNamespace\0222.opi_" + + "api.storage.v1.ControllerNVMeNamespaceRe" + + "quest\032\026.google.protobuf.Empty\"d\202\323\344\223\002^\"Y/" + + "v1/{subsystem=subsystemId/*/controller=n" + + "vmeControllerId/*}:attachControllerNvMeN" + + "amespace:\001*\022\321\001\n\035DetachControllerNVMeName" + + "space\0222.opi_api.storage.v1.ControllerNVM" + + "eNamespaceRequest\032\026.google.protobuf.Empt" + + "y\"d\202\323\344\223\002^\"Y/v1/{subsystem=subsystemId/*/" + + "controller=nvmeControllerId/*}:detachCon" + + "trollerNvMeNamespace:\001*Bd\n\022opi_api.stora" + + "ge.v1B\025FrontendNvmePcieProtoP\001Z5github.c" + + "om/opiproject/opi-api/storage/v1alpha1/g" + + "en/gob\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -596,6 +616,12 @@ public static void registerAllExtensions( com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_opi_api_storage_v1_NVMeNamespaceStatsResponse_descriptor, new java.lang.String[] { "Id", "Stats", }); + internal_static_opi_api_storage_v1_ControllerNVMeNamespaceRequest_descriptor = + getDescriptor().getMessageTypes().get(33); + internal_static_opi_api_storage_v1_ControllerNVMeNamespaceRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_opi_api_storage_v1_ControllerNVMeNamespaceRequest_descriptor, + new java.lang.String[] { "Subsystem", "Controller", "NvMeNamespaceId", }); com.google.protobuf.ExtensionRegistry registry = com.google.protobuf.ExtensionRegistry.newInstance(); registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/FrontendNvmeServiceGrpc.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/FrontendNvmeServiceGrpc.java index 38589080..e9fc4d98 100644 --- a/storage/v1alpha1/gen/java/opi_api/storage/v1/FrontendNvmeServiceGrpc.java +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/FrontendNvmeServiceGrpc.java @@ -576,6 +576,68 @@ opi_api.storage.v1.NVMeNamespaceStatsResponse> getNVMeNamespaceStatsMethod() { return getNVMeNamespaceStatsMethod; } + private static volatile io.grpc.MethodDescriptor getAttachControllerNVMeNamespaceMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "AttachControllerNVMeNamespace", + requestType = opi_api.storage.v1.ControllerNVMeNamespaceRequest.class, + responseType = com.google.protobuf.Empty.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getAttachControllerNVMeNamespaceMethod() { + io.grpc.MethodDescriptor getAttachControllerNVMeNamespaceMethod; + if ((getAttachControllerNVMeNamespaceMethod = FrontendNvmeServiceGrpc.getAttachControllerNVMeNamespaceMethod) == null) { + synchronized (FrontendNvmeServiceGrpc.class) { + if ((getAttachControllerNVMeNamespaceMethod = FrontendNvmeServiceGrpc.getAttachControllerNVMeNamespaceMethod) == null) { + FrontendNvmeServiceGrpc.getAttachControllerNVMeNamespaceMethod = getAttachControllerNVMeNamespaceMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "AttachControllerNVMeNamespace")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + opi_api.storage.v1.ControllerNVMeNamespaceRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + com.google.protobuf.Empty.getDefaultInstance())) + .setSchemaDescriptor(new FrontendNvmeServiceMethodDescriptorSupplier("AttachControllerNVMeNamespace")) + .build(); + } + } + } + return getAttachControllerNVMeNamespaceMethod; + } + + private static volatile io.grpc.MethodDescriptor getDetachControllerNVMeNamespaceMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "DetachControllerNVMeNamespace", + requestType = opi_api.storage.v1.ControllerNVMeNamespaceRequest.class, + responseType = com.google.protobuf.Empty.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getDetachControllerNVMeNamespaceMethod() { + io.grpc.MethodDescriptor getDetachControllerNVMeNamespaceMethod; + if ((getDetachControllerNVMeNamespaceMethod = FrontendNvmeServiceGrpc.getDetachControllerNVMeNamespaceMethod) == null) { + synchronized (FrontendNvmeServiceGrpc.class) { + if ((getDetachControllerNVMeNamespaceMethod = FrontendNvmeServiceGrpc.getDetachControllerNVMeNamespaceMethod) == null) { + FrontendNvmeServiceGrpc.getDetachControllerNVMeNamespaceMethod = getDetachControllerNVMeNamespaceMethod = + io.grpc.MethodDescriptor.newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "DetachControllerNVMeNamespace")) + .setSampledToLocalTracing(true) + .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + opi_api.storage.v1.ControllerNVMeNamespaceRequest.getDefaultInstance())) + .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller( + com.google.protobuf.Empty.getDefaultInstance())) + .setSchemaDescriptor(new FrontendNvmeServiceMethodDescriptorSupplier("DetachControllerNVMeNamespace")) + .build(); + } + } + } + return getDetachControllerNVMeNamespaceMethod; + } + /** * Creates a new async stub that supports all call types for the service */ @@ -753,6 +815,20 @@ public void nVMeNamespaceStats(opi_api.storage.v1.NVMeNamespaceStatsRequest requ io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getNVMeNamespaceStatsMethod(), responseObserver); } + /** + */ + public void attachControllerNVMeNamespace(opi_api.storage.v1.ControllerNVMeNamespaceRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getAttachControllerNVMeNamespaceMethod(), responseObserver); + } + + /** + */ + public void detachControllerNVMeNamespace(opi_api.storage.v1.ControllerNVMeNamespaceRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDetachControllerNVMeNamespaceMethod(), responseObserver); + } + @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() { return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) .addMethod( @@ -881,6 +957,20 @@ public void nVMeNamespaceStats(opi_api.storage.v1.NVMeNamespaceStatsRequest requ opi_api.storage.v1.NVMeNamespaceStatsRequest, opi_api.storage.v1.NVMeNamespaceStatsResponse>( this, METHODID_NVME_NAMESPACE_STATS))) + .addMethod( + getAttachControllerNVMeNamespaceMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + opi_api.storage.v1.ControllerNVMeNamespaceRequest, + com.google.protobuf.Empty>( + this, METHODID_ATTACH_CONTROLLER_NVME_NAMESPACE))) + .addMethod( + getDetachControllerNVMeNamespaceMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + opi_api.storage.v1.ControllerNVMeNamespaceRequest, + com.google.protobuf.Empty>( + this, METHODID_DETACH_CONTROLLER_NVME_NAMESPACE))) .build(); } } @@ -1045,6 +1135,22 @@ public void nVMeNamespaceStats(opi_api.storage.v1.NVMeNamespaceStatsRequest requ io.grpc.stub.ClientCalls.asyncUnaryCall( getChannel().newCall(getNVMeNamespaceStatsMethod(), getCallOptions()), request, responseObserver); } + + /** + */ + public void attachControllerNVMeNamespace(opi_api.storage.v1.ControllerNVMeNamespaceRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getAttachControllerNVMeNamespaceMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void detachControllerNVMeNamespace(opi_api.storage.v1.ControllerNVMeNamespaceRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDetachControllerNVMeNamespaceMethod(), getCallOptions()), request, responseObserver); + } } /** @@ -1189,6 +1295,20 @@ public opi_api.storage.v1.NVMeNamespaceStatsResponse nVMeNamespaceStats(opi_api. return io.grpc.stub.ClientCalls.blockingUnaryCall( getChannel(), getNVMeNamespaceStatsMethod(), getCallOptions(), request); } + + /** + */ + public com.google.protobuf.Empty attachControllerNVMeNamespace(opi_api.storage.v1.ControllerNVMeNamespaceRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getAttachControllerNVMeNamespaceMethod(), getCallOptions(), request); + } + + /** + */ + public com.google.protobuf.Empty detachControllerNVMeNamespace(opi_api.storage.v1.ControllerNVMeNamespaceRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getDetachControllerNVMeNamespaceMethod(), getCallOptions(), request); + } } /** @@ -1351,6 +1471,22 @@ public com.google.common.util.concurrent.ListenableFuture attachControllerNVMeNamespace( + opi_api.storage.v1.ControllerNVMeNamespaceRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getAttachControllerNVMeNamespaceMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture detachControllerNVMeNamespace( + opi_api.storage.v1.ControllerNVMeNamespaceRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDetachControllerNVMeNamespaceMethod(), getCallOptions()), request); + } } private static final int METHODID_CREATE_NVME_SUBSYSTEM = 0; @@ -1371,6 +1507,8 @@ public com.google.common.util.concurrent.ListenableFuture implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -1461,6 +1599,14 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv serviceImpl.nVMeNamespaceStats((opi_api.storage.v1.NVMeNamespaceStatsRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_ATTACH_CONTROLLER_NVME_NAMESPACE: + serviceImpl.attachControllerNVMeNamespace((opi_api.storage.v1.ControllerNVMeNamespaceRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_DETACH_CONTROLLER_NVME_NAMESPACE: + serviceImpl.detachControllerNVMeNamespace((opi_api.storage.v1.ControllerNVMeNamespaceRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; default: throw new AssertionError(); } @@ -1540,6 +1686,8 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() { .addMethod(getListNVMeNamespacesMethod()) .addMethod(getGetNVMeNamespaceMethod()) .addMethod(getNVMeNamespaceStatsMethod()) + .addMethod(getAttachControllerNVMeNamespaceMethod()) + .addMethod(getDetachControllerNVMeNamespaceMethod()) .build(); } } diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceSpec.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceSpec.java new file mode 100644 index 00000000..393c236b --- /dev/null +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceSpec.java @@ -0,0 +1,1067 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: frontend_nvme_pcie.proto + +package opi_api.storage.v1; + +/** + * Protobuf type {@code opi_api.storage.v1.NVMeControllerNamespaceSpec} + */ +public final class NVMeControllerNamespaceSpec extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:opi_api.storage.v1.NVMeControllerNamespaceSpec) + NVMeControllerNamespaceSpecOrBuilder { +private static final long serialVersionUID = 0L; + // Use NVMeControllerNamespaceSpec.newBuilder() to construct. + private NVMeControllerNamespaceSpec(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private NVMeControllerNamespaceSpec() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new NVMeControllerNamespaceSpec(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private NVMeControllerNamespaceSpec( + 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 10: { + opi_api.common.v1.ObjectKey.Builder subBuilder = null; + if (id_ != null) { + subBuilder = id_.toBuilder(); + } + id_ = input.readMessage(opi_api.common.v1.ObjectKey.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(id_); + id_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + opi_api.common.v1.ObjectKey.Builder subBuilder = null; + if (subsystemId_ != null) { + subBuilder = subsystemId_.toBuilder(); + } + subsystemId_ = input.readMessage(opi_api.common.v1.ObjectKey.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(subsystemId_); + subsystemId_ = subBuilder.buildPartial(); + } + + break; + } + case 24: { + + nvmeControllerId_ = input.readInt32(); + break; + } + case 32: { + + hostNsid_ = input.readInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.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.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_NVMeControllerNamespaceSpec_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_NVMeControllerNamespaceSpec_fieldAccessorTable + .ensureFieldAccessorsInitialized( + opi_api.storage.v1.NVMeControllerNamespaceSpec.class, opi_api.storage.v1.NVMeControllerNamespaceSpec.Builder.class); + } + + public static final int ID_FIELD_NUMBER = 1; + private opi_api.common.v1.ObjectKey id_; + /** + *
+   * namespace's unique key
+   * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + * @return Whether the id field is set. + */ + @java.lang.Override + public boolean hasId() { + return id_ != null; + } + /** + *
+   * namespace's unique key
+   * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + * @return The id. + */ + @java.lang.Override + public opi_api.common.v1.ObjectKey getId() { + return id_ == null ? opi_api.common.v1.ObjectKey.getDefaultInstance() : id_; + } + /** + *
+   * namespace's unique key
+   * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + */ + @java.lang.Override + public opi_api.common.v1.ObjectKeyOrBuilder getIdOrBuilder() { + return getId(); + } + + public static final int SUBSYSTEM_ID_FIELD_NUMBER = 2; + private opi_api.common.v1.ObjectKey subsystemId_; + /** + *
+   * subsystem for this namespace
+   * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + * @return Whether the subsystemId field is set. + */ + @java.lang.Override + public boolean hasSubsystemId() { + return subsystemId_ != null; + } + /** + *
+   * subsystem for this namespace
+   * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + * @return The subsystemId. + */ + @java.lang.Override + public opi_api.common.v1.ObjectKey getSubsystemId() { + return subsystemId_ == null ? opi_api.common.v1.ObjectKey.getDefaultInstance() : subsystemId_; + } + /** + *
+   * subsystem for this namespace
+   * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + */ + @java.lang.Override + public opi_api.common.v1.ObjectKeyOrBuilder getSubsystemIdOrBuilder() { + return getSubsystemId(); + } + + public static final int NVME_CONTROLLER_ID_FIELD_NUMBER = 3; + private int nvmeControllerId_; + /** + *
+   * subsystem controller id range: 0 to 65535.
+   * must not be reused under the same subsystem
+   * 
+ * + * int32 nvme_controller_id = 3; + * @return The nvmeControllerId. + */ + @java.lang.Override + public int getNvmeControllerId() { + return nvmeControllerId_; + } + + public static final int HOST_NSID_FIELD_NUMBER = 4; + private int hostNsid_; + /** + *
+   * NSID present to the host by the NVMe PCIe controller.
+   * If not provided, then the controller will assign an unused NSID
+   * within the max namespace range - auto assigned nsid may not work
+   * for live migration
+   * 
+ * + * int32 host_nsid = 4; + * @return The hostNsid. + */ + @java.lang.Override + public int getHostNsid() { + return hostNsid_; + } + + 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 (id_ != null) { + output.writeMessage(1, getId()); + } + if (subsystemId_ != null) { + output.writeMessage(2, getSubsystemId()); + } + if (nvmeControllerId_ != 0) { + output.writeInt32(3, nvmeControllerId_); + } + if (hostNsid_ != 0) { + output.writeInt32(4, hostNsid_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (id_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getId()); + } + if (subsystemId_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getSubsystemId()); + } + if (nvmeControllerId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(3, nvmeControllerId_); + } + if (hostNsid_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, hostNsid_); + } + 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.NVMeControllerNamespaceSpec)) { + return super.equals(obj); + } + opi_api.storage.v1.NVMeControllerNamespaceSpec other = (opi_api.storage.v1.NVMeControllerNamespaceSpec) obj; + + if (hasId() != other.hasId()) return false; + if (hasId()) { + if (!getId() + .equals(other.getId())) return false; + } + if (hasSubsystemId() != other.hasSubsystemId()) return false; + if (hasSubsystemId()) { + if (!getSubsystemId() + .equals(other.getSubsystemId())) return false; + } + if (getNvmeControllerId() + != other.getNvmeControllerId()) return false; + if (getHostNsid() + != other.getHostNsid()) 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(); + if (hasId()) { + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getId().hashCode(); + } + if (hasSubsystemId()) { + hash = (37 * hash) + SUBSYSTEM_ID_FIELD_NUMBER; + hash = (53 * hash) + getSubsystemId().hashCode(); + } + hash = (37 * hash) + NVME_CONTROLLER_ID_FIELD_NUMBER; + hash = (53 * hash) + getNvmeControllerId(); + hash = (37 * hash) + HOST_NSID_FIELD_NUMBER; + hash = (53 * hash) + getHostNsid(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static opi_api.storage.v1.NVMeControllerNamespaceSpec parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.NVMeControllerNamespaceSpec 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.NVMeControllerNamespaceSpec parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.NVMeControllerNamespaceSpec 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.NVMeControllerNamespaceSpec parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.NVMeControllerNamespaceSpec parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static opi_api.storage.v1.NVMeControllerNamespaceSpec parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static opi_api.storage.v1.NVMeControllerNamespaceSpec 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.NVMeControllerNamespaceSpec parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static opi_api.storage.v1.NVMeControllerNamespaceSpec 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.NVMeControllerNamespaceSpec parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static opi_api.storage.v1.NVMeControllerNamespaceSpec 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.NVMeControllerNamespaceSpec 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.NVMeControllerNamespaceSpec} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:opi_api.storage.v1.NVMeControllerNamespaceSpec) + opi_api.storage.v1.NVMeControllerNamespaceSpecOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_NVMeControllerNamespaceSpec_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_NVMeControllerNamespaceSpec_fieldAccessorTable + .ensureFieldAccessorsInitialized( + opi_api.storage.v1.NVMeControllerNamespaceSpec.class, opi_api.storage.v1.NVMeControllerNamespaceSpec.Builder.class); + } + + // Construct using opi_api.storage.v1.NVMeControllerNamespaceSpec.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(); + if (idBuilder_ == null) { + id_ = null; + } else { + id_ = null; + idBuilder_ = null; + } + if (subsystemIdBuilder_ == null) { + subsystemId_ = null; + } else { + subsystemId_ = null; + subsystemIdBuilder_ = null; + } + nvmeControllerId_ = 0; + + hostNsid_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_NVMeControllerNamespaceSpec_descriptor; + } + + @java.lang.Override + public opi_api.storage.v1.NVMeControllerNamespaceSpec getDefaultInstanceForType() { + return opi_api.storage.v1.NVMeControllerNamespaceSpec.getDefaultInstance(); + } + + @java.lang.Override + public opi_api.storage.v1.NVMeControllerNamespaceSpec build() { + opi_api.storage.v1.NVMeControllerNamespaceSpec result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public opi_api.storage.v1.NVMeControllerNamespaceSpec buildPartial() { + opi_api.storage.v1.NVMeControllerNamespaceSpec result = new opi_api.storage.v1.NVMeControllerNamespaceSpec(this); + if (idBuilder_ == null) { + result.id_ = id_; + } else { + result.id_ = idBuilder_.build(); + } + if (subsystemIdBuilder_ == null) { + result.subsystemId_ = subsystemId_; + } else { + result.subsystemId_ = subsystemIdBuilder_.build(); + } + result.nvmeControllerId_ = nvmeControllerId_; + result.hostNsid_ = hostNsid_; + 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.NVMeControllerNamespaceSpec) { + return mergeFrom((opi_api.storage.v1.NVMeControllerNamespaceSpec)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(opi_api.storage.v1.NVMeControllerNamespaceSpec other) { + if (other == opi_api.storage.v1.NVMeControllerNamespaceSpec.getDefaultInstance()) return this; + if (other.hasId()) { + mergeId(other.getId()); + } + if (other.hasSubsystemId()) { + mergeSubsystemId(other.getSubsystemId()); + } + if (other.getNvmeControllerId() != 0) { + setNvmeControllerId(other.getNvmeControllerId()); + } + if (other.getHostNsid() != 0) { + setHostNsid(other.getHostNsid()); + } + 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.NVMeControllerNamespaceSpec parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (opi_api.storage.v1.NVMeControllerNamespaceSpec) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private opi_api.common.v1.ObjectKey id_; + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.common.v1.ObjectKey, opi_api.common.v1.ObjectKey.Builder, opi_api.common.v1.ObjectKeyOrBuilder> idBuilder_; + /** + *
+     * namespace's unique key
+     * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + * @return Whether the id field is set. + */ + public boolean hasId() { + return idBuilder_ != null || id_ != null; + } + /** + *
+     * namespace's unique key
+     * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + * @return The id. + */ + public opi_api.common.v1.ObjectKey getId() { + if (idBuilder_ == null) { + return id_ == null ? opi_api.common.v1.ObjectKey.getDefaultInstance() : id_; + } else { + return idBuilder_.getMessage(); + } + } + /** + *
+     * namespace's unique key
+     * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + */ + public Builder setId(opi_api.common.v1.ObjectKey value) { + if (idBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + id_ = value; + onChanged(); + } else { + idBuilder_.setMessage(value); + } + + return this; + } + /** + *
+     * namespace's unique key
+     * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + */ + public Builder setId( + opi_api.common.v1.ObjectKey.Builder builderForValue) { + if (idBuilder_ == null) { + id_ = builderForValue.build(); + onChanged(); + } else { + idBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+     * namespace's unique key
+     * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + */ + public Builder mergeId(opi_api.common.v1.ObjectKey value) { + if (idBuilder_ == null) { + if (id_ != null) { + id_ = + opi_api.common.v1.ObjectKey.newBuilder(id_).mergeFrom(value).buildPartial(); + } else { + id_ = value; + } + onChanged(); + } else { + idBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+     * namespace's unique key
+     * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + */ + public Builder clearId() { + if (idBuilder_ == null) { + id_ = null; + onChanged(); + } else { + id_ = null; + idBuilder_ = null; + } + + return this; + } + /** + *
+     * namespace's unique key
+     * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + */ + public opi_api.common.v1.ObjectKey.Builder getIdBuilder() { + + onChanged(); + return getIdFieldBuilder().getBuilder(); + } + /** + *
+     * namespace's unique key
+     * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + */ + public opi_api.common.v1.ObjectKeyOrBuilder getIdOrBuilder() { + if (idBuilder_ != null) { + return idBuilder_.getMessageOrBuilder(); + } else { + return id_ == null ? + opi_api.common.v1.ObjectKey.getDefaultInstance() : id_; + } + } + /** + *
+     * namespace's unique key
+     * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.common.v1.ObjectKey, opi_api.common.v1.ObjectKey.Builder, opi_api.common.v1.ObjectKeyOrBuilder> + getIdFieldBuilder() { + if (idBuilder_ == null) { + idBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + opi_api.common.v1.ObjectKey, opi_api.common.v1.ObjectKey.Builder, opi_api.common.v1.ObjectKeyOrBuilder>( + getId(), + getParentForChildren(), + isClean()); + id_ = null; + } + return idBuilder_; + } + + private opi_api.common.v1.ObjectKey subsystemId_; + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.common.v1.ObjectKey, opi_api.common.v1.ObjectKey.Builder, opi_api.common.v1.ObjectKeyOrBuilder> subsystemIdBuilder_; + /** + *
+     * subsystem for this namespace
+     * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + * @return Whether the subsystemId field is set. + */ + public boolean hasSubsystemId() { + return subsystemIdBuilder_ != null || subsystemId_ != null; + } + /** + *
+     * subsystem for this namespace
+     * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + * @return The subsystemId. + */ + public opi_api.common.v1.ObjectKey getSubsystemId() { + if (subsystemIdBuilder_ == null) { + return subsystemId_ == null ? opi_api.common.v1.ObjectKey.getDefaultInstance() : subsystemId_; + } else { + return subsystemIdBuilder_.getMessage(); + } + } + /** + *
+     * subsystem for this namespace
+     * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + */ + public Builder setSubsystemId(opi_api.common.v1.ObjectKey value) { + if (subsystemIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + subsystemId_ = value; + onChanged(); + } else { + subsystemIdBuilder_.setMessage(value); + } + + return this; + } + /** + *
+     * subsystem for this namespace
+     * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + */ + public Builder setSubsystemId( + opi_api.common.v1.ObjectKey.Builder builderForValue) { + if (subsystemIdBuilder_ == null) { + subsystemId_ = builderForValue.build(); + onChanged(); + } else { + subsystemIdBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + *
+     * subsystem for this namespace
+     * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + */ + public Builder mergeSubsystemId(opi_api.common.v1.ObjectKey value) { + if (subsystemIdBuilder_ == null) { + if (subsystemId_ != null) { + subsystemId_ = + opi_api.common.v1.ObjectKey.newBuilder(subsystemId_).mergeFrom(value).buildPartial(); + } else { + subsystemId_ = value; + } + onChanged(); + } else { + subsystemIdBuilder_.mergeFrom(value); + } + + return this; + } + /** + *
+     * subsystem for this namespace
+     * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + */ + public Builder clearSubsystemId() { + if (subsystemIdBuilder_ == null) { + subsystemId_ = null; + onChanged(); + } else { + subsystemId_ = null; + subsystemIdBuilder_ = null; + } + + return this; + } + /** + *
+     * subsystem for this namespace
+     * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + */ + public opi_api.common.v1.ObjectKey.Builder getSubsystemIdBuilder() { + + onChanged(); + return getSubsystemIdFieldBuilder().getBuilder(); + } + /** + *
+     * subsystem for this namespace
+     * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + */ + public opi_api.common.v1.ObjectKeyOrBuilder getSubsystemIdOrBuilder() { + if (subsystemIdBuilder_ != null) { + return subsystemIdBuilder_.getMessageOrBuilder(); + } else { + return subsystemId_ == null ? + opi_api.common.v1.ObjectKey.getDefaultInstance() : subsystemId_; + } + } + /** + *
+     * subsystem for this namespace
+     * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + opi_api.common.v1.ObjectKey, opi_api.common.v1.ObjectKey.Builder, opi_api.common.v1.ObjectKeyOrBuilder> + getSubsystemIdFieldBuilder() { + if (subsystemIdBuilder_ == null) { + subsystemIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + opi_api.common.v1.ObjectKey, opi_api.common.v1.ObjectKey.Builder, opi_api.common.v1.ObjectKeyOrBuilder>( + getSubsystemId(), + getParentForChildren(), + isClean()); + subsystemId_ = null; + } + return subsystemIdBuilder_; + } + + private int nvmeControllerId_ ; + /** + *
+     * subsystem controller id range: 0 to 65535.
+     * must not be reused under the same subsystem
+     * 
+ * + * int32 nvme_controller_id = 3; + * @return The nvmeControllerId. + */ + @java.lang.Override + public int getNvmeControllerId() { + return nvmeControllerId_; + } + /** + *
+     * subsystem controller id range: 0 to 65535.
+     * must not be reused under the same subsystem
+     * 
+ * + * int32 nvme_controller_id = 3; + * @param value The nvmeControllerId to set. + * @return This builder for chaining. + */ + public Builder setNvmeControllerId(int value) { + + nvmeControllerId_ = value; + onChanged(); + return this; + } + /** + *
+     * subsystem controller id range: 0 to 65535.
+     * must not be reused under the same subsystem
+     * 
+ * + * int32 nvme_controller_id = 3; + * @return This builder for chaining. + */ + public Builder clearNvmeControllerId() { + + nvmeControllerId_ = 0; + onChanged(); + return this; + } + + private int hostNsid_ ; + /** + *
+     * NSID present to the host by the NVMe PCIe controller.
+     * If not provided, then the controller will assign an unused NSID
+     * within the max namespace range - auto assigned nsid may not work
+     * for live migration
+     * 
+ * + * int32 host_nsid = 4; + * @return The hostNsid. + */ + @java.lang.Override + public int getHostNsid() { + return hostNsid_; + } + /** + *
+     * NSID present to the host by the NVMe PCIe controller.
+     * If not provided, then the controller will assign an unused NSID
+     * within the max namespace range - auto assigned nsid may not work
+     * for live migration
+     * 
+ * + * int32 host_nsid = 4; + * @param value The hostNsid to set. + * @return This builder for chaining. + */ + public Builder setHostNsid(int value) { + + hostNsid_ = value; + onChanged(); + return this; + } + /** + *
+     * NSID present to the host by the NVMe PCIe controller.
+     * If not provided, then the controller will assign an unused NSID
+     * within the max namespace range - auto assigned nsid may not work
+     * for live migration
+     * 
+ * + * int32 host_nsid = 4; + * @return This builder for chaining. + */ + public Builder clearHostNsid() { + + hostNsid_ = 0; + 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.NVMeControllerNamespaceSpec) + } + + // @@protoc_insertion_point(class_scope:opi_api.storage.v1.NVMeControllerNamespaceSpec) + private static final opi_api.storage.v1.NVMeControllerNamespaceSpec DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new opi_api.storage.v1.NVMeControllerNamespaceSpec(); + } + + public static opi_api.storage.v1.NVMeControllerNamespaceSpec getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public NVMeControllerNamespaceSpec parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new NVMeControllerNamespaceSpec(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.NVMeControllerNamespaceSpec getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceSpecOrBuilder.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceSpecOrBuilder.java new file mode 100644 index 00000000..a85a5639 --- /dev/null +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceSpecOrBuilder.java @@ -0,0 +1,87 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: frontend_nvme_pcie.proto + +package opi_api.storage.v1; + +public interface NVMeControllerNamespaceSpecOrBuilder extends + // @@protoc_insertion_point(interface_extends:opi_api.storage.v1.NVMeControllerNamespaceSpec) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * namespace's unique key
+   * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + * @return Whether the id field is set. + */ + boolean hasId(); + /** + *
+   * namespace's unique key
+   * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + * @return The id. + */ + opi_api.common.v1.ObjectKey getId(); + /** + *
+   * namespace's unique key
+   * 
+ * + * .opi_api.common.v1.ObjectKey id = 1; + */ + opi_api.common.v1.ObjectKeyOrBuilder getIdOrBuilder(); + + /** + *
+   * subsystem for this namespace
+   * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + * @return Whether the subsystemId field is set. + */ + boolean hasSubsystemId(); + /** + *
+   * subsystem for this namespace
+   * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + * @return The subsystemId. + */ + opi_api.common.v1.ObjectKey getSubsystemId(); + /** + *
+   * subsystem for this namespace
+   * 
+ * + * .opi_api.common.v1.ObjectKey subsystem_id = 2; + */ + opi_api.common.v1.ObjectKeyOrBuilder getSubsystemIdOrBuilder(); + + /** + *
+   * subsystem controller id range: 0 to 65535.
+   * must not be reused under the same subsystem
+   * 
+ * + * int32 nvme_controller_id = 3; + * @return The nvmeControllerId. + */ + int getNvmeControllerId(); + + /** + *
+   * NSID present to the host by the NVMe PCIe controller.
+   * If not provided, then the controller will assign an unused NSID
+   * within the max namespace range - auto assigned nsid may not work
+   * for live migration
+   * 
+ * + * int32 host_nsid = 4; + * @return The hostNsid. + */ + int getHostNsid(); +} diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceStatus.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceStatus.java new file mode 100644 index 00000000..50b65942 --- /dev/null +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceStatus.java @@ -0,0 +1,667 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: frontend_nvme_pcie.proto + +package opi_api.storage.v1; + +/** + * Protobuf type {@code opi_api.storage.v1.NVMeControllerNamespaceStatus} + */ +public final class NVMeControllerNamespaceStatus extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:opi_api.storage.v1.NVMeControllerNamespaceStatus) + NVMeControllerNamespaceStatusOrBuilder { +private static final long serialVersionUID = 0L; + // Use NVMeControllerNamespaceStatus.newBuilder() to construct. + private NVMeControllerNamespaceStatus(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private NVMeControllerNamespaceStatus() { + pciState_ = 0; + pciOperState_ = 0; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new NVMeControllerNamespaceStatus(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private NVMeControllerNamespaceStatus( + 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: { + int rawValue = input.readEnum(); + + pciOperState_ = rawValue; + break; + } + case 16: { + int rawValue = input.readEnum(); + + pciState_ = rawValue; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.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.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_NVMeControllerNamespaceStatus_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_NVMeControllerNamespaceStatus_fieldAccessorTable + .ensureFieldAccessorsInitialized( + opi_api.storage.v1.NVMeControllerNamespaceStatus.class, opi_api.storage.v1.NVMeControllerNamespaceStatus.Builder.class); + } + + public static final int PCI_STATE_FIELD_NUMBER = 2; + private int pciState_; + /** + *
+   * config state of the namespace object, (enabled, disable, deleting)
+   * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciState pci_state = 2; + * @return The enum numeric value on the wire for pciState. + */ + @java.lang.Override public int getPciStateValue() { + return pciState_; + } + /** + *
+   * config state of the namespace object, (enabled, disable, deleting)
+   * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciState pci_state = 2; + * @return The pciState. + */ + @java.lang.Override public opi_api.storage.v1.NVMeNamespacePciState getPciState() { + @SuppressWarnings("deprecation") + opi_api.storage.v1.NVMeNamespacePciState result = opi_api.storage.v1.NVMeNamespacePciState.valueOf(pciState_); + return result == null ? opi_api.storage.v1.NVMeNamespacePciState.UNRECOGNIZED : result; + } + + public static final int PCI_OPER_STATE_FIELD_NUMBER = 1; + private int pciOperState_; + /** + *
+   * Operational state of the namespace object, (connected, disconnected)
+   * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciOperState pci_oper_state = 1; + * @return The enum numeric value on the wire for pciOperState. + */ + @java.lang.Override public int getPciOperStateValue() { + return pciOperState_; + } + /** + *
+   * Operational state of the namespace object, (connected, disconnected)
+   * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciOperState pci_oper_state = 1; + * @return The pciOperState. + */ + @java.lang.Override public opi_api.storage.v1.NVMeNamespacePciOperState getPciOperState() { + @SuppressWarnings("deprecation") + opi_api.storage.v1.NVMeNamespacePciOperState result = opi_api.storage.v1.NVMeNamespacePciOperState.valueOf(pciOperState_); + return result == null ? opi_api.storage.v1.NVMeNamespacePciOperState.UNRECOGNIZED : result; + } + + 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 (pciOperState_ != opi_api.storage.v1.NVMeNamespacePciOperState.NV_ME_NAMESPACE_PCI_OPER_STATE_UNSPECIFIED.getNumber()) { + output.writeEnum(1, pciOperState_); + } + if (pciState_ != opi_api.storage.v1.NVMeNamespacePciState.NV_ME_NAMESPACE_PCI_STATE_UNSPECIFIED.getNumber()) { + output.writeEnum(2, pciState_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (pciOperState_ != opi_api.storage.v1.NVMeNamespacePciOperState.NV_ME_NAMESPACE_PCI_OPER_STATE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, pciOperState_); + } + if (pciState_ != opi_api.storage.v1.NVMeNamespacePciState.NV_ME_NAMESPACE_PCI_STATE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, pciState_); + } + 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.NVMeControllerNamespaceStatus)) { + return super.equals(obj); + } + opi_api.storage.v1.NVMeControllerNamespaceStatus other = (opi_api.storage.v1.NVMeControllerNamespaceStatus) obj; + + if (pciState_ != other.pciState_) return false; + if (pciOperState_ != other.pciOperState_) 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) + PCI_STATE_FIELD_NUMBER; + hash = (53 * hash) + pciState_; + hash = (37 * hash) + PCI_OPER_STATE_FIELD_NUMBER; + hash = (53 * hash) + pciOperState_; + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static opi_api.storage.v1.NVMeControllerNamespaceStatus parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.NVMeControllerNamespaceStatus 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.NVMeControllerNamespaceStatus parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.NVMeControllerNamespaceStatus 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.NVMeControllerNamespaceStatus parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static opi_api.storage.v1.NVMeControllerNamespaceStatus parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static opi_api.storage.v1.NVMeControllerNamespaceStatus parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static opi_api.storage.v1.NVMeControllerNamespaceStatus 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.NVMeControllerNamespaceStatus parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static opi_api.storage.v1.NVMeControllerNamespaceStatus 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.NVMeControllerNamespaceStatus parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static opi_api.storage.v1.NVMeControllerNamespaceStatus 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.NVMeControllerNamespaceStatus 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.NVMeControllerNamespaceStatus} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:opi_api.storage.v1.NVMeControllerNamespaceStatus) + opi_api.storage.v1.NVMeControllerNamespaceStatusOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_NVMeControllerNamespaceStatus_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_NVMeControllerNamespaceStatus_fieldAccessorTable + .ensureFieldAccessorsInitialized( + opi_api.storage.v1.NVMeControllerNamespaceStatus.class, opi_api.storage.v1.NVMeControllerNamespaceStatus.Builder.class); + } + + // Construct using opi_api.storage.v1.NVMeControllerNamespaceStatus.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(); + pciState_ = 0; + + pciOperState_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return opi_api.storage.v1.FrontendNvmePcieProto.internal_static_opi_api_storage_v1_NVMeControllerNamespaceStatus_descriptor; + } + + @java.lang.Override + public opi_api.storage.v1.NVMeControllerNamespaceStatus getDefaultInstanceForType() { + return opi_api.storage.v1.NVMeControllerNamespaceStatus.getDefaultInstance(); + } + + @java.lang.Override + public opi_api.storage.v1.NVMeControllerNamespaceStatus build() { + opi_api.storage.v1.NVMeControllerNamespaceStatus result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public opi_api.storage.v1.NVMeControllerNamespaceStatus buildPartial() { + opi_api.storage.v1.NVMeControllerNamespaceStatus result = new opi_api.storage.v1.NVMeControllerNamespaceStatus(this); + result.pciState_ = pciState_; + result.pciOperState_ = pciOperState_; + 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.NVMeControllerNamespaceStatus) { + return mergeFrom((opi_api.storage.v1.NVMeControllerNamespaceStatus)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(opi_api.storage.v1.NVMeControllerNamespaceStatus other) { + if (other == opi_api.storage.v1.NVMeControllerNamespaceStatus.getDefaultInstance()) return this; + if (other.pciState_ != 0) { + setPciStateValue(other.getPciStateValue()); + } + if (other.pciOperState_ != 0) { + setPciOperStateValue(other.getPciOperStateValue()); + } + 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.NVMeControllerNamespaceStatus parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (opi_api.storage.v1.NVMeControllerNamespaceStatus) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int pciState_ = 0; + /** + *
+     * config state of the namespace object, (enabled, disable, deleting)
+     * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciState pci_state = 2; + * @return The enum numeric value on the wire for pciState. + */ + @java.lang.Override public int getPciStateValue() { + return pciState_; + } + /** + *
+     * config state of the namespace object, (enabled, disable, deleting)
+     * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciState pci_state = 2; + * @param value The enum numeric value on the wire for pciState to set. + * @return This builder for chaining. + */ + public Builder setPciStateValue(int value) { + + pciState_ = value; + onChanged(); + return this; + } + /** + *
+     * config state of the namespace object, (enabled, disable, deleting)
+     * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciState pci_state = 2; + * @return The pciState. + */ + @java.lang.Override + public opi_api.storage.v1.NVMeNamespacePciState getPciState() { + @SuppressWarnings("deprecation") + opi_api.storage.v1.NVMeNamespacePciState result = opi_api.storage.v1.NVMeNamespacePciState.valueOf(pciState_); + return result == null ? opi_api.storage.v1.NVMeNamespacePciState.UNRECOGNIZED : result; + } + /** + *
+     * config state of the namespace object, (enabled, disable, deleting)
+     * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciState pci_state = 2; + * @param value The pciState to set. + * @return This builder for chaining. + */ + public Builder setPciState(opi_api.storage.v1.NVMeNamespacePciState value) { + if (value == null) { + throw new NullPointerException(); + } + + pciState_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * config state of the namespace object, (enabled, disable, deleting)
+     * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciState pci_state = 2; + * @return This builder for chaining. + */ + public Builder clearPciState() { + + pciState_ = 0; + onChanged(); + return this; + } + + private int pciOperState_ = 0; + /** + *
+     * Operational state of the namespace object, (connected, disconnected)
+     * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciOperState pci_oper_state = 1; + * @return The enum numeric value on the wire for pciOperState. + */ + @java.lang.Override public int getPciOperStateValue() { + return pciOperState_; + } + /** + *
+     * Operational state of the namespace object, (connected, disconnected)
+     * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciOperState pci_oper_state = 1; + * @param value The enum numeric value on the wire for pciOperState to set. + * @return This builder for chaining. + */ + public Builder setPciOperStateValue(int value) { + + pciOperState_ = value; + onChanged(); + return this; + } + /** + *
+     * Operational state of the namespace object, (connected, disconnected)
+     * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciOperState pci_oper_state = 1; + * @return The pciOperState. + */ + @java.lang.Override + public opi_api.storage.v1.NVMeNamespacePciOperState getPciOperState() { + @SuppressWarnings("deprecation") + opi_api.storage.v1.NVMeNamespacePciOperState result = opi_api.storage.v1.NVMeNamespacePciOperState.valueOf(pciOperState_); + return result == null ? opi_api.storage.v1.NVMeNamespacePciOperState.UNRECOGNIZED : result; + } + /** + *
+     * Operational state of the namespace object, (connected, disconnected)
+     * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciOperState pci_oper_state = 1; + * @param value The pciOperState to set. + * @return This builder for chaining. + */ + public Builder setPciOperState(opi_api.storage.v1.NVMeNamespacePciOperState value) { + if (value == null) { + throw new NullPointerException(); + } + + pciOperState_ = value.getNumber(); + onChanged(); + return this; + } + /** + *
+     * Operational state of the namespace object, (connected, disconnected)
+     * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciOperState pci_oper_state = 1; + * @return This builder for chaining. + */ + public Builder clearPciOperState() { + + pciOperState_ = 0; + 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.NVMeControllerNamespaceStatus) + } + + // @@protoc_insertion_point(class_scope:opi_api.storage.v1.NVMeControllerNamespaceStatus) + private static final opi_api.storage.v1.NVMeControllerNamespaceStatus DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new opi_api.storage.v1.NVMeControllerNamespaceStatus(); + } + + public static opi_api.storage.v1.NVMeControllerNamespaceStatus getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public NVMeControllerNamespaceStatus parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new NVMeControllerNamespaceStatus(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.NVMeControllerNamespaceStatus getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceStatusOrBuilder.java b/storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceStatusOrBuilder.java new file mode 100644 index 00000000..52e546c0 --- /dev/null +++ b/storage/v1alpha1/gen/java/opi_api/storage/v1/NVMeControllerNamespaceStatusOrBuilder.java @@ -0,0 +1,47 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: frontend_nvme_pcie.proto + +package opi_api.storage.v1; + +public interface NVMeControllerNamespaceStatusOrBuilder extends + // @@protoc_insertion_point(interface_extends:opi_api.storage.v1.NVMeControllerNamespaceStatus) + com.google.protobuf.MessageOrBuilder { + + /** + *
+   * config state of the namespace object, (enabled, disable, deleting)
+   * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciState pci_state = 2; + * @return The enum numeric value on the wire for pciState. + */ + int getPciStateValue(); + /** + *
+   * config state of the namespace object, (enabled, disable, deleting)
+   * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciState pci_state = 2; + * @return The pciState. + */ + opi_api.storage.v1.NVMeNamespacePciState getPciState(); + + /** + *
+   * Operational state of the namespace object, (connected, disconnected)
+   * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciOperState pci_oper_state = 1; + * @return The enum numeric value on the wire for pciOperState. + */ + int getPciOperStateValue(); + /** + *
+   * Operational state of the namespace object, (connected, disconnected)
+   * 
+ * + * .opi_api.storage.v1.NVMeNamespacePciOperState pci_oper_state = 1; + * @return The pciOperState. + */ + opi_api.storage.v1.NVMeNamespacePciOperState getPciOperState(); +} diff --git a/storage/v1alpha1/gen/python/frontend_nvme_pcie_pb2.py b/storage/v1alpha1/gen/python/frontend_nvme_pcie_pb2.py index c54a0124..9cabc2f5 100644 --- a/storage/v1alpha1/gen/python/frontend_nvme_pcie_pb2.py +++ b/storage/v1alpha1/gen/python/frontend_nvme_pcie_pb2.py @@ -24,7 +24,7 @@ from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18\x66rontend_nvme_pcie.proto\x12\x12opi_api.storage.v1\x1a\x0fopicommon.proto\x1a\x10object_key.proto\x1a\nuuid.proto\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\"}\n\rNVMeSubsystem\x12\x33\n\x04spec\x18\x01 \x01(\x0b\x32%.opi_api.storage.v1.NVMeSubsystemSpec\x12\x37\n\x06status\x18\x02 \x01(\x0b\x32\'.opi_api.storage.v1.NVMeSubsystemStatus\"\x8f\x01\n\x11NVMeSubsystemSpec\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12\x0b\n\x03nqn\x18\x02 \x01(\t\x12\x15\n\rserial_number\x18\x03 \x01(\t\x12\x14\n\x0cmodel_number\x18\x04 \x01(\t\x12\x16\n\x0emax_namespaces\x18\x05 \x01(\x03\"B\n\x13NVMeSubsystemStatus\x12\x19\n\x11\x66irmware_revision\x18\x01 \x01(\t\x12\x10\n\x08\x66ru_guid\x18\x02 \x01(\x0c\"\x80\x01\n\x0eNVMeController\x12\x34\n\x04spec\x18\x01 \x01(\x0b\x32&.opi_api.storage.v1.NVMeControllerSpec\x12\x38\n\x06status\x18\x02 \x01(\x0b\x32(.opi_api.storage.v1.NVMeControllerStatus\"\x96\x02\n\x12NVMeControllerSpec\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12\x1a\n\x12nvme_controller_id\x18\x02 \x01(\x05\x12\x32\n\x0csubsystem_id\x18\x03 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12\x30\n\x07pcie_id\x18\x04 \x01(\x0b\x32\x1f.opi_api.storage.v1.PciEndpoint\x12\x0f\n\x07max_nsq\x18\x05 \x01(\x05\x12\x0f\n\x07max_ncq\x18\x06 \x01(\x05\x12\x0c\n\x04sqes\x18\x07 \x01(\x05\x12\x0c\n\x04\x63qes\x18\x08 \x01(\x05\x12\x16\n\x0emax_namespaces\x18\t \x01(\x05\"&\n\x14NVMeControllerStatus\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x08\"}\n\rNVMeNamespace\x12\x33\n\x04spec\x18\x01 \x01(\x0b\x32%.opi_api.storage.v1.NVMeNamespaceSpec\x12\x37\n\x06status\x18\x02 \x01(\x0b\x32\'.opi_api.storage.v1.NVMeNamespaceStatus\"\xfa\x01\n\x11NVMeNamespaceSpec\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12\x32\n\x0csubsystem_id\x18\x02 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12\x11\n\thost_nsid\x18\x04 \x01(\x05\x12\r\n\x05nguid\x18\x07 \x01(\t\x12\r\n\x05\x65ui64\x18\x08 \x01(\x03\x12%\n\x04uuid\x18\t \x01(\x0b\x32\x17.opi_api.common.v1.Uuid\x12/\n\tvolume_id\x18\n \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\"\x9a\x01\n\x13NVMeNamespaceStatus\x12<\n\tpci_state\x18\x01 \x01(\x0e\x32).opi_api.storage.v1.NVMeNamespacePciState\x12\x45\n\x0epci_oper_state\x18\x02 \x01(\x0e\x32-.opi_api.storage.v1.NVMeNamespacePciOperState\"\xb3\x01\n\x1a\x43reateNVMeSubsystemRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeSubsystem\x12?\n\x0fnv_me_subsystem\x18\x02 \x01(\x0b\x32!.opi_api.storage.v1.NVMeSubsystemB\x03\xe0\x41\x02\x12\x1a\n\x12nv_me_subsystem_id\x18\x03 \x01(\t\"T\n\x1a\x44\x65leteNVMeSubsystemRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeSubsystem\"\x89\x01\n\x1aUpdateNVMeSubsystemRequest\x12:\n\x0fnv_me_subsystem\x18\x01 \x01(\x0b\x32!.opi_api.storage.v1.NVMeSubsystem\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"|\n\x19ListNVMeSubsystemsRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeSubsystem\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"r\n\x1aListNVMeSubsystemsResponse\x12;\n\x10nv_me_subsystems\x18\x01 \x03(\x0b\x32!.opi_api.storage.v1.NVMeSubsystem\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"Q\n\x17GetNVMeSubsystemRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeSubsystem\"O\n\x19NVMeSubsystemStatsRequest\x12\x32\n\x0csubsystem_id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\"L\n\x1aNVMeSubsystemStatsResponse\x12.\n\x05stats\x18\x01 \x01(\x0b\x32\x1f.opi_api.storage.v1.VolumeStats\"\xb8\x01\n\x1b\x43reateNVMeControllerRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!opi_api.storage.v1/NVMeController\x12\x41\n\x10nv_me_controller\x18\x02 \x01(\x0b\x32\".opi_api.storage.v1.NVMeControllerB\x03\xe0\x41\x02\x12\x1b\n\x13nv_me_controller_id\x18\x03 \x01(\t\"V\n\x1b\x44\x65leteNVMeControllerRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!opi_api.storage.v1/NVMeController\"\x8c\x01\n\x1bUpdateNVMeControllerRequest\x12<\n\x10nv_me_controller\x18\x01 \x01(\x0b\x32\".opi_api.storage.v1.NVMeController\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"~\n\x1aListNVMeControllersRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!opi_api.storage.v1/NVMeController\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"u\n\x1bListNVMeControllersResponse\x12=\n\x11nv_me_controllers\x18\x01 \x03(\x0b\x32\".opi_api.storage.v1.NVMeController\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"S\n\x18GetNVMeControllerRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!opi_api.storage.v1/NVMeController\"F\n\x1aNVMeControllerStatsRequest\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\"w\n\x1bNVMeControllerStatsResponse\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12.\n\x05stats\x18\x02 \x01(\x0b\x32\x1f.opi_api.storage.v1.VolumeStats\"\xb3\x01\n\x1a\x43reateNVMeNamespaceRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeNamespace\x12?\n\x0fnv_me_namespace\x18\x02 \x01(\x0b\x32!.opi_api.storage.v1.NVMeNamespaceB\x03\xe0\x41\x02\x12\x1a\n\x12nv_me_namespace_id\x18\x03 \x01(\t\"T\n\x1a\x44\x65leteNVMeNamespaceRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeNamespace\"\x89\x01\n\x1aUpdateNVMeNamespaceRequest\x12:\n\x0fnv_me_namespace\x18\x01 \x01(\x0b\x32!.opi_api.storage.v1.NVMeNamespace\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"|\n\x19ListNVMeNamespacesRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeNamespace\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"r\n\x1aListNVMeNamespacesResponse\x12;\n\x10nv_me_namespaces\x18\x01 \x03(\x0b\x32!.opi_api.storage.v1.NVMeNamespace\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"Q\n\x17GetNVMeNamespaceRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeNamespace\"O\n\x19NVMeNamespaceStatsRequest\x12\x32\n\x0cnamespace_id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\"v\n\x1aNVMeNamespaceStatsResponse\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12.\n\x05stats\x18\x02 \x01(\x0b\x32\x1f.opi_api.storage.v1.VolumeStats*\xb6\x01\n\x15NVMeNamespacePciState\x12)\n%NV_ME_NAMESPACE_PCI_STATE_UNSPECIFIED\x10\x00\x12%\n!NVME_NAMESPACE_PCI_STATE_DISABLED\x10\x01\x12$\n NVME_NAMESPACE_PCI_STATE_ENABLED\x10\x02\x12%\n!NVME_NAMESPACE_PCI_STATE_DELETING\x10\x03*\xa0\x01\n\x19NVMeNamespacePciOperState\x12.\n*NV_ME_NAMESPACE_PCI_OPER_STATE_UNSPECIFIED\x10\x00\x12(\n$NVME_NAMESPACE_PCI_OPER_STATE_ONLINE\x10\x01\x12)\n%NVME_NAMESPACE_PCI_OPER_STATE_OFFLINE\x10\x02\x32\xa5\x17\n\x13\x46rontendNvmeService\x12\xc6\x01\n\x13\x43reateNVMeSubsystem\x12..opi_api.storage.v1.CreateNVMeSubsystemRequest\x1a!.opi_api.storage.v1.NVMeSubsystem\"\\\x82\xd3\xe4\x93\x02*\"\x17/v1/{parent=subsystems}:\x0fnv_me_subsystem\xda\x41)parent,nv_me_subsystem,nv_me_subsystem_id\x12\x8f\x01\n\x13\x44\x65leteNVMeSubsystem\x12..opi_api.storage.v1.DeleteNVMeSubsystemRequest\x1a\x16.google.protobuf.Empty\"0\x82\xd3\xe4\x93\x02#*!/v1/{name=subsystems}/{subsystem}\xda\x41\x04name\x12\xc6\x01\n\x13UpdateNVMeSubsystem\x12..opi_api.storage.v1.UpdateNVMeSubsystemRequest\x1a!.opi_api.storage.v1.NVMeSubsystem\"\\\x82\xd3\xe4\x93\x02\x38\x32%/v1/{nv_me_subsystem.name=subsystems}:\x0fnv_me_subsystem\xda\x41\x1bnv_me_subsystem,update_mask\x12\x9d\x01\n\x12ListNVMeSubsystems\x12-.opi_api.storage.v1.ListNVMeSubsystemsRequest\x1a..opi_api.storage.v1.ListNVMeSubsystemsResponse\"(\x82\xd3\xe4\x93\x02\x19\x12\x17/v1/{parent=subsystems}\xda\x41\x06parent\x12\x94\x01\n\x10GetNVMeSubsystem\x12+.opi_api.storage.v1.GetNVMeSubsystemRequest\x1a!.opi_api.storage.v1.NVMeSubsystem\"0\x82\xd3\xe4\x93\x02#\x12!/v1/{name=subsystems}/{subsystem}\xda\x41\x04name\x12u\n\x12NVMeSubsystemStats\x12-.opi_api.storage.v1.NVMeSubsystemStatsRequest\x1a..opi_api.storage.v1.NVMeSubsystemStatsResponse\"\x00\x12\xcc\x01\n\x14\x43reateNVMeController\x12/.opi_api.storage.v1.CreateNVMeControllerRequest\x1a\".opi_api.storage.v1.NVMeController\"_\x82\xd3\xe4\x93\x02+\"\x17/v1/{parent=subsystems}:\x10nv_me_controller\xda\x41+parent,nv_me_controller,nv_me_controller_id\x12\x93\x01\n\x14\x44\x65leteNVMeController\x12/.opi_api.storage.v1.DeleteNVMeControllerRequest\x1a\x16.google.protobuf.Empty\"2\x82\xd3\xe4\x93\x02%*#/v1/{name=controllers}/{controller}\xda\x41\x04name\x12\xcc\x01\n\x14UpdateNVMeController\x12/.opi_api.storage.v1.UpdateNVMeControllerRequest\x1a\".opi_api.storage.v1.NVMeController\"_\x82\xd3\xe4\x93\x02:2&/v1/{nv_me_controller.name=subsystems}:\x10nv_me_controller\xda\x41\x1cnv_me_controller,update_mask\x12\xa0\x01\n\x13ListNVMeControllers\x12..opi_api.storage.v1.ListNVMeControllersRequest\x1a/.opi_api.storage.v1.ListNVMeControllersResponse\"(\x82\xd3\xe4\x93\x02\x19\x12\x17/v1/{parent=subsystems}\xda\x41\x06parent\x12\x98\x01\n\x11GetNVMeController\x12,.opi_api.storage.v1.GetNVMeControllerRequest\x1a\".opi_api.storage.v1.NVMeController\"1\x82\xd3\xe4\x93\x02$\x12\"/v1/{name=subsystems}/{controller}\xda\x41\x04name\x12x\n\x13NVMeControllerStats\x12..opi_api.storage.v1.NVMeControllerStatsRequest\x1a/.opi_api.storage.v1.NVMeControllerStatsResponse\"\x00\x12\xc6\x01\n\x13\x43reateNVMeNamespace\x12..opi_api.storage.v1.CreateNVMeNamespaceRequest\x1a!.opi_api.storage.v1.NVMeNamespace\"\\\x82\xd3\xe4\x93\x02*\"\x17/v1/{parent=subsystems}:\x0fnv_me_namespace\xda\x41)parent,nv_me_namespace,nv_me_namespace_id\x12\x8f\x01\n\x13\x44\x65leteNVMeNamespace\x12..opi_api.storage.v1.DeleteNVMeNamespaceRequest\x1a\x16.google.protobuf.Empty\"0\x82\xd3\xe4\x93\x02#*!/v1/{name=namespaces}/{namespace}\xda\x41\x04name\x12\xc6\x01\n\x13UpdateNVMeNamespace\x12..opi_api.storage.v1.UpdateNVMeNamespaceRequest\x1a!.opi_api.storage.v1.NVMeNamespace\"\\\x82\xd3\xe4\x93\x02\x38\x32%/v1/{nv_me_namespace.name=subsystems}:\x0fnv_me_namespace\xda\x41\x1bnv_me_namespace,update_mask\x12\x9d\x01\n\x12ListNVMeNamespaces\x12-.opi_api.storage.v1.ListNVMeNamespacesRequest\x1a..opi_api.storage.v1.ListNVMeNamespacesResponse\"(\x82\xd3\xe4\x93\x02\x19\x12\x17/v1/{parent=subsystems}\xda\x41\x06parent\x12\x94\x01\n\x10GetNVMeNamespace\x12+.opi_api.storage.v1.GetNVMeNamespaceRequest\x1a!.opi_api.storage.v1.NVMeNamespace\"0\x82\xd3\xe4\x93\x02#\x12!/v1/{name=subsystems}/{namespace}\xda\x41\x04name\x12u\n\x12NVMeNamespaceStats\x12-.opi_api.storage.v1.NVMeNamespaceStatsRequest\x1a..opi_api.storage.v1.NVMeNamespaceStatsResponse\"\x00\x42\x64\n\x12opi_api.storage.v1B\x15\x46rontendNvmePcieProtoP\x01Z5github.com/opiproject/opi-api/storage/v1alpha1/gen/gob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18\x66rontend_nvme_pcie.proto\x12\x12opi_api.storage.v1\x1a\x0fopicommon.proto\x1a\x10object_key.proto\x1a\nuuid.proto\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\"}\n\rNVMeSubsystem\x12\x33\n\x04spec\x18\x01 \x01(\x0b\x32%.opi_api.storage.v1.NVMeSubsystemSpec\x12\x37\n\x06status\x18\x02 \x01(\x0b\x32\'.opi_api.storage.v1.NVMeSubsystemStatus\"\x8f\x01\n\x11NVMeSubsystemSpec\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12\x0b\n\x03nqn\x18\x02 \x01(\t\x12\x15\n\rserial_number\x18\x03 \x01(\t\x12\x14\n\x0cmodel_number\x18\x04 \x01(\t\x12\x16\n\x0emax_namespaces\x18\x05 \x01(\x03\"B\n\x13NVMeSubsystemStatus\x12\x19\n\x11\x66irmware_revision\x18\x01 \x01(\t\x12\x10\n\x08\x66ru_guid\x18\x02 \x01(\x0c\"\x80\x01\n\x0eNVMeController\x12\x34\n\x04spec\x18\x01 \x01(\x0b\x32&.opi_api.storage.v1.NVMeControllerSpec\x12\x38\n\x06status\x18\x02 \x01(\x0b\x32(.opi_api.storage.v1.NVMeControllerStatus\"\x96\x02\n\x12NVMeControllerSpec\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12\x1a\n\x12nvme_controller_id\x18\x02 \x01(\x05\x12\x32\n\x0csubsystem_id\x18\x03 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12\x30\n\x07pcie_id\x18\x04 \x01(\x0b\x32\x1f.opi_api.storage.v1.PciEndpoint\x12\x0f\n\x07max_nsq\x18\x05 \x01(\x05\x12\x0f\n\x07max_ncq\x18\x06 \x01(\x05\x12\x0c\n\x04sqes\x18\x07 \x01(\x05\x12\x0c\n\x04\x63qes\x18\x08 \x01(\x05\x12\x16\n\x0emax_namespaces\x18\t \x01(\x05\"&\n\x14NVMeControllerStatus\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x08\"}\n\rNVMeNamespace\x12\x33\n\x04spec\x18\x01 \x01(\x0b\x32%.opi_api.storage.v1.NVMeNamespaceSpec\x12\x37\n\x06status\x18\x02 \x01(\x0b\x32\'.opi_api.storage.v1.NVMeNamespaceStatus\"\xfa\x01\n\x11NVMeNamespaceSpec\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12\x32\n\x0csubsystem_id\x18\x02 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12\x11\n\thost_nsid\x18\x04 \x01(\x05\x12\r\n\x05nguid\x18\x07 \x01(\t\x12\r\n\x05\x65ui64\x18\x08 \x01(\x03\x12%\n\x04uuid\x18\t \x01(\x0b\x32\x17.opi_api.common.v1.Uuid\x12/\n\tvolume_id\x18\n \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\"\x9a\x01\n\x13NVMeNamespaceStatus\x12<\n\tpci_state\x18\x01 \x01(\x0e\x32).opi_api.storage.v1.NVMeNamespacePciState\x12\x45\n\x0epci_oper_state\x18\x02 \x01(\x0e\x32-.opi_api.storage.v1.NVMeNamespacePciOperState\"\xb3\x01\n\x1a\x43reateNVMeSubsystemRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeSubsystem\x12?\n\x0fnv_me_subsystem\x18\x02 \x01(\x0b\x32!.opi_api.storage.v1.NVMeSubsystemB\x03\xe0\x41\x02\x12\x1a\n\x12nv_me_subsystem_id\x18\x03 \x01(\t\"T\n\x1a\x44\x65leteNVMeSubsystemRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeSubsystem\"\x89\x01\n\x1aUpdateNVMeSubsystemRequest\x12:\n\x0fnv_me_subsystem\x18\x01 \x01(\x0b\x32!.opi_api.storage.v1.NVMeSubsystem\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"|\n\x19ListNVMeSubsystemsRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeSubsystem\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"r\n\x1aListNVMeSubsystemsResponse\x12;\n\x10nv_me_subsystems\x18\x01 \x03(\x0b\x32!.opi_api.storage.v1.NVMeSubsystem\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"Q\n\x17GetNVMeSubsystemRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeSubsystem\"O\n\x19NVMeSubsystemStatsRequest\x12\x32\n\x0csubsystem_id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\"L\n\x1aNVMeSubsystemStatsResponse\x12.\n\x05stats\x18\x01 \x01(\x0b\x32\x1f.opi_api.storage.v1.VolumeStats\"\xb8\x01\n\x1b\x43reateNVMeControllerRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!opi_api.storage.v1/NVMeController\x12\x41\n\x10nv_me_controller\x18\x02 \x01(\x0b\x32\".opi_api.storage.v1.NVMeControllerB\x03\xe0\x41\x02\x12\x1b\n\x13nv_me_controller_id\x18\x03 \x01(\t\"V\n\x1b\x44\x65leteNVMeControllerRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!opi_api.storage.v1/NVMeController\"\x8c\x01\n\x1bUpdateNVMeControllerRequest\x12<\n\x10nv_me_controller\x18\x01 \x01(\x0b\x32\".opi_api.storage.v1.NVMeController\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"~\n\x1aListNVMeControllersRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!opi_api.storage.v1/NVMeController\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"u\n\x1bListNVMeControllersResponse\x12=\n\x11nv_me_controllers\x18\x01 \x03(\x0b\x32\".opi_api.storage.v1.NVMeController\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"S\n\x18GetNVMeControllerRequest\x12\x37\n\x04name\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!opi_api.storage.v1/NVMeController\"F\n\x1aNVMeControllerStatsRequest\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\"w\n\x1bNVMeControllerStatsResponse\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12.\n\x05stats\x18\x02 \x01(\x0b\x32\x1f.opi_api.storage.v1.VolumeStats\"\xb3\x01\n\x1a\x43reateNVMeNamespaceRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeNamespace\x12?\n\x0fnv_me_namespace\x18\x02 \x01(\x0b\x32!.opi_api.storage.v1.NVMeNamespaceB\x03\xe0\x41\x02\x12\x1a\n\x12nv_me_namespace_id\x18\x03 \x01(\t\"T\n\x1a\x44\x65leteNVMeNamespaceRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeNamespace\"\x89\x01\n\x1aUpdateNVMeNamespaceRequest\x12:\n\x0fnv_me_namespace\x18\x01 \x01(\x0b\x32!.opi_api.storage.v1.NVMeNamespace\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"|\n\x19ListNVMeNamespacesRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeNamespace\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"r\n\x1aListNVMeNamespacesResponse\x12;\n\x10nv_me_namespaces\x18\x01 \x03(\x0b\x32!.opi_api.storage.v1.NVMeNamespace\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"Q\n\x17GetNVMeNamespaceRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n opi_api.storage.v1/NVMeNamespace\"O\n\x19NVMeNamespaceStatsRequest\x12\x32\n\x0cnamespace_id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\"v\n\x1aNVMeNamespaceStatsResponse\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKey\x12.\n\x05stats\x18\x02 \x01(\x0b\x32\x1f.opi_api.storage.v1.VolumeStats\"\xae\x01\n\x1e\x43ontrollerNVMeNamespaceRequest\x12\x16\n\tsubsystem\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x35\n\ncontroller\x18\x02 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKeyB\x03\xe0\x41\x02\x12=\n\x12nv_me_namespace_id\x18\x03 \x01(\x0b\x32\x1c.opi_api.common.v1.ObjectKeyB\x03\xe0\x41\x02*\xb6\x01\n\x15NVMeNamespacePciState\x12)\n%NV_ME_NAMESPACE_PCI_STATE_UNSPECIFIED\x10\x00\x12%\n!NVME_NAMESPACE_PCI_STATE_DISABLED\x10\x01\x12$\n NVME_NAMESPACE_PCI_STATE_ENABLED\x10\x02\x12%\n!NVME_NAMESPACE_PCI_STATE_DELETING\x10\x03*\xa0\x01\n\x19NVMeNamespacePciOperState\x12.\n*NV_ME_NAMESPACE_PCI_OPER_STATE_UNSPECIFIED\x10\x00\x12(\n$NVME_NAMESPACE_PCI_OPER_STATE_ONLINE\x10\x01\x12)\n%NVME_NAMESPACE_PCI_OPER_STATE_OFFLINE\x10\x02\x32\xcd\x1a\n\x13\x46rontendNvmeService\x12\xc6\x01\n\x13\x43reateNVMeSubsystem\x12..opi_api.storage.v1.CreateNVMeSubsystemRequest\x1a!.opi_api.storage.v1.NVMeSubsystem\"\\\x82\xd3\xe4\x93\x02*\"\x17/v1/{parent=subsystems}:\x0fnv_me_subsystem\xda\x41)parent,nv_me_subsystem,nv_me_subsystem_id\x12\x8f\x01\n\x13\x44\x65leteNVMeSubsystem\x12..opi_api.storage.v1.DeleteNVMeSubsystemRequest\x1a\x16.google.protobuf.Empty\"0\x82\xd3\xe4\x93\x02#*!/v1/{name=subsystems}/{subsystem}\xda\x41\x04name\x12\xc6\x01\n\x13UpdateNVMeSubsystem\x12..opi_api.storage.v1.UpdateNVMeSubsystemRequest\x1a!.opi_api.storage.v1.NVMeSubsystem\"\\\x82\xd3\xe4\x93\x02\x38\x32%/v1/{nv_me_subsystem.name=subsystems}:\x0fnv_me_subsystem\xda\x41\x1bnv_me_subsystem,update_mask\x12\x9d\x01\n\x12ListNVMeSubsystems\x12-.opi_api.storage.v1.ListNVMeSubsystemsRequest\x1a..opi_api.storage.v1.ListNVMeSubsystemsResponse\"(\x82\xd3\xe4\x93\x02\x19\x12\x17/v1/{parent=subsystems}\xda\x41\x06parent\x12\x94\x01\n\x10GetNVMeSubsystem\x12+.opi_api.storage.v1.GetNVMeSubsystemRequest\x1a!.opi_api.storage.v1.NVMeSubsystem\"0\x82\xd3\xe4\x93\x02#\x12!/v1/{name=subsystems}/{subsystem}\xda\x41\x04name\x12u\n\x12NVMeSubsystemStats\x12-.opi_api.storage.v1.NVMeSubsystemStatsRequest\x1a..opi_api.storage.v1.NVMeSubsystemStatsResponse\"\x00\x12\xcc\x01\n\x14\x43reateNVMeController\x12/.opi_api.storage.v1.CreateNVMeControllerRequest\x1a\".opi_api.storage.v1.NVMeController\"_\x82\xd3\xe4\x93\x02+\"\x17/v1/{parent=subsystems}:\x10nv_me_controller\xda\x41+parent,nv_me_controller,nv_me_controller_id\x12\x93\x01\n\x14\x44\x65leteNVMeController\x12/.opi_api.storage.v1.DeleteNVMeControllerRequest\x1a\x16.google.protobuf.Empty\"2\x82\xd3\xe4\x93\x02%*#/v1/{name=controllers}/{controller}\xda\x41\x04name\x12\xcc\x01\n\x14UpdateNVMeController\x12/.opi_api.storage.v1.UpdateNVMeControllerRequest\x1a\".opi_api.storage.v1.NVMeController\"_\x82\xd3\xe4\x93\x02:2&/v1/{nv_me_controller.name=subsystems}:\x10nv_me_controller\xda\x41\x1cnv_me_controller,update_mask\x12\xa0\x01\n\x13ListNVMeControllers\x12..opi_api.storage.v1.ListNVMeControllersRequest\x1a/.opi_api.storage.v1.ListNVMeControllersResponse\"(\x82\xd3\xe4\x93\x02\x19\x12\x17/v1/{parent=subsystems}\xda\x41\x06parent\x12\x98\x01\n\x11GetNVMeController\x12,.opi_api.storage.v1.GetNVMeControllerRequest\x1a\".opi_api.storage.v1.NVMeController\"1\x82\xd3\xe4\x93\x02$\x12\"/v1/{name=subsystems}/{controller}\xda\x41\x04name\x12x\n\x13NVMeControllerStats\x12..opi_api.storage.v1.NVMeControllerStatsRequest\x1a/.opi_api.storage.v1.NVMeControllerStatsResponse\"\x00\x12\xc6\x01\n\x13\x43reateNVMeNamespace\x12..opi_api.storage.v1.CreateNVMeNamespaceRequest\x1a!.opi_api.storage.v1.NVMeNamespace\"\\\x82\xd3\xe4\x93\x02*\"\x17/v1/{parent=subsystems}:\x0fnv_me_namespace\xda\x41)parent,nv_me_namespace,nv_me_namespace_id\x12\x8f\x01\n\x13\x44\x65leteNVMeNamespace\x12..opi_api.storage.v1.DeleteNVMeNamespaceRequest\x1a\x16.google.protobuf.Empty\"0\x82\xd3\xe4\x93\x02#*!/v1/{name=namespaces}/{namespace}\xda\x41\x04name\x12\xc6\x01\n\x13UpdateNVMeNamespace\x12..opi_api.storage.v1.UpdateNVMeNamespaceRequest\x1a!.opi_api.storage.v1.NVMeNamespace\"\\\x82\xd3\xe4\x93\x02\x38\x32%/v1/{nv_me_namespace.name=subsystems}:\x0fnv_me_namespace\xda\x41\x1bnv_me_namespace,update_mask\x12\x9d\x01\n\x12ListNVMeNamespaces\x12-.opi_api.storage.v1.ListNVMeNamespacesRequest\x1a..opi_api.storage.v1.ListNVMeNamespacesResponse\"(\x82\xd3\xe4\x93\x02\x19\x12\x17/v1/{parent=subsystems}\xda\x41\x06parent\x12\x94\x01\n\x10GetNVMeNamespace\x12+.opi_api.storage.v1.GetNVMeNamespaceRequest\x1a!.opi_api.storage.v1.NVMeNamespace\"0\x82\xd3\xe4\x93\x02#\x12!/v1/{name=subsystems}/{namespace}\xda\x41\x04name\x12u\n\x12NVMeNamespaceStats\x12-.opi_api.storage.v1.NVMeNamespaceStatsRequest\x1a..opi_api.storage.v1.NVMeNamespaceStatsResponse\"\x00\x12\xd1\x01\n\x1d\x41ttachControllerNVMeNamespace\x12\x32.opi_api.storage.v1.ControllerNVMeNamespaceRequest\x1a\x16.google.protobuf.Empty\"d\x82\xd3\xe4\x93\x02^\"Y/v1/{subsystem=subsystemId/*/controller=nvmeControllerId/*}:attachControllerNvMeNamespace:\x01*\x12\xd1\x01\n\x1d\x44\x65tachControllerNVMeNamespace\x12\x32.opi_api.storage.v1.ControllerNVMeNamespaceRequest\x1a\x16.google.protobuf.Empty\"d\x82\xd3\xe4\x93\x02^\"Y/v1/{subsystem=subsystemId/*/controller=nvmeControllerId/*}:detachControllerNvMeNamespace:\x01*Bd\n\x12opi_api.storage.v1B\x15\x46rontendNvmePcieProtoP\x01Z5github.com/opiproject/opi-api/storage/v1alpha1/gen/gob\x06proto3') _NVMENAMESPACEPCISTATE = DESCRIPTOR.enum_types_by_name['NVMeNamespacePciState'] NVMeNamespacePciState = enum_type_wrapper.EnumTypeWrapper(_NVMENAMESPACEPCISTATE) @@ -72,6 +72,7 @@ _GETNVMENAMESPACEREQUEST = DESCRIPTOR.message_types_by_name['GetNVMeNamespaceRequest'] _NVMENAMESPACESTATSREQUEST = DESCRIPTOR.message_types_by_name['NVMeNamespaceStatsRequest'] _NVMENAMESPACESTATSRESPONSE = DESCRIPTOR.message_types_by_name['NVMeNamespaceStatsResponse'] +_CONTROLLERNVMENAMESPACEREQUEST = DESCRIPTOR.message_types_by_name['ControllerNVMeNamespaceRequest'] NVMeSubsystem = _reflection.GeneratedProtocolMessageType('NVMeSubsystem', (_message.Message,), { 'DESCRIPTOR' : _NVMESUBSYSTEM, '__module__' : 'frontend_nvme_pcie_pb2' @@ -303,6 +304,13 @@ }) _sym_db.RegisterMessage(NVMeNamespaceStatsResponse) +ControllerNVMeNamespaceRequest = _reflection.GeneratedProtocolMessageType('ControllerNVMeNamespaceRequest', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLLERNVMENAMESPACEREQUEST, + '__module__' : 'frontend_nvme_pcie_pb2' + # @@protoc_insertion_point(class_scope:opi_api.storage.v1.ControllerNVMeNamespaceRequest) + }) +_sym_db.RegisterMessage(ControllerNVMeNamespaceRequest) + _FRONTENDNVMESERVICE = DESCRIPTOR.services_by_name['FrontendNvmeService'] if _descriptor._USE_C_DESCRIPTORS == False: @@ -338,6 +346,12 @@ _LISTNVMENAMESPACESREQUEST.fields_by_name['parent']._serialized_options = b'\340A\002\372A\"\n opi_api.storage.v1/NVMeNamespace' _GETNVMENAMESPACEREQUEST.fields_by_name['name']._options = None _GETNVMENAMESPACEREQUEST.fields_by_name['name']._serialized_options = b'\340A\002\372A\"\n opi_api.storage.v1/NVMeNamespace' + _CONTROLLERNVMENAMESPACEREQUEST.fields_by_name['subsystem']._options = None + _CONTROLLERNVMENAMESPACEREQUEST.fields_by_name['subsystem']._serialized_options = b'\340A\002' + _CONTROLLERNVMENAMESPACEREQUEST.fields_by_name['controller']._options = None + _CONTROLLERNVMENAMESPACEREQUEST.fields_by_name['controller']._serialized_options = b'\340A\002' + _CONTROLLERNVMENAMESPACEREQUEST.fields_by_name['nv_me_namespace_id']._options = None + _CONTROLLERNVMENAMESPACEREQUEST.fields_by_name['nv_me_namespace_id']._serialized_options = b'\340A\002' _FRONTENDNVMESERVICE.methods_by_name['CreateNVMeSubsystem']._options = None _FRONTENDNVMESERVICE.methods_by_name['CreateNVMeSubsystem']._serialized_options = b'\202\323\344\223\002*\"\027/v1/{parent=subsystems}:\017nv_me_subsystem\332A)parent,nv_me_subsystem,nv_me_subsystem_id' _FRONTENDNVMESERVICE.methods_by_name['DeleteNVMeSubsystem']._options = None @@ -368,10 +382,14 @@ _FRONTENDNVMESERVICE.methods_by_name['ListNVMeNamespaces']._serialized_options = b'\202\323\344\223\002\031\022\027/v1/{parent=subsystems}\332A\006parent' _FRONTENDNVMESERVICE.methods_by_name['GetNVMeNamespace']._options = None _FRONTENDNVMESERVICE.methods_by_name['GetNVMeNamespace']._serialized_options = b'\202\323\344\223\002#\022!/v1/{name=subsystems}/{namespace}\332A\004name' - _NVMENAMESPACEPCISTATE._serialized_start=4373 - _NVMENAMESPACEPCISTATE._serialized_end=4555 - _NVMENAMESPACEPCIOPERSTATE._serialized_start=4558 - _NVMENAMESPACEPCIOPERSTATE._serialized_end=4718 + _FRONTENDNVMESERVICE.methods_by_name['AttachControllerNVMeNamespace']._options = None + _FRONTENDNVMESERVICE.methods_by_name['AttachControllerNVMeNamespace']._serialized_options = b'\202\323\344\223\002^\"Y/v1/{subsystem=subsystemId/*/controller=nvmeControllerId/*}:attachControllerNvMeNamespace:\001*' + _FRONTENDNVMESERVICE.methods_by_name['DetachControllerNVMeNamespace']._options = None + _FRONTENDNVMESERVICE.methods_by_name['DetachControllerNVMeNamespace']._serialized_options = b'\202\323\344\223\002^\"Y/v1/{subsystem=subsystemId/*/controller=nvmeControllerId/*}:detachControllerNvMeNamespace:\001*' + _NVMENAMESPACEPCISTATE._serialized_start=4550 + _NVMENAMESPACEPCISTATE._serialized_end=4732 + _NVMENAMESPACEPCIOPERSTATE._serialized_start=4735 + _NVMENAMESPACEPCIOPERSTATE._serialized_end=4895 _NVMESUBSYSTEM._serialized_start=273 _NVMESUBSYSTEM._serialized_end=398 _NVMESUBSYSTEMSPEC._serialized_start=401 @@ -438,6 +456,8 @@ _NVMENAMESPACESTATSREQUEST._serialized_end=4250 _NVMENAMESPACESTATSRESPONSE._serialized_start=4252 _NVMENAMESPACESTATSRESPONSE._serialized_end=4370 - _FRONTENDNVMESERVICE._serialized_start=4721 - _FRONTENDNVMESERVICE._serialized_end=7702 + _CONTROLLERNVMENAMESPACEREQUEST._serialized_start=4373 + _CONTROLLERNVMENAMESPACEREQUEST._serialized_end=4547 + _FRONTENDNVMESERVICE._serialized_start=4898 + _FRONTENDNVMESERVICE._serialized_end=8303 # @@protoc_insertion_point(module_scope) diff --git a/storage/v1alpha1/gen/python/frontend_nvme_pcie_pb2_grpc.py b/storage/v1alpha1/gen/python/frontend_nvme_pcie_pb2_grpc.py index 3b785141..3abf441a 100644 --- a/storage/v1alpha1/gen/python/frontend_nvme_pcie_pb2_grpc.py +++ b/storage/v1alpha1/gen/python/frontend_nvme_pcie_pb2_grpc.py @@ -106,6 +106,16 @@ def __init__(self, channel): request_serializer=frontend__nvme__pcie__pb2.NVMeNamespaceStatsRequest.SerializeToString, response_deserializer=frontend__nvme__pcie__pb2.NVMeNamespaceStatsResponse.FromString, ) + self.AttachControllerNVMeNamespace = channel.unary_unary( + '/opi_api.storage.v1.FrontendNvmeService/AttachControllerNVMeNamespace', + request_serializer=frontend__nvme__pcie__pb2.ControllerNVMeNamespaceRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) + self.DetachControllerNVMeNamespace = channel.unary_unary( + '/opi_api.storage.v1.FrontendNvmeService/DetachControllerNVMeNamespace', + request_serializer=frontend__nvme__pcie__pb2.ControllerNVMeNamespaceRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + ) class FrontendNvmeServiceServicer(object): @@ -220,6 +230,18 @@ def NVMeNamespaceStats(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def AttachControllerNVMeNamespace(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DetachControllerNVMeNamespace(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_FrontendNvmeServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -313,6 +335,16 @@ def add_FrontendNvmeServiceServicer_to_server(servicer, server): request_deserializer=frontend__nvme__pcie__pb2.NVMeNamespaceStatsRequest.FromString, response_serializer=frontend__nvme__pcie__pb2.NVMeNamespaceStatsResponse.SerializeToString, ), + 'AttachControllerNVMeNamespace': grpc.unary_unary_rpc_method_handler( + servicer.AttachControllerNVMeNamespace, + request_deserializer=frontend__nvme__pcie__pb2.ControllerNVMeNamespaceRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'DetachControllerNVMeNamespace': grpc.unary_unary_rpc_method_handler( + servicer.DetachControllerNVMeNamespace, + request_deserializer=frontend__nvme__pcie__pb2.ControllerNVMeNamespaceRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'opi_api.storage.v1.FrontendNvmeService', rpc_method_handlers) @@ -629,3 +661,37 @@ def NVMeNamespaceStats(request, frontend__nvme__pcie__pb2.NVMeNamespaceStatsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AttachControllerNVMeNamespace(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/opi_api.storage.v1.FrontendNvmeService/AttachControllerNVMeNamespace', + frontend__nvme__pcie__pb2.ControllerNVMeNamespaceRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DetachControllerNVMeNamespace(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/opi_api.storage.v1.FrontendNvmeService/DetachControllerNVMeNamespace', + frontend__nvme__pcie__pb2.ControllerNVMeNamespaceRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata)