mirror of
https://github.com/fleetdm/fleet
synced 2026-05-23 08:58:41 +00:00
67 lines
2 KiB
Go
67 lines
2 KiB
Go
package fleet
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
type CarveMetadata struct {
|
|
// ID is the DB auto-increment ID for the carve.
|
|
ID int64 `json:"id" db:"id"`
|
|
// CreatedAt is the creation timestamp.
|
|
CreatedAt time.Time `json:"created_at" db:"created_at"`
|
|
// HostId is the ID of the host that initiated the carve.
|
|
HostId uint `json:"host_id" db:"host_id"`
|
|
// Name is the human readable name for this carve.
|
|
Name string `json:"name" db:"name"`
|
|
// BlockCount is the number of blocks in the carve.
|
|
BlockCount int64 `json:"block_count" db:"block_count"`
|
|
// BlcokSize is the size of each block in the carve.
|
|
BlockSize int64 `json:"block_size" db:"block_size"`
|
|
// CarveSize is the total size of the carve.
|
|
CarveSize int64 `json:"carve_size" db:"carve_size"`
|
|
// CarveId is a uuid generated by osquery for the carve.
|
|
CarveId string `json:"carve_id" db:"carve_id"`
|
|
// RequestId is the name of the query that kicked off this carve.
|
|
RequestId string `json:"request_id" db:"request_id"`
|
|
// SessionId is generated by Fleet and used by osquery to identify blocks.
|
|
SessionId string `json:"session_id" db:"session_id"`
|
|
// Expired is whether the carve has "expired" (data has been purged).
|
|
Expired bool `json:"expired" db:"expired"`
|
|
// Error is the error message if the carve failed.
|
|
Error *string `json:"error" db:"error"`
|
|
|
|
// MaxBlock is the highest block number currently stored for this carve.
|
|
// This value is not stored directly, but generated from the carve_blocks
|
|
// table.
|
|
MaxBlock int64 `json:"max_block" db:"max_block"`
|
|
}
|
|
|
|
func (c CarveMetadata) AuthzType() string {
|
|
return "carve"
|
|
}
|
|
|
|
func (c *CarveMetadata) BlocksComplete() bool {
|
|
return c.MaxBlock == c.BlockCount-1
|
|
}
|
|
|
|
type CarveListOptions struct {
|
|
ListOptions
|
|
|
|
// Expired determines whether to include expired carves.
|
|
Expired bool
|
|
}
|
|
|
|
type CarveBeginPayload struct {
|
|
BlockCount int64
|
|
BlockSize int64
|
|
CarveSize int64
|
|
CarveId string
|
|
RequestId string
|
|
}
|
|
|
|
type CarveBlockPayload struct {
|
|
SessionId string
|
|
RequestId string
|
|
BlockId int64
|
|
Data []byte
|
|
}
|