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

package fleet

const SchemaVersion = 1

const (
	EventScopeCreated      = "fleet.scope.created"
	EventScopeUpdated      = "fleet.scope.updated"
	EventScopeDisabled     = "fleet.scope.disabled"
	EventScopeEnabled      = "fleet.scope.enabled"
	EventServerCreated     = "fleet.server.created"
	EventServerUpdated     = "fleet.server.updated"
	EventServerDisabled    = "fleet.server.disabled"
	EventServerEnabled     = "fleet.server.enabled"
	EventClusterCreated    = "fleet.cluster.created"
	EventClusterUpdated    = "fleet.cluster.updated"
	EventClusterDisabled   = "fleet.cluster.disabled"
	EventClusterEnabled    = "fleet.cluster.enabled"
	EventHealthChecked     = "fleet.health.checked"
	EventHealthDegraded    = "fleet.health.degraded"
	EventPlacementResolved = "fleet.placement.resolved"
	EventPlacementRejected = "fleet.placement.rejected"
)

const (
	AggregateClusterHealth     = "cluster_health"
	AggregateFleetScope        = "fleet_scope"
	AggregateKubernetesCluster = "kubernetes_cluster"
	AggregatePlacementDecision = "placement_decision"
	AggregateServer            = "server"
)

// Payload is the generated common payload envelope for domain events.
type Payload struct {
	CapacityStatus      string `json:"capacity_status,omitempty"`
	ClusterID           string `json:"cluster_id,omitempty"`
	ClusterKey          string `json:"cluster_key,omitempty"`
	ErrorCode           string `json:"error_code,omitempty"`
	ErrorMessage        string `json:"error_message,omitempty"`
	FleetScopeID        string `json:"fleet_scope_id,omitempty"`
	HealthStatus        string `json:"health_status,omitempty"`
	IsDefault           bool   `json:"is_default,omitempty"`
	PlacementDecisionID string `json:"placement_decision_id,omitempty"`
	PreviousStatus      string `json:"previous_status,omitempty"`
	ProjectID           string `json:"project_id,omitempty"`
	ReasonCode          string `json:"reason_code,omitempty"`
	ReasonMessage       string `json:"reason_message,omitempty"`
	RepositoryID        string `json:"repository_id,omitempty"`
	RuntimeMode         string `json:"runtime_mode,omitempty"`
	RuntimeProfile      string `json:"runtime_profile,omitempty"`
	ScopeKey            string `json:"scope_key,omitempty"`
	ScopeOwnerID        string `json:"scope_owner_id,omitempty"`
	ScopeType           string `json:"scope_type,omitempty"`
	ServerID            string `json:"server_id,omitempty"`
	ServerKey           string `json:"server_key,omitempty"`
	Status              string `json:"status,omitempty"`
	UsedDefaultPath     bool   `json:"used_default_path,omitempty"`
	Version             int64  `json:"version,omitempty"`
}
