debian-image-builder-frontend/api/schema/edge.json
regexowl 855f1430ad api: Update pull.sh, regenerate schemas and fix errors
This adds missing schema links to the `pull.sh` script, pulls new schema definitions, re-generates schemas and updates the code where needed.
2025-07-03 10:01:15 +00:00

5919 lines
No EOL
227 KiB
JSON

{
"components": {
"schemas": {
"CheckThirdPartyRepoName": {
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/CheckThirdPartyRepoNameData"
}
],
"description": "The data of third party repository check name result"
}
},
"type": "object"
},
"CheckThirdPartyRepoNameData": {
"properties": {
"isValid": {
"description": "The indicator of third party repository name validity",
"example": false,
"type": "boolean"
}
},
"type": "object"
},
"Commit": {
"properties": {
"arch": {
"description": "The commit architecture",
"example": "x86_64",
"type": "string"
}
},
"type": "object"
},
"CustomPackages": {
"properties": {
"name": {
"description": "Name of custom packages",
"example": "cat",
"type": "string"
}
},
"type": "object"
},
"DeviceNotification": {
"properties": {
"application": {
"description": "application name",
"example": "edge-management",
"type": "string"
},
"bundle": {
"description": "bundle name",
"example": "rhel",
"type": "string"
},
"context": {
"description": "notification context payload data",
"example": "{\"CommitID\":\"31581\",\"UpdateID\":\"34916\"}",
"type": "string"
},
"event_type": {
"description": "event type",
"example": "update-devices",
"type": "string"
},
"events": {
"description": "notification events",
"items": {
"$ref": "#/components/schemas/EventNotification"
},
"type": "array"
},
"org_id": {
"description": "notification organization id",
"example": "11111111",
"type": "string"
},
"recipients": {
"description": "notification recipients",
"items": {
"$ref": "#/components/schemas/RecipientNotification"
},
"type": "array"
},
"timestamp": {
"description": "notification timestamp",
"example": "2023-07-06T11:15:04Z",
"type": "string"
},
"version": {
"description": "notification version",
"example": "v1.1.0",
"type": "string"
}
},
"type": "object"
},
"DevicesUpdate": {
"properties": {
"CommitID": {
"description": "Optional: The unique ID of the target commit",
"example": 1026,
"type": "integer"
},
"DevicesUUID": {
"description": "List of devices uuids to update",
"example": [
"b579a578-1a6f-48d5-8a45-21f2a656a5d4",
"1abb288d-6d88-4e2d-bdeb-fcc536be58ec"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"EventNotification": {
"properties": {
"payload": {
"description": "notification event payload",
"example": "{\"ID\":\"\"}",
"type": "string"
}
},
"type": "object"
},
"ImageResponse": {
"properties": {
"Account": {
"type": "string"
},
"Commit": {
"$ref": "#/components/schemas/models.Commit"
},
"CommitID": {
"type": "integer"
},
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"CustomPackages": {
"items": {
"$ref": "#/components/schemas/models.Package"
},
"type": "array"
},
"DeletedAt": {
"$ref": "#/components/schemas/gorm.DeletedAt"
},
"Description": {
"type": "string"
},
"Distribution": {
"type": "string"
},
"ID": {
"type": "integer"
},
"ImageSetID": {
"description": "TODO: Wipe staging database and set to not nullable",
"type": "integer"
},
"ImageType": {
"description": "TODO: Remove as soon as the frontend stops using",
"type": "string"
},
"Installer": {
"$ref": "#/components/schemas/models.Installer"
},
"InstallerID": {
"type": "integer"
},
"Name": {
"type": "string"
},
"OutputTypes": {
"items": {
"type": "string"
},
"type": "array"
},
"Packages": {
"items": {
"$ref": "#/components/schemas/models.Package"
},
"type": "array"
},
"Status": {
"type": "string"
},
"SystemsRunning": {
"description": "only for forms",
"type": "integer"
},
"ThirdPartyRepositories": {
"items": {
"$ref": "#/components/schemas/models.ThirdPartyRepo"
},
"type": "array"
},
"TotalPackages": {
"description": "only for forms",
"type": "integer"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"Version": {
"type": "integer"
},
"activationKey": {
"type": "string"
},
"org_id": {
"type": "string"
},
"request_id": {
"description": "storing for logging reference on resume",
"type": "string"
}
},
"type": "object"
},
"ImageValidationRequest": {
"properties": {
"ID": {
"description": "the unique ID of the image",
"example": 1029,
"type": "integer"
}
},
"type": "object"
},
"ImageValidationResponse": {
"properties": {
"UpdateValid": {
"example": true,
"type": "boolean"
}
},
"type": "object"
},
"RecipientNotification": {
"properties": {
"ignore_user_preferences": {
"description": "notification recipient to ignore user preferences",
"example": false,
"type": "boolean"
},
"only_admins": {
"description": "notification recipient for only admins",
"example": false,
"type": "boolean"
},
"users": {
"description": "notification recipient users",
"example": [
"user-id"
],
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"ThirdPartyRepo": {
"properties": {
"Description": {
"description": "The description of the third party repository",
"example": "a repo for some utilities",
"type": "string"
},
"ID": {
"description": "The unique ID of the third party repository",
"example": 1028,
"type": "integer"
},
"Name": {
"description": "The name of the third party repository",
"example": "my_custom_repo",
"type": "string"
},
"URL": {
"description": "The URL of the third party repository",
"example": "https://public.example.com/my_custom_repo",
"type": "string"
}
},
"type": "object"
},
"ThirdPartyRepoList": {
"properties": {
"count": {
"description": "The overall count of the stored third party repositories",
"example": 25,
"type": "integer"
},
"data": {
"description": "The data list of the third party repositories",
"items": {
"$ref": "#/components/schemas/ThirdPartyRepo"
},
"type": "array"
}
},
"type": "object"
},
"Update": {
"properties": {
"ChangesRefs": {
"description": "Whether this update is changing device ostree ref",
"example": false,
"type": "boolean"
},
"Commit": {
"allOf": [
{
"$ref": "#/components/schemas/models.UpdateCommitAPI"
}
],
"description": "The device Update target commit"
},
"Devices": {
"description": "The current devices to update",
"items": {
"$ref": "#/components/schemas/UpdateDevice"
},
"type": "array"
},
"DispatchRecords": {
"description": "The current update dispatcher records",
"items": {
"$ref": "#/components/schemas/UpdateDispatchRecord"
},
"type": "array"
},
"ID": {
"description": "The unique ID of device update",
"example": 1026,
"type": "integer"
},
"OldCommits": {
"description": "The device alternate commits from current device commit to target commit",
"items": {
"$ref": "#/components/schemas/models.UpdateCommitAPI"
},
"type": "array"
},
"Repo": {
"allOf": [
{
"$ref": "#/components/schemas/UpdateRepo"
}
],
"description": "The current repository built from this update"
},
"Status": {
"description": "the current devices update status",
"example": "BUILDING",
"type": "string"
}
},
"type": "object"
},
"UpdateDevice": {
"properties": {
"Connected": {
"description": "Is the device connected",
"example": true,
"type": "boolean"
},
"CurrentHash": {
"description": "the current device loaded commit hash",
"example": "0bd8dfe9856aa5bb1683e85f123bfe7785d45fbdb6f10372ff2c80e703400446",
"type": "string"
},
"ID": {
"description": "The unique ID of the device",
"example": 1096,
"type": "integer"
},
"ImageID": {
"description": "The current related image ID",
"example": 10778,
"type": "integer"
},
"Name": {
"description": "the device inventory name",
"example": "teat-host.example.com",
"type": "string"
},
"RHCClientID": {
"description": "The device RHC client ID",
"example": "5f9ac7d3-2264-4dad-a5a0-39c91c071c8a",
"type": "string"
},
"UUID": {
"description": "The device inventory uuid",
"example": "54880418-b7c2-402e-93e5-287e168de7a6",
"type": "string"
},
"UpdateAvailable": {
"description": "Whether an update is available",
"example": true,
"type": "boolean"
}
},
"type": "object"
},
"UpdateDispatchRecord": {
"properties": {
"DeviceID": {
"description": "The unique ID of the device being updated",
"example": 12789,
"type": "integer"
},
"ID": {
"description": "The unique ID of the DispatcherRecord",
"example": 1089,
"type": "integer"
},
"PlaybookDispatcherID": {
"description": "The playbook dispatcher job id",
"example": "c84cfd11-745c-4ee3-b87d-057a96732415",
"type": "string"
},
"PlaybookURL": {
"description": "The generated playbook url",
"example": "https://console.redhat.com/api/edge/v1/updates/1026/update-playbook.yml",
"type": "string"
},
"Reason": {
"description": "In case of failure the error reason returned by the playbook-dispatcher service",
"example": "",
"type": "string"
},
"Status": {
"description": "The status of device update",
"example": "BUILDING",
"type": "string"
}
},
"type": "object"
},
"UpdateRepo": {
"properties": {
"ID": {
"description": "The unique ID of the update repository",
"example": 53218,
"type": "integer"
},
"RepoStatus": {
"description": "The status of the device update repository building",
"example": "SUCCESS",
"type": "string"
},
"RepoURL": {
"description": "The url of the update ostree repository",
"example": "https://storage-host.example.com/53218/upd/53218/repo",
"type": "string"
}
},
"type": "object"
},
"errors.BadRequest": {
"properties": {
"Code": {
"type": "string"
},
"Status": {
"type": "integer"
},
"Title": {
"type": "string"
}
},
"type": "object"
},
"errors.InternalServerError": {
"properties": {
"Code": {
"type": "string"
},
"Status": {
"type": "integer"
},
"Title": {
"type": "string"
}
},
"type": "object"
},
"errors.NotFound": {
"properties": {
"Code": {
"type": "string"
},
"Status": {
"type": "integer"
},
"Title": {
"type": "string"
}
},
"type": "object"
},
"gorm.DeletedAt": {
"properties": {
"time": {
"type": "string"
},
"valid": {
"description": "Valid is true if Time is not NULL",
"type": "boolean"
}
},
"type": "object"
},
"models.CheckGroupNameParamAPI": {
"properties": {
"Name": {
"description": "device group name",
"example": "my-device-group",
"type": "string"
}
},
"type": "object"
},
"models.Commit": {
"properties": {
"Account": {
"type": "string"
},
"Arch": {
"type": "string"
},
"BlueprintToml": {
"type": "string"
},
"BuildDate": {
"type": "string"
},
"BuildNumber": {
"type": "integer"
},
"ChangesRefs": {
"type": "boolean"
},
"ComposeJobID": {
"type": "string"
},
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"DeletedAt": {
"$ref": "#/components/schemas/gorm.DeletedAt"
},
"ID": {
"type": "integer"
},
"ImageBuildHash": {
"type": "string"
},
"ImageBuildParentHash": {
"type": "string"
},
"ImageBuildTarURL": {
"type": "string"
},
"InstalledPackages": {
"items": {
"$ref": "#/components/schemas/models.InstalledPackage"
},
"type": "array"
},
"OSTreeCommit": {
"type": "string"
},
"OSTreeParentCommit": {
"type": "string"
},
"OSTreeParentRef": {
"type": "string"
},
"OSTreeRef": {
"type": "string"
},
"Repo": {
"$ref": "#/components/schemas/models.Repo"
},
"RepoID": {
"type": "integer"
},
"Status": {
"type": "string"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"external": {
"type": "boolean"
},
"name": {
"type": "string"
},
"org_id": {
"type": "string"
}
},
"type": "object"
},
"models.CreateDeviceGroupAPI": {
"properties": {
"DevicesAPI": {
"description": "Devices of group",
"items": {
"$ref": "#/components/schemas/models.DeviceForDeviceGroupAPI"
},
"type": "array"
},
"name": {
"description": "the device group name",
"example": "my-device-group",
"type": "string"
},
"type": {
"description": "the device group type",
"example": "static",
"type": "string"
}
},
"type": "object"
},
"models.CreateImageAPI": {
"type": "object"
},
"models.Device": {
"properties": {
"Account": {
"type": "string"
},
"AvailableHash": {
"type": "string"
},
"Connected": {
"type": "boolean"
},
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"CurrentHash": {
"type": "string"
},
"DeletedAt": {
"$ref": "#/components/schemas/gorm.DeletedAt"
},
"DevicesGroups": {
"items": {
"$ref": "#/components/schemas/models.DeviceGroup"
},
"type": "array"
},
"ID": {
"type": "integer"
},
"ImageID": {
"type": "integer"
},
"LastSeen": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"Name": {
"type": "string"
},
"RHCClientID": {
"type": "string"
},
"UUID": {
"type": "string"
},
"UpdateAvailable": {
"type": "boolean"
},
"UpdateTransaction": {
"items": {
"$ref": "#/components/schemas/models.UpdateTransaction"
},
"type": "array"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"group_name": {
"description": "the inventory group name",
"type": "string"
},
"group_uuid": {
"description": "the inventory group id",
"type": "string"
},
"org_id": {
"type": "string"
}
},
"type": "object"
},
"models.DeviceAPI": {
"properties": {
"AvailableHash": {
"description": "Hash that available",
"example": "true",
"type": "string"
},
"Connected": {
"description": "If Device connect of not",
"example": true,
"type": "boolean"
},
"CurrentHash": {
"type": "string"
},
"ImageID": {
"description": "image id of device`",
"example": 12834,
"type": "integer"
},
"Name": {
"description": "Name of device",
"example": "device_name",
"type": "string"
},
"RHCClientID": {
"description": "RHC Client ID",
"type": "string"
},
"UUID": {
"description": "UUID of edge device",
"example": "ba-93ba-49a3-b4ae-a6c8acdc4736",
"type": "string"
},
"UpdateAvailable": {
"description": "If there is Update available",
"example": true,
"type": "boolean"
},
"UpdateTransaction": {
"items": {
"$ref": "#/components/schemas/models.UpdateTransaction"
},
"type": "array"
},
"booted": {
"description": "Booted status is referring to the LastDeployment of this device",
"example": true,
"type": "boolean"
},
"deviceName": {
"type": "string"
},
"devicesGroups": {
"description": "device groups",
"items": {
"$ref": "#/components/schemas/models.DeviceGroupAPI"
},
"type": "array"
},
"lastSeen": {
"description": "Last datetime that device updated",
"type": "string"
}
},
"type": "object"
},
"models.DeviceDetailsAPI": {
"properties": {
"Device": {
"allOf": [
{
"$ref": "#/components/schemas/models.EdgeDeviceAPI"
}
],
"description": "Details of device like name, LastSeen and more"
},
"DeviceUpdating": {
"description": "If there is update to device",
"example": true,
"type": "boolean"
},
"DevicesGroups": {
"description": "Device's groups",
"items": {
"$ref": "#/components/schemas/models.DeviceGroupAPI"
},
"type": "array"
},
"ImageInfo": {
"allOf": [
{
"$ref": "#/components/schemas/models.ImageInfo"
}
],
"description": "Information of device's image"
},
"UpdateTransactions": {
"items": {
"$ref": "#/components/schemas/models.UpdateTransactionAPI"
},
"type": "array"
}
},
"type": "object"
},
"models.DeviceDetailsListAPI": {
"properties": {
"count": {
"description": "total number of device",
"example": 40,
"type": "integer"
},
"data": {
"description": "List of Devices",
"items": {
"$ref": "#/components/schemas/models.DeviceDetailsAPI"
},
"type": "array"
},
"total": {
"description": "total number of device",
"example": 40,
"type": "integer"
}
},
"type": "object"
},
"models.DeviceForDeviceGroupAPI": {
"properties": {
"UUID": {
"description": "device uuid",
"example": "68485bb8-6427-40ad-8711-93b6a5b4deac",
"type": "string"
}
},
"type": "object"
},
"models.DeviceGroup": {
"properties": {
"Account": {
"type": "string"
},
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"DeletedAt": {
"$ref": "#/components/schemas/gorm.DeletedAt"
},
"Devices": {
"items": {
"$ref": "#/components/schemas/models.Device"
},
"type": "array"
},
"ID": {
"type": "integer"
},
"Name": {
"type": "string"
},
"Type": {
"type": "string"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"ValidUpdate": {
"type": "boolean"
},
"org_id": {
"type": "string"
},
"uuid": {
"type": "string"
}
},
"type": "object"
},
"models.DeviceGroupAPI": {
"properties": {
"Devices": {
"description": "Devices that belong to the group",
"items": {
"$ref": "#/components/schemas/models.DeviceAPI"
},
"type": "array"
},
"Name": {
"description": "The device group name`",
"example": "device_group name",
"type": "string"
},
"Type": {
"description": "The device group type``",
"example": "static",
"type": "string"
},
"ValidUpdate": {
"description": "indicate if the update is valid",
"example": true,
"type": "boolean"
}
},
"type": "object"
},
"models.DeviceGroupViewAPI": {
"properties": {
"DeviceGroup": {
"allOf": [
{
"$ref": "#/components/schemas/models.DeviceGroup"
}
],
"description": "device group data"
},
"DevicesView": {
"allOf": [
{
"$ref": "#/components/schemas/models.DeviceGroupViewResponseAPI"
}
],
"description": "device group detail"
}
},
"type": "object"
},
"models.DeviceGroupViewResponseAPI": {
"properties": {
"Devices": {
"allOf": [
{
"$ref": "#/components/schemas/models.ImageSetImagePackagesAPI"
}
],
"description": "all devices in a group"
},
"Total": {
"description": "count of devices",
"example": 10,
"type": "integer"
}
},
"type": "object"
},
"models.DeviceViewAPI": {
"properties": {
"DeviceGroups": {
"description": "Device's groups",
"items": {
"$ref": "#/components/schemas/models.DeviceGroupAPI"
},
"type": "array"
},
"DeviceID": {
"description": "ID of device",
"example": 1913277,
"type": "integer"
},
"DeviceName": {
"description": "Name of device",
"example": "device_name",
"type": "string"
},
"DeviceUUID": {
"description": "UUID of Device",
"example": "a-8bdf-a21accb24925",
"type": "string"
},
"DispatcherReason": {
"description": "Reason of Dispatch",
"type": "string"
},
"DispatcherStatus": {
"description": "Status of Dispatch",
"type": "string"
},
"GroupName": {
"description": "the inventory group name",
"type": "string"
},
"GroupUUID": {
"description": "the inventory group id",
"type": "string"
},
"ImageID": {
"description": "ID of image",
"example": 323241,
"type": "integer"
},
"ImageName": {
"description": "Name of image",
"example": "image_name",
"type": "string"
},
"ImageSetID": {
"description": "ID of image set",
"example": 33341,
"type": "integer"
},
"LastSeen": {
"allOf": [
{
"$ref": "#/components/schemas/models.EdgeAPITime"
}
],
"description": "Last datetime that device updated"
},
"Status": {
"description": "Status of device",
"example": "SUCCESS",
"type": "string"
},
"UpdateAvailable": {
"description": "indicate if there is update to device",
"example": true,
"type": "boolean"
}
},
"type": "object"
},
"models.DeviceViewListAPI": {
"properties": {
"devices": {
"description": "List of Devices",
"items": {
"$ref": "#/components/schemas/models.DeviceViewAPI"
},
"type": "array"
},
"enforce_edge_groups": {
"description": "Whether to enforce the edge groups usage",
"type": "boolean"
},
"total": {
"description": "Total number of device",
"example": 40,
"type": "integer"
}
},
"type": "object"
},
"models.DeviceViewListResponseAPI": {
"properties": {
"count": {
"description": "The overall number of devices",
"example": 40,
"type": "integer"
},
"data": {
"allOf": [
{
"$ref": "#/components/schemas/models.DeviceViewListAPI"
}
],
"description": "The devices view data"
}
},
"type": "object"
},
"models.DispatchRecord": {
"properties": {
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"DeletedAt": {
"$ref": "#/components/schemas/gorm.DeletedAt"
},
"Device": {
"$ref": "#/components/schemas/models.Device"
},
"DeviceID": {
"type": "integer"
},
"ID": {
"type": "integer"
},
"PlaybookDispatcherID": {
"type": "string"
},
"PlaybookURL": {
"type": "string"
},
"Reason": {
"type": "string"
},
"Status": {
"type": "string"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
}
},
"type": "object"
},
"models.DispatchRecordAPI": {
"properties": {
"Device": {
"$ref": "#/components/schemas/models.DeviceAPI"
},
"DeviceID": {
"description": "ID of device",
"example": 1913277,
"type": "integer"
},
"PlaybookDispatcherID": {
"type": "string"
},
"PlaybookURL": {
"type": "string"
},
"Reason": {
"type": "string"
},
"Status": {
"description": "Status of device",
"example": "SUCCESS",
"type": "string"
}
},
"type": "object"
},
"models.EdgeAPITime": {
"properties": {
"time": {
"type": "string"
},
"valid": {
"description": "Valid is true if Time is not NULL",
"type": "boolean"
}
},
"type": "object"
},
"models.EdgeDeviceAPI": {
"properties": {
"AvailableHash": {
"description": "Hash that available",
"example": "true",
"type": "string"
},
"Connected": {
"description": "If Device connect of not",
"example": true,
"type": "boolean"
},
"CurrentHash": {
"type": "string"
},
"DevicesGroups": {
"description": "device groups",
"items": {
"$ref": "#/components/schemas/models.DeviceGroupAPI"
},
"type": "array"
},
"ImageID": {
"description": "image id of device",
"example": 12834,
"type": "integer"
},
"LastSeen": {
"allOf": [
{
"$ref": "#/components/schemas/models.EdgeAPITime"
}
],
"description": "Last datetime that device updated"
},
"Name": {
"description": "Name of Edge Device",
"type": "string"
},
"RHCClientID": {
"description": "RHC Client ID",
"type": "string"
},
"UUID": {
"description": "UUID of edge device",
"example": "ba-93ba-49a3-b4ae-a6c8acdc4736",
"type": "string"
},
"UpdateAvailable": {
"description": "If there is update available",
"example": true,
"type": "boolean"
},
"UpdateTransaction": {
"items": {
"$ref": "#/components/schemas/models.UpdateTransaction"
},
"type": "array"
},
"booted": {
"description": "Booted status is referring to the LastDeployment of this device",
"example": true,
"type": "boolean"
},
"deviceName": {
"description": "The device name",
"example": "test_device_api_static",
"type": "string"
}
},
"type": "object"
},
"models.EnforceEdgeGroupsAPI": {
"properties": {
"enforce_edge_groups": {
"description": "whether to enforce edge groups usage",
"example": false,
"type": "boolean"
}
},
"type": "object"
},
"models.FilterByDevicesAPI": {
"properties": {
"devices_uuid": {
"description": "Devices UUID",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"models.Image": {
"properties": {
"Account": {
"type": "string"
},
"Commit": {
"$ref": "#/components/schemas/models.Commit"
},
"CommitID": {
"type": "integer"
},
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"CustomPackages": {
"items": {
"$ref": "#/components/schemas/models.Package"
},
"type": "array"
},
"DeletedAt": {
"$ref": "#/components/schemas/gorm.DeletedAt"
},
"Description": {
"type": "string"
},
"Distribution": {
"type": "string"
},
"ID": {
"type": "integer"
},
"ImageSetID": {
"description": "TODO: Wipe staging database and set to not nullable",
"type": "integer"
},
"ImageType": {
"description": "TODO: Remove as soon as the frontend stops using",
"type": "string"
},
"Installer": {
"$ref": "#/components/schemas/models.Installer"
},
"InstallerID": {
"type": "integer"
},
"Name": {
"type": "string"
},
"OutputTypes": {
"items": {
"type": "string"
},
"type": "array"
},
"Packages": {
"items": {
"$ref": "#/components/schemas/models.Package"
},
"type": "array"
},
"Status": {
"type": "string"
},
"SystemsRunning": {
"description": "only for forms",
"type": "integer"
},
"ThirdPartyRepositories": {
"items": {
"$ref": "#/components/schemas/models.ThirdPartyRepo"
},
"type": "array"
},
"TotalPackages": {
"description": "only for forms",
"type": "integer"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"Version": {
"type": "integer"
},
"activationKey": {
"type": "string"
},
"org_id": {
"type": "string"
},
"request_id": {
"description": "storing for logging reference on resume",
"type": "string"
}
},
"type": "object"
},
"models.ImageDetailAPI": {
"properties": {
"additional_packages": {
"description": "Number of additional packages",
"example": 3,
"type": "integer"
},
"image": {
"$ref": "#/components/schemas/models.Image"
},
"packages": {
"description": "Number of packages",
"example": 3,
"type": "integer"
},
"update_added": {
"description": "Number of added update",
"example": 3,
"type": "integer"
},
"update_removed": {
"description": "Number of removed update",
"example": 2,
"type": "integer"
},
"update_updated": {
"description": "Number of updated update",
"example": 3,
"type": "integer"
}
},
"type": "object"
},
"models.ImageInfo": {
"properties": {
"Count": {
"type": "integer"
},
"Image": {
"$ref": "#/components/schemas/models.Image"
},
"RollbackImage": {
"$ref": "#/components/schemas/models.Image"
},
"UpdatesAvailable": {
"items": {
"$ref": "#/components/schemas/models.ImageUpdateAvailable"
},
"type": "array"
}
},
"type": "object"
},
"models.ImageSetAPI": {
"properties": {
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"DeletedAt": {
"$ref": "#/components/schemas/gorm.DeletedAt"
},
"ID": {
"type": "integer"
},
"Images": {
"description": "images of image set",
"items": {
"$ref": "#/components/schemas/models.Image"
},
"type": "array"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"name": {
"description": "the image set name",
"example": "my-edge-image",
"type": "string"
},
"version": {
"description": "the image set version",
"example": 1,
"type": "integer"
}
},
"type": "object"
},
"models.ImageSetDetailsResponseAPI": {
"properties": {
"Count": {
"description": "count of image-sets",
"example": 10,
"type": "integer"
},
"Data": {
"allOf": [
{
"$ref": "#/components/schemas/models.ImageSetImagePackagesAPI"
}
],
"description": "all data of image-sets"
}
},
"type": "object"
},
"models.ImageSetDevicesAPI": {
"properties": {
"Count": {
"description": "count of image-set's devices",
"example": 10,
"type": "integer"
},
"Data": {
"description": "Data of image set's devices",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"models.ImageSetIDViewAPI": {
"properties": {
"ImageBuildIsoURL": {
"description": "The image-set latest available image ISO",
"example": "/api/edge/v1/storage/isos/432",
"type": "string"
},
"ImageSet": {
"allOf": [
{
"$ref": "#/components/schemas/models.ImageSetAPI"
}
],
"description": "image set data"
},
"LastImageDetails": {
"allOf": [
{
"$ref": "#/components/schemas/models.ImageDetailAPI"
}
],
"description": "The image-set latest image details"
}
},
"type": "object"
},
"models.ImageSetImageIDViewAPI": {
"properties": {
"ImageBuildIsoURL": {
"description": "The image-set latest available image ISO",
"example": "/api/edge/v1/storage/isos/432",
"type": "string"
},
"ImageDetails": {
"allOf": [
{
"$ref": "#/components/schemas/models.ImageDetailAPI"
}
],
"description": "the requested image details"
},
"ImageSet": {
"allOf": [
{
"$ref": "#/components/schemas/models.ImageSetAPI"
}
],
"description": "image set data"
}
},
"type": "object"
},
"models.ImageSetImagePackagesAPI": {
"properties": {
"image_build_iso_url": {
"description": "The image-set latest available image ISO",
"example": "/api/edge/v1/storage/isos/432",
"type": "string"
},
"image_set": {
"allOf": [
{
"$ref": "#/components/schemas/models.ImageSetAPI"
}
],
"description": "image set data"
},
"images": {
"description": "image detail",
"items": {
"$ref": "#/components/schemas/models.ImageDetailAPI"
},
"type": "array"
}
},
"type": "object"
},
"models.ImageSetInstallerURLAPI": {
"properties": {
"image_build_iso_url": {
"description": "The image-set latest available image ISO",
"example": "/api/edge/v1/storage/isos/432",
"type": "string"
},
"image_set": {
"allOf": [
{
"$ref": "#/components/schemas/models.ImageSetAPI"
}
],
"description": "image set data"
}
},
"type": "object"
},
"models.ImageSetView": {
"properties": {
"Distribution": {
"type": "string"
},
"ID": {
"type": "integer"
},
"ImageBuildIsoURL": {
"type": "string"
},
"ImageID": {
"type": "integer"
},
"Name": {
"type": "string"
},
"OutputTypes": {
"items": {
"type": "string"
},
"type": "array"
},
"Status": {
"type": "string"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"Version": {
"type": "integer"
}
},
"type": "object"
},
"models.ImageSetsResponseAPI": {
"properties": {
"Count": {
"description": "count of image-sets",
"example": 10,
"type": "integer"
},
"Data": {
"description": "all data of image-sets",
"items": {
"$ref": "#/components/schemas/models.ImageSetInstallerURLAPI"
},
"type": "array"
}
},
"type": "object"
},
"models.ImageSetsViewResponseAPI": {
"properties": {
"count": {
"description": "count of image-sets",
"example": 10,
"type": "integer"
},
"data": {
"description": "data of image set view",
"items": {
"$ref": "#/components/schemas/models.ImageSetView"
},
"type": "array"
}
},
"type": "object"
},
"models.ImageUpdateAvailable": {
"properties": {
"CanUpdate": {
"type": "boolean"
},
"Image": {
"$ref": "#/components/schemas/models.Image"
},
"PackageDiff": {
"$ref": "#/components/schemas/models.PackageDiff"
}
},
"type": "object"
},
"models.ImageView": {
"properties": {
"CommitCheckSum": {
"type": "string"
},
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"ID": {
"type": "integer"
},
"ImageBuildIsoURL": {
"type": "string"
},
"ImageType": {
"type": "string"
},
"Name": {
"type": "string"
},
"OutputTypes": {
"items": {
"type": "string"
},
"type": "array"
},
"Status": {
"type": "string"
},
"Version": {
"type": "integer"
}
},
"type": "object"
},
"models.ImagesViewDataAPI": {
"properties": {
"count": {
"description": "total number of image view data",
"example": 100,
"type": "integer"
},
"data": {
"items": {
"$ref": "#/components/schemas/models.ImageView"
},
"type": "array"
}
},
"type": "object"
},
"models.InstalledPackage": {
"properties": {
"ID": {
"type": "integer"
},
"arch": {
"type": "string"
},
"commits": {
"items": {
"$ref": "#/components/schemas/models.Commit"
},
"type": "array"
},
"epoch": {
"type": "string"
},
"name": {
"type": "string"
},
"release": {
"type": "string"
},
"sigmd5": {
"type": "string"
},
"signature": {
"type": "string"
},
"type": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"models.Installer": {
"properties": {
"Account": {
"type": "string"
},
"Checksum": {
"type": "string"
},
"ComposeJobID": {
"type": "string"
},
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"DeletedAt": {
"$ref": "#/components/schemas/gorm.DeletedAt"
},
"ID": {
"type": "integer"
},
"ImageBuildISOURL": {
"type": "string"
},
"SshKey": {
"type": "string"
},
"Status": {
"type": "string"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"Username": {
"type": "string"
},
"org_id": {
"type": "string"
}
},
"type": "object"
},
"models.InventoryGroupDevicesUpdateInfoResponseAPI": {
"properties": {
"devices_count": {
"description": "the overall count of all devices that belongs to inventory group",
"example": 25,
"type": "integer"
},
"group_uuid": {
"description": "the inventory group id",
"example": "b579a578-1a6f-48d5-8a45-21f2a656a5d4",
"type": "string"
},
"image_set_id": {
"description": "the image set id common to all inventory group devices",
"example": 1024,
"type": "integer"
},
"image_sets_count": {
"description": "how much image set ids the inventory group devices belongs to",
"example": 1,
"type": "integer"
},
"update_devices_uuids": {
"description": "the list of devices uuids that belongs to inventory group that are available to update",
"example": [
"b579a578-1a6f-48d5-8a45-21f2a656a5d4",
"1abb288d-6d88-4e2d-bdeb-fcc536be58ec"
],
"items": {
"type": "string"
},
"type": "array"
},
"update_valid": {
"description": "whether the inventory group devices update is valid",
"example": true,
"type": "boolean"
}
},
"type": "object"
},
"models.Package": {
"properties": {
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"DeletedAt": {
"$ref": "#/components/schemas/gorm.DeletedAt"
},
"ID": {
"type": "integer"
},
"Name": {
"type": "string"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
}
},
"type": "object"
},
"models.PackageDiff": {
"properties": {
"Added": {
"items": {
"$ref": "#/components/schemas/models.InstalledPackage"
},
"type": "array"
},
"Removed": {
"items": {
"$ref": "#/components/schemas/models.InstalledPackage"
},
"type": "array"
},
"Upgraded": {
"items": {
"$ref": "#/components/schemas/models.InstalledPackage"
},
"type": "array"
}
},
"type": "object"
},
"models.PostDeviceForDeviceGroupAPI": {
"properties": {
"Name": {
"description": "device name",
"example": "localhost",
"type": "string"
},
"UUID": {
"description": "device uuid",
"example": "68485bb8-6427-40ad-8711-93b6a5b4deac",
"type": "string"
}
},
"type": "object"
},
"models.PutGroupNameParamAPI": {
"properties": {
"Name": {
"description": "device group name",
"example": "my-device-group",
"type": "string"
},
"Type": {
"description": "device group type",
"example": "static",
"type": "string"
}
},
"type": "object"
},
"models.Repo": {
"properties": {
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"DeletedAt": {
"$ref": "#/components/schemas/gorm.DeletedAt"
},
"ID": {
"type": "integer"
},
"RepoStatus": {
"description": "AWS repo upload status",
"type": "string"
},
"RepoURL": {
"description": "AWS repo URL",
"type": "string"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"pulp_repo_id": {
"description": "Pulp Repo ID (used for updates)",
"type": "string"
},
"pulp_repo_status": {
"description": "Status of Pulp repo import",
"type": "string"
},
"pulp_repo_url": {
"description": "Distribution URL returned from Pulp",
"type": "string"
}
},
"type": "object"
},
"models.SuccessPlaceholderResponse": {
"type": "object"
},
"models.ThirdPartyRepo": {
"properties": {
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"DeletedAt": {
"$ref": "#/components/schemas/gorm.DeletedAt"
},
"Description": {
"type": "string"
},
"ID": {
"type": "integer"
},
"Images": {
"items": {
"$ref": "#/components/schemas/models.Image"
},
"type": "array"
},
"Name": {
"type": "string"
},
"URL": {
"type": "string"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"account": {
"type": "string"
},
"distribution_arch": {
"type": "string"
},
"distribution_version": {
"items": {
"type": "string"
},
"type": "array"
},
"gpg_key": {
"type": "string"
},
"org_id": {
"type": "string"
},
"package_count": {
"type": "integer"
},
"uuid": {
"type": "string"
}
},
"type": "object"
},
"models.UpdateCommitAPI": {
"properties": {
"ID": {
"description": "The unique ID of the commit",
"example": 1056,
"type": "integer"
},
"ImageBuildTarURL": {
"description": "The commit tar url",
"example": "https://storage-host.example.com/v2/99999999/tar/59794/tmp/repos/59794/repo.tar",
"type": "string"
},
"OSTreeCommit": {
"description": "The ostree commit hash",
"example": "9bd8dfe9856aa5bb1683e85f123bfe7785d45fbdb6f10372ff2c80e703400999",
"type": "string"
},
"OSTreeRef": {
"description": "The commit ostree ref",
"example": "rhel/9/x86_64/edge",
"type": "string"
}
},
"type": "object"
},
"models.UpdateTransaction": {
"properties": {
"Account": {
"type": "string"
},
"ChangesRefs": {
"type": "boolean"
},
"Commit": {
"$ref": "#/components/schemas/models.Commit"
},
"CommitID": {
"type": "integer"
},
"CreatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"DeletedAt": {
"$ref": "#/components/schemas/gorm.DeletedAt"
},
"Devices": {
"items": {
"$ref": "#/components/schemas/models.Device"
},
"type": "array"
},
"DispatchRecords": {
"items": {
"$ref": "#/components/schemas/models.DispatchRecord"
},
"type": "array"
},
"ID": {
"type": "integer"
},
"OldCommits": {
"items": {
"$ref": "#/components/schemas/models.Commit"
},
"type": "array"
},
"Repo": {
"$ref": "#/components/schemas/models.Repo"
},
"RepoID": {
"type": "integer"
},
"Status": {
"type": "string"
},
"Tag": {
"type": "string"
},
"UpdatedAt": {
"$ref": "#/components/schemas/models.EdgeAPITime"
},
"org_id": {
"type": "string"
}
},
"type": "object"
},
"models.UpdateTransactionAPI": {
"properties": {
"ChangesRefs": {
"example": false,
"type": "boolean"
},
"Commit": {
"$ref": "#/components/schemas/models.Commit"
},
"CommitID": {
"description": "Commit ID of device",
"example": 1754,
"type": "integer"
},
"Devices": {
"description": "List of Devices",
"items": {
"$ref": "#/components/schemas/models.DeviceAPI"
},
"type": "array"
},
"DispatchRecords": {
"items": {
"$ref": "#/components/schemas/models.DispatchRecordAPI"
},
"type": "array"
},
"OldCommits": {
"description": "Old Commit ID if the device has one",
"items": {
"$ref": "#/components/schemas/models.Commit"
},
"type": "array"
},
"Repo": {
"$ref": "#/components/schemas/models.Repo"
},
"RepoID": {
"description": "Repo ID",
"example": 2256,
"type": "integer"
},
"Status": {
"description": "Status of device",
"example": "SUCCESS",
"type": "string"
},
"Tag": {
"description": "Tag og Device if device has one",
"example": "device_tag",
"type": "string"
}
},
"type": "object"
}
}
},
"info": {
"contact": {},
"description": "API of the Edge Management application on [console.redhat.com](https://console.redhat.com)",
"license": {
"name": "MIT"
},
"title": "Edge API",
"version": "1.0"
},
"openapi": "3.0.3",
"paths": {
"/device-groups": {
"get": {
"description": "Returns device groups for an orgID",
"parameters": [
{
"description": "Define sort fields: created_at, updated_at, name. To sort DESC use -",
"in": "query",
"name": "sort_by",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by name",
"in": "query",
"name": "name",
"schema": {
"type": "string"
}
},
{
"description": "field: return number of image-set view until limit is reached. Default is 100.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "field: return number of image-set view beginning at the offset.",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.DeviceGroup"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Returns device groups for an orgID",
"tags": [
"Device Groups"
]
},
"post": {
"description": "Creates a Device Group for an account.",
"operationId": "CreateDeviceGroup",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.CreateDeviceGroupAPI"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.DeviceGroupAPI"
}
}
},
"description": "The created device groups"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Creates a Device Group for an account.",
"tags": [
"Device Groups"
]
}
},
"/device-groups/checkName/{name}": {
"get": {
"description": "Validates if a group name already exists",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.CheckGroupNameParamAPI"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Validates if a group name already exists",
"tags": [
"Device Groups"
]
}
},
"/device-groups/enforce-edge-groups": {
"get": {
"description": "Returns whether the edge groups is enforced for the current organization",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.EnforceEdgeGroupsAPI"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
}
},
"summary": "Returns whether the edge groups is enforced for the current organization",
"tags": [
"Device Groups"
]
}
},
"/device-groups/{ID}": {
"delete": {
"description": "Deletes an existing device group",
"parameters": [
{
"description": "A unique existing Device Group",
"in": "query",
"name": "required_param",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Deletes an existing device group",
"tags": [
"Device Groups"
]
},
"get": {
"description": "Returns devices groups for group identified by ID",
"parameters": [
{
"description": "device group ID",
"in": "query",
"name": "required_param",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.DeviceGroup"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Returns devices groups for group identified by ID",
"tags": [
"Device Groups"
]
},
"put": {
"description": "Updates the existing device group",
"parameters": [
{
"description": "An unique existing Device Group",
"in": "query",
"name": "required_param",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.PutGroupNameParamAPI"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.DeviceGroup"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Updates the existing device group",
"tags": [
"Device Groups"
]
}
},
"/device-groups/{ID}/details": {
"get": {
"description": "Returns details for group identified by ID",
"parameters": [
{
"description": "device group ID",
"in": "query",
"name": "required_param",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.DeviceGroup"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Returns details for group identified by ID",
"tags": [
"Device Groups"
]
}
},
"/device-groups/{ID}/devices": {
"delete": {
"description": "Deletes the requested devices from device-group",
"parameters": [
{
"description": "Identifier of the DeviceGroup",
"in": "path",
"name": "DeviceGroupID",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Deletes the requested devices from device-group",
"tags": [
"Device Groups"
]
},
"post": {
"description": "Adds devices to device group",
"parameters": [
{
"description": "An unique existing Device Group",
"in": "query",
"name": "required_param",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.PostDeviceForDeviceGroupAPI"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Adds devices to device group",
"tags": [
"Device Groups"
]
}
},
"/device-groups/{ID}/devices/{deviceID}": {
"delete": {
"description": "Deletes the requested device from the device-group",
"parameters": [
{
"description": "Identifier of the Device Group",
"in": "path",
"name": "DeviceGroupId",
"required": true,
"schema": {
"type": "integer"
}
},
{
"description": "Identifier of the Device in a Device Group",
"in": "path",
"name": "DeviceId",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Deletes the requested device from the device-group",
"tags": [
"Device Groups"
]
}
},
"/device-groups/{ID}/updateDevices": {
"post": {
"description": "Updates all devices that belong to a group",
"parameters": [
{
"description": "Identifier of the DeviceGroup",
"in": "query",
"name": "required_param",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Updates all devices that belong to a group",
"tags": [
"Device Groups"
]
}
},
"/device-groups/{ID}/view": {
"get": {
"description": "Returns device groups view for group identified by ID",
"parameters": [
{
"description": "device group ID",
"in": "query",
"name": "required_param",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.DeviceGroupViewAPI"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Returns device groups view for group identified by ID",
"tags": [
"Device Groups"
]
}
},
"/devices": {
"get": {
"description": "Get combined system data from Edge API and Inventory API",
"operationId": "GetDevices",
"parameters": [
{
"description": "field: maximum devices per page",
"in": "query",
"name": "per_page",
"schema": {
"type": "integer"
}
},
{
"description": "field: which page to query from",
"in": "query",
"name": "page",
"schema": {
"type": "integer"
}
},
{
"description": "field: order by display_name, updated or operating_system",
"in": "query",
"name": "order_by",
"schema": {
"type": "string"
}
},
{
"description": "field: choose to order ASC or DESC when order_by is being used",
"in": "query",
"name": "order_how",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by hostname_or_id",
"in": "query",
"name": "hostname_or_id",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.DeviceDetailsListAPI"
}
}
},
"description": "OK"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Get All Devices.",
"tags": [
"Devices (Systems)"
]
}
},
"/devices/devicesview": {
"get": {
"description": "Return all data of Devices.",
"operationId": "GetDevicesView",
"parameters": [
{
"description": "fields: name, uuid, update_available, image_id. To sort DESC use - before the fields.",
"in": "query",
"name": "sort_by",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by name",
"in": "query",
"name": "name",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by update_available",
"in": "query",
"name": "update_available",
"schema": {
"type": "boolean"
}
},
{
"description": "field: filter by uuid",
"in": "query",
"name": "uuid",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by creation date",
"in": "query",
"name": "created_at",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by image id",
"in": "query",
"name": "image_id",
"schema": {
"type": "integer"
}
},
{
"description": "field: return number of devices until limit is reached. Default is 100.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "field: return number of devices begining at the offset.",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.DeviceViewListResponseAPI"
}
}
},
"description": "OK"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Return all data of Devices.",
"tags": [
"Devices (Systems)"
]
},
"post": {
"description": "Return all data of Devices.",
"operationId": "GetDevicesViewWithinDevices",
"parameters": [
{
"description": "fields: name, uuid, update_available, image_id. To sort DESC use - before the fields.",
"in": "query",
"name": "sort_by",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by name",
"in": "query",
"name": "name",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by update_available",
"in": "query",
"name": "update_available",
"schema": {
"type": "boolean"
}
},
{
"description": "field: filter by uuid",
"in": "query",
"name": "uuid",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by creation date",
"in": "query",
"name": "created_at",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by image id",
"in": "query",
"name": "image_id",
"schema": {
"type": "integer"
}
},
{
"description": "field: return number of devices until limit is reached. Default is 100.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "field: return number of devices beginning at the offset.",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.FilterByDevicesAPI"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.DeviceViewListResponseAPI"
}
}
},
"description": "OK"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Return all data of Devices.",
"tags": [
"Devices (Systems)"
]
}
},
"/devices/{DeviceUUID}": {
"get": {
"description": "Get a device by UUID.",
"operationId": "GetDevice",
"parameters": [
{
"description": "DeviceUUID",
"in": "path",
"name": "DeviceUUID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.DeviceDetailsAPI"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "The device was not found."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Get a device by UUID.",
"tags": [
"Devices (Systems)"
]
}
},
"/image-sets": {
"get": {
"description": "Return the list of image sets.",
"operationId": "ListAllImageSets",
"parameters": [
{
"description": "Define sort fields: created_at, updated_at, name. To sort DESC use -",
"in": "query",
"name": "sort_by",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by name",
"in": "query",
"name": "name",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by status",
"in": "query",
"name": "status",
"schema": {
"type": "string"
}
},
{
"description": "field: return number of image-set view until limit is reached. Default is 100.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "field: return number of image-set view beginning at the offset.",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.ImageSetsResponseAPI"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "The Image Set was not found."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Return the list of image sets.",
"tags": [
"Image-Sets"
]
}
},
"/image-sets/view": {
"get": {
"description": "Return the list of image set view.",
"parameters": [
{
"description": "Define sort fields: created_at, updated_at, name. To sort DESC use -",
"in": "query",
"name": "sort_by",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by name",
"in": "query",
"name": "name",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by status",
"in": "query",
"name": "status",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by id",
"in": "query",
"name": "id",
"schema": {
"type": "integer"
}
},
{
"description": "field: return number of image-set view until limit is reached. Default is 30.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "field: return number of image-set view beginning at the offset.",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.ImageSetsViewResponseAPI"
}
}
},
"description": "OK"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Return the list of image set view.",
"tags": [
"Image-Sets"
]
}
},
"/image-sets/view/{imageSetID}/versions/{imageID}": {
"get": {
"description": "Return the image-set images view list.",
"operationId": "GetImageSetImageView",
"parameters": [
{
"description": "the image set id",
"in": "path",
"name": "imageSetID",
"required": true,
"schema": {
"type": "integer"
}
},
{
"description": "the image id",
"in": "path",
"name": "imageID",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.ImageSetImageIDViewAPI"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "The Image-Set or Image was not found."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Return the image-set images view list.",
"tags": [
"Image-Sets"
]
}
},
"/image-sets/view/{image_set_id}": {
"get": {
"description": "Return the image-set description view.",
"operationId": "GetImageSetViewByID",
"parameters": [
{
"description": "the image-set id",
"in": "path",
"name": "image_set_id",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.ImageSetIDViewAPI"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "The Image-Set was not found."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Return the image-set description view.",
"tags": [
"Image-Sets"
]
}
},
"/image-sets/view/{image_set_id}/versions": {
"get": {
"description": "Return the image-set images view list.",
"operationId": "GetAllImageSetImagesView",
"parameters": [
{
"description": "the image-set id",
"in": "path",
"name": "image_set_id",
"required": true,
"schema": {
"type": "integer"
}
},
{
"description": "Define sort fields: created_at, version, To sort DESC use -",
"in": "query",
"name": "sort_by",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by status",
"in": "query",
"name": "status",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by version",
"in": "query",
"name": "version",
"schema": {
"type": "string"
}
},
{
"description": "field: return number of images until limit is reached. Default is 100.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "field: return number of images beginning at the offset.",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.ImagesViewDataAPI"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "The Image-Set was not found."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Return the image-set images view list.",
"tags": [
"Image-Sets"
]
}
},
"/image-sets/{imageSetID}": {
"delete": {
"description": "Delete Image Set",
"operationId": "DeleteImageSet",
"parameters": [
{
"description": "Identifier of the ImageSet",
"in": "path",
"name": "imageSetID",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.ImageSetAPI"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "image-set was not found."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Delete Image Set",
"tags": [
"Image-Sets"
]
}
},
"/image-sets/{imageSetID}/": {
"get": {
"description": "Get image set by ID",
"operationId": "GetImageSetsByID",
"parameters": [
{
"description": "Image Set ID",
"in": "path",
"name": "imageSetID",
"required": true,
"schema": {
"type": "integer"
}
},
{
"description": "Define sort fields: created_at, updated_at, name. To sort DESC use -",
"in": "query",
"name": "sort_by",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by name",
"in": "query",
"name": "name",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by status",
"in": "query",
"name": "status",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by version",
"in": "query",
"name": "version",
"schema": {
"type": "string"
}
},
{
"description": "field: return number of image-set view until limit is reached. Default is 100.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "field: return number of image-set view beginning at the offset.",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.ImageSetDetailsResponseAPI"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "image-set was not found."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Get an image-set",
"tags": [
"Image-Sets"
]
}
},
"/image-sets/{imageSetID}/devices": {
"get": {
"description": "Return device ids for an image set.",
"operationId": "GetImageSetsDevicesByID",
"parameters": [
{
"description": "Identifier of the ImageSet",
"in": "path",
"name": "ImageSetId",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.ImageSetDevicesAPI"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "The Image Set ID was not found."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Return device ids for an image set.",
"tags": [
"Image-Sets"
]
}
},
"/images": {
"get": {
"description": "This is a placeholder description",
"operationId": "GetAllImages",
"parameters": [
{
"description": "Return number of images until limit is reached.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "Return number of images beginning at the offset",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
},
{
"description": "created_at, distribution, name,status. To sort DESC use -before the fields",
"in": "query",
"name": "sort_by",
"schema": {
"type": "string"
}
},
{
"description": "Filter by name.",
"in": "query",
"name": "name",
"schema": {
"type": "string"
}
},
{
"description": "Filter by status.",
"in": "query",
"name": "status",
"schema": {
"type": "string"
}
},
{
"description": "Filter by distribution.",
"in": "query",
"name": "distribution",
"schema": {
"type": "string"
}
},
{
"description": "Filter by creation date.",
"in": "query",
"name": "created_at",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": " The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Placeholder summary",
"tags": [
"Images"
]
},
"post": {
"description": "Create an ostree commit and/or installer ISO",
"operationId": "createImage",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.CreateImageAPI"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ImageResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Create an image",
"tags": [
"Images"
]
}
},
"/images/checkImageName": {
"post": {
"description": "Create an updated ostree commit",
"operationId": "CheckImageName",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.CreateImageAPI"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Update an image",
"tags": [
"Images"
]
}
},
"/images/{imageId}": {
"delete": {
"description": "This is a placeholder description",
"operationId": "DeleteImage",
"parameters": [
{
"description": "Identifier of the ImageSet",
"in": "path",
"name": "imageSetID",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Placeholder summary",
"tags": [
"Images"
]
},
"get": {
"description": "This is a placeholder description",
"operationId": "GetImageByID",
"parameters": [
{
"description": "Image ID",
"in": "path",
"name": "imageId",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Placeholder summary",
"tags": [
"Images"
]
}
},
"/images/{imageId}/details": {
"get": {
"description": "This is a placeholder description",
"operationId": "GetImageDetailsByID",
"parameters": [
{
"description": "Image ID",
"in": "path",
"name": "imageId",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Placeholder summary",
"tags": [
"Images"
]
}
},
"/images/{imageId}/installer": {
"post": {
"description": "This is a placeholder description",
"operationId": "CreateInstallerForImage",
"parameters": [
{
"description": "Image ID",
"in": "path",
"name": "imageId",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.CreateImageAPI"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Placeholder summary",
"tags": [
"Images"
]
}
},
"/images/{imageId}/kickstart": {
"post": {
"description": "This is a placeholder description",
"operationId": "CreateKickStartForImage",
"parameters": [
{
"description": "Image ID",
"in": "path",
"name": "imageId",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.CreateImageAPI"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Placeholder summary",
"tags": [
"Images"
]
}
},
"/images/{imageId}/metadata": {
"get": {
"description": "This is a placeholder description",
"operationId": "GetMetadataForImage",
"parameters": [
{
"description": "Image ID",
"in": "path",
"name": "imageId",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Placeholder summary",
"tags": [
"Images"
]
}
},
"/images/{imageId}/repo": {
"get": {
"description": "This is a placeholder description",
"operationId": "GetRepoForImage",
"parameters": [
{
"description": "Image ID",
"in": "path",
"name": "imageId",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Placeholder summary",
"tags": [
"Images"
]
}
},
"/images/{imageId}/retry": {
"post": {
"description": "Create an updated ostree commit",
"operationId": "RetryCreateImage",
"parameters": [
{
"description": "Image ID",
"in": "path",
"name": "imageId",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.CreateImageAPI"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "Retry is being processed"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Retries building an image from scratch",
"tags": [
"Images"
]
}
},
"/images/{imageId}/status": {
"get": {
"description": "This is a placeholder description",
"operationId": "GetImageStatusByID",
"parameters": [
{
"description": "Image Identifier",
"in": "path",
"name": "imageId",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Placeholder summary",
"tags": [
"Images"
]
}
},
"/images/{imageId}/update": {
"post": {
"description": "Create an updated ostree commit",
"operationId": "CreateImageUpdate",
"parameters": [
{
"description": "Image ID",
"in": "path",
"name": "imageId",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.CreateImageAPI"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Update an image",
"tags": [
"Images"
]
}
},
"/images/{ostreeCommitHash}/info": {
"get": {
"description": "This is a placeholder description",
"operationId": "GetImageByOstree",
"parameters": [
{
"description": "Ostree Commit Hash",
"in": "path",
"name": "ostreeCommitHash",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.SuccessPlaceholderResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Placeholder summary",
"tags": [
"Images"
]
}
},
"/inventory-groups/{GroupUUID}/update-info": {
"get": {
"description": "Gets the inventory group update info",
"operationId": "GetInventoryGroupDevicesUpdateInfo",
"parameters": [
{
"description": "a unique uuid to identify the inventory group",
"in": "path",
"name": "GroupUUID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.InventoryGroupDevicesUpdateInfoResponseAPI"
}
}
},
"description": "The requested inventory group update info"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "The requested inventory group was not found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error"
}
},
"summary": "Gets the inventory group update info",
"tags": [
"Updates (Systems)"
]
}
},
"/storage/images-repos/{imageID}/content/{repoFilePath}": {
"get": {
"description": "Redirect request to a signed and valid url for an image commit repository from the path content",
"operationId": "RedirectSignedImageCommitRepository",
"parameters": [
{
"description": "Id to identify Image",
"in": "path",
"name": "imageID",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "path to file repository",
"in": "path",
"name": "repoFilePath",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"303": {
"content": {
"application/json": {
"schema": {
"type": "string"
}
}
},
"description": "See Other"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "redirect to a signed url of an image commit repository path content",
"tags": [
"Storage"
]
}
},
"/storage/images-repos/{imageID}/{repoFilePath}": {
"get": {
"description": "Bring the content for a image commit in a repository path",
"operationId": "ContentImageCommitRepositoryPath",
"parameters": [
{
"description": "Id to identify Image",
"in": "path",
"name": "imageID",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "path to file repository",
"in": "path",
"name": "repoFilePath",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/octet-stream": {
"schema": {
"type": "string"
}
}
},
"description": "Stream object from file content"
},
"400": {
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "return the content of an image commit repository path",
"tags": [
"Storage"
]
}
},
"/storage/isos/{installerID}/": {
"get": {
"description": "This method will redirect request to a signed installer iso url",
"operationId": "RedirectSignedInstaller",
"parameters": [
{
"description": "Installer ID",
"in": "path",
"name": "installerID",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"303": {
"content": {
"application/octet-stream": {
"schema": {
"type": "string"
}
}
},
"description": "URL to redirect"
},
"400": {
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request send couln't be processed."
},
"404": {
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "installer not found."
},
"500": {
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Redirect to a signed installer",
"tags": [
"Storage"
]
}
},
"/storage/update-repos/{updateTransactionID}/content/{repoFilePath}": {
"get": {
"description": "Method will redirect to asigned url of an update-transaction based on repository content",
"operationId": "RedirectUpdateTransactionRepositoryPath",
"parameters": [
{
"description": "id for update transaction id",
"in": "path",
"name": "updateTransactionID",
"required": true,
"schema": {
"type": "integer"
}
},
{
"description": "path to repository to be checked",
"in": "path",
"name": "repoFilePath",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"303": {
"content": {
"application/octet-stream": {
"schema": {
"type": "string"
}
}
},
"description": "URL signed to be redirect"
},
"400": {
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "redirect to a signed url of an update-transaction repository path content",
"tags": [
"Storage"
]
}
},
"/storage/update-repos/{updateTransactionID}/{repoFilePath}": {
"get": {
"description": "Request will get access to content of an update-transaction file based on the path",
"operationId": "RedirectUpdateTransactionRepositoryContent",
"parameters": [
{
"description": "Update Transaction Id",
"in": "path",
"name": "updateTransactionID",
"required": true,
"schema": {
"type": "integer"
}
},
{
"description": "path for repository file",
"in": "path",
"name": "repoFilePath",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/octet-stream": {
"schema": {
"type": "string"
}
}
},
"description": "Stream object from file content"
},
"400": {
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/octet-stream": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Return the content od an update-transaction repository path",
"tags": [
"Storage"
]
}
},
"/thirdpartyrepo": {
"get": {
"description": "Lists all Third Party Repository for an account.",
"operationId": "GetAllThirdPartyRepo",
"parameters": [
{
"description": "fields: created_at, name, updated_at. To sort DESC use - before the fields.",
"in": "query",
"name": "sort_by",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by name",
"in": "query",
"name": "name",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by creation date",
"in": "query",
"name": "created_at",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by update date",
"in": "query",
"name": "updated_at",
"schema": {
"type": "string"
}
},
{
"description": "field: return number of repositories until limit is reached.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "field: return number of repositories beginning at the offset.",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThirdPartyRepoList"
}
}
},
"description": "The list of third party repositories response"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Lists all Third Party Repository for an account.",
"tags": [
"Third Party Repo"
]
},
"post": {
"description": "Create Third Party Repository for an account.",
"operationId": "CreateThirdPartyRepo",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThirdPartyRepo"
}
}
},
"description": "the third party repository to create",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThirdPartyRepo"
}
}
},
"description": "The created third party repository"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Create Third Party Repository for an account.",
"tags": [
"Third Party Repo"
]
}
},
"/thirdpartyrepo/checkName/{name}": {
"get": {
"description": "Checks to see if a ThirdParty repo Name exists.",
"operationId": "CheckThirdPartyRepoName",
"parameters": [
{
"description": "ThirdParty repo Name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CheckThirdPartyRepoName"
}
}
},
"description": "The third party repository name check result"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Checks to see if a ThirdParty repo Name exists.",
"tags": [
"Third Party Repo"
]
}
},
"/thirdpartyrepo/{ID}": {
"delete": {
"description": "Delete third party repository using id.",
"operationId": "DeleteThirdPartyRepoByID",
"parameters": [
{
"description": "An unique existing third party repository id.",
"in": "query",
"name": "ID",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThirdPartyRepo"
}
}
},
"description": "The deleted third party repository."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "The third party repository was not found."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Delete third party repository using id.",
"tags": [
"Third Party Repo"
]
},
"get": {
"description": "Get third party repository by id.",
"operationId": "GetThirdPartyRepoByID",
"parameters": [
{
"description": "An unique existing third party repository id.",
"in": "query",
"name": "ID",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThirdPartyRepo"
}
}
},
"description": "The requested third party repository."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "The third party repository was not found."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Get third party repository by id.",
"tags": [
"Third Party Repo"
]
},
"put": {
"description": "Creates an Update for third party repository",
"operationId": "CreateThirdPartyRepoUpdate",
"parameters": [
{
"description": "An unique existing third party repository id.",
"in": "query",
"name": "ID",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThirdPartyRepo"
}
}
},
"description": "The third party repository update data",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ThirdPartyRepo"
}
}
},
"description": "The updated third party repository."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "The third party repository was not found."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Creates an Update for third party repository",
"tags": [
"Third Party Repo"
]
}
},
"/updates": {
"get": {
"description": "Gets all device updates",
"operationId": "ListUpdates",
"parameters": [
{
"description": "field: return number of updates until limit is reached. Default is 30.",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "field: return updates beginning at the given offset.",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
},
{
"description": "fields: created_at, updated_at. To sort DESC use - before the fields.",
"in": "query",
"name": "sort_by",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by status",
"in": "query",
"name": "status",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by creation date",
"in": "query",
"name": "created_at",
"schema": {
"type": "string"
}
},
{
"description": "field: filter by update date",
"in": "query",
"name": "updated_at",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/Update"
},
"type": "array"
}
}
},
"description": "List of devices updates"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Gets all device updates",
"tags": [
"Updates (Systems)"
]
},
"post": {
"description": "Executes a device update",
"operationId": "UpdateDevice",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DevicesUpdate"
}
}
},
"description": "devices uuids to update and optional target commit id",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Update"
}
}
},
"description": "The created device update"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error"
}
},
"summary": "Executes a device update",
"tags": [
"Updates (Systems)"
]
}
},
"/updates/device/{DeviceUUID}/updates": {
"get": {
"description": "Return list of available updates for a device.",
"operationId": "GetUpdateAvailableForDevice",
"parameters": [
{
"description": "DeviceUUID",
"in": "path",
"name": "DeviceUUID",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "query the latest or all updates",
"in": "query",
"name": "latest",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/models.Image"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "Return list of available updates for a device.",
"tags": [
"Devices (Systems)"
]
}
},
"/updates/validate": {
"post": {
"description": "Validate if the images selection could be updated",
"operationId": "PostValidateUpdate",
"requestBody": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/ImageValidationRequest"
},
"type": "array"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ImageValidationResponse"
}
}
},
"description": "the validation result"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error"
}
},
"summary": "Validate if the images selection could be updated",
"tags": [
"Updates (Systems)"
]
}
},
"/updates/{updateID}": {
"get": {
"description": "Gets a single requested update.",
"operationId": "GetUpdate",
"parameters": [
{
"description": "a unique ID to identify the update",
"in": "path",
"name": "updateID",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Update"
}
}
},
"description": "The requested update"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "The requested update was not found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error"
}
},
"summary": "Gets a single requested update",
"tags": [
"Updates (Systems)"
]
}
},
"/updates/{updateID}/notify": {
"get": {
"description": "Send a notification for a device update",
"operationId": "SendNotificationForDevice",
"parameters": [
{
"description": "a unique ID to identify the update",
"in": "path",
"name": "updateID",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceNotification"
}
}
},
"description": "The notification payload"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "The requested update was not found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error"
}
},
"summary": "Send a notification for a device update",
"tags": [
"Updates (Systems)"
]
}
},
"/updates/{updateID}/update-playbook.yml": {
"get": {
"description": "returns the update transaction playbook used for system update",
"operationId": "GetUpdatePlaybook",
"parameters": [
{
"description": "a unique ID to identify the update the playbook belongs to",
"in": "path",
"name": "updateID",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
},
"description": "the playbook file content for an update"
},
"400": {
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/errors.BadRequest"
}
}
},
"description": "The request sent couldn't be processed."
},
"404": {
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/errors.NotFound"
}
}
},
"description": "the device update was not found"
},
"500": {
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/errors.InternalServerError"
}
}
},
"description": "There was an internal server error."
}
},
"summary": "returns the playbook yaml file for a system update",
"tags": [
"Updates (Systems)"
]
}
}
}
}