c8y(1)

πŸ“¦ version 2.56.1, in nixpkgs unstable

πŸ’– c8y(1): register-external-ca, bestie edition πŸ’–

okay so welcome to the c8y(1) manual page for this command, and honestly? It’s giving β€œcertificates but make it cute.” We’re talking about c8y-deviceregistration-register-external-ca, and yes, every single flag is coming with us. No cap. πŸŽ€


🌸 NAME 🌸

c8y-deviceregistration-register-external-ca β€” Register device with an x509 certificate from an external certificate authority

✨ SYNOPSIS ✨

c8y deviceregistration register-external-ca [flags]

πŸ¦‹ DESCRIPTION πŸ¦‹

The certificate should already be issued to the device by the external CA, and the CA certificate should be added to Cumulocity as a Trusted Certificate. That’s the whole vibe check. πŸ’…

This is required when the Trusted Certificate has the autoRegistration setting disabled, so it will require a device to be registered with the platform before the certificate is accepted by Cumulocity. Important little caveat, bestie β€” don’t skip it. 🫢

πŸŽ€ OPTIONS πŸŽ€

  • -d, --data=[] β€” static data to be applied to body. accepts json or shorthand json, i.e. --data 'value1=1,my.nested.value=100'
  • --external-type="c8y_Serial" β€” The type of the external ID. If IDTYPE doesn't appear in the file, the default value is used. The default value is c8y_Serial
  • --group="" β€” The path in the groups hierarchy where the device is added. PATH contains the name of each group separated by /, that is: main_group/sub_group/.../last_sub_group. If a group does not exist, the import creates the group
  • -h, --help[=false] β€” help for register-external-ca
  • --iccid="" β€” The ICCID of the device (SIM card number). If the ICCID appears in file, the import adds a fragment c8y_Mobile.iccid.
  • --id=[] β€” Device identifier. Max: 1000 characters. E.g. IMEI (required) (accepts pipeline)
  • --name="" β€” Device name. Defaults to the external id
  • --processingMode="" β€” Cumulocity processing mode
  • --template="" β€” Body template
  • --templateVars=[] β€” Body template variables
  • --tenant="" β€” The ID of the tenant for which the registration is executed (only allowed for the management tenant)
  • --type="thin-edge.io" β€” Device type

🧬 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 🌈

$ c8y deviceregistration register-external-ca --id "ASDF098SD1J10912UD92JDLCNCU8"
Register a new device which which is signed by an external ca

$ echo -e "device1\ndevice2" | c8y deviceregistration register-external-ca --type linux --template "{name: input.value}"
Register 2 devices, and set the names based on their external id (using CERTIFICATES auth)

πŸ‘‘ SEE ALSO πŸ‘‘

c8y-deviceregistration(1)


Signing off from the c8y(1) manual page, dated Jan 1980 β€” stay registered, stay iconic, and may your certificates always be trusted. πŸ’œβœ¨

πŸ“¦ where this page comes from