signaloid-cli cores update
Update core configuration.
Synopsis
signaloid-cli cores update --core-id <id> [options]
Options
| Option | Required | Description |
|---|---|---|
--core-id <id> | Yes | Core ID to update |
--name <str> | No | New name |
--class <class> | No | New class: C0Pro, r7i, C0-microSD, C0-microSD-plus, C0-SD |
--microarchitecture <arch> | No | New microarchitecture: Athens, Rome, Jupiter, Mercury, Europa, Bypass, Reference, Native. Required to change an r7i core to another class. An r7i core takes only Native. |
--precision <n> | No | New precision. Power of two from 4 to 8,192 for Athens, Rome, Jupiter, Mercury, and Europa. Integer from 4 to 1,000,000 for Reference. Leave it out for Bypass, or pass 0. Required to change an r7i or Bypass core to a microarchitecture that takes a precision. |
--dependency-tracking <mode> | No | New dependency-tracking mode: None, Basic, Advanced. Required when the stored mode does not suit the new microarchitecture and that microarchitecture accepts more than one mode. |
--memory <n> | No | Can be ignored. The Signaloid Cloud Compute Engine sets the memory size from the core class, so the CLI does not send this value and prints a warning. |
Description
The cores update command modifies the configuration of an existing custom
core. You can update one or more properties, including the name, class,
microarchitecture, precision, and dependency-tracking mode. Only the
properties you specify change. All other properties keep their stored values.
The same rules apply as for cores create.
Changing to or from the r7i class
- Changing a core to
r7isets its microarchitecture toNativeand drops its precision and dependency tracking. The CLI rejects a--microarchitectureother thanNative, a--precisionother than0, or a--dependency-trackingother thanNonefor anr7icore. - Changing an
r7icore to another class needs--microarchitecture, becauseNativesuits no other class, and--precisionunless the new microarchitecture isBypass.
Changing to or from Bypass
- A
Bypasscore always has a precision of0and a dependency tracking mode ofNone. Changing a core toBypasssets them, and the CLI rejects a--precisionother than0or a--dependency-trackingother thanNone. - Changing a
Bypasscore to another microarchitecture needs--precision, because a precision of0suits no other microarchitecture.
Dependency tracking
If you leave out --dependency-tracking, the CLI keeps the stored value as long
as the core's new microarchitecture accepts it.
If the microarchitecture does not accept the stored value:
- If the microarchitecture accepts only one value, the CLI uses that value, i.e.,
AdvancedforJupiter,Mercury, andEuropa,NoneforBypassandReference. - If it accepts more than one value, the CLI reports a usage error (exit code
2) and asks for--dependency-tracking. For example, changing aJupitercore toAthensneeds--dependency-trackingset toNoneorBasic.
Older cores
- A core that still has the retired
C0class can only be updated together with--class, for exampleC0Pro, which replaced it. - A core that still has the retired
Atlasmicroarchitecture can only be updated together with--microarchitecture, for exampleRome, which replaced it.
The CLI reports a missing --class or --microarchitecture in these cases as
a usage error (exit code 2) before sending the update.
Examples
Update microarchitecture and dependency tracking of core core_abc123:
signaloid-cli cores update \
--core-id core_abc123 \
--microarchitecture Rome \
--dependency-tracking Basic
Migrate a core with the retired C0 class:
signaloid-cli cores update --core-id core_abc123 --class C0Pro
Change a core to the r7i class:
signaloid-cli cores update \
--core-id core_abc123 \
--class r7i \
--microarchitecture Native
Notes
- Only custom cores can be updated. Default cores cannot be modified
- All options except
--core-idare optional - Only the specified properties will be updated
- Validation rules apply to all updated properties (same as create)
Troubleshooting
"Core not found" Error
Problem: Cannot access specified core for updating.
Solutions:
- Verify the core ID is correct
- Check if the core still exists:
signaloid-cli cores list - Ensure you have permissions to modify the core
"Cannot update default core" Error
Problem: Attempting to update a system default core.
Solutions:
- Default cores cannot be modified
- Create a custom core with your desired configuration instead
See Also
- signaloid-cli cores - Cores overview
- signaloid-cli cores get - Get core details
- signaloid-cli cores create - Create a custom core
- signaloid-cli cores delete - Delete a custom core