public override Task <ControllerGetCapabilitiesResponse> ControllerGetCapabilities(
            ControllerGetCapabilitiesRequest request, ServerCallContext context)
        {
            logger.LogInformation(nameof(ControllerGetCapabilities));

            var rp = new ControllerGetCapabilitiesResponse
            {
                Capabilities =
                {
                    new ControllerServiceCapability
                    {
                        Rpc = new ControllerServiceCapability.Types.RPC
                        {
                            Type = ControllerServiceCapability.Types.RPC.Types.Type.CreateDeleteVolume
                        }
                    },
                    new ControllerServiceCapability
                    {
                        Rpc = new ControllerServiceCapability.Types.RPC
                        {
                            Type = ControllerServiceCapability.Types.RPC.Types.Type.PublishUnpublishVolume
                        }
                    }
                }
            };

            return(Task.FromResult(rp));
        }
        public override Task <ControllerGetCapabilitiesResponse> ControllerGetCapabilities(ControllerGetCapabilitiesRequest request, ServerCallContext context)
        {
            var rsp = new ControllerGetCapabilitiesResponse
            {
            };

            rsp.Capabilities.Add(new ControllerServiceCapability
            {
                Rpc = new ControllerServiceCapability.Types.RPC
                {
                    Type = RPCType.CreateDeleteVolume
                }
            });
            rsp.Capabilities.Add(new ControllerServiceCapability
            {
                Rpc = new ControllerServiceCapability.Types.RPC
                {
                    Type = RPCType.PublishUnpublishVolume
                }
            });
            rsp.Capabilities.Add(new ControllerServiceCapability
            {
                Rpc = new ControllerServiceCapability.Types.RPC
                {
                    Type = RPCType.ListVolumes
                }
            });
            rsp.Capabilities.Add(new ControllerServiceCapability
            {
                Rpc = new ControllerServiceCapability.Types.RPC
                {
                    Type = RPCType.ListVolumesPublishedNodes
                }
            });

            //todo GET_CAPACITY
            //todo CREATE_DELETE_SNAPSHOT, LIST_SNAPSHOTS,
            //todo CLONE_VOLUME, EXPAND_VOLUME
            //maybe PUBLISH_READONLY

            return(Task.FromResult(rsp));
        }