Update Operating System

View as Markdown
Update an Operating System by ID If the Operating System has `infrastructureProviderId` set, then org must have an Infrastructure Provider entity and its ID should match the Operating System Infrastructure Provider ID. User must have authorization role with `PROVIDER_ADMIN` suffix. Provider must own the Operating System. If the Operating System has `tenantId` set, then org must have a Tenant entity and its ID should match the Operating System Tenant ID. User must have authorization role with `TENANT_ADMIN` suffix. Tenant must own the Operating System.

Authentication

AuthorizationBearer
``` export JWT_BEARER_TOKEN="<jwt-bearer-token>" # Example org name: "acme-inc export ORG_NAME=<org-name> # Use the JWT bearer token in your API request auth header: curl -v -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $JWT_BEARER_TOKEN" https://nico-rest-api.nico.svc.cluster.local/v2/org/$ORG_NAME/nico/user/current ```

Path parameters

orgstringRequired
Name of the Org
operatingSystemIdstringRequired
ID of the Operating System

Request

This endpoint expects an object.
namestring or nullOptional2-256 characters
Name of the Operating System
descriptionstring or nullOptional
Optional description of the Operating System
ipxeScriptstring or nullOptional

iPXE script or URL, only applicable for iPXE-based OS. Cannot be specified if imageUrl is specified

imageUrlstring or nullOptionalformat: "uri"

Original URL from which the Operating System image can be retrieved. Immutable after creation: it may be re-sent unchanged, but changing it is rejected. Create a new Operating System to use a different image.

imageShastring or nullOptional

SHA hash of the image file. Immutable after creation: it may be re-sent unchanged, but changing it is rejected.

imageAuthTypestring or nullOptional

Authentication type for image URL, if needed, e.g., basic/bearer/token; required if imageAuthToken is specified. Can be updated independently without re-sending imageUrl/imageSha.

imageAuthTokenstring or nullOptional

Auth token to retrieve the image from image URL, required if imageAuthType is specified. Can be updated independently without re-sending imageUrl/imageSha.

imageDiskstring or nullOptionalformat: "^(|smallest|/dev/(nvme[0-9]+n[0-9]+|[sv]d[a-z]+|disk/by-id/[^/\s]+))$"

Optional whole-disk target that will be overwritten with the image. Accepts smallest, /dev/nvme<controller>n<namespace>, /dev/sd<letters>, /dev/vd<letters>, or /dev/disk/by-id/<identifier>. smallest selects the smallest enumerated whole disk, preferring one with an EFI partition to break a size tie. Partition aliases ending in -part<digits> are rejected. Omitting this field or sending null preserves the current value. Sending an explicit empty string clears the value and restores automatic selection: prefer a disk with an EFI partition, then fall back to /dev/nvme0n1 or /dev/sda.

rootFsIdstring or nullOptional

Root filesystem UUID; this or rootFsLabel is required for image-based OS

rootFsLabelstring or nullOptional

Root filesystem label; this or rootFsId is required for image-based OS

phoneHomeEnabledboolean or nullOptional
Indicates whether the Phone Home service should be enabled or disabled for Operating System
userDatastring or nullOptional

User data for the Operating System. Limited to 32768 bytes (32 KiB), measured on the effective value NICo stores rather than the text submitted. Operating System defaults are inherited first, and when phone-home is configured the document is re-serialized with a phone_home block added. Re-serialization normalizes indentation and can grow the document, so a request just under the limit may still be rejected.

allowOverrideboolean or nullOptional
Indicates if the user data can be overridden at Instance creation time
isActiveboolean or nullOptional
Indicates if the Operating System is active
deactivationNotestring or nullOptional
Optional deactivation note if OS is inactive
ipxeTemplateIdstring or nullOptional

ID of the iPXE template to use (Templated iPXE only). Mutually exclusive with ipxeScript and imageUrl.

ipxeTemplateParameterslist of objectsOptional

Parameters passed to the iPXE template (Templated iPXE only).

ipxeTemplateArtifactslist of objectsOptional

Artifacts (kernel, initrd, ISO, …) for the iPXE OS definition (Templated iPXE only).

isCloudInitboolean or nullOptionalDeprecated

Deprecated and ignored: whether the Operating System is cloud-init based. Value now derived from userData.

Response

OK
idstringOptionalRead-onlyformat: "uuid"
ID of the Operating System
namestringOptional2-256 characters
Name of the Operating System
descriptionstring or nullOptional
Optional description of the Operating System
infrastructureProviderIdstring or nullOptionalformat: "uuid"
Specified if a Provider owns the Operating System
tenantIdstring or nullOptionalformat: "uuid"
Specified if a Tenant owns the Operating System
typeenumOptional
Type of the Operating System
imageUrlstring or nullOptionalformat: "uri"
Original URL from which the Operating System image can be retrieved
imageShastring or nullOptional

SHA hash of the image file, only present for image-based OS

imageAuthTypestring or nullOptional
Authentication type for image URL, e.g., 'Basic' or 'Bearer'
imageAuthTokenstring or nullOptional
Auth token to retrieve the image from image URL
imageDiskstring or nullOptionalformat: "^(|smallest|/dev/(nvme[0-9]+n[0-9]+|[sv]d[a-z]+|disk/by-id/[^/\s]+))$"

Whole-disk target that will be overwritten with the image. Accepts smallest, /dev/nvme<controller>n<namespace>, /dev/sd<letters>, /dev/vd<letters>, or /dev/disk/by-id/<identifier>. smallest selects the smallest enumerated whole disk, preferring one with an EFI partition to break a size tie. Partition aliases ending in -part<digits> are rejected. An empty stored value means the Site prefers a disk with an EFI partition, then falls back to /dev/nvme0n1 or /dev/sda.

rootFsIdstring or nullOptional

Root filesystem UUID, only applicable for image-based Operating System

rootFsLabelstring or nullOptional

Root filesystem label, only applicable for image-based Operating System

ipxeScriptstring or nullOptional

iPXE script or URL, only applicable for iPXE-based Operating System

ipxeTemplateIdstring or nullOptional
ID of the iPXE template used, only present for Templated iPXE Operating System
ipxeTemplateParameterslist of objectsOptional

Parameters passed to the iPXE template (Templated iPXE only)

ipxeTemplateArtifactslist of objectsOptional

Artifacts for the iPXE OS definition (Templated iPXE only). authToken is redacted.

userDatastring or nullOptional
User data for the Operating System
isCloudInitbooleanOptional

Whether the Operating System is cloud-init based; true if there is non-empty userData, false otherwise.

phoneHomeEnabledbooleanOptional
Indicates whether the Phone Home service should be enabled or disabled for Operating System
isActivebooleanOptional
Indicates if the Operating System is active
deactivationNotestring or nullOptional
Optional deactivation note if OS is inactive
allowOverridebooleanOptional
Indicates if the user data can be overridden at Instance creation time
siteAssociationslist of objectsOptional
Sites the Operating System is synced to
statusenumOptional
Status of the Operating System
statusHistorylist of objectsOptional
History of status changes over time
createddatetimeOptionalRead-only

Date/time when the Operating System was created

updateddatetimeOptionalRead-only

Date/time when the Operating System was updated

Errors

400
Bad Request Error
403
Forbidden Error