260 lines
8.8 KiB
Markdown
260 lines
8.8 KiB
Markdown
# Entity Definitions
|
|
|
|
## Target
|
|
|
|
Targets represent devices or software instances that can receive software updates.
|
|
|
|
**Filterable/Sortable Fields:**
|
|
|
|
| Field | Description | Type |
|
|
|----------------------------------|----------------------------------------------------------------------|------|
|
|
| controllerId | Unique identifier of the target | String |
|
|
| name | Display name | String |
|
|
| description | Description text | String |
|
|
| updateStatus | Current update status (UNKNOWN, IN_SYNC, PENDING, ERROR, REGISTERED) | Enum |
|
|
| address | IP address or URI | String |
|
|
| lastTargetQuery | Last time the target polled (timestamp in ms) | Long |
|
|
| createdAt | Creation timestamp | Long |
|
|
| createdBy | Creator username | String |
|
|
| lastModifiedAt | Last modification timestamp | Long |
|
|
| lastModifiedBy | Last modifier username | String |
|
|
| assignedDistributionSet.name | Name of assigned distribution set | String |
|
|
| assignedDistributionSet.version | Version of assigned distribution set | String |
|
|
| installedDistributionSet.name | Name of installed distribution set | String |
|
|
| installedDistributionSet.version | Version of installed distribution set | String |
|
|
| targetType.key | Target type key | String |
|
|
| targetType.name | Target type name | String |
|
|
| tags.name | Tag name | String |
|
|
| group | Group name | String |
|
|
| metadata.<key> | Metadata value by key | String |
|
|
| controllerAttributes.<key> | Controller attribute by key | String |
|
|
|
|
**Example Queries:**
|
|
```
|
|
# Find targets with update errors
|
|
updateStatus==ERROR
|
|
|
|
# Find targets by name pattern
|
|
name==device-*
|
|
|
|
# Find targets with specific distribution set assigned
|
|
assignedDistributionSet.name==Firmware;assignedDistributionSet.version==2.0.0
|
|
|
|
# Find targets that haven't polled in 24 hours (timestamp example)
|
|
lastTargetQuery=lt=1704067200000
|
|
|
|
# Find targets by tag
|
|
tags.name==production
|
|
|
|
# Find targets by metadata
|
|
metadata.location==factory-A
|
|
|
|
# Find targets by controller attribute
|
|
controllerAttributes.firmware_version==1.2.3
|
|
```
|
|
|
|
---
|
|
|
|
## Distribution Set
|
|
|
|
Distribution Sets are collections of software modules that can be deployed to targets.
|
|
|
|
**Filterable/Sortable Fields:**
|
|
|
|
| Field | Description | Type |
|
|
|-------|-------------|------|
|
|
| id | Unique identifier | Long |
|
|
| name | Distribution set name | String |
|
|
| version | Version string | String |
|
|
| description | Description text | String |
|
|
| type.key | Distribution set type key | String |
|
|
| type.name | Distribution set type name | String |
|
|
| valid | Whether the DS is valid for deployment | Boolean |
|
|
| createdAt | Creation timestamp | Long |
|
|
| createdBy | Creator username | String |
|
|
| lastModifiedAt | Last modification timestamp | Long |
|
|
| lastModifiedBy | Last modifier username | String |
|
|
| tags.name | Tag name | String |
|
|
| modules.name | Software module name | String |
|
|
| metadata.<key> | Metadata value by key | String |
|
|
|
|
**Example Queries:**
|
|
```
|
|
# Find distribution sets by name
|
|
name==Firmware*
|
|
|
|
# Find valid distribution sets only
|
|
valid==true
|
|
|
|
# Find by type
|
|
type.key==os_app
|
|
|
|
# Find by tag
|
|
tags.name==release-candidate
|
|
|
|
# Find distribution sets containing a specific module
|
|
modules.name==bootloader
|
|
```
|
|
|
|
---
|
|
|
|
## Rollout
|
|
|
|
Rollouts are used to deploy software to groups of targets in a controlled manner.
|
|
|
|
**Filterable/Sortable Fields:**
|
|
|
|
| Field | Description | Type |
|
|
|-------|-------------|------|
|
|
| id | Unique identifier | Long |
|
|
| name | Rollout name | String |
|
|
| description | Description text | String |
|
|
| status | Rollout status (CREATING, READY, PAUSED, STARTING, RUNNING, FINISHED, etc.) | Enum |
|
|
| distributionSet.id | Distribution set ID | Long |
|
|
| distributionSet.name | Distribution set name | String |
|
|
| distributionSet.version | Distribution set version | String |
|
|
| distributionSet.type | Distribution set type | String |
|
|
| createdAt | Creation timestamp | Long |
|
|
| createdBy | Creator username | String |
|
|
| lastModifiedAt | Last modification timestamp | Long |
|
|
| lastModifiedBy | Last modifier username | String |
|
|
|
|
**Example Queries:**
|
|
```
|
|
# Find running rollouts
|
|
status==RUNNING
|
|
|
|
# Find rollouts by name
|
|
name==Campaign*
|
|
|
|
# Find rollouts for a specific distribution set
|
|
distributionSet.name==Firmware;distributionSet.version==2.0.0
|
|
|
|
# Find finished or paused rollouts
|
|
status=in=(FINISHED,PAUSED)
|
|
```
|
|
|
|
---
|
|
|
|
## Action
|
|
|
|
Actions represent deployment operations assigned to targets.
|
|
|
|
**Filterable/Sortable Fields:**
|
|
|
|
| Field | Description | Type |
|
|
|-------|-------------|------|
|
|
| id | Unique identifier | Long |
|
|
| status | Action status (SCHEDULED, RUNNING, FINISHED, ERROR, CANCELED, etc.) | Enum |
|
|
| active | Whether the action is currently active | Boolean |
|
|
| weight | Priority weight (0-1000) | Integer |
|
|
| lastActionStatusCode | Last status code reported | Integer |
|
|
| externalRef | External reference string | String |
|
|
| target.controllerId | Target controller ID | String |
|
|
| target.name | Target name | String |
|
|
| target.updateStatus | Target update status | Enum |
|
|
| distributionSet.id | Distribution set ID | Long |
|
|
| distributionSet.name | Distribution set name | String |
|
|
| distributionSet.version | Distribution set version | String |
|
|
| rollout.id | Rollout ID | Long |
|
|
| rollout.name | Rollout name | String |
|
|
| rolloutGroup.id | Rollout group ID | Long |
|
|
| rolloutGroup.name | Rollout group name | String |
|
|
| createdAt | Creation timestamp | Long |
|
|
| createdBy | Creator username | String |
|
|
| lastModifiedAt | Last modification timestamp | Long |
|
|
| lastModifiedBy | Last modifier username | String |
|
|
|
|
**Example Queries:**
|
|
```
|
|
# Find active actions
|
|
active==true
|
|
|
|
# Find actions by status
|
|
status==RUNNING
|
|
|
|
# Find failed actions
|
|
status==ERROR
|
|
|
|
# Find actions for a specific target
|
|
target.controllerId==device-001
|
|
|
|
# Find actions for a specific rollout
|
|
rollout.name==Campaign2024
|
|
|
|
# Find high-priority actions
|
|
weight=gt=800
|
|
|
|
# Find actions with specific status code
|
|
lastActionStatusCode==200
|
|
```
|
|
|
|
---
|
|
|
|
## Software Module
|
|
|
|
Software Modules are individual software components that make up distribution sets.
|
|
|
|
**Filterable/Sortable Fields:**
|
|
|
|
| Field | Description | Type |
|
|
|-------|-------------|------|
|
|
| id | Unique identifier | Long |
|
|
| name | Module name | String |
|
|
| version | Version string | String |
|
|
| description | Description text | String |
|
|
| type.key | Software module type key | String |
|
|
| type.name | Software module type name | String |
|
|
| createdAt | Creation timestamp | Long |
|
|
| createdBy | Creator username | String |
|
|
| lastModifiedAt | Last modification timestamp | Long |
|
|
| lastModifiedBy | Last modifier username | String |
|
|
| metadata.<key> | Metadata value by key | String |
|
|
|
|
**Example Queries:**
|
|
```
|
|
# Find modules by name
|
|
name==bootloader*
|
|
|
|
# Find modules by type
|
|
type.key==os
|
|
|
|
# Find modules by version
|
|
version==2.0.*
|
|
|
|
# Find modules with specific metadata
|
|
metadata.checksum==abc123
|
|
```
|
|
|
|
---
|
|
|
|
## Target Filter Query
|
|
|
|
Target Filter Queries define RSQL filters for grouping targets, used for rollouts and auto-assignment.
|
|
|
|
**Filterable/Sortable Fields:**
|
|
|
|
| Field | Description | Type |
|
|
|-------|-------------|------|
|
|
| id | Unique identifier | Long |
|
|
| name | Filter name | String |
|
|
| autoAssignDistributionSet.name | Auto-assign DS name | String |
|
|
| autoAssignDistributionSet.version | Auto-assign DS version | String |
|
|
| createdAt | Creation timestamp | Long |
|
|
| createdBy | Creator username | String |
|
|
| lastModifiedAt | Last modification timestamp | Long |
|
|
| lastModifiedBy | Last modifier username | String |
|
|
|
|
**Example Queries:**
|
|
```
|
|
# Find filters by name
|
|
name==Production*
|
|
|
|
# Find filters with auto-assignment configured
|
|
autoAssignDistributionSet.name==*
|
|
|
|
# Find filters for a specific auto-assign distribution set
|
|
autoAssignDistributionSet.name==Firmware;autoAssignDistributionSet.version==2.0.0
|
|
```
|
|
|
|
--- |