12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463 |
- #pragma once
- #include "common.h"
- #include "config.h"
- #include "format.h"
- #include "public.h"
- #include "retry_policy.h"
- #include <util/datetime/base.h>
- namespace NYT {
- enum ENodeType : int
- {
- NT_STRING ,
- NT_INT64 ,
- NT_UINT64 ,
- NT_DOUBLE ,
- NT_BOOLEAN ,
- NT_MAP ,
- NT_LIST ,
- NT_FILE ,
- NT_TABLE ,
- NT_DOCUMENT ,
- NT_REPLICATED_TABLE ,
- NT_TABLE_REPLICA ,
- NT_USER ,
- NT_SCHEDULER_POOL ,
- NT_LINK ,
- NT_GROUP ,
- NT_PORTAL ,
- };
- enum class EComplexTypeMode : int
- {
- Named ,
- Positional ,
- };
- struct TCreateOptions
- {
-
- using TSelf = TCreateOptions;
-
-
- FLUENT_FIELD_DEFAULT(bool, Recursive, false);
-
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, IgnoreExisting, false);
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, Force, false);
-
- FLUENT_FIELD_OPTION(TNode, Attributes);
- };
- struct TRemoveOptions
- {
-
- using TSelf = TRemoveOptions;
-
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, Recursive, false);
-
- FLUENT_FIELD_DEFAULT(bool, Force, false);
- };
- template <typename TDerived>
- struct TMasterReadOptions
- {
-
- using TSelf = TDerived;
-
-
- FLUENT_FIELD_OPTION(EMasterReadKind, ReadFrom);
- };
- struct TExistsOptions
- : public TMasterReadOptions<TExistsOptions>
- {
- };
- struct TGetOptions
- : public TMasterReadOptions<TGetOptions>
- {
-
- FLUENT_FIELD_OPTION(TAttributeFilter, AttributeFilter);
-
- FLUENT_FIELD_OPTION(i64, MaxSize);
- };
- struct TSetOptions
- {
-
- using TSelf = TSetOptions;
-
-
- FLUENT_FIELD_DEFAULT(bool, Recursive, false);
-
- FLUENT_FIELD_OPTION(bool, Force);
- };
- struct TMultisetAttributesOptions
- {
-
- using TSelf = TMultisetAttributesOptions;
-
- FLUENT_FIELD_OPTION(bool, Force);
- };
- struct TListOptions
- : public TMasterReadOptions<TListOptions>
- {
-
- using TSelf = TListOptions;
-
-
- FLUENT_FIELD_OPTION(TAttributeFilter, AttributeFilter);
-
- FLUENT_FIELD_OPTION(i64, MaxSize);
- };
- struct TCopyOptions
- {
-
- using TSelf = TCopyOptions;
-
-
- FLUENT_FIELD_DEFAULT(bool, Recursive, false);
-
- FLUENT_FIELD_DEFAULT(bool, Force, false);
-
- FLUENT_FIELD_DEFAULT(bool, PreserveAccount, false);
-
- FLUENT_FIELD_OPTION(bool, PreserveExpirationTime);
- };
- struct TMoveOptions
- {
-
- using TSelf = TMoveOptions;
-
-
- FLUENT_FIELD_DEFAULT(bool, Recursive, false);
-
- FLUENT_FIELD_DEFAULT(bool, Force, false);
-
- FLUENT_FIELD_DEFAULT(bool, PreserveAccount, false);
-
- FLUENT_FIELD_OPTION(bool, PreserveExpirationTime);
- };
- struct TLinkOptions
- {
-
- using TSelf = TLinkOptions;
-
-
- FLUENT_FIELD_DEFAULT(bool, Recursive, false);
-
- FLUENT_FIELD_DEFAULT(bool, IgnoreExisting, false);
-
- FLUENT_FIELD_DEFAULT(bool, Force, false);
-
- FLUENT_FIELD_OPTION(TNode, Attributes);
- };
- struct TConcatenateOptions
- {
-
- using TSelf = TConcatenateOptions;
-
-
- FLUENT_FIELD_OPTION(bool, Append);
- };
- struct TBlobTableReaderOptions
- {
-
- using TSelf = TBlobTableReaderOptions;
-
-
- FLUENT_FIELD_OPTION(TString, PartIndexColumnName);
-
- FLUENT_FIELD_OPTION(TString, DataColumnName);
-
-
-
-
-
- FLUENT_FIELD_DEFAULT(ui64, PartSize, 4 * 1024 * 1024);
-
- FLUENT_FIELD_DEFAULT(i64, Offset, 0);
- };
- struct TResourceLimits
- {
-
- using TSelf = TResourceLimits;
-
-
- FLUENT_FIELD_OPTION(i64, UserSlots);
-
- FLUENT_FIELD_OPTION(double, Cpu);
-
- FLUENT_FIELD_OPTION(i64, Network);
-
- FLUENT_FIELD_OPTION(i64, Memory);
- };
- struct TSchedulingOptions
- {
-
- using TSelf = TSchedulingOptions;
-
-
-
-
-
- FLUENT_FIELD_OPTION(TString, Pool);
-
- FLUENT_FIELD_OPTION(double, Weight);
-
- FLUENT_FIELD_OPTION(TResourceLimits, ResourceLimits);
- };
- struct TSchedulingOptionsPerPoolTree
- {
-
- using TSelf = TSchedulingOptionsPerPoolTree;
-
- TSchedulingOptionsPerPoolTree(const THashMap<TString, TSchedulingOptions>& options = {})
- : Options_(options)
- { }
-
- TSelf& Add(TStringBuf poolTreeName, const TSchedulingOptions& schedulingOptions)
- {
- Y_ENSURE(Options_.emplace(poolTreeName, schedulingOptions).second);
- return *this;
- }
- THashMap<TString, TSchedulingOptions> Options_;
- };
- struct TSuspendOperationOptions
- {
-
- using TSelf = TSuspendOperationOptions;
-
-
-
-
-
- FLUENT_FIELD_OPTION(bool, AbortRunningJobs);
- };
- struct TResumeOperationOptions
- {
-
- using TSelf = TResumeOperationOptions;
-
- };
- struct TUpdateOperationParametersOptions
- {
-
- using TSelf = TUpdateOperationParametersOptions;
-
-
- FLUENT_VECTOR_FIELD(TString, Owner);
-
- FLUENT_FIELD_OPTION(TString, Pool);
-
- FLUENT_FIELD_OPTION(double, Weight);
-
- FLUENT_FIELD_OPTION(TSchedulingOptionsPerPoolTree, SchedulingOptionsPerPoolTree);
- };
- template <class TDerived>
- struct TIOOptions
- {
-
- using TSelf = TDerived;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(TNode, Config);
-
-
-
-
-
-
-
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, CreateTransaction, true);
- };
- struct TFileReaderOptions
- : public TIOOptions<TFileReaderOptions>
- {
-
-
-
-
- FLUENT_FIELD_OPTION(i64, Offset);
-
-
-
-
- FLUENT_FIELD_OPTION(i64, Length);
- };
- struct TWriterOptions
- {
-
- using TSelf = TWriterOptions;
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(bool, EnableEarlyFinish);
-
- FLUENT_FIELD_OPTION(ui64, UploadReplicationFactor);
-
-
-
-
- FLUENT_FIELD_OPTION(ui64, MinUploadReplicationFactor);
-
-
-
-
- FLUENT_FIELD_OPTION(ui64, DesiredChunkSize);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(size_t, RetryBlockSize);
- };
- struct TFileWriterOptions
- : public TIOOptions<TFileWriterOptions>
- {
-
-
-
-
-
- FLUENT_FIELD_OPTION(bool, ComputeMD5);
-
-
-
-
- FLUENT_FIELD_OPTION(TWriterOptions, WriterOptions);
- };
- class TSkiffRowHints {
- public:
-
- using TSelf = TSkiffRowHints;
-
-
-
-
-
- FLUENT_FIELD_OPTION(TNode, Attributes);
- };
- class TFormatHints
- {
- public:
-
- using TSelf = TFormatHints;
-
-
-
-
-
-
-
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, SkipNullValuesForTNode, false);
-
-
-
- FLUENT_FIELD_OPTION(bool, EnableStringToAllConversion);
-
-
-
- FLUENT_FIELD_OPTION(bool, EnableAllToStringConversion);
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(bool, EnableIntegralTypeConversion);
-
- FLUENT_FIELD_OPTION(bool, EnableIntegralToDoubleConversion);
-
- FLUENT_FIELD_OPTION(bool, EnableTypeConversion);
-
-
-
-
- FLUENT_FIELD_OPTION(EComplexTypeMode, ComplexTypeMode);
-
-
- FLUENT_FIELD_OPTION(TSkiffRowHints, SkiffRowHints);
-
-
-
-
- void Merge(const TFormatHints& patch);
- };
- class TControlAttributes
- {
- public:
-
- using TSelf = TControlAttributes;
-
-
-
- FLUENT_FIELD_DEFAULT(bool, EnableRowIndex, true);
-
-
- FLUENT_FIELD_DEFAULT(bool, EnableRangeIndex, true);
- };
- struct TTableReaderOptions
- : public TIOOptions<TTableReaderOptions>
- {
-
- FLUENT_FIELD_DEFAULT(size_t, SizeLimit, 4 << 20);
-
-
-
-
- FLUENT_FIELD_OPTION(TFormatHints, FormatHints);
-
-
-
- FLUENT_FIELD_DEFAULT(TControlAttributes, ControlAttributes, TControlAttributes());
- };
- struct TTableWriterOptions
- : public TIOOptions<TTableWriterOptions>
- {
-
-
-
-
-
-
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, SingleHttpRequest, false);
-
-
-
-
- FLUENT_FIELD_DEFAULT(size_t, BufferSize, 64 << 20);
-
-
-
-
- FLUENT_FIELD_OPTION(TFormatHints, FormatHints);
-
-
-
-
- FLUENT_FIELD_OPTION(bool, InferSchema);
-
-
-
-
- FLUENT_FIELD_OPTION(TWriterOptions, WriterOptions);
- };
- struct TStartTransactionOptions
- {
-
- using TSelf = TStartTransactionOptions;
-
- FLUENT_FIELD_DEFAULT(bool, PingAncestors, false);
-
-
-
-
-
- FLUENT_FIELD_OPTION(TDuration, Timeout);
-
-
- FLUENT_FIELD_OPTION(TInstant, Deadline);
-
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, AutoPingable, true);
-
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(TString, Title);
-
-
-
-
- FLUENT_FIELD_OPTION(TNode, Attributes);
- };
- struct TAttachTransactionOptions
- {
-
- using TSelf = TAttachTransactionOptions;
-
-
-
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, AutoPingable, false);
-
-
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, AbortOnTermination, false);
- };
- enum ELockMode : int
- {
-
- LM_EXCLUSIVE ,
-
- LM_SHARED ,
-
- LM_SNAPSHOT ,
- };
- struct TLockOptions
- {
-
- using TSelf = TLockOptions;
-
-
-
-
-
-
-
-
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, Waitable, false);
-
-
-
-
- FLUENT_FIELD_OPTION(TString, AttributeKey);
-
-
-
-
- FLUENT_FIELD_OPTION(TString, ChildKey);
- };
- struct TUnlockOptions
- {
-
- using TSelf = TUnlockOptions;
-
- };
- template <class TDerived>
- struct TTabletOptions
- {
-
- using TSelf = TDerived;
-
-
- FLUENT_FIELD_OPTION(i64, FirstTabletIndex);
-
- FLUENT_FIELD_OPTION(i64, LastTabletIndex);
- };
- struct TMountTableOptions
- : public TTabletOptions<TMountTableOptions>
- {
-
- using TSelf = TMountTableOptions;
-
-
- FLUENT_FIELD_OPTION(TTabletCellId, CellId);
-
- FLUENT_FIELD_DEFAULT(bool, Freeze, false);
- };
- struct TUnmountTableOptions
- : public TTabletOptions<TUnmountTableOptions>
- {
-
- using TSelf = TUnmountTableOptions;
-
-
- FLUENT_FIELD_DEFAULT(bool, Force, false);
- };
- struct TRemountTableOptions
- : public TTabletOptions<TRemountTableOptions>
- { };
- struct TReshardTableOptions
- : public TTabletOptions<TReshardTableOptions>
- { };
- struct TFreezeTableOptions
- : public TTabletOptions<TFreezeTableOptions>
- { };
- struct TUnfreezeTableOptions
- : public TTabletOptions<TUnfreezeTableOptions>
- { };
- struct TAlterTableOptions
- {
-
- using TSelf = TAlterTableOptions;
-
-
- FLUENT_FIELD_OPTION(TTableSchema, Schema);
-
- FLUENT_FIELD_OPTION(bool, Dynamic);
-
-
-
-
- FLUENT_FIELD_OPTION(TReplicaId, UpstreamReplicaId);
- };
- struct TLookupRowsOptions
- {
-
- using TSelf = TLookupRowsOptions;
-
-
- FLUENT_FIELD_OPTION(TDuration, Timeout);
-
- FLUENT_FIELD_OPTION(TColumnNames, Columns);
-
-
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, KeepMissingRows, false);
-
- FLUENT_FIELD_OPTION(bool, Versioned);
- };
- struct TSelectRowsOptions
- {
-
- using TSelf = TSelectRowsOptions;
-
-
- FLUENT_FIELD_OPTION(TDuration, Timeout);
-
-
-
-
- FLUENT_FIELD_OPTION(i64, InputRowLimit);
-
-
-
-
- FLUENT_FIELD_OPTION(i64, OutputRowLimit);
-
-
-
-
- FLUENT_FIELD_DEFAULT(ui64, RangeExpansionLimit, 1000);
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, FailOnIncompleteResult, true);
-
- FLUENT_FIELD_DEFAULT(bool, VerboseLogging, false);
- FLUENT_FIELD_DEFAULT(bool, EnableCodeCache, true);
- };
- struct TCreateClientOptions
- {
-
- using TSelf = TCreateClientOptions;
-
-
-
-
- FLUENT_FIELD_OPTION(TString, ImpersonationUser);
-
-
-
- FLUENT_FIELD(TString, Token);
-
-
-
-
-
-
-
-
-
-
- FLUENT_FIELD(TString, TokenPath);
-
-
-
-
-
-
-
-
- NAuth::IServiceTicketAuthPtrWrapperPtr ServiceTicketAuth_ = nullptr;
- TSelf& ServiceTicketAuth(const NAuth::IServiceTicketAuthPtrWrapper& wrapper);
-
-
- FLUENT_FIELD_DEFAULT(bool, TvmOnly, false);
-
-
-
- FLUENT_FIELD_OPTION(bool, UseTLS);
-
- FLUENT_FIELD_DEFAULT(bool, UseCoreHttpClient, false);
-
-
-
-
- FLUENT_FIELD_DEFAULT(IRetryConfigProviderPtr, RetryConfigProvider, nullptr);
-
-
-
-
-
- FLUENT_FIELD_DEFAULT(TConfigPtr, Config, nullptr);
-
- FLUENT_FIELD_OPTION(TString, ProxyAddress);
- };
- struct TExecuteBatchOptions
- {
-
- using TSelf = TExecuteBatchOptions;
-
-
-
-
-
- FLUENT_FIELD_OPTION(ui64, Concurrency);
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(ui64, BatchPartMaxSize);
- };
- enum class EDurability
- {
-
- Sync ,
-
- Async ,
- };
- enum class EAtomicity
- {
-
- None ,
-
- Full ,
- };
- enum class ETableReplicaMode
- {
- Sync ,
- Async ,
- };
- template <typename TDerived>
- struct TTabletTransactionOptions
- {
-
- using TSelf = TDerived;
-
-
-
-
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(EAtomicity, Atomicity);
-
-
-
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(EDurability, Durability);
- };
- struct TInsertRowsOptions
- : public TTabletTransactionOptions<TInsertRowsOptions>
- {
-
-
-
-
-
- FLUENT_FIELD_OPTION(bool, Update);
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(bool, Aggregate);
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(bool, RequireSyncReplica);
- };
- struct TDeleteRowsOptions
- : public TTabletTransactionOptions<TDeleteRowsOptions>
- {
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(bool, RequireSyncReplica);
- };
- struct TTrimRowsOptions
- : public TTabletTransactionOptions<TTrimRowsOptions>
- { };
- struct TAlterTableReplicaOptions
- {
-
- using TSelf = TAlterTableReplicaOptions;
-
-
-
-
-
- FLUENT_FIELD_OPTION(bool, Enabled);
-
-
-
-
- FLUENT_FIELD_OPTION(ETableReplicaMode, Mode);
- };
- struct TGetFileFromCacheOptions
- {
-
- using TSelf = TGetFileFromCacheOptions;
-
- };
- struct TPutFileToCacheOptions
- {
-
- using TSelf = TPutFileToCacheOptions;
-
-
- FLUENT_FIELD_OPTION(bool, PreserveExpirationTimeout);
- };
- enum class EPermission : int
- {
-
- Read ,
-
- Write ,
-
- Use ,
-
- Administer ,
-
- Create ,
-
- Remove ,
-
- Mount ,
-
- Manage ,
- };
- enum class ESecurityAction : int
- {
-
- Allow ,
-
- Deny ,
- };
- struct TCheckPermissionOptions
- {
-
- using TSelf = TCheckPermissionOptions;
-
-
- FLUENT_VECTOR_FIELD(TString, Column);
- };
- enum class EColumnarStatisticsFetcherMode
- {
-
- FromNodes ,
-
-
-
-
-
-
- FromMaster ,
-
- Fallback ,
- };
- struct TGetTableColumnarStatisticsOptions
- {
-
- using TSelf = TGetTableColumnarStatisticsOptions;
-
-
-
-
-
- FLUENT_FIELD_OPTION(EColumnarStatisticsFetcherMode, FetcherMode);
- };
- enum class ETablePartitionMode
- {
-
-
-
- Unordered ,
-
-
-
- Ordered ,
- };
- struct TGetTablePartitionsOptions
- {
-
- using TSelf = TGetTablePartitionsOptions;
-
-
-
-
-
- FLUENT_FIELD(ETablePartitionMode, PartitionMode);
-
-
-
- FLUENT_FIELD(i64, DataWeightPerPartition);
-
-
-
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(int, MaxPartitionCount);
-
-
-
-
- FLUENT_FIELD_DEFAULT(bool, AdjustDataWeightPerPartition, true);
- };
- struct TGetTabletInfosOptions
- {
-
- using TSelf = TGetTabletInfosOptions;
-
- };
- struct TSkyShareTableOptions
- {
-
- using TSelf = TSkyShareTableOptions;
-
-
-
-
-
-
- FLUENT_FIELD_OPTION(TColumnNames, KeyColumns);
-
- FLUENT_FIELD_OPTION(bool, EnableFastbone);
- };
- }
|