c8y(1)

πŸ“¦ version 2.56.1, in nixpkgs unstable

πŸ¦‹ c8y(1) β€” util repeat πŸ¦‹

okay so bestie, welcome to c8y(1), specifically the manual page for c8y-util-repeat. This is the repeat tool. It repeats stuff. Iconic behavior, honestly.

✨ NAME ✨

c8y-util-repeat β€” repeat input. That's the assignment. Slay.

πŸŽ€ SYNOPSIS πŸŽ€

c8y util repeat [flags]

πŸ’– DESCRIPTION πŸ’–

Generic utility to repeat input values x times. Lowkey simple, highkey useful. Periodt.

πŸ’… OPTIONS πŸ’…

  • --first=0 β€” only include first x lines. 0 = all lines.
  • --format="%s" β€” format string to be applied to each input line.
  • -h, --help[=false] β€” help for repeat.
  • --infinite[=false] β€” repeat infinitely. You will need to Ctrl+C it to stop it.
  • --input="" β€” input value to be repeated (required) (accepts pipeline).
  • --max=1 β€” max number of (randomized) times to repeat the input (inclusive). 0 = no output.
  • --min=1 β€” min number of (randomized) times to repeat the input (inclusive).
  • --offset=0 β€” offset the output index counter. default = 0.
  • --randomDelayMax="0ms" β€” random maximum delay after each request, i.e. 5ms, 1.2s. It must be >= randomDelayMin. 0 = disabled.
  • --randomDelayMin="0ms" β€” random minimum delay after each request, i.e. 5ms, 1.2s. It must be less than randomDelayMax. 0 = disabled.
  • --randomSkip=-1 β€” randomly skip line based on a percentage, probability as a float: 0 to 1, 1 = always skip, 0 = never skip, -1 = disabled.
  • --skip=0 β€” skip first x input lines.
  • --times=1 β€” number of times to repeat the input.
  • --useLineCount[=false] β€” use line count for the index instead of repeat counter.

🌈 OPTIONS INHERITED FROM PARENT COMMANDS 🌈

  • --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, markdown or curl.
  • --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 shell for/while loops.
  • -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 force output=json and view=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. peter or t1234/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 are the examples, bestie. Run them exactly, no cap.

Repeat input value "my name" 5 times:

$ c8y util repeat 5 --input "my name"

Repeat input value "my name" 2 times (using pipeline):

$ echo "my name" | c8y util repeat 2 --format "my prefix - %s"
     => my prefix - my name
     => my prefix - my name

Repeat input value "device" 2 times (using pipeline):

$ echo "device" | c8y util repeat 2 --offset 100 --format "%s %05s"
     => device 00101
     => device 00102

Use repeat to create an infinite loop, to check the health of a microservice waiting 1 seconds after each request:

$ c8y util repeat --infinite | c8y api --url "/service/report-agent/health" --raw --delay 1s

Combine two calls to iterate over 3 devices twice. This can then be used to input into other c8y commands:

$ echo "device" | c8y util repeat 2 | c8y util repeat 3 --format "%s_%s"
     => device_1
     => device_2
     => device_3
     => device_1
     => device_2
     => device_3

Get a device, then repeat it 5 times in order to create 5 events for it (delaying 1000 ms between each event creation):

$ c8y devices get --id 1235 | c8y util repeat 5 | c8y events create --text "test event" --type "myType" --dry --delay 1000ms

Create 10 events for the same device and use a random delay between 1000ms and 10000ms between the creation of each event:

$ c8y devices get --id 1234 | c8y util repeat 5 --randomDelayMin 1000ms --randomDelayMax 10000ms -v | c8y events create --text "test event" --type "myType"

Print "test" 5 times waiting between 0s and 10s after each line:

$ echo "test" | c8y util repeat 5 --randomDelayMax 10000ms -v

Print "test" 5 times waiting exactly 5 seconds after each line:

$ echo "test" | c8y util repeat 5 --randomDelayMin 5s -v

Print "test" a random number of times, between 1 to 10 times (inclusive):

$ echo "test" | c8y util repeat --min 1 --max 10

🧚 SEE ALSO 🧚


That's the whole c8y(1) manual, bestie β€” Jan 1980 edition. Go repeat something iconic πŸ’…βœ¨

πŸ“¦ where this page comes from