github.com/TrueCloudLab/frostfs-api-go/v2@v2.0.0-20230228134343-196241c4e79a/rpc/container.go (about) 1 package rpc 2 3 import ( 4 "github.com/TrueCloudLab/frostfs-api-go/v2/container" 5 "github.com/TrueCloudLab/frostfs-api-go/v2/rpc/client" 6 "github.com/TrueCloudLab/frostfs-api-go/v2/rpc/common" 7 ) 8 9 const serviceContainer = serviceNamePrefix + "container.ContainerService" 10 11 const ( 12 rpcContainerPut = "Put" 13 rpcContainerGet = "Get" 14 rpcContainerDel = "Delete" 15 rpcContainerList = "List" 16 rpcContainerSetEACL = "SetExtendedACL" 17 rpcContainerGetEACL = "GetExtendedACL" 18 rpcContainerUsedSpace = "AnnounceUsedSpace" 19 ) 20 21 // PutContainer executes ContainerService.Put RPC. 22 func PutContainer( 23 cli *client.Client, 24 req *container.PutRequest, 25 opts ...client.CallOption, 26 ) (*container.PutResponse, error) { 27 resp := new(container.PutResponse) 28 29 err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceContainer, rpcContainerPut), req, resp, opts...) 30 if err != nil { 31 return nil, err 32 } 33 34 return resp, nil 35 } 36 37 // GetContainer executes ContainerService.Get RPC. 38 func GetContainer( 39 cli *client.Client, 40 req *container.GetRequest, 41 opts ...client.CallOption, 42 ) (*container.GetResponse, error) { 43 resp := new(container.GetResponse) 44 45 err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceContainer, rpcContainerGet), req, resp, opts...) 46 if err != nil { 47 return nil, err 48 } 49 50 return resp, nil 51 } 52 53 // DeleteContainer executes ContainerService.Delete RPC. 54 func DeleteContainer( 55 cli *client.Client, 56 req *container.DeleteRequest, 57 opts ...client.CallOption, 58 ) (*container.PutResponse, error) { 59 resp := new(container.PutResponse) 60 61 err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceContainer, rpcContainerDel), req, resp, opts...) 62 if err != nil { 63 return nil, err 64 } 65 66 return resp, nil 67 } 68 69 // ListContainers executes ContainerService.List RPC. 70 func ListContainers( 71 cli *client.Client, 72 req *container.ListRequest, 73 opts ...client.CallOption, 74 ) (*container.ListResponse, error) { 75 resp := new(container.ListResponse) 76 77 err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceContainer, rpcContainerList), req, resp, opts...) 78 if err != nil { 79 return nil, err 80 } 81 82 return resp, nil 83 } 84 85 // SetEACL executes ContainerService.SetExtendedACL RPC. 86 func SetEACL( 87 cli *client.Client, 88 req *container.SetExtendedACLRequest, 89 opts ...client.CallOption, 90 ) (*container.PutResponse, error) { 91 resp := new(container.PutResponse) 92 93 err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceContainer, rpcContainerSetEACL), req, resp, opts...) 94 if err != nil { 95 return nil, err 96 } 97 98 return resp, nil 99 } 100 101 // GetEACL executes ContainerService.GetExtendedACL RPC. 102 func GetEACL( 103 cli *client.Client, 104 req *container.GetExtendedACLRequest, 105 opts ...client.CallOption, 106 ) (*container.GetExtendedACLResponse, error) { 107 resp := new(container.GetExtendedACLResponse) 108 109 err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceContainer, rpcContainerGetEACL), req, resp, opts...) 110 if err != nil { 111 return nil, err 112 } 113 114 return resp, nil 115 } 116 117 // AnnounceUsedSpace executes ContainerService.AnnounceUsedSpace RPC. 118 func AnnounceUsedSpace( 119 cli *client.Client, 120 req *container.AnnounceUsedSpaceRequest, 121 opts ...client.CallOption, 122 ) (*container.PutResponse, error) { 123 resp := new(container.PutResponse) 124 125 err := client.SendUnary(cli, common.CallMethodInfoUnary(serviceContainer, rpcContainerUsedSpace), req, resp, opts...) 126 if err != nil { 127 return nil, err 128 } 129 130 return resp, nil 131 }