forked from TrueCloudLab/frostfs-api-go
Airat Arifullin
b171364079
* Introduce `frostfsServiceNamePrefix` for rpc interface since `apemanager` uses `frostfs` root instead `neo.fs`. Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
60 lines
1.5 KiB
Go
60 lines
1.5 KiB
Go
package rpc
|
|
|
|
import (
|
|
"git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/apemanager"
|
|
"git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/rpc/client"
|
|
"git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/rpc/common"
|
|
)
|
|
|
|
const serviceAPEManager = frostfsServiceNamePrefix + "apemanager.APEManagerService"
|
|
|
|
const (
|
|
rpcAPEManagerAddChain = "AddChain"
|
|
rpcAPEManagerRemoveChain = "RemoveChain"
|
|
rpcAPEManagerListChains = "ListChains"
|
|
)
|
|
|
|
func AddChain(
|
|
cli *client.Client,
|
|
req *apemanager.AddChainRequest,
|
|
opts ...client.CallOption,
|
|
) (*apemanager.AddChainResponse, error) {
|
|
resp := new(apemanager.AddChainResponse)
|
|
|
|
err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceAPEManager, rpcAPEManagerAddChain), req, resp, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return resp, nil
|
|
}
|
|
|
|
func RemoveChain(
|
|
cli *client.Client,
|
|
req *apemanager.RemoveChainRequest,
|
|
opts ...client.CallOption,
|
|
) (*apemanager.RemoveChainResponse, error) {
|
|
resp := new(apemanager.RemoveChainResponse)
|
|
|
|
err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceAPEManager, rpcAPEManagerRemoveChain), req, resp, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return resp, nil
|
|
}
|
|
|
|
func ListChains(
|
|
cli *client.Client,
|
|
req *apemanager.ListChainsRequest,
|
|
opts ...client.CallOption,
|
|
) (*apemanager.ListChainsResponse, error) {
|
|
resp := new(apemanager.ListChainsResponse)
|
|
|
|
err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceAPEManager, rpcAPEManagerListChains), req, resp, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return resp, nil
|
|
}
|