Blame internal/worker/json.go

Packit 63bb0d
package worker
Packit 63bb0d
Packit 63bb0d
import (
Packit Service 509fd4
	"encoding/json"
Packit 63bb0d
Packit Service 509fd4
	"github.com/google/uuid"
Packit 63bb0d
	"github.com/osbuild/osbuild-composer/internal/distro"
Packit Service 509fd4
	"github.com/osbuild/osbuild-composer/internal/osbuild"
Packit 63bb0d
	"github.com/osbuild/osbuild-composer/internal/target"
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
//
Packit 63bb0d
// JSON-serializable types for the jobqueue
Packit 63bb0d
//
Packit 63bb0d
Packit 63bb0d
type OSBuildJob struct {
Packit Service 509fd4
	Manifest        distro.Manifest  `json:"manifest"`
Packit Service 509fd4
	Targets         []*target.Target `json:"targets,omitempty"`
Packit Service 509fd4
	ImageName       string           `json:"image_name,omitempty"`
Packit Service 509fd4
	StreamOptimized bool             `json:"stream_optimized,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
type OSBuildJobResult struct {
Packit Service 509fd4
	Success       bool            `json:"success"`
Packit Service 509fd4
	OSBuildOutput *osbuild.Result `json:"osbuild_output,omitempty"`
Packit Service 509fd4
	TargetErrors  []string        `json:"target_errors,omitempty"`
Packit Service 509fd4
}
Packit Service 509fd4
Packit Service 509fd4
type KojiInitJob struct {
Packit Service 509fd4
	Server  string `json:"server"`
Packit Service 509fd4
	Name    string `json:"name"`
Packit Service 509fd4
	Version string `json:"version"`
Packit Service 509fd4
	Release string `json:"release"`
Packit Service 509fd4
}
Packit Service 509fd4
Packit Service 509fd4
type KojiInitJobResult struct {
Packit Service 509fd4
	BuildID   uint64 `json:"build_id"`
Packit Service 509fd4
	Token     string `json:"token"`
Packit Service 509fd4
	KojiError string `json:"koji_error"`
Packit Service 509fd4
}
Packit Service 509fd4
Packit Service 509fd4
type OSBuildKojiJob struct {
Packit Service 509fd4
	Manifest      distro.Manifest `json:"manifest"`
Packit Service 509fd4
	ImageName     string          `json:"image_name"`
Packit Service 509fd4
	KojiServer    string          `json:"koji_server"`
Packit Service 509fd4
	KojiDirectory string          `json:"koji_directory"`
Packit Service 509fd4
	KojiFilename  string          `json:"koji_filename"`
Packit Service 509fd4
}
Packit Service 509fd4
Packit Service 509fd4
type OSBuildKojiJobResult struct {
Packit Service 509fd4
	HostOS        string          `json:"host_os"`
Packit Service 509fd4
	Arch          string          `json:"arch"`
Packit Service 509fd4
	OSBuildOutput *osbuild.Result `json:"osbuild_output"`
Packit Service 509fd4
	ImageHash     string          `json:"image_hash"`
Packit Service 509fd4
	ImageSize     uint64          `json:"image_size"`
Packit Service 509fd4
	KojiError     string          `json:"koji_error"`
Packit Service 509fd4
}
Packit Service 509fd4
Packit Service 509fd4
type KojiFinalizeJob struct {
Packit Service 509fd4
	Server        string   `json:"server"`
Packit Service 509fd4
	Name          string   `json:"name"`
Packit Service 509fd4
	Version       string   `json:"version"`
Packit Service 509fd4
	Release       string   `json:"release"`
Packit Service 509fd4
	KojiFilenames []string `json:"koji_filenames"`
Packit Service 509fd4
	KojiDirectory string   `json:"koji_directory"`
Packit Service 509fd4
	TaskID        uint64   `json:"task_id"` /* https://pagure.io/koji/issue/215 */
Packit Service 509fd4
	StartTime     uint64   `json:"start_time"`
Packit Service 509fd4
}
Packit Service 509fd4
Packit Service 509fd4
type KojiFinalizeJobResult struct {
Packit Service 509fd4
	KojiError string `json:"koji_error"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
//
Packit 63bb0d
// JSON-serializable types for the HTTP API
Packit 63bb0d
//
Packit 63bb0d
Packit 63bb0d
type statusResponse struct {
Packit 63bb0d
	Status string `json:"status"`
Packit 63bb0d
}
Packit 63bb0d
Packit Service 509fd4
type requestJobResponse struct {
Packit Service 509fd4
	Id               uuid.UUID         `json:"id"`
Packit Service 509fd4
	Location         string            `json:"location"`
Packit Service 509fd4
	ArtifactLocation string            `json:"artifact_location"`
Packit Service 509fd4
	Type             string            `json:"type"`
Packit Service 509fd4
	Args             json.RawMessage   `json:"args,omitempty"`
Packit Service 509fd4
	DynamicArgs      []json.RawMessage `json:"dynamic_args,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit Service 509fd4
type getJobResponse struct {
Packit Service 509fd4
	Canceled bool `json:"canceled"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
type updateJobRequest struct {
Packit Service 509fd4
	Result json.RawMessage `json:"result"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
type updateJobResponse struct {
Packit 63bb0d
}