-
-
Notifications
You must be signed in to change notification settings - Fork 165
/
operations.go
42 lines (37 loc) · 1.71 KB
/
operations.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//go:build linux && cgo && !agent
package cluster
import (
"github.com/lxc/incus/internal/server/db/operationtype"
)
// Code generation directives.
//
//go:generate -command mapper incus-generate db mapper -t operations.mapper.go
//go:generate mapper reset -i -b "//go:build linux && cgo && !agent"
//
//go:generate mapper stmt -e operation objects
//go:generate mapper stmt -e operation objects-by-NodeID
//go:generate mapper stmt -e operation objects-by-ID
//go:generate mapper stmt -e operation objects-by-UUID
//go:generate mapper stmt -e operation create-or-replace
//go:generate mapper stmt -e operation delete-by-UUID
//go:generate mapper stmt -e operation delete-by-NodeID
//
//go:generate mapper method -i -e operation GetMany
//go:generate mapper method -i -e operation CreateOrReplace
//go:generate mapper method -i -e operation DeleteOne-by-UUID
//go:generate mapper method -i -e operation DeleteMany-by-NodeID
// Operation holds information about a single operation running on a member in the cluster.
type Operation struct {
ID int64 `db:"primary=yes"` // Stable database identifier
UUID string `db:"primary=yes"` // User-visible identifier
NodeAddress string `db:"join=nodes.address&omit=create-or-replace"` // Address of the node the operation is running on
ProjectID *int64 // ID of the project for the operation.
NodeID int64 // ID of the node the operation is running on
Type operationtype.Type // Type of the operation
}
// OperationFilter specifies potential query parameter fields.
type OperationFilter struct {
ID *int64
NodeID *int64
UUID *string
}