This commit adds 2 more RTQ Query in preparation of porting edge source code to image-builder-frontend
5722 lines
156 KiB
JSON
5722 lines
156 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"
|
|
},
|
|
"CreateImage": {
|
|
"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"
|
|
},
|
|
"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.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"
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"total": {
|
|
"description": "Total number of device",
|
|
"example": 40,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"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.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"
|
|
},
|
|
"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": {
|
|
"CreatedAt": {
|
|
"$ref": "#/components/schemas/models.EdgeAPITime"
|
|
},
|
|
"DeletedAt": {
|
|
"$ref": "#/components/schemas/gorm.DeletedAt"
|
|
},
|
|
"ID": {
|
|
"type": "integer"
|
|
},
|
|
"UpdatedAt": {
|
|
"$ref": "#/components/schemas/models.EdgeAPITime"
|
|
},
|
|
"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.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": {
|
|
"type": "string"
|
|
},
|
|
"RepoURL": {
|
|
"type": "string"
|
|
},
|
|
"UpdatedAt": {
|
|
"$ref": "#/components/schemas/models.EdgeAPITime"
|
|
}
|
|
},
|
|
"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/{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.DeviceViewListAPI"
|
|
}
|
|
}
|
|
},
|
|
"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.DeviceViewListAPI"
|
|
}
|
|
}
|
|
},
|
|
"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/CreateImage"
|
|
}
|
|
}
|
|
},
|
|
"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/CreateImage"
|
|
}
|
|
}
|
|
},
|
|
"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/CreateImage"
|
|
}
|
|
}
|
|
},
|
|
"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/CreateImage"
|
|
}
|
|
}
|
|
},
|
|
"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/CreateImage"
|
|
}
|
|
}
|
|
},
|
|
"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/CreateImage"
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
},
|
|
"/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)"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|