c8y(1)
π c8y(1) β the operations-assert-count 411
okay so bestie, you're looking at the c8y(1) manual, and specifically the page for c8y-operations-assert-count. yes it's a mouthful, no you're not gonna say it out loud. let's go π
β¨ NAME β¨
c8y-operations-assert-count β literally just asserts an operation count. that's it. that's the whole vibe check π¦
β¨ SYNOPSIS β¨
c8y operations assert count [flags]
β¨ DESCRIPTION β¨
okay so the whole point: this command checks that a device has a specific amount of operations, and then it passes your input through completely untouched. like a bouncer who checks your ID and then just... lets you walk in π
if the assertion is true, the input value β whether that's from stdin or an explicit argument value β gets passed untouched to stdout. and why do we care? because it's lowkey iconic for filtering a list of devices by whether they have a specific entity count, and then feeding those results into some downstream command (in the pipeline, bestie, in the pipeline π«Ά).
real talk: by default, a failed assertion will not set the exit code to a non-zero value. so the command "fails" but the exit code is like π everything's fine. if you actually want a non-zero exit code in that case, use the --strict option. that's the whole tea β
β¨ OPTIONS β¨
--attempts=-1β number of attempts before giving up, per id (-1= unlimited, go off king π)--bulkOperationId=""β bulk operation id. only retrieve operations related to the given bulk operation.--dateFrom=""β start date or date and time of operation.--dateTo=""β end date or date and time of operation.--device=[]β the ManagedObject which is the source of this event. (accepts pipeline π«Ά)--duration="30s"β timeout duration. like30sor1m(that's 1 minute, bestie)--fragmentType=""β the type of fragment that must be part of the operation. i.e.c8y_Restart-h,--help[=false]β help forcount--interval="5s"β interval to check on the status, i.e.10sor1min--maximum=-1β maximum operation count (inclusive). a value of-1disables this check entirely β¨--minimum=-1β minimum operation count (inclusive). a value of-1disables this check entirely β¨--status=""β operation status, can be one ofSUCCESSFUL,FAILED,EXECUTINGorPENDING.--strict[=false]β strict mode, fail if no match is found (the drama is the point π)
β¨ OPTIONS INHERITED FROM PARENT COMMANDS β¨
look bestie, these aren't even this command's options, they're inherited from the parent commands. but they're still here, and we're still covering every single one. no cap πΈ
--abortOnErrors=10β abort batch when reaching specified number of errors--allowEmptyPipe[=false]β don't fail when piped input is empty (stdin)--cache[=false]β enable cached responses--cacheBodyPaths=[]β cache should limit hashing of selected paths in the json body. empty indicates all values--cacheTTL="60s"β cache time-to-live (TTL) as a duration, i.e.60s,2m-c,--compact[=false]β compact instead of pretty-printed output when using json output. pretty print is the default if output is the terminal--confirm[=false]β prompt for confirmation--confirmText=""β custom confirmation text--currentPage=0β current page which should be returned--customQueryParam=[]β add custom URL query parameters. i.e.--customQueryParam 'withCustomOption=true,myOtherOption=myvalue'--debug[=false]β set very verbose log messages--delay="0ms"β delay after each request, i.e.5ms,1.2s--delayBefore="0ms"β delay before each request, i.e.5ms,1.2s--dry[=false]β dry run. don't send any data to the server--dryFormat="markdown"β dry run output format. i.e.json,dump,markdownorcurl--examples[=false]β show examples for the current command--filter=[]β apply a client side filter to response before returning it to the user--flatten[=false]β flatten json output by replacing nested json properties with properties where their names are represented by dot notation-f,--force[=false]β do not prompt for confirmation. ignored when using--confirm-H,--header=[]β custom headers. i.e.--header "Accept: value, AnotherHeader: myvalue"--includeAll[=false]β include all results by iterating through each page-k,--insecure[=false]β allow insecure server connections when using SSL-l,--logMessage=""β add custom message to the activity log--maxJobs=0β maximum number of jobs.0= unlimited (use with caution! β οΈ)--noAccept[=false]β ignore Accept header will remove the Accept header from requests, however PUT and POST requests will only see the effect--noCache[=false]β force disabling of cached responses (overwrites cache setting)-M,--noColor[=false]β don't use colors when displaying log entries on the console--noLog[=false]β disables the activity log for the current command--noProgress[=false]β disable progress bars--noProxy[=false]β ignore the proxy settings-n,--nullInput[=false]β don't read the input (stdin). useful if using in shellfor/whileloops-o,--output="table"β output format i.e.table,json,csv,csvheader--outputFile=""β save JSON output to file (after select/view)--outputFileRaw=""β save raw response to file (before select/view)--outputTemplate=""β jsonnet template to apply to the output-p,--pageSize=5β maximum results per page--progress[=false]β show progress bar. this will also disable any other verbose output--proxy=""β proxy setting, i.e.http://10.0.0.1:8080-r,--raw[=false]β show raw response. this mode will forceoutput=jsonandview=off--retries=3β max number of attempts when a failed http call is encountered--select=[]β comma separated list of properties to return. wildcards and globstar accepted, i.e.--select 'id,name,type,**.serialNumber'--session=""β session configuration--sessionMode=""β override default session mode for a single command which would normally be disabled-P,--sessionPassword=""β override session password-U,--sessionUsername=""β override session username. i.e.peterort1234/peter(with tenant)--silentExit[=false]β silent status codes do not affect the exit code--silentStatusCodes=""β status codes which will not print out an error message--timeout="600s"β request timeout duration, i.e.60s,2m--totalPages=0β total number of pages to get-v,--verbose[=false]β verbose logging--view="auto"β use views when displaying data on the terminal. disable using--view off--withError[=false]β errors will be printed on stdout instead of stderr--withTotalElements[=false]β request Cumulocity to include the total elements in the response statistics under.statistics.totalElements(introduced in 10.13)-t,--withTotalPages[=false]β request Cumulocity to include the total pages in the response statistics under.statistics.totalPages--workers=1β number of workers
β¨ EXAMPLE β¨
okay these examples are genuinely giving main character energy, watch this π¬
$ c8y operations assert count --device 1234 --minimum 1
# => 1234 (if the ID exists)
# => <no response> (if the ID does not exist)
# Assert that a device exists, and has at least 1 operation
that one's the "does this device even exist and does it have at least one operation" check. simple, effective, slay β¨
$ c8y operations assert count --device 1234 --minimum 5 --maximum 10 --dateFrom -1d --strict
# Assert that the device with id=1111 should have between 5 and 10 operations (inclusive) in the last day
# Return an error if not
okay so this one has a range (5 to 10, inclusive bestie, don't forget inclusive) and it's looking at the last day, and it's --strict so it will actually throw hands if it doesn't match. yes the comment says id=1111 while the flag says 1234 β that's the original's business, not mine, I'm just the messenger π
$ c8y devices list | c8y operations assert count --maximum 0 --dateFrom -7d
# Find a list of devices which have not created any operations in the last 7 days
pipeline queen π β list 'em, then filter down to the ones that have been absolute ghosts for the last 7 days. --maximum 0 meaning zero operations allowed, a true nothing-burger detector.
β¨ SEE ALSO β¨
c8y-operations-assert(1) β go read that one next, bestie π«Ά
and that's the page!! this little gem came from the c8y manual, dated Jan 1980 (yes, literally Jan 1980, the vintage of it all π), and it's page c8y(1) in the man set. mwah, go assert some counts ππ¦β¨
π¦ where this page comes from
- nixpkgs unstable: go-c8y-cli 2.56.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms