rpc_parameters_serialization.h 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. #pragma once
  2. #include <yt/cpp/mapreduce/common/helpers.h>
  3. #include <yt/cpp/mapreduce/interface/client_method_options.h>
  4. #include <yt/cpp/mapreduce/interface/fwd.h>
  5. #include <yt/cpp/mapreduce/interface/operation.h>
  6. namespace NYT::NDetail::NRawClient {
  7. ////////////////////////////////////////////////////////////////////////////////
  8. TNode SerializeParamsForCreate(
  9. const TTransactionId& transactionId,
  10. const TString& pathPrefix,
  11. const TYPath& path,
  12. ENodeType type,
  13. const TCreateOptions& options);
  14. TNode SerializeParamsForRemove(
  15. const TTransactionId& transactionId,
  16. const TString& pathPrefix,
  17. const TYPath& path,
  18. const TRemoveOptions& options);
  19. TNode SerializeParamsForExists(
  20. const TTransactionId& transactionId,
  21. const TString& pathPrefix,
  22. const TYPath& path,
  23. const TExistsOptions& options);
  24. TNode SerializeParamsForGet(
  25. const TTransactionId& transactionId,
  26. const TString& pathPrefix,
  27. const TYPath& path,
  28. const TGetOptions& options);
  29. TNode SerializeParamsForSet(
  30. const TTransactionId& transactionId,
  31. const TString& pathPrefix,
  32. const TYPath& path,
  33. const TSetOptions& options);
  34. TNode SerializeParamsForMultisetAttributes(
  35. const TTransactionId& transactionId,
  36. const TString& pathPrefix,
  37. const TYPath& path,
  38. const TMultisetAttributesOptions& options);
  39. TNode SerializeParamsForList(
  40. const TTransactionId& transactionId,
  41. const TString& pathPrefix,
  42. const TYPath& path,
  43. const TListOptions& options);
  44. TNode SerializeParamsForCopy(
  45. const TTransactionId& transactionId,
  46. const TString& pathPrefix,
  47. const TYPath& sourcePath,
  48. const TYPath& destinationPath,
  49. const TCopyOptions& options);
  50. TNode SerializeParamsForMove(
  51. const TTransactionId& transactionId,
  52. const TString& pathPrefix,
  53. const TYPath& sourcePath,
  54. const TYPath& destinationPath,
  55. const TMoveOptions& options);
  56. TNode SerializeParamsForLink(
  57. const TTransactionId& transactionId,
  58. const TString& pathPrefix,
  59. const TYPath& targetPath,
  60. const TYPath& linkPath,
  61. const TLinkOptions& options);
  62. TNode SerializeParamsForLock(
  63. const TTransactionId& transactionId,
  64. const TString& pathPrefix,
  65. const TYPath& path,
  66. ELockMode mode,
  67. const TLockOptions& options);
  68. TNode SerializeParamsForUnlock(
  69. const TTransactionId& transactionId,
  70. const TString& pathPrefix,
  71. const TYPath& path,
  72. const TUnlockOptions& options);
  73. TNode SerializeParamsForConcatenate(
  74. const TTransactionId& transactionId,
  75. const TString& pathPrefix,
  76. const TVector<TRichYPath>& sourcePaths,
  77. const TRichYPath& destinationPath,
  78. const TConcatenateOptions& options);
  79. TNode SerializeParamsForPingTx(
  80. const TTransactionId& transactionId);
  81. TNode SerializeParamsForStartOperation(
  82. const TTransactionId& transactionId,
  83. EOperationType type,
  84. const TNode& spec);
  85. TNode SerializeParamsForGetOperation(
  86. const std::variant<TString, TOperationId>& aliasOrOperationId,
  87. const TGetOperationOptions& options);
  88. TNode SerializeParamsForAbortOperation(
  89. const TOperationId& operationId);
  90. TNode SerializeParamsForCompleteOperation(
  91. const TOperationId& operationId);
  92. TNode SerializeParamsForSuspendOperation(
  93. const TOperationId& operationId,
  94. const TSuspendOperationOptions& options);
  95. TNode SerializeParamsForResumeOperation(
  96. const TOperationId& operationId,
  97. const TResumeOperationOptions& options);
  98. TNode SerializeParamsForListOperations(
  99. const TListOperationsOptions& options);
  100. TNode SerializeParamsForUpdateOperationParameters(
  101. const TOperationId& operationId,
  102. const TUpdateOperationParametersOptions& options);
  103. TNode SerializeParamsForGetJob(
  104. const TOperationId& operationId,
  105. const TJobId& jobId,
  106. const TGetJobOptions& options);
  107. TNode SerializeParamsForListJobs(
  108. const TOperationId& operationId,
  109. const TListJobsOptions& options);
  110. TNode SerializeParamsForGetJobTrace(
  111. const TOperationId& operationId,
  112. const TGetJobTraceOptions& options);
  113. TNode SerializeParametersForInsertRows(
  114. const TString& pathPrefix,
  115. const TYPath& path,
  116. const TInsertRowsOptions& options);
  117. TNode SerializeParametersForDeleteRows(
  118. const TString& pathPrefix,
  119. const TYPath& path,
  120. const TDeleteRowsOptions& options);
  121. TNode SerializeParametersForTrimRows(
  122. const TString& pathPrefix,
  123. const TYPath& path,
  124. const TTrimRowsOptions& options);
  125. TNode SerializeParamsForReadTable(
  126. const TTransactionId& transactionId,
  127. const TTableReaderOptions& options);
  128. TNode SerializeParamsForReadBlobTable(
  129. const TTransactionId& transactionId,
  130. const TRichYPath& path,
  131. const TKey& key,
  132. const TBlobTableReaderOptions& options);
  133. TNode SerializeParamsForParseYPath(
  134. const TRichYPath& path);
  135. TNode SerializeParamsForEnableTableReplica(
  136. const TReplicaId& replicaId);
  137. TNode SerializeParamsForDisableTableReplica(
  138. const TReplicaId& replicaId);
  139. TNode SerializeParamsForAlterTableReplica(
  140. const TReplicaId& replicaId,
  141. const TAlterTableReplicaOptions& options);
  142. TNode SerializeParamsForFreezeTable(
  143. const TString& pathPrefix,
  144. const TYPath& path,
  145. const TFreezeTableOptions& options);
  146. TNode SerializeParamsForUnfreezeTable(
  147. const TString& pathPrefix,
  148. const TYPath& path,
  149. const TUnfreezeTableOptions& options);
  150. TNode SerializeParamsForAlterTable(
  151. const TTransactionId& transactionId,
  152. const TString& pathPrefix,
  153. const TYPath& path,
  154. const TAlterTableOptions& options);
  155. TNode SerializeParamsForGetTableColumnarStatistics(
  156. const TTransactionId& transactionId,
  157. const TVector<TRichYPath>& paths,
  158. const TGetTableColumnarStatisticsOptions& options);
  159. TNode SerializeParamsForGetTablePartitions(
  160. const TTransactionId& transactionId,
  161. const TVector<TRichYPath>& paths,
  162. const TGetTablePartitionsOptions& options);
  163. TNode SerializeParamsForGetFileFromCache(
  164. const TTransactionId& transactionId,
  165. const TString& md5Signature,
  166. const TYPath& cachePath,
  167. const TGetFileFromCacheOptions&);
  168. TNode SerializeParamsForPutFileToCache(
  169. const TTransactionId& transactionId,
  170. const TString& pathPrefix,
  171. const TYPath& filePath,
  172. const TString& md5Signature,
  173. const TYPath& cachePath,
  174. const TPutFileToCacheOptions& options);
  175. TNode SerializeParamsForSkyShareTable(
  176. const TString& serverName,
  177. const TString& pathPrefix,
  178. const std::vector<TYPath>& tablePaths,
  179. const TSkyShareTableOptions& options);
  180. TNode SerializeParamsForCheckPermission(
  181. const TString& user,
  182. EPermission permission,
  183. const TString& pathPrefix,
  184. const TYPath& path,
  185. const TCheckPermissionOptions& options);
  186. TNode SerializeParamsForGetTabletInfos(
  187. const TString& pathPrefix,
  188. const TYPath& path,
  189. const TVector<int>& tabletIndexes,
  190. const TGetTabletInfosOptions& options);
  191. TNode SerializeParamsForAbortTransaction(
  192. const TTransactionId& transactionId);
  193. TNode SerializeParamsForCommitTransaction(
  194. const TTransactionId& transactionId);
  195. TNode SerializeParamsForStartTransaction(
  196. const TTransactionId& parentTransactionId,
  197. TDuration txTimeout,
  198. const TStartTransactionOptions& options);
  199. template <typename TOptions>
  200. TNode SerializeTabletParams(
  201. const TString& pathPrefix,
  202. const TYPath& path,
  203. const TOptions& options)
  204. {
  205. TNode result;
  206. result["path"] = AddPathPrefix(path, pathPrefix);
  207. if (options.FirstTabletIndex_) {
  208. result["first_tablet_index"] = *options.FirstTabletIndex_;
  209. }
  210. if (options.LastTabletIndex_) {
  211. result["last_tablet_index"] = *options.LastTabletIndex_;
  212. }
  213. return result;
  214. }
  215. ////////////////////////////////////////////////////////////////////////////////
  216. } // namespace NYT::NDetail::NRawClient