// Code generated by cmd/asyncapi-event-contracts from specs/asyncapi/runtime-manager.v1.yaml; DO NOT EDIT.

package runtimeevents

const SchemaVersion = 1

const (
	EventSlotReserved                      = "runtime.slot.reserved"
	EventSlotLeaseExtended                 = "runtime.slot.lease_extended"
	EventSlotReleased                      = "runtime.slot.released"
	EventSlotFailed                        = "runtime.slot.failed"
	EventSlotCleanupRequested              = "runtime.slot.cleanup_requested"
	EventSlotCleaned                       = "runtime.slot.cleaned"
	EventWorkspaceMaterializationStarted   = "runtime.workspace.materialization_started"
	EventWorkspaceMaterializationCompleted = "runtime.workspace.materialization_completed"
	EventWorkspaceMaterializationFailed    = "runtime.workspace.materialization_failed"
	EventJobCreated                        = "runtime.job.created"
	EventJobStarted                        = "runtime.job.started"
	EventJobStepUpdated                    = "runtime.job.step_updated"
	EventJobCompleted                      = "runtime.job.completed"
	EventJobFailed                         = "runtime.job.failed"
	EventJobCancelled                      = "runtime.job.cancelled"
	EventCleanupFailed                     = "runtime.cleanup.failed"
	EventPrewarmCapacityChanged            = "runtime.prewarm.capacity_changed"
)

const (
	AggregateCleanupPolicy            = "cleanup_policy"
	AggregateJob                      = "job"
	AggregatePrewarmPool              = "prewarm_pool"
	AggregateSlot                     = "slot"
	AggregateWorkspaceMaterialization = "workspace_materialization"
)

// Payload is the generated common payload envelope for domain events.
type Payload struct {
	AgentRunID                 string `json:"agent_run_id,omitempty"`
	CapacityStatus             string `json:"capacity_status,omitempty"`
	CleanupPolicyID            string `json:"cleanup_policy_id,omitempty"`
	ClusterID                  string `json:"cluster_id,omitempty"`
	ErrorCode                  string `json:"error_code,omitempty"`
	ErrorMessage               string `json:"error_message,omitempty"`
	Fingerprint                string `json:"fingerprint,omitempty"`
	FleetScopeID               string `json:"fleet_scope_id,omitempty"`
	FullLogRef                 string `json:"full_log_ref,omitempty"`
	JobID                      string `json:"job_id,omitempty"`
	JobStepID                  string `json:"job_step_id,omitempty"`
	JobType                    string `json:"job_type,omitempty"`
	LeaseUntil                 string `json:"lease_until,omitempty"`
	NamespaceName              string `json:"namespace_name,omitempty"`
	PreviousStatus             string `json:"previous_status,omitempty"`
	PrewarmPoolID              string `json:"prewarm_pool_id,omitempty"`
	ProjectID                  string `json:"project_id,omitempty"`
	RepositoryID               string `json:"repository_id,omitempty"`
	RuntimeProfile             string `json:"runtime_profile,omitempty"`
	SlotID                     string `json:"slot_id,omitempty"`
	SlotKey                    string `json:"slot_key,omitempty"`
	Status                     string `json:"status,omitempty"`
	StepKey                    string `json:"step_key,omitempty"`
	TargetSize                 int64  `json:"target_size,omitempty"`
	Version                    int64  `json:"version,omitempty"`
	WorkspaceMaterializationID string `json:"workspace_materialization_id,omitempty"`
}
