Documentation
¶
Index ¶
- func GetCsvFileEvents(authData AuthData, ffsURI string, query Query) (*[]CsvFileEvent, error)
- func GetJsonFileEvents(authData AuthData, ffsURI string, query Query, pgToken string, debugging bool) (*[]JsonFileEvent, string, error)
- type AuthData
- type CsvFileEvent
- type FieldError
- type Group
- type JsonFileEvent
- type JsonFileEventResponse
- type Query
- type QueryProblem
- type SearchFilter
- type SharedWith
- type Tab
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetCsvFileEvents ¶ added in v0.4.1
func GetCsvFileEvents(authData AuthData, ffsURI string, query Query) (*[]CsvFileEvent, error)
getCsvFileEvents - Function to get the actual event records from FFS *http.Response from ExecQuery This function contains a panic if the csv columns do not match the currently specified list. This is to prevent data from being messed up during parsing.
func GetJsonFileEvents ¶ added in v0.4.1
Types ¶
type AuthData ¶
type AuthData struct {
AccessToken string `json:"access_token"`
Error string `json:"error,omitempty"`
Warnings string `json:"warnings,omitempty"`
TokenType string `json:"token_type,omitempty"`
ExpiresIn *int `json:"expires_in,omitempty"`
}
AuthData Structs of Crashplan FFS API Authentication Token Return
func GetAuthData ¶
GetAuthData - Function to get the Authentication data (mainly the authentication token) which will be needed for the rest of the API calls The authentication token is good for up to 1 hour before it expires
type CsvFileEvent ¶ added in v0.4.1
type CsvFileEvent struct {
EventId string `json:"eventId,omitempty"`
EventType string `json:"eventType,omitempty"`
EventTimestamp *time.Time `json:"eventTimestamp,omitempty"`
InsertionTimestamp *time.Time `json:"insertionTimestamp,omitempty"`
FilePath string `json:"filePath,omitempty"`
FileName string `json:"fileName,omitempty"`
FileType string `json:"fileType,omitempty"`
FileCategory string `json:"fileCategory,omitempty"`
IdentifiedExtensionCategory string `json:"identifiedExtensionCategory,omitempty"`
CurrentExtensionCategory string `json:"currentExtensionCategory,omitempty"`
FileSize *int `json:"fileSize,omitempty"`
FileOwner []string `json:"fileOwner,omitempty"` //Array of owners
Md5Checksum string `json:"md5Checksum,omitempty"`
Sha256Checksum string `json:"sha256Checksum,omitempty"`
CreatedTimestamp *time.Time `json:"createdTimestamp,omitempty"`
ModifyTimestamp *time.Time `json:"modifyTimestamp,omitempty"`
DeviceUsername string `json:"deviceUsername,omitempty"`
DeviceUid string `json:"deviceUid,omitempty"`
UserUid string `json:"userUid,omitempty"`
OsHostname string `json:"osHostname,omitempty"`
DomainName string `json:"domainName,omitempty"`
PublicIpAddress string `json:"publicIpAddress,omitempty"`
PrivateIpAddresses []string `json:"privateIpAddresses,omitempty"` //Array of IP address strings
Actor string `json:"actor,omitempty"`
DirectoryId []string `json:"directoryId,omitempty"` //An array of something, I am not sure
Source string `json:"source,omitempty"`
Url string `json:"url,omitempty"`
SharingTypeAdded []string `json:"sharingTypeAdded,omitempty"`
CloudDriveId string `json:"cloudDriveId,omitempty"`
DetectionSourceAlias string `json:"detectionSourceAlias,omitempty"`
FileId string `json:"fileId,omitempty"`
Exposure []string `json:"exposure,omitempty"`
ProcessOwner string `json:"processOwner,omitempty"`
ProcessName string `json:"processName,omitempty"`
TabWindowTitle string `json:"tabWindowTitle,omitempty"`
TabUrl string `json:"tabUrl,omitempty"`
TabTitles []string `json:"tabTitles,omitempty"`
TabURLs []string `json:"tabURLs,omitempty"`
RemovableMediaVendor string `json:"removableMediaVendor,omitempty"`
RemovableMediaName string `json:"removableMediaName,omitempty"`
RemovableMediaSerialNumber string `json:"removableMediaSerialNumber,omitempty"`
RemovableMediaCapacity *int `json:"removableMediaCapacity,omitempty"`
RemovableMediaBusType string `json:"removableMediaBusType,omitempty"`
RemovableMediaMediaName string `json:"removableMediaMediaName,omitempty"`
RemovableMediaVolumeName string `json:"removableMediaVolumeName,omitempty"`
RemovableMediaPartitionId string `json:"removableMediaPartitionId,omitempty"`
SyncDestination string `json:"syncDestination,omitempty"`
SyncDestinationUsername string `json:"syncDestinationUsername,omitempty"`
EmailDLPPolicyNames []string `json:"emailDLPPolicyNames,omitempty"`
EmailDLPSubject string `json:"emailDLPSubject,omitempty"`
EmailDLPSender string `json:"emailDLPSender,omitempty"`
EmailDLPFrom string `json:"emailDLPFrom,omitempty"`
EmailDLPRecipients []string `json:"emailDLPRecipients,omitempty"`
OutsideActiveHours *bool `json:"outsideActiveHours,omitempty"`
IdentifiedExtensionMIMEType string `json:"identifiedExtensionMimeType,omitempty"`
CurrentExtensionMIMEType string `json:"currentExtensionMimeType,omitempty"`
SuspiciousFileTypeMismatch *bool `json:"suspiciousFileTypeMismatch,omitempty"`
PrintJobName string `json:"printJobName,omitempty"`
PrinterName string `json:"printerName,omitempty"`
PrintedFilesBackupPath string `json:"printedFilesBackupPath,omitempty"`
RemoteActivity string `json:"remoteActivity,omitempty"`
Trusted *bool `json:"trusted,omitempty"`
LoggedInOperatingSystemUser string `json:"loggedInOperatingSystemUser,omitempty"`
DestinationCategory string `json:"destinationCategory,omitempty"`
DestinationName string `json:"destinationName,omitempty"`
}
The CSV main body of a file event record
type FieldError ¶ added in v0.4.1
type Group ¶
type Group struct {
Filters []SearchFilter `json:"filters"`
FilterClause string `json:"filterClause,omitempty"`
}
type JsonFileEvent ¶ added in v0.4.1
type JsonFileEvent struct {
Actor string `json:"actor,omitempty"`
CloudDriveId string `json:"cloudDriveId,omitempty"`
CreateTimestamp string `json:"createTimestamp,omitempty"`
DestinationCategory string `json:"destinationCategory,omitempty"`
DestinationName string `json:"destinationName,omitempty"`
DetectionSourceAlias string `json:"detectionSourceAlias,omitempty"`
DeviceUid string `json:"deviceUid,omitempty"`
DeviceUserName string `json:"deviceUserName,omitempty"`
DirectoryId []string `json:"directoryId,omitempty"`
DomainName string `json:"domainName,omitempty"`
EmailDlpPolicyNames []string `json:"emailDlpPolicyNames,omitempty"`
EmailFrom string `json:"emailFrom,omitempty"`
EmailRecipients []string `json:"emailRecipients,omitempty"`
EmailSender string `json:"emailSender,omitempty"`
EmailSubject string `json:"emailSubject,omitempty"`
EventId string `json:"eventId"`
EventTimestamp string `json:"eventTimestamp,omitempty"`
EventType string `json:"eventType,omitempty"`
Exposure []string `json:"exposure,omitempty"`
FieldErrors []FieldError `json:"fieldErrors,omitempty"`
FileCategory string `json:"fileCategory,omitempty"`
FileCategoryByBytes string `json:"fileCategoryByBytes,omitempty"`
FileCategoryByExtension string `json:"fileCategoryByExtension,omitempty"`
FileId string `json:"fileId,omitempty"`
FileName string `json:"fileName,omitempty"`
FileOwner string `json:"fileOwner,omitempty"`
FilePath string `json:"filePath,omitempty"`
FileSize *int64 `json:"fileSize,omitempty"`
FileType string `json:"fileType,omitempty"`
InsertionTimestamp string `json:"insertionTimestamp,omitempty"`
Md5Checksum string `json:"md5Checksum,omitempty"`
MimeTypeByBytes string `json:"mimeTypeByBytes,omitempty"`
MimeTypeByExtension string `json:"mimeTypeByExtension,omitempty"`
MimeTypeMismatch *bool `json:"mimeTypeMismatch,omitempty"`
ModifyTimestamp string `json:"modifyTimestamp,omitempty"`
OperatingSystemUser string `json:"operatingSystemUser,omitempty"`
OsHostName string `json:"osHostName,omitempty"`
OutsideActiveHours *bool `json:"outsideActiveHours,omitempty"`
PrintJobName string `json:"printJobName,omitempty"`
PrinterName string `json:"printerName,omitempty"`
PrivateIpAddresses []string `json:"privateIpAddresses,omitempty"`
ProcessName string `json:"processName,omitempty"`
ProcessOwner string `json:"processOwner,omitempty"`
PublicIpAddress string `json:"publicIpAddress,omitempty"`
RemoteActivity string `json:"remoteActivity,omitempty"`
RemovableMediaBusType string `json:"removableMediaBusType,omitempty"`
RemovableMediaCapacity *int64 `json:"removableMediaCapacity,omitempty"`
RemovableMediaMediaName string `json:"removableMediaMediaName,omitempty"`
RemovableMediaName string `json:"removableMediaName,omitempty"`
RemovableMediaPartitionId []string `json:"removableMediaPartitionId,omitempty"`
RemovableMediaSerialNumber string `json:"removableMediaSerialNumber,omitempty"`
RemovableMediaVendor string `json:"removableMediaVendor,omitempty"`
RemovableMediaVolumeName []string `json:"removableMediaVolumeName,omitempty"`
Sha256Checksum string `json:"sha256Checksum,omitempty"`
SharingTypeAdded []string `json:"sharingTypeAdded,omitempty"`
Source string `json:"source,omitempty"`
SyncDestination string `json:"syncDestination,omitempty"`
SyncDestinationUsername []string `json:"syncDestinationUsername,omitempty"`
TabUrl string `json:"tabUrl,omitempty"`
Tabs []Tab `json:"tabs,omitempty"`
Trusted *bool `json:"trusted,omitempty"`
Url string `json:"url,omitempty"`
UserUid string `json:"userUid,omitempty"`
WindowTitle []string `json:"windowTitle,omitempty"`
}
type JsonFileEventResponse ¶ added in v0.4.1
type JsonFileEventResponse struct {
FileEvents []JsonFileEvent `json:"fileEvents,omitempty"`
NextPgToken string `json:"nextPgToken,omitempty"`
Problems []QueryProblem `json:"problems,omitempty"`
TotalCount *int64 `json:"totalCount,omitempty"`
}
func GetJsonFileEventResponse ¶ added in v0.4.1
func GetJsonFileEventResponse(resp *http.Response) (*JsonFileEventResponse, error)
type Query ¶
type Query struct {
Groups []Group `json:"groups"`
GroupClause string `json:"groupClause,omitempty"`
PgNum int `json:"pgNum,omitempty"`
PgSize int `json:"pgSize,omitempty"`
PgToken string `json:"pgToken"`
SrtDir string `json:"srtDir,omitempty"`
SrtKey string `json:"srtKey,omitempty"`
}
Structs for FFS Queries
type QueryProblem ¶ added in v0.4.1
type QueryProblem struct {
BadFilter SearchFilter `json:"badFilter,omitempty"`
Description string `json:"description,omitempty"`
Type string `json:"type,omitempty"`
}
type SearchFilter ¶ added in v0.4.1
type SharedWith ¶ added in v0.4.1
type SharedWith struct {
}
Click to show internal directories.
Click to hide internal directories.