Pool Models
12 min
the pools sdk surface contains one service and four pool specific models use this page when implementing typed wrappers, shared test utilities or generated integration code for the complete business flow, filter behavior and executable examples, see list pools docid\ fmklq2cpwgu4aursboufg type map purpose java node js service poolsapi poolsapi list request listpoolsrequest listpoolsrequest request builder listpoolsrequest builder listpoolsrequestbuilder filter key poolfilter poolfilter filter rule poolfilterrequest poolfilterrequest pool result pool pool paginated result pagedto\<pool> pagedto\<pool> poolsapi obtain the service from the client poolsapi poolsapi = client pools();const poolsapi = client pools(); the client memoizes this service repeated calls return the same service instance for the client lifetime java signature node js signature pagedto\<pool> list(listpoolsrequest request) list(request? listpoolsrequest) promise\<pagedto\<pool>> the java implementation accepts null and then creates a default listpoolsrequest prefer an explicit builder in customer code so pagination intent remains visible listpoolsrequest java api member signature behavior constructor new listpoolsrequest() creates empty filters and default sorting factory static builder builder() creates a request builder filters getter list\<poolfilterrequest> getfilters() returns an unmodifiable view filters setter void setfilters(list\<poolfilterrequest> filters) copies the list; null becomes empty sorting getter sorting getsorting() returns current sorting configuration sorting setter void setsorting(sorting sorting) uses default sorting when null node js shape interface listpoolsrequest { filters poolfilterrequest\[]; sorting sorting; } listpoolsrequestbuilder build() returns copied filter and sorting values so later builder changes do not mutate the built request listpoolsrequest builder method input result page(value) integer sets zero based sorting page size(value) integer sets sorting size sortby(value) string sets sorting sortby direction(value) sortdirection sets asc or desc addfilter(key, value, operation) pool filter components appends one rule filters(rules) filter collection replaces all rules build() none returns listpoolsrequest default sorting is { "page" 0, "size" 20, "sortby" "id", "direction" "desc" } poolfilter sdk version 1 0 0 defines one pool filter poolfilter name its wire key is name and its value is a pool name string filter operations are searchoperation equal searchoperation not equal searchoperation greater than searchoperation less than review the list pools filter section docid\ fmklq2cpwgu4aursboufg before using filters because java and node js 1 0 0 transport behavior differs poolfilterrequest java api member signature constructor new poolfilterrequest() factory static poolfilterrequest of(poolfilter key, object value, searchoperation operation) key getter/setter getkey() / setkey(poolfilter key) value getter/setter getvalue() / setvalue(object value) operation getter/setter getoperation() / setoperation(searchoperation operation) node js shape interface poolfilterrequest { key (typeof poolfilter)\[keyof typeof poolfilter]; value unknown; operation searchoperationtype; } pool the result model intentionally contains only the pool identity interface pool { id string | null; name string | null; } java member node js member meaning new pool(string id, string name) object returned by sdk creates the immutable java value string id() pool id value passed as allocation devicepoolid string name() pool name customer facing pool name java pool is immutable and also implements value based equals( ) , hashcode() and tostring() pool does not contain devices, availability totals or allocation state retrieve devices through client devices() and reserve pool capacity through client allocations() related operations list pools docid\ fmklq2cpwgu4aursboufgfilter devices by pool docid\ t2lfrssg2mhohpoa4k26 create an allocation with devicepoolid docid\ spz n5rutgomdkrbjbb0l
