cometsdk

package module
v1.24.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2024 License: MIT Imports: 8 Imported by: 1

README

Comet Go SDK

MIT License

This project is a SDK and base client for Comet Server API using Golang.

Getting Started

  1. Import this repo into your Go program
  2. Run go mod tidy to download it (or let your IDE do it for you)
  3. You're ready to go!

Development environment

Read go.mod to see the latest Go version this SDK was built with

Releasing

  • Update the changelog
  • Run go mod tidy
  • Run go test ./...
  • Tag the release to the new version
  • Push to tag the hosted repo

Getting Help

Bug reports and pull requests are welcome on GitHub at https://github.com/CometBackup/comet-go-sdk.

You may also submit issues via the ticket system at cometbackup.com.

Documentation

Overview

Autogenerated, do not edit directly

Index

Constants

View Source
const APPLICATION_VERSION string = "24.3.5"
View Source
const APPLICATION_VERSION_MAJOR int = 24
View Source
const APPLICATION_VERSION_MINOR int = 3
View Source
const APPLICATION_VERSION_REVISION int = 5
View Source
const BRANDINGSTYLETYPE_AUTO_LEGACY int = 0

If set, will be automatically replaced with one of the other BRANDINGSTYLETYPE_ constants after next server upgrade.

View Source

Use custom branding and colours, with a supplied image in the main logo area.

View Source
const BRANDINGSTYLETYPE_CUSTOM_TEXT int = 2

Use custom branding and colours, with text in the main logo area.

View Source
const BRANDINGSTYLETYPE_DEFAULT int = 1

Use Comet company branding and colours for all web interface branding

View Source
const DEFAULT_TIMEZONE string = "UTC"
View Source
const DESTINATIONTYPE_ALL uint64 = 1101

When defining a schedule via policy, use this option to create a schedule for each Storage Vault in the user's profile.

View Source
const DESTINATIONTYPE_AZUREBLOB uint64 = 1005

Azure Blob Storage

View Source
const DESTINATIONTYPE_B2 uint64 = 1008

Backblaze B2 (Native API)

View Source
const DESTINATIONTYPE_COMET uint64 = 1003

The Comet Server Storage Role protocol

View Source
const DESTINATIONTYPE_FTP uint64 = 1004

FTP protocol

View Source
const DESTINATIONTYPE_LATEST uint64 = 1100

When defining a schedule via policy, use this option to dynamically select the Storage Vault that was created most recently.

View Source
const DESTINATIONTYPE_LOCALCOPY uint64 = 1002

Local Path

View Source
const DESTINATIONTYPE_S3 uint64 = 1000

S3-compatible, or a specific S3 service such as AWS S3, Wasabi, or iDrive e2

View Source
const DESTINATIONTYPE_SFTP uint64 = 1001

SFTP protocol

View Source
const DESTINATIONTYPE_SMB uint64 = 1011

SMB Path

View Source
const DESTINATIONTYPE_SPANNED uint64 = 1006

Spanned

View Source
const DESTINATIONTYPE_STORJ uint64 = 1009

Storj

View Source
const DESTINATIONTYPE_SWIFT uint64 = 1007

Openstack Swift

View Source
const DESTINATIONTYPE_WEBDAV uint64 = 1010
View Source
const DESTINATIONTYPE___INVALID uint64 = 0
View Source
const EMAIL_WORKER_STATE_CALCULATING int = 2

The Comet Server is currently searching through email report configuration, to determine when the next email report is due to be sent.

View Source
const EMAIL_WORKER_STATE_NOT_STARTED int = 0

The Comet Server is still starting up and has not yet checked whether any email reports are due to be sent.

View Source
const EMAIL_WORKER_STATE_SENDING int = 4

The Comet Server is currently sending a scheduled email report.

View Source
const EMAIL_WORKER_STATE_STARTED int = 1

The Comet Server is still starting up and has not yet checked whether any email reports are due to be sent.

View Source
const EMAIL_WORKER_STATE_WAITING int = 3

The Comet Server knows when the next scheduled email report is due to be sent, and is waiting until that time.

View Source
const ENCRYPTIONMETHOD_UNCONFIGURED uint64 = 0
View Source
const ENGINE_BUILTIN_EXCHANGEEDB string = "engine1/exchangeedb"

Microsoft Exchange Server

View Source
const ENGINE_BUILTIN_FILE string = "engine1/file"

Files and Folders

View Source
const ENGINE_BUILTIN_HYPERV string = "engine1/hyperv"

Microsoft Hyper-V

View Source
const ENGINE_BUILTIN_MONGODB string = "engine1/mongodb"

MongoDB

View Source
const ENGINE_BUILTIN_MSOFFICE string = "engine1/winmsofficemail"

Office 365

View Source
const ENGINE_BUILTIN_MSSQL string = "engine1/mssql"

Microsoft SQL Server

View Source
const ENGINE_BUILTIN_MYSQL string = "engine1/mysql"

MySQL

View Source
const ENGINE_BUILTIN_STDOUT string = "engine1/stdout"

Program Output

View Source
const ENGINE_BUILTIN_SYSTEMSTATE string = "engine1/systemstate"

Windows Server System State

View Source
const ENGINE_BUILTIN_VMWARE string = "engine1/vmware"

VMware

View Source
const ENGINE_BUILTIN_VSSWRITER string = "engine1/vsswriter"

Application-Aware Writer

View Source
const ENGINE_BUILTIN_WINDISK string = "engine1/windisk"

Disk Image

View Source
const ENGINE_BUILTIN_WINDOWSSYSTEM string = "engine1/windowssystem"

Windows System Backup

View Source
const HYPERV_METHOD_VSS string = "vss"

Back up Hyper-V virtual machines using VSS mode. This includes all previous snapshots.

View Source
const HYPERV_METHOD_WMI_CBT string = "wmi"

Back up Hyper-V virtual machines using WMI mode with RCT acceleration. This includes the latest snapshot data only. This const is available in Comet 23.9.8 and later.

View Source
const HYPERV_METHOD_WMI_COPY string = "copy"

Back up Hyper-V virtual machines using WMI mode. This includes the latest snapshot data only. This const is available in Comet 23.9.8 and later.

View Source
const MIXED_VIRTUAL_ACCOUNT_TYPE_GROUP uint = 2
View Source
const MIXED_VIRTUAL_ACCOUNT_TYPE_SHAREPOINT_ONLY uint = 4
View Source
const MIXED_VIRTUAL_ACCOUNT_TYPE_TEAM_GROUP uint = 3
View Source
const MIXED_VIRTUAL_ACCOUNT_TYPE_USER uint = 1
View Source
const MONGODB_DEFAULT_PORT int = 27017
View Source
const OBJECT_LOCK_LEGACY uint8 = 0

Enable Object Lock capability if the corresponding Days field is greater than zero. New code should explicitly use OBJECT_LOCK_ON / OBJECT_LOCK_OFF instead. Deprecated: This const has been deprecated since Comet version 23.x.x

View Source
const OBJECT_LOCK_OFF uint8 = 2
View Source
const OBJECT_LOCK_ON uint8 = 1
View Source
const OFFICE365_REGION_CHINA string = "ChinaCloud"
View Source
const OFFICE365_REGION_GERMANY string = "GermanCloud"
View Source
const OFFICE365_REGION_PUBLIC string = "GlobalPublicCloud"
View Source
const OFFICE365_REGION_US_DOD string = "USGovtGccDoDCloud"
View Source
const OFFICE365_REGION_US_GOVT string = "USGovtGccCloud"
View Source
const PASSWORD_FORMAT_PLAINTEXT int = 0

When resetting a password with the API, set the PasswordFormat to this value. The Comet Server will re-hash the credential automatically.

View Source
const RELEASE_CODENAME string = "Voyager"
View Source
const RETENTIONRANGE_MAXINT int = 1125899906842624
View Source
const SCHEDULE_FREQUENCY_DAILY uint64 = 8011

SecondsPast is the number of seconds past 00:00, in the device's local timezone.

View Source
const SCHEDULE_FREQUENCY_HIGHEST uint64 = 8015
View Source
const SCHEDULE_FREQUENCY_HOURLY uint64 = 8012

SecondsPast is the number of seconds past *:00, in the device's local timezone.

View Source
const SCHEDULE_FREQUENCY_LOWEST uint64 = 8010
View Source
const SCHEDULE_FREQUENCY_MONTHLY uint64 = 8014

SecondsPast is the number of seconds past 00:00 1st, in the device's local timezone.

View Source
const SCHEDULE_FREQUENCY_ONCEONLY uint64 = 8010

SecondsPast should be a Unix timestamp, in seconds

View Source
const SCHEDULE_FREQUENCY_PERIODIC uint64 = 8015

SecondsPast is the number of seconds per period. Offset: Shunt seconds after unix epoch

View Source
const SCHEDULE_FREQUENCY_WEEKLY uint64 = 8013

SecondsPast is the number of seconds past 00:00 Sunday, in the device's local timezone.

View Source
const SCHEDULE_MAXINT int = 1125899906842624
View Source
const SCHEDULE_MAX_RANDOM_DELAY_SECS int = 18000

Maximum random delay (5 hours)

View Source
const SEARCHOPERATOR_BOOL_IS string = "bool_is"

Boolean field matches value

View Source
const SEARCHOPERATOR_BOOL_NIS string = "bool_nis"

Boolean field does not match value

View Source
const SEARCHOPERATOR_INT_EQ string = "int_eq"

Integer field is equal to value

View Source
const SEARCHOPERATOR_INT_GT string = "int_gt"

Integer field is greater than value

View Source
const SEARCHOPERATOR_INT_GTE string = "int_gte"

Integer field is greater than or equal to value

View Source
const SEARCHOPERATOR_INT_LT string = "int_lt"

Integer field is less than value

View Source
const SEARCHOPERATOR_INT_LTE string = "int_lte"

Integer field is less than or equal to value

View Source
const SEARCHOPERATOR_INT_NEQ string = "int_neq"

Integer field is not equal to value

View Source
const SEARCHOPERATOR_STRING_CONTAINS string = "str_contains"

String contains anywhere (case sensitive)

View Source
const SEARCHOPERATOR_STRING_CONTAINS_CI string = "str_contains_ci"

String contains anywhere (case sensitive)

View Source
const SEARCHOPERATOR_STRING_ENDSWITH string = "str_endswith"

String ends with suffix (case sensitive)

View Source
const SEARCHOPERATOR_STRING_ENDSWITH_CI string = "str_endswith_ci"

String ends with suffix (case sensitive)

View Source
const SEARCHOPERATOR_STRING_EQ string = "str_eq"

String equals (case sensitive)

View Source
const SEARCHOPERATOR_STRING_EQ_CI string = "str_eq_ci"

String equals (case insensitive)

View Source
const SEARCHOPERATOR_STRING_NCONTAINS string = "str_ncontains"

String does not contain anywhere (case sensitive)

View Source
const SEARCHOPERATOR_STRING_NCONTAINS_CI string = "str_ncontains_ci"

String does not contain anywhere (case sensitive)

View Source
const SEARCHOPERATOR_STRING_NENDSWITH string = "str_nendswith"

String does not end with suffix (case sensitive)

View Source
const SEARCHOPERATOR_STRING_NENDSWITH_CI string = "str_nendswith_ci"

String does not end with suffix (case sensitive)

View Source
const SEARCHOPERATOR_STRING_NEQ string = "str_neq"

String does not equal (case sensitive)

View Source
const SEARCHOPERATOR_STRING_NEQ_CI string = "str_neq_ci"

String does not equal (case insensitive)

View Source
const SEARCHOPERATOR_STRING_NREGEXMATCH string = "str_nregexmatch"

String does not match provided regular expression (using Go regex syntax)

View Source
const SEARCHOPERATOR_STRING_NSTARTSWITH string = "str_nstartswith"

String does not start with prefix (case sensitive)

View Source
const SEARCHOPERATOR_STRING_NSTARTSWITH_CI string = "str_nstartswith_ci"

String does not start with (case sensitive)

View Source
const SEARCHOPERATOR_STRING_REGEXMATCH string = "str_regexmatch"

String matches provided regular expression (using Go regex syntax)

View Source
const SEARCHOPERATOR_STRING_STARTSWITH string = "str_startswith"

String starts with prefix (case sensitive)

View Source
const SEARCHOPERATOR_STRING_STARTSWITH_CI string = "str_startswith_ci"

String starts with prefix (case sensitive)

View Source
const SERVICE_CALENDAR uint = 1

0000 0001. If this value is present in the bitset, then the Calendar service is selected for backup.

View Source
const SERVICE_CONTACT uint = 2

0000 0010. If this value is present in the bitset, then the Contact service is selected for backup.

View Source
const SERVICE_MAIL uint = 4

0000 0100. If this value is present in the bitset, then the Mail service is selected for backup.

View Source
const SERVICE_ONEDRIVE uint = 16

0001 0000. If this value is present in the bitset, then the OneDrive service is selected for backup.

View Source
const SERVICE_SHAREPOINT uint = 8

0000 1000. If this value is present in the bitset, then the SharePoint service is selected for backup.

View Source
const TOTPRequiredError string = "ERR_TOTP_REQUIRED"

If an API response returns in failure, but it includes this value in the CometAPIResponseMessage->Message parameter, it indicates that your supplied authentication was insufficient, and you must supply additional two-factor authentication credentials.

View Source
const USERNAME_MAX_LENGTH int = 255
View Source
const UnknownDeviceError string = "ERR_UNKNOWN_DEVICE"

If an API response returns in failure, but it includes this value in the CometAPIResponseMessage->Message parameter, it indicates that the specified Device ID was invalid or not found.

View Source
const UnsupportVhdxFileSystem string = "ERR_UNSUPPORT_VHDX_FILE_SYSTEM"
View Source
const UnsupportVmdkFileSystem string = "ERR_UNSUPPORT_VMDK_FILE_SYSTEM"
View Source
const VhdxPartitonReadErrMsg string = "ERR_VHDX_PARTITION"

Variables

This section is empty.

Functions

This section is empty.

Types

type AddBucketResponseMessage

type AddBucketResponseMessage struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status       int
	Message      string
	NewBucketID  string
	NewBucketKey string
}

type AdminAccountPropertiesResponse

type AdminAccountPropertiesResponse struct {
	OrganizationID string
	Permissions    AdminUserPermissions
	// This field is available in Comet 18.9.9 and later.
	Security AdminSecurityOptions
}

type AdminEmailOptions

type AdminEmailOptions struct {
	FromEmail string
	FromName  string
}

type AdminResourceResponse

type AdminResourceResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status       int
	Message      string
	ResourceHash string
}

type AdminSecurityOptions

type AdminSecurityOptions struct {
	// One of the PASSWORD_FORMAT_ constants
	PasswordFormat            int
	Password                  string
	AllowPasswordLogin        bool
	AllowPasswordAndTOTPLogin bool
	// Deprecated: This member has been deprecated since Comet version 21.12.0
	AllowPasswordAndU2FLogin      bool
	AllowPasswordAndWebAuthnLogin bool
	// Deprecated: This member has been deprecated since Comet version 21.12.0
	U2FRegistrations      []AdminU2FRegistration      `json:",omitempty"`
	WebAuthnRegistrations []AdminWebAuthnRegistration `json:",omitempty"`
	// One of the ENCRYPTIONMETHOD_ constants
	TOTPKeyEncryptionFormat int    `json:",omitempty"`
	TOTPKey                 string `json:",omitempty"`
	// A regular expression in Go regex syntax, for which IP addresses are allowed to authenticate as
	// this admin account
	IPWhitelist string `json:",omitempty"`
}

type AdminU2FRegistration deprecated

type AdminU2FRegistration struct {
	Description string
	// Unix timestamp, in seconds.
	RegisterTime int64
	// When this field is expressed as a Go AdminU2FRegistration struct, this field may contain binary data. When this field is expressed as JSON, the field must be expressed as base64. The encoding/json marshaller will automatically perform base64 conversion as necessary.
	Registration []byte
}

Deprecated: This struct has been deprecated since Comet version 21.12.0

type AdminUserPermissions

type AdminUserPermissions struct {
	PreventEditServerSettings    bool `json:",omitempty"`
	PreventServerShutdown        bool `json:",omitempty"`
	PreventChangePassword        bool `json:",omitempty"`
	AllowEditBranding            bool `json:",omitempty"`
	AllowEditEmailOptions        bool `json:",omitempty"`
	AllowEditRemoteStorage       bool `json:",omitempty"`
	AllowEditWebhooks            bool `json:",omitempty"`
	AllowEditExternalAuthSources bool `json:",omitempty"`
	DenyConstellationRole        bool `json:",omitempty"`
	// This field is available in Comet 23.6.0 and later.
	DenyViewServerHistory bool `json:",omitempty"`
	// This field is available in Comet 23.6.0 and later.
	DenyViewServerInfo bool `json:",omitempty"`
	// This field is available in Comet 24.3.2 and later.
	PreventDeleteStorageVault bool `json:",omitempty"`
	// This field is available in Comet 23.6.0 and later.
	PreventRequestStorageVault bool `json:",omitempty"`
	// This field is available in Comet 23.6.0 and later.
	PreventAddCustomStorageVault bool `json:",omitempty"`
	// This field is available in Comet 23.6.0 and later.
	HideCloudStorageBranding bool `json:",omitempty"`
	// This field is available in Comet 23.6.0 and later.
	ShouldRestrictProviderList bool `json:",omitempty"`
	// This field is available in Comet 23.6.0 and later.
	AllowedProvidersWhenRestricted []uint64 `json:",omitempty"`
	// This field is available in Comet 23.9.11 and later.
	AllowedUserPolicies []string `json:",omitempty"`
}

type AdminWebAuthnRegistration

type AdminWebAuthnRegistration struct {
	Description string
	// Unix timestamp, in seconds.
	RegisterTime int64
	Type         WebAuthnDeviceType
	IsLegacyU2F  bool `json:",omitempty"`
	// When this field is expressed as a Go AdminWebAuthnRegistration struct, this field may contain binary data. When this field is expressed as JSON, the field must be expressed as base64. The encoding/json marshaller will automatically perform base64 conversion as necessary.
	ID         []byte             `json:",omitempty"`
	Credential WebAuthnCredential `json:",omitempty"`
}

type AllowedAdminUser

type AllowedAdminUser struct {
	Username                     string
	OrganizationID               string
	ExternalAuthenticationSource string `json:",omitempty"`
	// One of the PASSWORD_FORMAT_ constants
	PasswordFormat            int
	Password                  string
	AllowPasswordLogin        bool
	AllowPasswordAndTOTPLogin bool
	// Deprecated: This member has been deprecated since Comet version 21.12.0
	AllowPasswordAndU2FLogin      bool
	AllowPasswordAndWebAuthnLogin bool
	// Deprecated: This member has been deprecated since Comet version 21.12.0
	U2FRegistrations      []AdminU2FRegistration      `json:",omitempty"`
	WebAuthnRegistrations []AdminWebAuthnRegistration `json:",omitempty"`
	// One of the ENCRYPTIONMETHOD_ constants
	TOTPKeyEncryptionFormat int    `json:",omitempty"`
	TOTPKey                 string `json:",omitempty"`
	// A regular expression in Go regex syntax, for which IP addresses are allowed to authenticate as
	// this admin account
	IPWhitelist string `json:",omitempty"`
	Permissions AdminUserPermissions
}

type AmazonAWSVirtualStorageRoleSettings

type AmazonAWSVirtualStorageRoleSettings struct {
	// If set, the Storage Template will generate Storage Vaults pointing to a subdirectory within this
	// bucket. A single dynamic IAM policy will cover all created Storage Vaults.
	// This is preferable for platforms that have limits on the total number of IAM policies. However,
	// it requires a high level of IAM compatibility.
	// If left blank, the Storage Template will generate Storage Vaults pointing to new, separate S3
	// buckets each time. An additional IAM policy is created for each new Storage Vault.
	// This is preferable for platforms that have a lower level of IAM compatibility.
	MasterBucket string
	AccessKey    string
	SecretKey    string
	// Deprecated: This member has been deprecated since Comet version 23.x.x
	UseObjectLock_Legacy_DoNotUse bool `json:"UseObjectLock"`
	// Control whether the resulting Storage Vaults are configured for Object Lock. One of the
	// OBJECT_LOCK_ constants
	ObjectLockMode uint8
	ObjectLockDays int
	// Control whether the "Allow removal of deleted files" checkbox is enabled for Storage Vaults
	// generated from this Storage Template.
	// When configuring a Storage Template from the Comet Server web interface, this field is set
	// automatically for Storage Templates using Object Lock.
	RemoveDeleted bool
}

type AuthenticationRoleOptions

type AuthenticationRoleOptions struct {
	RoleEnabled bool
	// One of the INTEGRITYCHECK_ constants
	DatabaseCheckLevel         int
	GenerateMissedBackupEvents bool
	// Unix timestamp in seconds, before which no Missed jobs are created
	NoMissedBackupEventsBefore int64
	GenerateScheduledEmails    bool
	PruneLogsAfterDays         int
	RemoteStorage              []RemoteStorageOption
	ReplicateTo                []ReplicaServer
	GlobalOverrides            GlobalOverrideOptions `json:",omitempty"`
}

type AutoRetentionLevel

type AutoRetentionLevel int64
const BACKUPJOBAUTORETENTION_AUTOMATIC AutoRetentionLevel = 0

AutoRetentionLevel: The system will automatically choose how often to run an automatic Retention Pass after each backup job.

const BACKUPJOBAUTORETENTION_IMMEDIATE AutoRetentionLevel = 1

AutoRetentionLevel: The system will run a Retention Pass after every single backup job. This is more system-intensive, but is the most responsive at freeing storage space.

const BACKUPJOBAUTORETENTION_LESS_OFTEN AutoRetentionLevel = 3

AutoRetentionLevel: The system will follow the automatic ruleset for a 'Low Power' device.

const BACKUPJOBAUTORETENTION_MORE_OFTEN AutoRetentionLevel = 2

AutoRetentionLevel: The system will follow the automatic ruleset for a 'High Power' device.

type AvailableDownload

type AvailableDownload struct {
	Category    string
	Description string
	Recommended bool
}

type AzureDestinationLocation

type AzureDestinationLocation struct {
	AZBAccountName string
	AZBAccountKey  string
	AZBContainer   string
	// The base URL for the Azure Blob Storage service. Leave blank to use the global default URL.
	AZBRealm  string
	AZBPrefix string
}

AzureDestinationLocation allows configuring connection settings for storage locations using the Azure Blob Storage API (DESTINATIONTYPE_AZURE).

type B2DestinationLocation

type B2DestinationLocation struct {
	// Key ID
	AccountID string `json:",omitempty"`
	// Application Key
	Key    string `json:",omitempty"`
	Bucket string `json:",omitempty"`
	Prefix string `json:",omitempty"`
	// Deprecated: This member has been deprecated since Comet version 21.9.7
	MaxConnections int `json:",omitempty"`
	// Hide files instead of deleting them. This can be used for ransomware protection if (A) the B2
	// credentials have the hideFile permission but not the deleteFile permission, and (B) you use the
	// Backblaze B2 server-side lifecycle policies to clean up old hidden files.
	HideDeletedFiles bool `json:",omitempty"`
}

B2DestinationLocation allows configuring connection settings for storage locations using the Backblaze B2 native API (DESTINATIONTYPE_B2).

type B2StorageExtraInfo

type B2StorageExtraInfo struct {
	TotalTransactionsInTimeInterval map[int64]B2TransactionTotals
}

type B2TransactionTotals

type B2TransactionTotals struct {
	ClassA int64
	ClassB int64
	ClassC int64
}

type B2VirtualStorageRoleSettings

type B2VirtualStorageRoleSettings struct {
	MasterBucket     string
	KeyID            string
	AppKey           string
	HideDeletedFiles bool
}

type BackupJobAdvancedOptions

type BackupJobAdvancedOptions struct {
	SkipAlreadyRunning bool
	// If Zero: disabled
	StopAfter int64
	// If Zero: disabled
	LimitVaultSpeedBps int64
	// Default disabled
	ReduceDiskConcurrency bool
	// Default disabled
	UseOnDiskIndexes bool
	// Default disabled
	AllowZeroFilesSuccess bool
	// If Zero: default Automatic (BACKUPJOBAUTORETENTION_AUTOMATIC)
	AutoRetentionLevel AutoRetentionLevel
	LogLevel           string
}

BackupJobAdvancedOptions control additional advanced options for running a backup job. They can be specified as part of a schedule in the BackupRuleConfig type, or supplied immediately when running a job.

type BackupJobDetail

type BackupJobDetail struct {
	GUID           string
	Username       string
	Classification JobClassification
	Status         JobStatus
	// Unix timestamp in seconds
	StartTime int64
	// Unix timestamp in seconds. Will be zero if the job is still running.
	EndTime int64
	// The Protected Item that this job is for
	SourceGUID string
	// The Storage Vault that this job is for
	DestinationGUID  string
	DeviceID         string
	SnapshotID       string `json:",omitempty"`
	ClientVersion    string
	TotalDirectories int64
	TotalFiles       int64
	TotalSize        int64
	TotalChunks      int64
	UploadSize       int64
	DownloadSize     int64
	// For Hyper-V and VMware backup jobs, the total number of virtual machines.
	TotalVmCount int64 `json:",omitempty"`
	// For Office 365 backup jobs, the total number of mailboxes.
	TotalMailsCount int64 `json:",omitempty"`
	// For Office 365 backup jobs, the total number of SharePoint sites.
	TotalSitesCount int64 `json:",omitempty"`
	// For Office 365 backup jobs, the calculated effective number of protected accounts.
	TotalAccountsCount int64 `json:",omitempty"`
	// For Office 365 backup jobs, the number of licensed mailboxes.
	TotalLicensedMailsCount int64 `json:",omitempty"`
	// For Office 365 backup jobs, the number of unlicensed mailboxes.
	TotalUnlicensedMailsCount int64 `json:",omitempty"`
	// If this field is present, it is possible to request cancellation of this job via the API.
	CancellationID string `json:",omitempty"`
	// If this backup job is still running, additional partial-progress information may be present in
	// this field.
	Progress BackupJobProgress `json:",omitempty"`
	// The size of the Storage Vault, as measured at the start of the job.
	DestinationSizeStart SizeMeasurement `json:",omitempty"`
	// The size of the Storage Vault, as measured at the end of the job.
	DestinationSizeEnd SizeMeasurement `json:",omitempty"`
}

type BackupJobProgress

type BackupJobProgress struct {
	// This field will always increase monotonically, exactly once, for every change to the
	// BackupJobProgress for a given backup job.
	Counter int64
	// Unix timestamp in seconds
	SentTime int64
	// Unix timestamp in seconds. The typo is preserved for backwards-compatibility reasons.
	RecievedTime int64
	BytesDone    int64
	ItemsDone    int64
}

type BackupRuleConfig

type BackupRuleConfig struct {
	Description string
	// Unix timestamp in seconds
	CreateTime int64
	// Unix timestamp in seconds. The caller is responsible for updating this themselves.
	ModifyTime int64
	// Custom commands to run before the job
	PreExec []string
	// Custom commands to run after taking a disk snapshot
	ThawExec []string
	// Custom commands to run after the job
	PostExec []string
	// The source Protected Item ID to back up from, during this schedule
	Source string
	// The destination Storage Vault ID to back up to, during this schedule
	Destination        string
	SkipAlreadyRunning bool
	// If Zero: disabled
	StopAfter int64
	// If Zero: disabled
	LimitVaultSpeedBps int64
	// Default disabled
	ReduceDiskConcurrency bool
	// Default disabled
	UseOnDiskIndexes bool
	// Default disabled
	AllowZeroFilesSuccess bool
	// If Zero: default Automatic (BACKUPJOBAUTORETENTION_AUTOMATIC)
	AutoRetentionLevel AutoRetentionLevel
	LogLevel           string
	// Scheduled start times
	Schedules []ScheduleConfig
	// Other events that will cause this scheduled job to start
	EventTriggers BackupRuleEventTriggers
}

A backup rule connects one source Protected Item and one destination Storage Vault, with multiple time schedules or event triggers

type BackupRuleEventTriggers

type BackupRuleEventTriggers struct {
	// The "When PC Starts" option
	OnPCBoot bool `json:",omitempty"`
	// The "If the last job was Missed" option. In Comet 23.12.3 and later, this condition is evaluated
	// when the PC starts and/or when the live connection is resumed.
	OnPCBootIfLastJobMissed bool `json:",omitempty"`
}

type BrandingOptions

type BrandingOptions struct {
	// One of the BRANDINGSTYLETYPE_ constants
	// This field is available in Comet 23.3.3 and later.
	BrandingStyleType     int
	BrandName             string
	LogoImage             string
	TopColor              string
	AccentColor           string
	Favicon               string
	HideNewsArea          bool
	ProductName           string
	CompanyName           string
	HelpURL               string
	HelpIsPopup           bool
	DefaultLoginServerURL string
	TileBackgroundColor   string
	AccountRegisterURL    string
	// One of the CLIENTBRANDINGBUILD_ constants
	BuildMode           ClientBrandingBuildMode
	PathIcoFile         string
	PathIcnsFile        string
	PathMenuBarIcnsFile string
	PathEulaRtf         string
	PathTilePng         string
	PathHeaderImage     string
	PathAppIconImage    string
	PackageIdentifier   string
	// One of the WINDOWSCODESIGN_METHOD_ constants
	WindowsCodeSignMethod         WindowsCodesignMethod
	WindowsCodeSignPKCS12FilePath string
	// One of the ENCRYPTIONMETHOD_ constants
	WindowsCodeSignPKCS12PasswordFormat uint64
	WindowsCodeSignPKCS12Password       string
	WindowsCodeSignPKCS11Engine         string
	WindowsCodeSignPKCS11Module         string
	// This field was deprecated between 23.3.0 and 23.6.x, but is now used again.
	WindowsCodeSignPKCS11Certfile string
	WindowsCodeSignPKCS11KeyID    string
	// One of the ENCRYPTIONMETHOD_ constants
	WindowsCodeSignPKCS11PasswordFormat uint64
	WindowsCodeSignPKCS11Password       string
	WindowsCodeSignAzureVaultName       string
	WindowsCodeSignAzureCertName        string
	WindowsCodeSignAzureAppID           string
	// One of the ENCRYPTIONMETHOD_ constants
	WindowsCodeSignAzureAppSecretFormat uint64
	WindowsCodeSignAzureAppSecret       string
	WindowsCodeSignAzureTenantID        string
	MacOSCodeSign                       MacOSCodeSignProperties
}

type BrandingProperties

type BrandingProperties struct {
	ProductName           string
	CompanyName           string
	HelpURL               string
	HelpIsPopup           bool
	DefaultLoginServerURL string
	TileBackgroundColor   string
	AccountRegisterURL    string
	// One of the CLIENTBRANDINGBUILD_ constants
	BuildMode           ClientBrandingBuildMode
	PathIcoFile         string
	PathIcnsFile        string
	PathMenuBarIcnsFile string
	PathEulaRtf         string
	PathTilePng         string
	PathHeaderImage     string
	PathAppIconImage    string
	PackageIdentifier   string
	// One of the WINDOWSCODESIGN_METHOD_ constants
	WindowsCodeSignMethod         WindowsCodesignMethod
	WindowsCodeSignPKCS12FilePath string
	// One of the ENCRYPTIONMETHOD_ constants
	WindowsCodeSignPKCS12PasswordFormat uint64
	WindowsCodeSignPKCS12Password       string
	WindowsCodeSignPKCS11Engine         string
	WindowsCodeSignPKCS11Module         string
	// This field was deprecated between 23.3.0 and 23.6.x, but is now used again.
	WindowsCodeSignPKCS11Certfile string
	WindowsCodeSignPKCS11KeyID    string
	// One of the ENCRYPTIONMETHOD_ constants
	WindowsCodeSignPKCS11PasswordFormat uint64
	WindowsCodeSignPKCS11Password       string
	WindowsCodeSignAzureVaultName       string
	WindowsCodeSignAzureCertName        string
	WindowsCodeSignAzureAppID           string
	// One of the ENCRYPTIONMETHOD_ constants
	WindowsCodeSignAzureAppSecretFormat uint64
	WindowsCodeSignAzureAppSecret       string
	WindowsCodeSignAzureTenantID        string
	MacOSCodeSign                       MacOSCodeSignProperties
}

type BrowseDiskDrivesResponse

type BrowseDiskDrivesResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status  int
	Message string
	Disks   []DiskDrive
}

type BrowseEDBResponse

type BrowseEDBResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status    int
	Message   string
	Databases []EDBFileInfo
}

type BrowseHVResponse

type BrowseHVResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status          int
	Message         string
	VirtualMachines []HyperVMachineInfo
}

type BrowseOffice365ListVirtualAccountsResponse

type BrowseOffice365ListVirtualAccountsResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status  int
	Message string
	Objects []Office365MixedVirtualAccount
}

type BrowseOffice365ObjectsResponse

type BrowseOffice365ObjectsResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status  int
	Message string
	Objects []Office365ObjectInfo
}

type BrowseSQLServerResponse

type BrowseSQLServerResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status  int
	Message string
	Objects map[string]string
}

type BrowseVMwareResponse added in v1.15.0

type BrowseVMwareResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status          int
	Message         string
	VirtualMachines []VMwareMachineInfo
}

type BrowseVSSResponse

type BrowseVSSResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status     int
	Message    string
	VSSWriters map[string]VSSWriterInfo
}

type BucketProperties

type BucketProperties struct {
	OrganizationID string
	// Unix timestamp, in seconds.
	CreateTime int64
	// One of the PASSWORD_FORMAT_ constants
	ReadWriteKeyFormat int
	ReadWriteKey       string
	Size               SizeMeasurement
}

type BucketPropertyList

type BucketPropertyList map[string]BucketProperties

type BucketUsageInfo

type BucketUsageInfo struct {
	AccessKey string
	// The servers where this bucket was found. The 0-based indexes here correspond to the entries
	// inside ConstellationRoleOptions->Servers.
	ExistsOnServers []int
	InUseBy         []UserOnServer
}

type BucketUsageMap

type BucketUsageMap map[string]BucketUsageInfo

type ClientBrandingBuildMode

type ClientBrandingBuildMode int
const CLIENTBRANDINGBUILD_CUSTOM ClientBrandingBuildMode = 0

ClientBrandingBuildMode: The software client will be custom-built by this Comet Server, allowing custom branding, default server URL, and codesigning.

const CLIENTBRANDINGBUILD_PREBUILT ClientBrandingBuildMode = 1

ClientBrandingBuildMode: A pre-built software client will be served, with Comet-branding, no server URL, and Comet codesigning.

type CometAPIClient

type CometAPIClient struct {
	// ServerURL is used to specify server which api calls will be made to.
	ServerURL string
	// Username if specified will be used for api authentication using AuthType "Password" or if
	// TOTPKey is also specified then AuthType "PasswordTOTP" will be used.
	Username string
	// Password if specified will be used for api authentication using AuthType "Password" or if
	// TOTPKey is also specified then AuthType "PasswordTOTP" will be used.
	Password string
	// TOTPKey (optional) if specified will be used for api authentication using AuthType "PasswordTOTP".
	// The TOTPKey once used is automatically cleared as it cannot be reused.
	TOTPKey string
	// SessionKey (optional) if specified will be used for api authentication using AuthType "SessionKey".
	// This value when set takes precedence over other specified values.
	// If ReuseSessionKey is set to true, this value is set automatically as part of any of the
	// *SessionStart* api calls and used automatically for subsequent api authentications.
	SessionKey string
	// ReuseSessionKey (optional) when set to true, uses the SessionKey returned by the
	// respective *SessionStart* api calls and automatically sets it on the CometAPIClient.
	// Any subsequent api calls made on the CometAPIClient without clearing the SessionKey
	// will result in the same SessionKey being used automatically for api authentication.
	// ReuseSessionKey is especially useful when using TOTP based authentication, otherwise
	// you need to enter a new TOTPKey for every api call.
	ReuseSessionKey bool
}

CometAPIClient is the base struct for all request methods

func NewCometAPIClient

func NewCometAPIClient(serverURL, username, password string) (*CometAPIClient, error)

NewCometAPIClient constructs and returns an instance of CometAPIClient

func (*CometAPIClient) AdminAccountProperties

func (c *CometAPIClient) AdminAccountProperties() (*AdminAccountPropertiesResponse, error)

AdminAccountProperties: Retrieve properties about the current admin account Some key parameters are obscured, but the obscured values are safely recognised by the corresponding AdminAccountSetProperties API.

You must supply administrator authentication credentials to use this API.

func (*CometAPIClient) AdminAccountRegenerateTotp

func (c *CometAPIClient) AdminAccountRegenerateTotp() (*TotpRegeneratedResponse, error)

AdminAccountRegenerateTotp: Generate a new TOTP secret The secret is returned as a `data-uri` image of a QR code. The new secret is immediately applied to the current admin account.

You must supply administrator authentication credentials to use this API.

func (*CometAPIClient) AdminAccountSessionRevoke

func (c *CometAPIClient) AdminAccountSessionRevoke() (*CometAPIResponseMessage, error)

AdminAccountSessionRevoke: Revoke a session key (log out)

You must supply administrator authentication credentials to use this API.

func (*CometAPIClient) AdminAccountSessionStart

func (c *CometAPIClient) AdminAccountSessionStart(SelfAddress *string) (*SessionKeyRegeneratedResponse, error)

AdminAccountSessionStart: Generate a session key (log in)

You must supply administrator authentication credentials to use this API.

The SessionKey will be set in the client and used for any further api calls using the same client. You can manually clear the SessionKey if you wish to use Username, Password based authentication again.

- Params SelfAddress: (Optional) External URL of this server

func (*CometAPIClient) AdminAccountSessionStartAsUser

func (c *CometAPIClient) AdminAccountSessionStartAsUser(TargetUser string) (*SessionKeyRegeneratedResponse, error)

AdminAccountSessionStartAsUser: Generate a session key for an end-user (log in as end-user)

You must supply administrator authentication credentials to use this API.

The SessionKey will be set in the client and used for any further api calls using the same client. You can manually clear the SessionKey if you wish to use Username, Password based authentication again.

- Params TargetUser: Target account username

func (*CometAPIClient) AdminAccountSessionUpgrade added in v1.9.0

func (c *CometAPIClient) AdminAccountSessionUpgrade(SessionKey string) (*CometAPIResponseMessage, error)

AdminAccountSessionUpgrade: Upgrade a session key which is pending an MFA upgrade to a full session key

You must supply administrator authentication credentials to use this API.

- Params SessionKey: The session key to upgrade

func (*CometAPIClient) AdminAccountSetProperties

func (c *CometAPIClient) AdminAccountSetProperties(Security AdminSecurityOptions) (*CometAPIResponseMessage, error)

AdminAccountSetProperties: Update settings for your own admin account Updating your account password requires you to supply your current password. To set a new plaintext password, use a password format of 0 (PASSWORD_FORMAT_PLAINTEXT). This API does not currently allow you to modify your TOTP secret or IP whitelist.

You must supply administrator authentication credentials to use this API.

- Params Security: Updated account properties

func (*CometAPIClient) AdminAccountU2fRequestRegistrationChallenge

func (c *CometAPIClient) AdminAccountU2fRequestRegistrationChallenge(SelfAddress string) (*U2FRegistrationChallengeResponse, error)

AdminAccountU2fRequestRegistrationChallenge: Register a new FIDO U2F token Browser support for U2F is ending in February 2022. WebAuthn is backwards compatible with U2F keys, and Comet will automatically migrate existing U2F keys to allow their use with the WebAuthn endpoints.

You must supply administrator authentication credentials to use this API.

- Params SelfAddress: External URL of this server, used as U2F AppID and Facet

func (*CometAPIClient) AdminAccountU2fSubmitChallengeResponse

func (c *CometAPIClient) AdminAccountU2fSubmitChallengeResponse(U2FChallengeID string, U2FClientData string, U2FRegistrationData string, U2FVersion string, Description *string) (*CometAPIResponseMessage, error)

AdminAccountU2fSubmitChallengeResponse: Register a new FIDO U2F token Browser support for U2F is ending in February 2022. WebAuthn is backwards compatible with U2F keys, and Comet will automatically migrate existing U2F keys to allow their use with the WebAuthn endpoints.

You must supply administrator authentication credentials to use this API.

- Params U2FChallengeID: Associated value from AdminAccountU2fRequestRegistrationChallenge API U2FClientData: U2F response data supplied by hardware token U2FRegistrationData: U2F response data supplied by hardware token U2FVersion: U2F response data supplied by hardware token Description: (Optional) Description of the token

func (*CometAPIClient) AdminAccountValidateTotp

func (c *CometAPIClient) AdminAccountValidateTotp(TOTPCode string) (*CometAPIResponseMessage, error)

AdminAccountValidateTotp: Validate the TOTP code before turning 2fa(TOTP) on

You must supply administrator authentication credentials to use this API.

- Params TOTPCode: Six-digit code after scanning barcode image

func (*CometAPIClient) AdminAccountWebauthnRequestRegistrationChallenge

func (c *CometAPIClient) AdminAccountWebauthnRequestRegistrationChallenge(SelfAddress string) (*WebAuthnRegistrationChallengeResponse, error)

AdminAccountWebauthnRequestRegistrationChallenge: Register a new FIDO2 WebAuthn token

You must supply administrator authentication credentials to use this API.

- Params SelfAddress: External URL of this server, used as WebAuthn ID

func (*CometAPIClient) AdminAccountWebauthnSubmitChallengeResponse

func (c *CometAPIClient) AdminAccountWebauthnSubmitChallengeResponse(SelfAddress string, ChallengeID string, Credential string) (*CometAPIResponseMessage, error)

AdminAccountWebauthnSubmitChallengeResponse: Register a new FIDO2 WebAuthn token

You must supply administrator authentication credentials to use this API.

- Params SelfAddress: External URL of this server, used as WebAuthn ID ChallengeID: Associated value from AdminAccountWebAuthnRequestRegistrationChallenge API Credential: JSON-encoded credential

func (*CometAPIClient) AdminAddUser

func (c *CometAPIClient) AdminAddUser(TargetUser string, TargetPassword string, StoreRecoveryCode *int, RequirePasswordChange *int, TargetOrganization *string) (*CometAPIResponseMessage, error)

AdminAddUser: Add a new user account

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: New account username TargetPassword: New account password StoreRecoveryCode: (Optional) If set to 1, store and keep a password recovery code for the generated user (>= 18.3.9) RequirePasswordChange: (Optional) If set to 1, require to reset password at the first login for the generated user (>= 20.3.4) TargetOrganization: (Optional) If present, create the user account on behalf of another organization. Only allowed for administrator accounts in the top-level organization. (>= 22.3.7)

func (*CometAPIClient) AdminAddUserFromProfile

func (c *CometAPIClient) AdminAddUserFromProfile(TargetUser string, ProfileData UserProfileConfig, TargetOrganization *string) (*CometAPIResponseMessage, error)

AdminAddUserFromProfile: Add a new user account (with all information) This allows you to create a new account and set all its properties at once (e.g. during account replication). Developers creating a signup form may find it simpler to use the AdminAddUser and AdminGetUserProfile / AdminSetUserProfile APIs separately.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: New account username ProfileData: New account profile TargetOrganization: (Optional) If present, create the user account on behalf of another organization. Only allowed for administrator accounts in the top-level organization. (>= 22.3.7)

func (*CometAPIClient) AdminAdminUserDelete

func (c *CometAPIClient) AdminAdminUserDelete(TargetUser string) (*CometAPIResponseMessage, error)

AdminAdminUserDelete: Delete an administrator

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

- Params TargetUser: the username of the admin to be deleted

func (*CometAPIClient) AdminAdminUserList

func (c *CometAPIClient) AdminAdminUserList() ([]AllowedAdminUser, error)

AdminAdminUserList: List administrators

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

func (*CometAPIClient) AdminAdminUserNew

func (c *CometAPIClient) AdminAdminUserNew(TargetUser string, TargetPassword string, TargetOrgID *string) (*CometAPIResponseMessage, error)

AdminAdminUserNew: Add a new administrator

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

- Params TargetUser: the username for this new admin TargetPassword: the password for this new admin user TargetOrgID: (Optional) provide the organization ID for this user, it will default to the org of the authenticating user otherwise

func (*CometAPIClient) AdminBrandingAvailablePlatforms

func (c *CometAPIClient) AdminBrandingAvailablePlatforms() (map[int]AvailableDownload, error)

AdminBrandingAvailablePlatforms: List available software download platforms

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

func (*CometAPIClient) AdminBrandingGenerateClientByPlatform

func (c *CometAPIClient) AdminBrandingGenerateClientByPlatform(Platform int, SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientByPlatform: Download software

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params Platform: The selected download platform, from the AdminBrandingAvailablePlatforms API SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientLinuxDeb added in v1.22.0

func (c *CometAPIClient) AdminBrandingGenerateClientLinuxDeb(SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientLinuxDeb: Download software (Linux Debian Package)

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientLinuxgeneric

func (c *CometAPIClient) AdminBrandingGenerateClientLinuxgeneric(SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientLinuxgeneric: Download software (Linux Server .run)

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientMacosArm64 added in v1.1.0

func (c *CometAPIClient) AdminBrandingGenerateClientMacosArm64(SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientMacosArm64: Download software (macOS arm64 pkg)

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientMacosX8664

func (c *CometAPIClient) AdminBrandingGenerateClientMacosX8664(SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientMacosX8664: Download software (macOS x86_64 pkg)

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientSpkDsm6

func (c *CometAPIClient) AdminBrandingGenerateClientSpkDsm6(SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientSpkDsm6: Download software (Synology SPK for DSM 6)

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientSpkDsm7

func (c *CometAPIClient) AdminBrandingGenerateClientSpkDsm7(SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientSpkDsm7: Download software (Synology SPK for DSM 7)

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientTest

func (c *CometAPIClient) AdminBrandingGenerateClientTest(Platform int, SelfAddress *string) (*CometAPIResponseMessage, error)

AdminBrandingGenerateClientTest: Check if a software download is available

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params Platform: The selected download platform, from the AdminBrandingAvailablePlatforms API SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientWindowsAnycpuExe

func (c *CometAPIClient) AdminBrandingGenerateClientWindowsAnycpuExe(SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientWindowsAnycpuExe: Download software update (Windows AnyCPU exe) The exe endpoints are not recommended for end-users, as they may not be able to provide a codesigned installer if no custom codesigning certificate is present.

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientWindowsAnycpuZip

func (c *CometAPIClient) AdminBrandingGenerateClientWindowsAnycpuZip(SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientWindowsAnycpuZip: Download software (Windows AnyCPU zip) The zip endpoints are recommended for end-users, as they may be able to provide a codesigned installer even when no custom codesigning certificate is present.

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientWindowsX8632Exe

func (c *CometAPIClient) AdminBrandingGenerateClientWindowsX8632Exe(SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientWindowsX8632Exe: Download software update (Windows x86_32 exe) The exe endpoints are not recommended for end-users, as they may not be able to provide a codesigned installer if no custom codesigning certificate is present.

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientWindowsX8632Zip

func (c *CometAPIClient) AdminBrandingGenerateClientWindowsX8632Zip(SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientWindowsX8632Zip: Download software (Windows x86_32 zip) The zip endpoints are recommended for end-users, as they may be able to provide a codesigned installer even when no custom codesigning certificate is present.

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientWindowsX8664Exe

func (c *CometAPIClient) AdminBrandingGenerateClientWindowsX8664Exe(SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientWindowsX8664Exe: Download software update (Windows x86_64 exe) The exe endpoints are not recommended for end-users, as they may not be able to provide a codesigned installer if no custom codesigning certificate is present.

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBrandingGenerateClientWindowsX8664Zip

func (c *CometAPIClient) AdminBrandingGenerateClientWindowsX8664Zip(SelfAddress *string) ([]byte, error)

AdminBrandingGenerateClientWindowsX8664Zip: Download software (Windows x86_64 zip) The zip endpoints are recommended for end-users, as they may be able to provide a codesigned installer even when no custom codesigning certificate is present.

This API requires administrator authentication credentials, unless the server is configured to allow unauthenticated software downloads. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params SelfAddress: (Optional) The external URL of this server, used to resolve conflicts

func (*CometAPIClient) AdminBulletinSubmit

func (c *CometAPIClient) AdminBulletinSubmit(Subject string, Content string) (*CometAPIResponseMessage, error)

AdminBulletinSubmit: Send an email bulletin to all users

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params Subject: Bulletin subject line Content: Bulletin message content

func (*CometAPIClient) AdminConstellationLastReport

func (c *CometAPIClient) AdminConstellationLastReport() (*ConstellationCheckReport, error)

AdminConstellationLastReport: Get Constellation bucket usage report (cached)

You must supply administrator authentication credentials to use this API. This API requires the Constellation Role to be enabled.

func (*CometAPIClient) AdminConstellationNewReport

func (c *CometAPIClient) AdminConstellationNewReport() (*ConstellationCheckReport, error)

AdminConstellationNewReport: Get Constellation bucket usage report (regenerate)

You must supply administrator authentication credentials to use this API. This API requires the Constellation Role to be enabled.

func (*CometAPIClient) AdminConstellationPruneNow

func (c *CometAPIClient) AdminConstellationPruneNow() (*CometAPIResponseMessage, error)

AdminConstellationPruneNow: Prune unused buckets

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts. This API requires the Constellation Role to be enabled.

func (*CometAPIClient) AdminConstellationStatus

func (c *CometAPIClient) AdminConstellationStatus() (*ConstellationStatusAPIResponse, error)

AdminConstellationStatus: Get Constellation status

You must supply administrator authentication credentials to use this API. This API requires the Constellation Role to be enabled.

func (*CometAPIClient) AdminCountJobsForCustomSearch added in v1.2.0

func (c *CometAPIClient) AdminCountJobsForCustomSearch(Query SearchClause) (*CountJobsResponse, error)

AdminCountJobsForCustomSearch: Count jobs (for custom search)

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params Query: (No description available)

func (*CometAPIClient) AdminCreateInstallToken

func (c *CometAPIClient) AdminCreateInstallToken(TargetUser string, TargetPassword string, Server *string) (*InstallTokenResponse, error)

AdminCreateInstallToken: Create token for silent installation Currently only supported for Windows & macOS only Provide the installation token to silently install the client on windows `install.exe /TOKEN=<installtoken>` Provide the installation token to silently install the client on Mac OS `sudo launchctl setenv BACKUP_APP_TOKEN "installtoken" && sudo /usr/sbin/installer -allowUntrusted -pkg "Comet Backup.pkg" -target /`

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Selected account username TargetPassword: Selected account password Server: (Optional) External URL of the authentication server that is different from the current server

func (*CometAPIClient) AdminDeleteUser

func (c *CometAPIClient) AdminDeleteUser(TargetUser string, UninstallConfig *UninstallConfig) (*CometAPIResponseMessage, error)

AdminDeleteUser: Delete user account This does not remove any storage buckets. Unused storage buckets will be cleaned up by the Constellation Role. Any stored data can not be decrypted without the user profile. Misuse can cause data loss! This also allows to uninstall software from active devices under the user account This also removes all job history for the user account.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Selected account username UninstallConfig: (Optional) Uninstall software configuration (>= 20.3.5)

func (*CometAPIClient) AdminDisableUserTotp

func (c *CometAPIClient) AdminDisableUserTotp(TargetUser string) (*CometAPIResponseMessage, error)

AdminDisableUserTotp: Disable user account 2FA(TOTP) authentication

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Selected account username

func (*CometAPIClient) AdminDispatcherApplyRetentionRules

func (c *CometAPIClient) AdminDispatcherApplyRetentionRules(TargetID string, Destination string) (*CometAPIResponseMessage, error)

AdminDispatcherApplyRetentionRules: Instruct a live connected device to apply retention rules now This command is understood by Comet Backup 17.6.9 and newer.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Destination: The Storage Vault GUID

func (*CometAPIClient) AdminDispatcherDeepverifyStorageVault

func (c *CometAPIClient) AdminDispatcherDeepverifyStorageVault(TargetID string, Destination string) (*CometAPIResponseMessage, error)

AdminDispatcherDeepverifyStorageVault: Instruct a live connected device to deeply verify Storage Vault content This command is understood by Comet Backup 18.8.2 and newer.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Destination: The Storage Vault GUID

func (*CometAPIClient) AdminDispatcherDeleteSnapshot

func (c *CometAPIClient) AdminDispatcherDeleteSnapshot(TargetID string, DestinationID string, SnapshotID string) (*CometAPIResponseMessage, error)

AdminDispatcherDeleteSnapshot: Instruct a live connected device to delete a stored snapshot

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID DestinationID: The Storage Vault GUID SnapshotID: The backup job snapshot ID to delete

func (*CometAPIClient) AdminDispatcherDeleteSnapshots

func (c *CometAPIClient) AdminDispatcherDeleteSnapshots(TargetID string, DestinationID string, SnapshotIDs []string) (*CometAPIResponseMessage, error)

AdminDispatcherDeleteSnapshots: Instruct a live connected device to delete multiple stored snapshots The target device must be running Comet 20.9.10 or later.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID DestinationID: The Storage Vault GUID SnapshotIDs: The backup job snapshot IDs to delete

func (*CometAPIClient) AdminDispatcherDropConnection

func (c *CometAPIClient) AdminDispatcherDropConnection(TargetID string) (*CometAPIResponseMessage, error)

AdminDispatcherDropConnection: Disconnect a live connected device The device will almost certainly attempt to reconnect.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID

func (*CometAPIClient) AdminDispatcherEmailPreview

func (c *CometAPIClient) AdminDispatcherEmailPreview(TargetID string, Snapshot string, Destination string, Path string) (*EmailReportGeneratedPreview, error)

AdminDispatcherEmailPreview: Request HTML content of an email The remote device must have given consent for an MSP to browse their mail

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Snapshot: where the email belongs to Destination: The Storage Vault ID Path: of the email to view

func (*CometAPIClient) AdminDispatcherGetDefaultLoginUrl added in v1.1.0

func (c *CometAPIClient) AdminDispatcherGetDefaultLoginUrl(OrganizationID string) (*OrganizationLoginURLResponse, error)

AdminDispatcherGetDefaultLoginUrl: Get the default login URL for a tenant

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

- Params OrganizationID: Target organization

func (*CometAPIClient) AdminDispatcherImportApply

func (c *CometAPIClient) AdminDispatcherImportApply(TargetID string, ImportSourceID string) (*CometAPIResponseMessage, error)

AdminDispatcherImportApply: Instruct a live connected device to import settings from an installed product This command is understood by Comet Backup 17.12.0 and newer.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID ImportSourceID: The selected import source, as found by the AdminDispatcherRequestImportSources API

func (*CometAPIClient) AdminDispatcherKillProcess

func (c *CometAPIClient) AdminDispatcherKillProcess(TargetID string) (*CometAPIResponseMessage, error)

AdminDispatcherKillProcess: Instruct a live connected device to disconnect The device will terminate its live-connection process and will not reconnect.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID

func (*CometAPIClient) AdminDispatcherListActive

func (c *CometAPIClient) AdminDispatcherListActive(UserNameFilter *string) (LiveUserConnectionMap, error)

AdminDispatcherListActive: List live connected devices

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params UserNameFilter: (Optional) User name filter string

func (*CometAPIClient) AdminDispatcherOffice365ListVirtualAccounts

func (c *CometAPIClient) AdminDispatcherOffice365ListVirtualAccounts(TargetID string, Credentials Office365Credential) (*BrowseOffice365ListVirtualAccountsResponse, error)

AdminDispatcherOffice365ListVirtualAccounts: Request a list of Office365 Resources (groups, sites, teams groups and users) The remote device must have given consent for an MSP to browse their files.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The Office365 account credential

func (*CometAPIClient) AdminDispatcherPingDestination

func (c *CometAPIClient) AdminDispatcherPingDestination(TargetID string, ExtraData DestinationLocation) (*CometAPIResponseMessage, error)

AdminDispatcherPingDestination: Test the connection to the storage bucket

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID ExtraData: The destination location settings

func (*CometAPIClient) AdminDispatcherRefetchProfile

func (c *CometAPIClient) AdminDispatcherRefetchProfile(TargetID string) (*CometAPIResponseMessage, error)

AdminDispatcherRefetchProfile: Instruct a live connected device to refresh their profile This command is understood by Comet Backup 17.12.0 and newer.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID

func (*CometAPIClient) AdminDispatcherRegisterOfficeApplicationBegin

func (c *CometAPIClient) AdminDispatcherRegisterOfficeApplicationBegin(TargetID string, EmailAddress string) (*RegisterOfficeApplicationBeginResponse, error)

AdminDispatcherRegisterOfficeApplicationBegin: Begin the process of registering a new Azure AD application that can access Office 365 for backup After calling this API, you should supply the login details to the end-user, and then begin polling the AdminDispatcherRegisterOfficeApplicationCheck with the supplied "Continuation" parameter to check on the registration process.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID EmailAddress: The email address of the Azure AD administrator

func (*CometAPIClient) AdminDispatcherRegisterOfficeApplicationCheck

func (c *CometAPIClient) AdminDispatcherRegisterOfficeApplicationCheck(TargetID string, Continuation string) (*RegisterOfficeApplicationCheckResponse, error)

AdminDispatcherRegisterOfficeApplicationCheck: Check the process of registering a new Azure AD application that can access Office 365 for backup You should begin the process by calling AdminDispatcherRegisterOfficeApplicationBegin and asking the end-user to complete the Azure authentication steps.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Continuation: The ID returned from the AdminDispatcherRegisterOfficeApplicationBegin endpoint

func (*CometAPIClient) AdminDispatcherReindexStorageVault

func (c *CometAPIClient) AdminDispatcherReindexStorageVault(TargetID string, Destination string) (*CometAPIResponseMessage, error)

AdminDispatcherReindexStorageVault: Instruct a live connected device to rebuild Storage Vault indexes now This command is understood by Comet Backup 18.6.9 and newer.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Destination: The Storage Vault GUID

func (*CometAPIClient) AdminDispatcherRequestBrowseDiskDrives

func (c *CometAPIClient) AdminDispatcherRequestBrowseDiskDrives(TargetID string) (*BrowseDiskDrivesResponse, error)

AdminDispatcherRequestBrowseDiskDrives: Request a list of physical disk drive information from a live connected device

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID

func (*CometAPIClient) AdminDispatcherRequestBrowseExchangeEdb

func (c *CometAPIClient) AdminDispatcherRequestBrowseExchangeEdb(TargetID string) (*BrowseEDBResponse, error)

AdminDispatcherRequestBrowseExchangeEdb: Request a list of Exchange EDB databases from a live connected device

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID

func (*CometAPIClient) AdminDispatcherRequestBrowseHyperv

func (c *CometAPIClient) AdminDispatcherRequestBrowseHyperv(TargetID string) (*BrowseHVResponse, error)

AdminDispatcherRequestBrowseHyperv: Request a list of Hyper-V virtual machines from a live connected device

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID

func (*CometAPIClient) AdminDispatcherRequestBrowseMongodb

func (c *CometAPIClient) AdminDispatcherRequestBrowseMongodb(TargetID string, Credentials MongoDBConnection) (*BrowseSQLServerResponse, error)

AdminDispatcherRequestBrowseMongodb: Request a list of tables in MongoDB database The remote device must have given consent for an MSP to browse their files.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The Mongo database authentication settings

func (*CometAPIClient) AdminDispatcherRequestBrowseMssql

func (c *CometAPIClient) AdminDispatcherRequestBrowseMssql(TargetID string, Credentials MSSQLConnection) (*BrowseSQLServerResponse, error)

AdminDispatcherRequestBrowseMssql: Request a list of tables in MSSQL database The remote device must have given consent for an MSP to browse their files.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The MSSQL database authentication settings

func (*CometAPIClient) AdminDispatcherRequestBrowseMysql

func (c *CometAPIClient) AdminDispatcherRequestBrowseMysql(TargetID string, Credentials MySQLConnection) (*BrowseSQLServerResponse, error)

AdminDispatcherRequestBrowseMysql: Request a list of tables in MySQL database The remote device must have given consent for an MSP to browse their files.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The MySQL database authentication settings

func (*CometAPIClient) AdminDispatcherRequestBrowseVmware added in v1.15.0

func (c *CometAPIClient) AdminDispatcherRequestBrowseVmware(TargetID string, Credentials VMwareConnection) (*BrowseVMwareResponse, error)

AdminDispatcherRequestBrowseVmware: Request a list of VMware vSphere virtual machines The remote device must have given consent for an MSP to browse their files.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The VMware vSphere connection settings

func (*CometAPIClient) AdminDispatcherRequestBrowseVssAaw

func (c *CometAPIClient) AdminDispatcherRequestBrowseVssAaw(TargetID string) (*BrowseVSSResponse, error)

AdminDispatcherRequestBrowseVssAaw: Request a list of installed VSS Writers (Application-Aware Writers) from a live connected device

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID

func (*CometAPIClient) AdminDispatcherRequestFilesystemObjects

func (c *CometAPIClient) AdminDispatcherRequestFilesystemObjects(TargetID string, Path *string) (*DispatcherStoredObjectsResponse, error)

AdminDispatcherRequestFilesystemObjects: Request a list of filesystem objects from a live connected device The device must have granted the administrator permission to view its filenames.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Path: (Optional) Browse objects inside this path. If empty or not present, returns the top-level device paths

func (*CometAPIClient) AdminDispatcherRequestImportSources

func (c *CometAPIClient) AdminDispatcherRequestImportSources(TargetID string) (*DispatcherAdminSourcesResponse, error)

AdminDispatcherRequestImportSources: Request a list of import sources from a live connected device

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID

func (*CometAPIClient) AdminDispatcherRequestOffice365Accounts

func (c *CometAPIClient) AdminDispatcherRequestOffice365Accounts(TargetID string, Credentials Office365Credential) (*BrowseOffice365ObjectsResponse, error)

AdminDispatcherRequestOffice365Accounts: Request a list of Office365 mailbox accounts The remote device must have given consent for an MSP to browse their files.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The Office365 account credential

func (*CometAPIClient) AdminDispatcherRequestOffice365Sites

func (c *CometAPIClient) AdminDispatcherRequestOffice365Sites(TargetID string, Credentials Office365Credential) (*BrowseOffice365ObjectsResponse, error)

AdminDispatcherRequestOffice365Sites: Request a list of Office365 sites The remote device must have given consent for an MSP to browse their files.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The Office365 account credential

func (*CometAPIClient) AdminDispatcherRequestStoredObjects

func (c *CometAPIClient) AdminDispatcherRequestStoredObjects(TargetID string, Destination string, SnapshotID string, TreeID *string, Options *VMDKSnapshotViewOptions) (*DispatcherStoredObjectsResponse, error)

AdminDispatcherRequestStoredObjects: Request a list of stored objects inside an existing backup job The remote device must have given consent for an MSP to browse their files. To service this request, the remote device must connect to the Storage Vault and load index data. There may be a small delay. If the remote device is running Comet 20.12.0 or later, the necessary index data is cached when this API is first called, for 15 minutes after the last repeated call. This can improve performance for interactively browsing an entire tree of stored objects.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Destination: The Storage Vault ID SnapshotID: The selected backup job snapshot TreeID: (Optional) Browse objects inside subdirectory of backup snapshot. If it is for VMDK single file restore, it should be the disk image's subtree ID. Options: (Optional) Request a list of stored objects in vmdk file

func (*CometAPIClient) AdminDispatcherRequestVaultSnapshots

func (c *CometAPIClient) AdminDispatcherRequestVaultSnapshots(TargetID string, Destination string) (*DispatcherVaultSnapshotsResponse, error)

AdminDispatcherRequestVaultSnapshots: Request a list of Storage Vault snapshots from a live connected device

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Destination: The Storage Vault ID

func (*CometAPIClient) AdminDispatcherRequestWindiskSnapshot

func (c *CometAPIClient) AdminDispatcherRequestWindiskSnapshot(TargetID string, Destination string, SnapshotID string) (*DispatcherWindiskSnapshotResponse, error)

AdminDispatcherRequestWindiskSnapshot: Request a Disk Image snapshot with the windiskbrowse-style from a live connected device

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Destination: The Storage Vault ID SnapshotID: The Snapshot ID

func (*CometAPIClient) AdminDispatcherRunBackup

func (c *CometAPIClient) AdminDispatcherRunBackup(TargetID string, BackupRule string) (*CometAPIResponseMessage, error)

AdminDispatcherRunBackup: Instruct a live connected device to run a scheduled backup

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID BackupRule: The schedule GUID

func (*CometAPIClient) AdminDispatcherRunBackupCustom

func (c *CometAPIClient) AdminDispatcherRunBackupCustom(TargetID string, Source string, Destination string, Options *BackupJobAdvancedOptions) (*CometAPIResponseMessage, error)

AdminDispatcherRunBackupCustom: Instruct a live connected device to run a backup

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Source: The Protected Item GUID Destination: The Storage Vault GUID Options: (Optional) Extra job parameters (>= 19.3.6)

func (*CometAPIClient) AdminDispatcherRunRestore

func (c *CometAPIClient) AdminDispatcherRunRestore(TargetID string, Path string, Source string, Destination string, Snapshot *string, Paths []string) (*CometAPIResponseMessage, error)

AdminDispatcherRunRestore: Instruct a live connected device to perform a local restore This command is understood by Comet Backup 17.9.3 and newer.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Path: The local path to restore to Source: The Protected Item ID Destination: The Storage Vault ID Snapshot: (Optional) If present, restore a specific snapshot. Otherwise, restore the latest snapshot for the selected Protected Item + Storage Vault pair Paths: (Optional) If present, restore these paths only. Otherwise, restore all data (>= 19.3.0)

func (*CometAPIClient) AdminDispatcherRunRestoreCustom

func (c *CometAPIClient) AdminDispatcherRunRestoreCustom(TargetID string, Source string, Destination string, Options RestoreJobAdvancedOptions, Snapshot *string, Paths []string, KnownFileCount *int, KnownByteCount *int, KnownDirCount *int) (*CometAPIResponseMessage, error)

AdminDispatcherRunRestoreCustom: Instruct a live connected device to perform a local restore This command is understood by Comet Backup 18.6.0 and newer.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Source: The Protected Item ID Destination: The Storage Vault ID Options: Restore targets Snapshot: (Optional) If present, restore a specific snapshot. Otherwise, restore the latest snapshot for the selected Protected Item + Storage Vault pair Paths: (Optional) If present, restore these paths only. Otherwise, restore all data KnownFileCount: (Optional) The number of files to restore, if known. Supplying this means we don't need to walk the entire tree just to find the file count and will speed up the restoration process. KnownByteCount: (Optional) The total size in bytes of files to restore, if known. Supplying this means we don't need to walk the entire tree just to find the total file size and will speed up the restoration process. KnownDirCount: (Optional) The number of directories to restore, if known. Supplying this means we don't need to walk the entire tree just to find the number of directories and will speed up the restoration process.

func (*CometAPIClient) AdminDispatcherSearchSnapshots added in v1.5.0

func (c *CometAPIClient) AdminDispatcherSearchSnapshots(TargetID string, DestinationID string, SnapshotIDs []string, Filter SearchClause) (*SearchSnapshotsResponse, error)

AdminDispatcherSearchSnapshots: Search storage vault snapshots

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID DestinationID: The Storage Vault GUID SnapshotIDs: Snapshots to search Filter: The search filter

func (*CometAPIClient) AdminDispatcherUninstallSoftware

func (c *CometAPIClient) AdminDispatcherUninstallSoftware(TargetID string, RemoveConfigFile bool) (*CometAPIResponseMessage, error)

AdminDispatcherUninstallSoftware: Instruct a live connected device to self-uninstall the software

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID RemoveConfigFile: Determine if the config.dat file will be deleted at the same time

func (*CometAPIClient) AdminDispatcherUnlock

func (c *CometAPIClient) AdminDispatcherUnlock(TargetID string, Destination string) (*CometAPIResponseMessage, error)

AdminDispatcherUnlock: Instruct a live connected device to remove lock files from a Storage Vault Misuse can cause data loss! This command is understood by Comet Backup 17.9.4 and newer.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Destination: The Storage Vault GUID

func (*CometAPIClient) AdminDispatcherUpdateLoginUrl

func (c *CometAPIClient) AdminDispatcherUpdateLoginUrl(TargetID string, NewURL string, Force *bool) (*CometAPIResponseMessage, error)

AdminDispatcherUpdateLoginUrl: Instruct a live connected device to update its login server URL The device will attempt to connect to the new Auth Role Comet Server using its current username and password. If the test connection succeeds, the device migrates its saved connection settings and live connections to the new server. If the device is not registered on the new URL, or if the credentials are incorrect, the device remains on the current Auth Role server.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID NewURL: The new external URL of this server Force: (Optional) No checks will be done using previous URL

func (*CometAPIClient) AdminDispatcherUpdateSoftware

func (c *CometAPIClient) AdminDispatcherUpdateSoftware(TargetID string, SelfAddress *string) (*CometAPIResponseMessage, error)

AdminDispatcherUpdateSoftware: Instruct a live connected device to download a software update

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled. This API requires the Software Build Role to be enabled.

- Params TargetID: The live connection GUID SelfAddress: (Optional) The external URL of this server, used to resolve conflicts (>= 19.3.11)

func (*CometAPIClient) AdminExternalAuthSourcesDelete added in v1.9.0

func (c *CometAPIClient) AdminExternalAuthSourcesDelete(SourceID string) (*CometAPIResponseMessage, error)

AdminExternalAuthSourcesDelete: Delete an external admin authentication source

You must supply administrator authentication credentials to use this API.

- Params SourceID: (No description available)

func (*CometAPIClient) AdminExternalAuthSourcesGet added in v1.9.0

func (c *CometAPIClient) AdminExternalAuthSourcesGet() (map[string]ExternalAuthenticationSource, error)

AdminExternalAuthSourcesGet: Get a map of all external admin authentication sources

You must supply administrator authentication credentials to use this API.

func (*CometAPIClient) AdminExternalAuthSourcesNew added in v1.9.0

func (c *CometAPIClient) AdminExternalAuthSourcesNew(Source ExternalAuthenticationSource, SourceID *string) (*ExternalAuthenticationSourceResponse, error)

AdminExternalAuthSourcesNew: Create an external admin authentication source

You must supply administrator authentication credentials to use this API.

- Params Source: (No description available) SourceID: (Optional) (No description available)

func (*CometAPIClient) AdminExternalAuthSourcesSet added in v1.9.0

func (c *CometAPIClient) AdminExternalAuthSourcesSet(Sources map[string]ExternalAuthenticationSource) (*CometAPIResponseMessage, error)

AdminExternalAuthSourcesSet: Updates the current tenant's external admin authentication sources. This will set all sources for the tenant; none will be preserved.

You must supply administrator authentication credentials to use this API.

- Params Sources: (No description available)

func (*CometAPIClient) AdminGetJobLog

func (c *CometAPIClient) AdminGetJobLog(JobID string) ([]byte, error)

AdminGetJobLog: Get the report log entries for a single job, in plaintext format

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params JobID: Selected job ID

func (*CometAPIClient) AdminGetJobLogEntries

func (c *CometAPIClient) AdminGetJobLogEntries(JobID string, MinSeverity *string, MessageContains *string) ([]JobEntry, error)

AdminGetJobLogEntries: Get the report log entries for a single job

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params JobID: Selected job ID MinSeverity: (Optional) Return only job log entries with equal or higher severity MessageContains: (Optional) Return only job log entries that contain exact string

func (*CometAPIClient) AdminGetJobProperties

func (c *CometAPIClient) AdminGetJobProperties(JobID string) (*BackupJobDetail, error)

AdminGetJobProperties: Get properties of a single job

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params JobID: Selected job ID

func (*CometAPIClient) AdminGetJobsAll

func (c *CometAPIClient) AdminGetJobsAll() ([]BackupJobDetail, error)

AdminGetJobsAll: Get jobs (All) The jobs are returned in an unspecified order.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

func (*CometAPIClient) AdminGetJobsForCustomSearch

func (c *CometAPIClient) AdminGetJobsForCustomSearch(Query SearchClause) ([]BackupJobDetail, error)

AdminGetJobsForCustomSearch: Get jobs (for custom search) The jobs are returned in an unspecified order.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params Query: (No description available)

func (*CometAPIClient) AdminGetJobsForDateRange

func (c *CometAPIClient) AdminGetJobsForDateRange(Start int, End int) ([]BackupJobDetail, error)

AdminGetJobsForDateRange: Get jobs (for date range) The jobs are returned in an unspecified order.

If the `Start` parameter is later than `End`, they will be swapped.

This API will return all jobs that either started or ended within the supplied range.

Incomplete jobs have an end time of `0`. You can use this API to find only incomplete jobs by setting both `Start` and `End` to `0`.

Prior to Comet Server 22.6.0, additional Incomplete jobs may have been returned if you specified non-zero arguments for both `Start` and `End`.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params Start: Timestamp (Unix) End: Timestamp (Unix)

func (*CometAPIClient) AdminGetJobsForUser

func (c *CometAPIClient) AdminGetJobsForUser(TargetUser string) ([]BackupJobDetail, error)

AdminGetJobsForUser: Get jobs (for user) The jobs are returned in an unspecified order.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Selected username

func (*CometAPIClient) AdminGetJobsRecent

func (c *CometAPIClient) AdminGetJobsRecent() ([]BackupJobDetail, error)

AdminGetJobsRecent: Get jobs (Recent and incomplete) The jobs are returned in an unspecified order.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

func (*CometAPIClient) AdminGetUserProfile

func (c *CometAPIClient) AdminGetUserProfile(TargetUser string) (*UserProfileConfig, error)

AdminGetUserProfile: Get user account profile

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Selected account username

func (*CometAPIClient) AdminGetUserProfileAndHash

func (c *CometAPIClient) AdminGetUserProfileAndHash(TargetUser string) (*GetProfileAndHashResponseMessage, error)

AdminGetUserProfileAndHash: Get user account profile (atomic) The resulting hash parameter can be passed to the corresponding update API, to atomically ensure that no changes occur between get/set operations. The hash format is not publicly documented and may change in a future server version. Use server APIs to retrieve current hash values.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Selected account username

func (*CometAPIClient) AdminGetUserProfileHash

func (c *CometAPIClient) AdminGetUserProfileHash(TargetUser string) (*GetProfileHashResponseMessage, error)

AdminGetUserProfileHash: Get user account profile (hash) The profile hash can be used to determine if a user account profile has changed. The hash format is not publicly documented and may change in a future server version. Use server APIs to retrieve current hash values.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Selected account username

func (*CometAPIClient) AdminInstallationDispatchDropConnection added in v1.12.0

func (c *CometAPIClient) AdminInstallationDispatchDropConnection(DeviceID string) (*CometAPIResponseMessage, error)

AdminInstallationDispatchDropConnection: Instruct a live connected device to disconnect The device will terminate its live-connection process and will not reconnect.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params DeviceID: The live connection Device GUID

func (*CometAPIClient) AdminInstallationDispatchRegisterDevice added in v1.12.0

func (c *CometAPIClient) AdminInstallationDispatchRegisterDevice(DeviceID string, TargetUser string, TargetPassword string, TargetTOTPCode *string) ([]byte, error)

AdminInstallationDispatchRegisterDevice: Instruct an unregistered device to authenticate with a given user

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params DeviceID: The live connection Device GUID TargetUser: Selected account username TargetPassword: Selected account password TargetTOTPCode: (Optional) Selected account TOTP code

func (*CometAPIClient) AdminInstallationListActive added in v1.12.0

func (c *CometAPIClient) AdminInstallationListActive() (RegistrationLobbyConnectionMap, error)

AdminInstallationListActive: List live connected devices in lobby mode

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

func (*CometAPIClient) AdminJobAbandon added in v1.12.0

func (c *CometAPIClient) AdminJobAbandon(TargetUser string, JobID string) (*CometAPIResponseMessage, error)

AdminJobAbandon: Mark a running job as abandoned This will change the status of a running job to abandoned. This is intended to be used on jobs which are definitely no longer running but are stuck in the running state; it will not attempt to cancel the job. If the job is detected to still be running after being marked as abandoned, it will be revived.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Username JobID: Job ID

func (*CometAPIClient) AdminJobCancel

func (c *CometAPIClient) AdminJobCancel(TargetUser string, JobID string) (*CometAPIResponseMessage, error)

AdminJobCancel: Cancel a running job A request is sent to the live-connected device, asking it to cancel the operation. This may fail if there is no live-connection. Only jobs from Comet 18.3.5 or newer can be cancelled. A job can only be cancelled if it has a non-empty CancellationID field in its properties. If the device is running Comet 21.9.5 or later, this API will wait up to ten seconds for a confirmation from the client.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Username JobID: Job ID

func (*CometAPIClient) AdminListUsers

func (c *CometAPIClient) AdminListUsers() ([]string, error)

AdminListUsers: List all user accounts

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

func (*CometAPIClient) AdminListUsersFull

func (c *CometAPIClient) AdminListUsersFull() (map[string]UserProfileConfig, error)

AdminListUsersFull: List all user account profiles

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

func (*CometAPIClient) AdminMetaBrandingConfigGet

func (c *CometAPIClient) AdminMetaBrandingConfigGet() (*ServerConfigOptionsBrandingFragment, error)

AdminMetaBrandingConfigGet: Get Branding configuration

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

func (*CometAPIClient) AdminMetaBrandingConfigSet

func (c *CometAPIClient) AdminMetaBrandingConfigSet(BrandingConfig BrandingOptions) (*CometAPIResponseMessage, error)

AdminMetaBrandingConfigSet: Set Branding configuration Note that file resources must be provided using a resource URI, i.e `"resource://05ba0b90ee66bda433169581188aba8d29faa938f9464cccd651a02fdf2e5b57"`. See AdminMetaResourceNew for the API documentation to create new file resources.

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

- Params BrandingConfig: Updated configuration content

func (*CometAPIClient) AdminMetaBuildConfigGet

func (c *CometAPIClient) AdminMetaBuildConfigGet() (*ServerConfigOptionsSoftwareBuildRoleFragment, error)

AdminMetaBuildConfigGet: Get Software Build Role configuration

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

func (*CometAPIClient) AdminMetaBuildConfigSet

func (c *CometAPIClient) AdminMetaBuildConfigSet(SoftwareBuildRoleConfig SoftwareBuildRoleOptions) (*CometAPIResponseMessage, error)

AdminMetaBuildConfigSet: Set Build Role configuration

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

- Params SoftwareBuildRoleConfig: Updated configuration content

func (*CometAPIClient) AdminMetaConstellationConfigGet added in v1.0.1

func (c *CometAPIClient) AdminMetaConstellationConfigGet() (*ConstellationRoleOptions, error)

AdminMetaConstellationConfigGet: Get Constellation configuration for the current organization

You must supply administrator authentication credentials to use this API. This API requires the Constellation Role to be enabled.

func (*CometAPIClient) AdminMetaConstellationConfigSet added in v1.0.1

func (c *CometAPIClient) AdminMetaConstellationConfigSet(ConstellationRoleOptions ConstellationRoleOptions) (*CometAPIResponseMessage, error)

AdminMetaConstellationConfigSet: Set Constellation configuration for the current organization

You must supply administrator authentication credentials to use this API. This API requires the Constellation Role to be enabled.

- Params ConstellationRoleOptions: Constellation role options to set

func (*CometAPIClient) AdminMetaEmailOptionsGet added in v1.2.0

func (c *CometAPIClient) AdminMetaEmailOptionsGet() (*EmailOptions, error)

AdminMetaEmailOptionsGet: Get the email options

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

func (*CometAPIClient) AdminMetaEmailOptionsSet added in v1.2.0

func (c *CometAPIClient) AdminMetaEmailOptionsSet(EmailOptions EmailOptions) (*CometAPIResponseMessage, error)

AdminMetaEmailOptionsSet: Set the email options

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

- Params EmailOptions: The replacement email reporting options.

func (*CometAPIClient) AdminMetaListAvailableLogDays

func (c *CometAPIClient) AdminMetaListAvailableLogDays() ([]LogDay, error)

AdminMetaListAvailableLogDays: Get log files

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

func (*CometAPIClient) AdminMetaPsaConfigListGet added in v1.1.0

func (c *CometAPIClient) AdminMetaPsaConfigListGet() ([]PSAConfig, error)

AdminMetaPsaConfigListGet: Get the server PSA configuration

You must supply administrator authentication credentials to use this API.

func (*CometAPIClient) AdminMetaPsaConfigListSet added in v1.1.0

func (c *CometAPIClient) AdminMetaPsaConfigListSet(PSAConfigList []PSAConfig) (*CometAPIResponseMessage, error)

AdminMetaPsaConfigListSet: Update the server PSA configuration

You must supply administrator authentication credentials to use this API.

- Params PSAConfigList: The replacement PSA configuration list

func (*CometAPIClient) AdminMetaPsaConfigListSyncNow added in v1.1.0

func (c *CometAPIClient) AdminMetaPsaConfigListSyncNow() (*CometAPIResponseMessage, error)

AdminMetaPsaConfigListSyncNow: Synchronize all PSA services now This API applies to the current Organization's PSAConfig's only.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

func (*CometAPIClient) AdminMetaReadAllLogs

func (c *CometAPIClient) AdminMetaReadAllLogs() ([]byte, error)

AdminMetaReadAllLogs: Get a ZIP file of all of the server's log files On non-Windows platforms, log content uses LF line endings. On Windows, Comet changed from LF to CRLF line endings in 18.3.2. This API does not automatically convert line endings; around the 18.3.2 timeframe, log content may even contain mixed line-endings.

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

func (*CometAPIClient) AdminMetaReadLogs

func (c *CometAPIClient) AdminMetaReadLogs(Log int) ([]byte, error)

AdminMetaReadLogs: Get log file content On non-Windows platforms, log content uses LF line endings. On Windows, Comet changed from LF to CRLF line endings in 18.3.2. This API does not automatically convert line endings; around the 18.3.2 timeframe, log content may even contain mixed line-endings.

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

- Params Log: A log day, selected from the options returned by the Get Log Files API

func (*CometAPIClient) AdminMetaReadSelectLogs added in v1.24.0

func (c *CometAPIClient) AdminMetaReadSelectLogs(Logs []int) ([]byte, error)

AdminMetaReadSelectLogs: Get logs file content On non-Windows platforms, log content uses LF line endings. On Windows, Comet changed from LF to CRLF line endings in 18.3.2. This API does not automatically convert line endings; around the 18.3.2 timeframe, log content may even contain mixed line-endings.

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

- Params Logs: An array of log days, selected from the options returned by the Get Log Files API

func (*CometAPIClient) AdminMetaRemoteStorageVaultGet

func (c *CometAPIClient) AdminMetaRemoteStorageVaultGet() ([]RemoteStorageOption, error)

AdminMetaRemoteStorageVaultGet: Get Requesting Remote Storage Vault Config

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

func (*CometAPIClient) AdminMetaRemoteStorageVaultSet

func (c *CometAPIClient) AdminMetaRemoteStorageVaultSet(RemoteStorageOptions []RemoteStorageOption) (*CometAPIResponseMessage, error)

AdminMetaRemoteStorageVaultSet: Set Storage template vault options

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

- Params RemoteStorageOptions: Updated configuration content

func (*CometAPIClient) AdminMetaRemoteStorageVaultTest added in v1.5.0

func (c *CometAPIClient) AdminMetaRemoteStorageVaultTest(TemplateOptions RemoteStorageOption) (*CometAPIResponseMessage, error)

AdminMetaRemoteStorageVaultTest: Test the connection to the storage template

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

- Params TemplateOptions: Storage Template Vault Options

func (*CometAPIClient) AdminMetaResourceGet

func (c *CometAPIClient) AdminMetaResourceGet(Hash string) ([]byte, error)

AdminMetaResourceGet: Get a resource file Resources are used to upload files within the server configuration.

You must supply administrator authentication credentials to use this API.

- Params Hash: The resource identifier

func (*CometAPIClient) AdminMetaResourceNew

func (c *CometAPIClient) AdminMetaResourceNew(upload string) (*AdminResourceResponse, error)

AdminMetaResourceNew: Upload a resource file Resources are used to upload files within the server configuration. The resulting resource ID is autogenerated. The lifespan of an uploaded resource is undefined. Resources may be deleted automatically, but it should remain available until the next call to AdminMetaServerConfigSet, and will remain available for as long as it is referenced by the server configuration.

You must supply administrator authentication credentials to use this API.

- Params upload: The uploaded file contents, as a multipart/form-data part.

func (*CometAPIClient) AdminMetaRestartService

func (c *CometAPIClient) AdminMetaRestartService() (*CometAPIResponseMessage, error)

AdminMetaRestartService: Restart server The Comet Server process will exit. The service manager should restart the server automatically.

Prior to 18.9.2, this API terminated the server immediately without returning a response. In 18.9.2 and later, it returns a successful response before shutting down.

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts. Access to this API may be prevented on a per-administrator basis.

func (*CometAPIClient) AdminMetaSendTestEmail

func (c *CometAPIClient) AdminMetaSendTestEmail(EmailOptions EmailOptions, Recipient string) (*CometAPIResponseMessage, error)

AdminMetaSendTestEmail: Send a test email message This allows the Comet Server web interface to support testing different email credentials during setup.

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

- Params EmailOptions: Updated configuration content Recipient: Target email address to send test email

func (*CometAPIClient) AdminMetaSendTestReport added in v1.2.0

func (c *CometAPIClient) AdminMetaSendTestReport(EmailReportingOption EmailReportingOption, TargetOrganization *string) (*CometAPIResponseMessage, error)

AdminMetaSendTestReport: Send a test admin email report This allows a user to send a test email report

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

- Params EmailReportingOption: Test email reporting option for sending TargetOrganization: (Optional) If present, Testing email with a target organization. Only allowed for top-level admins. (>= 24.3.0)

func (*CometAPIClient) AdminMetaServerConfigGet

func (c *CometAPIClient) AdminMetaServerConfigGet() (*ServerConfigOptions, error)

AdminMetaServerConfigGet: Get server configuration

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

func (*CometAPIClient) AdminMetaServerConfigNetworkInterfaces

func (c *CometAPIClient) AdminMetaServerConfigNetworkInterfaces() ([]string, error)

AdminMetaServerConfigNetworkInterfaces: List the available network interfaces on the PC running Comet Server Any IPv6 addresses are listed in compressed form without square-brackets.

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

func (*CometAPIClient) AdminMetaServerConfigSet

func (c *CometAPIClient) AdminMetaServerConfigSet(Config ServerConfigOptions) (*CometAPIResponseMessage, error)

AdminMetaServerConfigSet: Set server configuration The Comet Server process will exit. The service manager should restart the server automatically.

Prior to 18.9.2, this API terminated the server immediately without returning a response. In 18.9.2 and later, it returns a successful response before shutting down.

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

- Params Config: Updated configuration content

func (*CometAPIClient) AdminMetaShutdownService

func (c *CometAPIClient) AdminMetaShutdownService() (*CometAPIResponseMessage, error)

AdminMetaShutdownService: Shut down server The Comet Server process will exit.

Prior to 18.9.2, this API terminated the server immediately without returning a response. In 18.9.2 and later, it returns a successful response before shutting down.

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts. Access to this API may be prevented on a per-administrator basis.

func (*CometAPIClient) AdminMetaSoftwareUpdateNews

func (c *CometAPIClient) AdminMetaSoftwareUpdateNews() (*SoftwareUpdateNewsResponse, error)

AdminMetaSoftwareUpdateNews: Get software update news from the software provider

You must supply administrator authentication credentials to use this API.

func (*CometAPIClient) AdminMetaStats

func (c *CometAPIClient) AdminMetaStats(Simple bool) (map[int64]StatResult, error)

AdminMetaStats: Get Comet Server historical statistics The returned key-value map is not necessarily ordered. Client-side code should sort the result before display.

You must supply administrator authentication credentials to use this API.

- Params Simple: Remove redundant statistics

func (*CometAPIClient) AdminMetaVersion

func (c *CometAPIClient) AdminMetaVersion() (*ServerMetaVersionInfo, error)

AdminMetaVersion: Get server properties Retrieve the version number and basic properties about the server.

You must supply administrator authentication credentials to use this API.

func (*CometAPIClient) AdminMetaWebhookOptionsGet

func (c *CometAPIClient) AdminMetaWebhookOptionsGet() (map[string]WebhookOption, error)

AdminMetaWebhookOptionsGet: Get the server webhook configuration

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

func (*CometAPIClient) AdminMetaWebhookOptionsSet

func (c *CometAPIClient) AdminMetaWebhookOptionsSet(WebhookOptions map[string]WebhookOption) (*CometAPIResponseMessage, error)

AdminMetaWebhookOptionsSet: Update the server webhook configuration Calling this endpoint will interrupt any messages currently queued for existing webhook destinations.

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis.

- Params WebhookOptions: The replacement webhook target options.

func (*CometAPIClient) AdminNewsGetAll

func (c *CometAPIClient) AdminNewsGetAll() (NewsEntries, error)

AdminNewsGetAll: Get News entries (Admin)

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

func (*CometAPIClient) AdminNewsRemove

func (c *CometAPIClient) AdminNewsRemove(NewsItem string) (*CometAPIResponseMessage, error)

AdminNewsRemove: Remove news item

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params NewsItem: Selected news item GUID

func (*CometAPIClient) AdminNewsSubmit

func (c *CometAPIClient) AdminNewsSubmit(NewsContent string) (*CometAPIResponseMessage, error)

AdminNewsSubmit: Submit news item

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params NewsContent: Content of news item

func (*CometAPIClient) AdminOrganizationDelete

func (c *CometAPIClient) AdminOrganizationDelete(OrganizationID *string, UninstallConfig *UninstallConfig) (*CometAPIResponseMessage, error)

AdminOrganizationDelete: Delete an organization and all related users

Prior to Comet 22.6.0, this API was documented as returning the OrganizationResponse type. However, it always has returned only a CometAPIResponseMessage.

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

- Params OrganizationID: (Optional) (No description available) UninstallConfig: (Optional) Uninstall software configuration

func (*CometAPIClient) AdminOrganizationExport added in v1.1.0

func (c *CometAPIClient) AdminOrganizationExport(Options SelfBackupExportOptions) (*CometAPIResponseMessage, error)

AdminOrganizationExport: Run self-backup for a specific tenant

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

- Params Options: The export config options

func (*CometAPIClient) AdminOrganizationList

func (c *CometAPIClient) AdminOrganizationList() (map[string]Organization, error)

AdminOrganizationList: List Organizations

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

func (*CometAPIClient) AdminOrganizationSet

func (c *CometAPIClient) AdminOrganizationSet(OrganizationID *string, Organization *Organization) (*OrganizationResponse, error)

AdminOrganizationSet: Create or Update an Organization

Prior to Comet 22.6.0, the 'ID' and 'Organization' fields were not present in the response.

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

- Params OrganizationID: (Optional) (No description available) Organization: (Optional) (No description available)

func (*CometAPIClient) AdminPoliciesDelete

func (c *CometAPIClient) AdminPoliciesDelete(PolicyID string) (*CometAPIResponseMessage, error)

AdminPoliciesDelete: Delete an existing policy object

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params PolicyID: The policy ID to update or create

func (*CometAPIClient) AdminPoliciesGet

func (c *CometAPIClient) AdminPoliciesGet(PolicyID string) (*GetGroupPolicyResponse, error)

AdminPoliciesGet: Retrieve a single policy object A hash is also returned, to allow atomic modification operations.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params PolicyID: The policy ID to retrieve

func (*CometAPIClient) AdminPoliciesList

func (c *CometAPIClient) AdminPoliciesList(TargetOrganization *string) (map[string]string, error)

AdminPoliciesList: List all policy object names For the top-level organization, the API result includes all policies for all organizations, unless the TargetOrganization parameter is present.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetOrganization: (Optional) If present, list the policies belonging to another organization. Only allowed for administrator accounts in the top-level organization. (>= 22.3.7)

func (*CometAPIClient) AdminPoliciesListFull

func (c *CometAPIClient) AdminPoliciesListFull(TargetOrganization *string) (map[string]GroupPolicy, error)

AdminPoliciesListFull: Get all policy objects For the top-level organization, the API result includes all policies for all organizations, unless the TargetOrganization parameter is present.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetOrganization: (Optional) If present, list the policies belonging to another organization. Only allowed for administrator accounts in the top-level organization. (>= 22.3.7)

func (*CometAPIClient) AdminPoliciesNew

func (c *CometAPIClient) AdminPoliciesNew(Policy GroupPolicy) (*CreateGroupPolicyResponse, error)

AdminPoliciesNew: Create a new policy object

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params Policy: The policy data

func (*CometAPIClient) AdminPoliciesSet

func (c *CometAPIClient) AdminPoliciesSet(PolicyID string, Policy GroupPolicy, CheckPolicyHash *string) (*CometAPIResponseMessage, error)

AdminPoliciesSet: Update an existing policy object An optional hash may be used, to ensure the modification was atomic. This API can also be used to create a new policy object with a specific hash.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params PolicyID: The policy ID to update or create Policy: The policy data CheckPolicyHash: (Optional) An atomic verification hash as supplied by the AdminPoliciesGet API

func (*CometAPIClient) AdminPreviewUserEmailReport

func (c *CometAPIClient) AdminPreviewUserEmailReport(TargetUser string, EmailReportConfig EmailReportConfig, EmailAddress *string) (*EmailReportGeneratedPreview, error)

AdminPreviewUserEmailReport: Preview an email report for a customer

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Selected account username EmailReportConfig: Email report configuration to preview EmailAddress: (Optional) Email address that may be included in the report body (>= 20.3.3)

func (*CometAPIClient) AdminReplicationState

func (c *CometAPIClient) AdminReplicationState() ([]ReplicatorStateAPIResponse, error)

AdminReplicationState: Get Replication status

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

func (*CometAPIClient) AdminRequestStorageVault

func (c *CometAPIClient) AdminRequestStorageVault(TargetUser string, StorageProvider string, SelfAddress *string) (*RequestStorageVaultResponseMessage, error)

AdminRequestStorageVault: Request a new Storage Vault on behalf of a user This action does not respect the "Prevent creating new Storage Vaults (via Request)" policy setting. New Storage Vaults can be requested regardless of the policy setting. Prior to Comet 19.8.0, the response type was CometAPIResponseMessage (i.e. no DestinationID field in response). The StorageProvider must exist for the target user account's organization.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: The user to receive the new Storage Vault StorageProvider: ID for the storage template destination SelfAddress: (Optional) The external URL for this server. Used to resolve conflicts

func (*CometAPIClient) AdminRequestStorageVaultProviders

func (c *CometAPIClient) AdminRequestStorageVaultProviders(TargetOrganization *string) (map[string]string, error)

AdminRequestStorageVaultProviders: Get the available options for Requesting a Storage Vault

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetOrganization: (Optional) If present, list the storage template options belonging to another organization. Only allowed for administrator accounts in the top-level organization. (>= 22.3.7)

func (*CometAPIClient) AdminResetUserPassword

func (c *CometAPIClient) AdminResetUserPassword(TargetUser string, NewPassword string, OldPassword *string) (*CometAPIResponseMessage, error)

AdminResetUserPassword: Reset user account password The user account must have a recovery code present. A new replacement recovery code will be generated automatically.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Selected account username NewPassword: New account password OldPassword: (Optional) Old account password. Required if no recovery code is present for the user account.

func (*CometAPIClient) AdminRevokeDevice

func (c *CometAPIClient) AdminRevokeDevice(TargetUser string, TargetDevice string) (*CometAPIResponseMessage, error)

AdminRevokeDevice: Revoke device from user account It's possible to simply remove the Device section from the user's profile, however, using this dedicated API will also gracefully handle live connections.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Selected account username TargetDevice: Selected Device ID

func (*CometAPIClient) AdminSelfBackupStart added in v1.1.0

func (c *CometAPIClient) AdminSelfBackupStart() (*CometAPIResponseMessage, error)

AdminSelfBackupStart: Run self-backup on all targets

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

func (*CometAPIClient) AdminSetUserProfile

func (c *CometAPIClient) AdminSetUserProfile(TargetUser string, ProfileData UserProfileConfig) (*CometAPIResponseMessage, error)

AdminSetUserProfile: Modify user account profile

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Selected account username ProfileData: Modified user profile

func (*CometAPIClient) AdminSetUserProfileHash

func (c *CometAPIClient) AdminSetUserProfileHash(TargetUser string, ProfileData UserProfileConfig, RequireHash string) (*CometAPIResponseMessage, error)

AdminSetUserProfileHash: Modify user account profile (atomic) The hash parameter can be determined from the corresponding API, to atomically ensure that no changes occur between get/set operations. The hash format is not publicly documented and may change in a future server version. Use server APIs to retrieve current hash values.

You must supply administrator authentication credentials to use this API. This API requires the Auth Role to be enabled.

- Params TargetUser: Selected account username ProfileData: Modified user profile RequireHash: Previous hash parameter

func (*CometAPIClient) AdminStorageBucketProperties

func (c *CometAPIClient) AdminStorageBucketProperties(BucketID string, AfterTimestamp *int) (*BucketProperties, error)

AdminStorageBucketProperties: Retrieve properties for a single bucket This API can also be used to refresh the size measurement for a single bucket by passing a valid AfterTimestamp parameter.

You must supply administrator authentication credentials to use this API. This API requires the Storage Role to be enabled.

- Params BucketID: Bucket ID AfterTimestamp: (Optional) Allow a stale size measurement if it is at least as new as the supplied Unix timestamp. Timestamps in the future may produce a result clamped down to the Comet Server's current time. If not present, the size measurement may be arbitrarily stale.

func (*CometAPIClient) AdminStorageDeleteBucket

func (c *CometAPIClient) AdminStorageDeleteBucket(BucketID string) (*CometAPIResponseMessage, error)

AdminStorageDeleteBucket: Delete a bucket All data will be removed from the server. Misuse can cause data loss!

You must supply administrator authentication credentials to use this API. This API requires the Storage Role to be enabled.

- Params BucketID: Selected bucket name

func (*CometAPIClient) AdminStorageFreeSpace

func (c *CometAPIClient) AdminStorageFreeSpace(BucketID *string) (*StorageFreeSpaceInfo, error)

AdminStorageFreeSpace: Retrieve available space metrics

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis. This API requires the Storage Role to be enabled. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

- Params BucketID: (Optional) (This parameter is not used)

func (*CometAPIClient) AdminStorageListBuckets

func (c *CometAPIClient) AdminStorageListBuckets() (BucketPropertyList, error)

AdminStorageListBuckets: List all buckets

You must supply administrator authentication credentials to use this API. This API requires the Storage Role to be enabled.

func (*CometAPIClient) AdminStoragePingDestination

func (c *CometAPIClient) AdminStoragePingDestination(ExtraData DestinationLocation) (*CometAPIResponseMessage, error)

AdminStoragePingDestination: Ping a storage destination

You must supply administrator authentication credentials to use this API. Access to this API may be prevented on a per-administrator basis. This API is only available for top-level administrator accounts, not for Tenant administrator accounts.

- Params ExtraData: The destination location settings

func (*CometAPIClient) AdminStorageRegisterBucket

func (c *CometAPIClient) AdminStorageRegisterBucket(SetBucketValue *string, SetKeyHashFormat *string, SetKeyHashValue *string, SetOrganizationID *string) (*AddBucketResponseMessage, error)

AdminStorageRegisterBucket: Create a new bucket Leave the Set* parameters blank to generate a bucket with random credentials, or, supply a pre-hashed password for zero-knowledge operations. Any auto-generated credentials are returned in the response message.

You must supply administrator authentication credentials to use this API. This API requires the Storage Role to be enabled.

- Params SetBucketValue: (Optional) Bucket ID SetKeyHashFormat: (Optional) Bucket key hashing format SetKeyHashValue: (Optional) Bucket key hash SetOrganizationID: (Optional) Target organization ID (>= 20.9.0)

func (*CometAPIClient) AdminUpdateCampaignStart

func (c *CometAPIClient) AdminUpdateCampaignStart(Options UpdateCampaignOptions) (*CometAPIResponseMessage, error)

AdminUpdateCampaignStart: Start a new software update campaign

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

- Params Options: Configure targets for the software update campaign

func (*CometAPIClient) AdminUpdateCampaignStatus

func (c *CometAPIClient) AdminUpdateCampaignStatus() (*UpdateCampaignStatus, error)

AdminUpdateCampaignStatus: Get current campaign status

You must supply administrator authentication credentials to use this API. This API is only available for top-level administrator accounts, not for Tenant administrator accounts. This API requires the Software Build Role to be enabled. This API requires the Auth Role to be enabled.

func (*CometAPIClient) BrandingProps

func (c *CometAPIClient) BrandingProps() (*ServerMetaBrandingProperties, error)

BrandingProps: Retrieve basic information about this Comet Server

func (*CometAPIClient) HybridSessionStart

func (c *CometAPIClient) HybridSessionStart() (*SessionKeyRegeneratedResponse, error)

HybridSessionStart: Generate a session key (log in) This hybrid API allows you to log in to the Comet Server as either an administrator or end-user account. This API behaves like either AdminAccountSessionStart or UserWebSessionStart, depending on what the supplied credentials were valid for.

The SessionKey will be set in the client and used for any further api calls using the same client. You can manually clear the SessionKey if you wish to use Username, Password based authentication again.

func (*CometAPIClient) Request

func (c *CometAPIClient) Request(contentType, method, path string, data map[string][]string) ([]byte, error)

Request is a convenience method wrapping a basic http request

func (*CometAPIClient) UserDispatcherEmailPreview

func (c *CometAPIClient) UserDispatcherEmailPreview(TargetID string, Snapshot string, Destination string, Path string) (*EmailReportGeneratedPreview, error)

UserDispatcherEmailPreview: Request HTML content of an email The remote device must have given consent for an MSP to browse their mail

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Snapshot: where the email belongs to Destination: The Storage Vault ID Path: of the email to view

func (*CometAPIClient) UserWebAccountRegenerateTotp

func (c *CometAPIClient) UserWebAccountRegenerateTotp(ProfileHash string) (*TotpRegeneratedResponse, error)

UserWebAccountRegenerateTotp: Generate a new TOTP secret for user (web) The secret is returned as a `data-uri` image of a QR code. The new secret is immediately applied to the current admin account.

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params ProfileHash: Previous account profile hash

func (*CometAPIClient) UserWebAccountResetPassword

func (c *CometAPIClient) UserWebAccountResetPassword(ProfileHash string, OldPassword string, NewPassword string) (*CometAPIResponseMessage, error)

UserWebAccountResetPassword: Reset the password for your own user account (web) A new replacement recovery code will be generated if the present recovery code is not empty

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params ProfileHash: Previous account profile hash OldPassword: Current account password NewPassword: New account password

func (*CometAPIClient) UserWebAccountValidateTotp

func (c *CometAPIClient) UserWebAccountValidateTotp(ProfileHash string, TOTPCode string) (*CometAPIResponseMessage, error)

UserWebAccountValidateTotp: Validate the TOTP code before turning 2fa(TOTP) on

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params ProfileHash: Previous account profile hash TOTPCode: Six-digit code after scanning barcode image

func (*CometAPIClient) UserWebDispatcherDeleteSnapshot

func (c *CometAPIClient) UserWebDispatcherDeleteSnapshot(TargetID string, DestinationID string, SnapshotID string) (*CometAPIResponseMessage, error)

UserWebDispatcherDeleteSnapshot: Instruct a live connected device to delete a stored snapshot

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID DestinationID: The Storage Vault GUID SnapshotID: The backup job snapshot ID to delete

func (*CometAPIClient) UserWebDispatcherDeleteSnapshots

func (c *CometAPIClient) UserWebDispatcherDeleteSnapshots(TargetID string, DestinationID string, SnapshotIDs []string) (*CometAPIResponseMessage, error)

UserWebDispatcherDeleteSnapshots: Instruct a live connected device to delete multiple stored snapshots The target device must be running Comet 20.9.10 or later.

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID DestinationID: The Storage Vault GUID SnapshotIDs: The backup job snapshot IDs to delete

func (*CometAPIClient) UserWebDispatcherListActive

func (c *CometAPIClient) UserWebDispatcherListActive() (LiveUserConnectionMap, error)

UserWebDispatcherListActive: List live connected devices in my account

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

func (*CometAPIClient) UserWebDispatcherOffice365ListVirtualAccounts

func (c *CometAPIClient) UserWebDispatcherOffice365ListVirtualAccounts(TargetID string, Credentials Office365Credential) (*BrowseOffice365ListVirtualAccountsResponse, error)

UserWebDispatcherOffice365ListVirtualAccounts: Request a list of Office365 Resources (groups, sites, teams groups and users)

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The Office365 account credential

func (*CometAPIClient) UserWebDispatcherPingDestination

func (c *CometAPIClient) UserWebDispatcherPingDestination(TargetID string, ExtraData DestinationLocation) (*CometAPIResponseMessage, error)

UserWebDispatcherPingDestination: Test the connection to the storage bucket

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID ExtraData: The destination location settings

func (*CometAPIClient) UserWebDispatcherRegisterOfficeApplicationBegin

func (c *CometAPIClient) UserWebDispatcherRegisterOfficeApplicationBegin(TargetID string, EmailAddress string) (*RegisterOfficeApplicationBeginResponse, error)

UserWebDispatcherRegisterOfficeApplicationBegin: Begin the process of registering a new Azure AD application that can access Office 365 for backup After calling this API, you should supply the login details to the end-user, and then begin polling the AdminDispatcherRegisterOfficeApplicationCheck with the supplied "Continuation" parameter to check on the registration process.

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID EmailAddress: The email address of the Azure AD administrator

func (*CometAPIClient) UserWebDispatcherRegisterOfficeApplicationCheck

func (c *CometAPIClient) UserWebDispatcherRegisterOfficeApplicationCheck(TargetID string, Continuation string) (*RegisterOfficeApplicationCheckResponse, error)

UserWebDispatcherRegisterOfficeApplicationCheck: Check the process of registering a new Azure AD application that can access Office 365 for backup You should begin the process by calling AdminDispatcherRegisterOfficeApplicationBegin and asking the end-user to complete the Azure authentication steps.

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Continuation: The ID returned from the AdminDispatcherRegisterOfficeApplicationBegin endpoint

func (*CometAPIClient) UserWebDispatcherRequestBrowseDiskDrives

func (c *CometAPIClient) UserWebDispatcherRequestBrowseDiskDrives(TargetID string) (*BrowseDiskDrivesResponse, error)

UserWebDispatcherRequestBrowseDiskDrives: Request a list of physical disk drive information from a live connected device

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID

func (*CometAPIClient) UserWebDispatcherRequestBrowseExchangeEdb

func (c *CometAPIClient) UserWebDispatcherRequestBrowseExchangeEdb(TargetID string) (*BrowseEDBResponse, error)

UserWebDispatcherRequestBrowseExchangeEdb: Request a list of Exchange EDB databases from a live connected device

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID

func (*CometAPIClient) UserWebDispatcherRequestBrowseHyperv

func (c *CometAPIClient) UserWebDispatcherRequestBrowseHyperv(TargetID string) (*BrowseHVResponse, error)

UserWebDispatcherRequestBrowseHyperv: Request a list of Hyper-V virtual machines from a live connected device

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID

func (*CometAPIClient) UserWebDispatcherRequestBrowseMongodb

func (c *CometAPIClient) UserWebDispatcherRequestBrowseMongodb(TargetID string, Credentials MongoDBConnection) (*BrowseSQLServerResponse, error)

UserWebDispatcherRequestBrowseMongodb: Request a list of tables in MongoDB database

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The MongoDB database authentication settings

func (*CometAPIClient) UserWebDispatcherRequestBrowseMssql

func (c *CometAPIClient) UserWebDispatcherRequestBrowseMssql(TargetID string, Credentials MSSQLConnection) (*BrowseSQLServerResponse, error)

UserWebDispatcherRequestBrowseMssql: Request a list of tables in MSSQL database

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The MSSQL database authentication settings

func (*CometAPIClient) UserWebDispatcherRequestBrowseMysql

func (c *CometAPIClient) UserWebDispatcherRequestBrowseMysql(TargetID string, Credentials MySQLConnection) (*BrowseSQLServerResponse, error)

UserWebDispatcherRequestBrowseMysql: Request a list of tables in MySQL database

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The MySQL database authentication settings

func (*CometAPIClient) UserWebDispatcherRequestBrowseVmware added in v1.15.0

func (c *CometAPIClient) UserWebDispatcherRequestBrowseVmware(TargetID string, Credentials VMwareConnection) (*BrowseVMwareResponse, error)

UserWebDispatcherRequestBrowseVmware: Request a list of VMware vSphere virtual machines

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The VMWare ESXi connection settings

func (*CometAPIClient) UserWebDispatcherRequestBrowseVssAaw

func (c *CometAPIClient) UserWebDispatcherRequestBrowseVssAaw(TargetID string) (*BrowseVSSResponse, error)

UserWebDispatcherRequestBrowseVssAaw: Request a list of installed VSS Writers (Application-Aware Writers) from a live connected device

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID

func (*CometAPIClient) UserWebDispatcherRequestOffice365Accounts

func (c *CometAPIClient) UserWebDispatcherRequestOffice365Accounts(TargetID string, Credentials Office365Credential) (*BrowseOffice365ObjectsResponse, error)

UserWebDispatcherRequestOffice365Accounts: Request a list of Office365 mailbox accounts

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The Office365 account credential

func (*CometAPIClient) UserWebDispatcherRequestOffice365Sites

func (c *CometAPIClient) UserWebDispatcherRequestOffice365Sites(TargetID string, Credentials Office365Credential) (*BrowseOffice365ObjectsResponse, error)

UserWebDispatcherRequestOffice365Sites: Request a list of Office365 sites

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Credentials: The Office365 account credential

func (*CometAPIClient) UserWebDispatcherRequestStoredObjects

func (c *CometAPIClient) UserWebDispatcherRequestStoredObjects(TargetID string, Destination string, SnapshotID string, TreeID *string, Options *VMDKSnapshotViewOptions) (*DispatcherStoredObjectsResponse, error)

UserWebDispatcherRequestStoredObjects: Request a list of stored objects inside an existing backup job The remote device must have given consent for an MSP to browse their files.

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Destination: The Storage Vault ID SnapshotID: The selected backup job snapshot TreeID: (Optional) Browse objects inside subdirectory of backup snapshot. If it is for VMDK single file restore, it should be the disk image's subtree ID. Options: (Optional) Request a list of stored objects in vmdk file

func (*CometAPIClient) UserWebDispatcherRequestVaultSnapshots

func (c *CometAPIClient) UserWebDispatcherRequestVaultSnapshots(TargetID string, Destination string) (*DispatcherVaultSnapshotsResponse, error)

UserWebDispatcherRequestVaultSnapshots: Request a list of Storage Vault snapshots from a live connected device

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Destination: The Storage Vault ID

func (*CometAPIClient) UserWebDispatcherRequestWindiskSnapshot

func (c *CometAPIClient) UserWebDispatcherRequestWindiskSnapshot(TargetID string, Destination string, SnapshotID string) (*DispatcherWindiskSnapshotResponse, error)

UserWebDispatcherRequestWindiskSnapshot: Request a Disk Image snapshot with the windiskbrowse-style from a live connected device

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Destination: The Storage Vault ID SnapshotID: The Snapshot ID

func (*CometAPIClient) UserWebDispatcherRunBackup

func (c *CometAPIClient) UserWebDispatcherRunBackup(TargetID string, BackupRule string) (*CometAPIResponseMessage, error)

UserWebDispatcherRunBackup: Instruct a live connected device in my account to run a scheduled backup

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID BackupRule: The schedule GUID

func (*CometAPIClient) UserWebDispatcherRunBackupCustom

func (c *CometAPIClient) UserWebDispatcherRunBackupCustom(TargetID string, Source string, Destination string, Options *BackupJobAdvancedOptions) (*CometAPIResponseMessage, error)

UserWebDispatcherRunBackupCustom: Instruct a live connected device to run a backup

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Source: The Protected Item GUID Destination: The Storage Vault GUID Options: (Optional) Extra job parameters (>= 19.3.6)

func (*CometAPIClient) UserWebDispatcherRunRestore

func (c *CometAPIClient) UserWebDispatcherRunRestore(TargetID string, Path string, Source string, Destination string, Snapshot *string, Paths []string) (*CometAPIResponseMessage, error)

UserWebDispatcherRunRestore: Instruct a live connected device in my account to perform a local restore

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Path: The local path to restore to Source: The Protected Item ID Destination: The Storage Vault ID Snapshot: (Optional) If present, restore a specific snapshot. Otherwise, restore the latest snapshot for the selected Protected Item + Storage Vault pair Paths: (Optional) If present, restore these paths only. Otherwise, restore all data (>= 19.3.0)

func (*CometAPIClient) UserWebDispatcherRunRestoreCustom

func (c *CometAPIClient) UserWebDispatcherRunRestoreCustom(TargetID string, Source string, Destination string, Options RestoreJobAdvancedOptions, Snapshot *string, Paths []string, KnownFileCount *int, KnownByteCount *int, KnownDirCount *int) (*CometAPIResponseMessage, error)

UserWebDispatcherRunRestoreCustom: Instruct a live connected device in my account to perform a local restore This command is understood by Comet Backup 18.6.0 and newer.

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Source: The Protected Item ID Destination: The Storage Vault ID Options: Restore targets Snapshot: (Optional) If present, restore a specific snapshot. Otherwise, restore the latest snapshot for the selected Protected Item + Storage Vault pair Paths: (Optional) If present, restore these paths only. Otherwise, restore all data (>= 19.3.0) KnownFileCount: (Optional) The number of files to restore, if known. Supplying this means we don't need to walk the entire tree just to find the file count and will speed up the restoration process. KnownByteCount: (Optional) The total size in bytes of files to restore, if known. Supplying this means we don't need to walk the entire tree just to find the total file size and will speed up the restoration process. KnownDirCount: (Optional) The number of directories to restore, if known. Supplying this means we don't need to walk the entire tree just to find the number of directories and will speed up the restoration process.

func (*CometAPIClient) UserWebDispatcherSearchSnapshots added in v1.5.0

func (c *CometAPIClient) UserWebDispatcherSearchSnapshots(TargetID string, DestinationID string, SnapshotIDs []string, Filter SearchClause) (*SearchSnapshotsResponse, error)

UserWebDispatcherSearchSnapshots: Search storage vault snapshots

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID DestinationID: The Storage Vault GUID SnapshotIDs: Snapshots to search Filter: The search filter

func (*CometAPIClient) UserWebGetJobLog

func (c *CometAPIClient) UserWebGetJobLog(JobID string) ([]byte, error)

UserWebGetJobLog: Get backup job report log, in plaintext format (Web)

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params JobID: Selected job GUID

func (*CometAPIClient) UserWebGetJobLogEntries

func (c *CometAPIClient) UserWebGetJobLogEntries(JobID string, MinSeverity *string, MessageContains *string) ([]JobEntry, error)

UserWebGetJobLogEntries: Get backup job report log (Web)

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params JobID: Selected job GUID MinSeverity: (Optional) Return only job log entries with equal or higher severity MessageContains: (Optional) Return only job log entries that contain exact string

func (*CometAPIClient) UserWebGetJobProperties

func (c *CometAPIClient) UserWebGetJobProperties(JobID string) (*BackupJobDetail, error)

UserWebGetJobProperties: Get backup job properties (Web)

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params JobID: Selected job GUID

func (*CometAPIClient) UserWebGetJobs

func (c *CometAPIClient) UserWebGetJobs() ([]BackupJobDetail, error)

UserWebGetJobs: List all backup jobs (Web)

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

func (*CometAPIClient) UserWebGetJobsForCustomSearch

func (c *CometAPIClient) UserWebGetJobsForCustomSearch() ([]BackupJobDetail, error)

UserWebGetJobsForCustomSearch: List all backup jobs (Web)

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

func (*CometAPIClient) UserWebGetUserProfileAndHash

func (c *CometAPIClient) UserWebGetUserProfileAndHash() (*GetProfileAndHashResponseMessage, error)

UserWebGetUserProfileAndHash: Get user account profile (atomic) (Web interface version)

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

func (*CometAPIClient) UserWebJobCancel

func (c *CometAPIClient) UserWebJobCancel(JobID string) (*CometAPIResponseMessage, error)

UserWebJobCancel: Cancel a running job A request is sent to the live-connected device, asking it to cancel the operation. This may fail if there is no live-connection. Only jobs from Comet 18.3.5 or newer can be cancelled. A job can only be cancelled if it has a non-empty CancellationID field in its properties. If the device is running Comet 21.9.5 or later, this API will wait up to ten seconds for a confirmation from the client.

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params JobID: Job ID

func (*CometAPIClient) UserWebNewsGetAll

func (c *CometAPIClient) UserWebNewsGetAll() (NewsEntries, error)

UserWebNewsGetAll: Get News entries (Web)

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

func (*CometAPIClient) UserWebRequestFilesystemObjects

func (c *CometAPIClient) UserWebRequestFilesystemObjects(TargetID string, Path *string) (*DispatcherStoredObjectsResponse, error)

UserWebRequestFilesystemObjects: Request a list of filesystem objects from the device The device must have granted the administrator permission to view its filenames.

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params TargetID: The live connection GUID Path: (Optional) Browse objects inside this path. If empty or not present, returns the top-level device paths

func (*CometAPIClient) UserWebRequestStorageVault

func (c *CometAPIClient) UserWebRequestStorageVault(StorageProvider string, SelfAddress *string) (*RequestStorageVaultResponseMessage, error)

UserWebRequestStorageVault: Request a new Storage Vault (Web) This action can be prevented via policy. Prior to Comet 19.8.0, the response type was CometAPIResponseMessage (i.e. no DestinationID field in response). The StorageProvider must exist for the target user account's organization.

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params StorageProvider: ID for the storage template destination SelfAddress: (Optional) The external URL for this server. Used to resolve conflicts

func (*CometAPIClient) UserWebRequestStorageVaultProviders

func (c *CometAPIClient) UserWebRequestStorageVaultProviders() (map[string]string, error)

UserWebRequestStorageVaultProviders: Get the available options for Requesting a Storage Vault (User Web)

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

func (*CometAPIClient) UserWebSessionRevoke

func (c *CometAPIClient) UserWebSessionRevoke() (*CometAPIResponseMessage, error)

UserWebSessionRevoke: Revoke a session key (log out)

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

func (*CometAPIClient) UserWebSessionStart

func (c *CometAPIClient) UserWebSessionStart() (*SessionKeyRegeneratedResponse, error)

UserWebSessionStart: Generate a session key (log in)

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

The SessionKey will be set in the client and used for any further api calls using the same client. You can manually clear the SessionKey if you wish to use Username, Password based authentication again.

func (*CometAPIClient) UserWebSetProfileHash

func (c *CometAPIClient) UserWebSetProfileHash(ProfileData UserProfileConfig, ProfileHash string) (*CometAPIResponseMessage, error)

UserWebSetProfileHash: Set account profile (atomic, web)

You must supply user authentication credentials to use this API, and the user account must be authorized for web access. This API requires the Auth Role to be enabled.

- Params ProfileData: Updated account profile ProfileHash: Previous account profile hash

type CometAPIResponseMessage

type CometAPIResponseMessage struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status  int
	Message string
}

type CometDestinationLocation

type CometDestinationLocation struct {
	// The URL for the target Comet Server Storage Role, including http/https and trailing slash
	CometServer    string
	CometBucket    string
	CometBucketKey string
}

type CompressMode

type CompressMode int
const COMPRESS_DEFAULT CompressMode = COMPRESS_LVL_4

CompressMode

const COMPRESS_INVALID CompressMode = 0

CompressMode

const COMPRESS_LVL_1 CompressMode = 1

CompressMode

const COMPRESS_LVL_2 CompressMode = 2

CompressMode

const COMPRESS_LVL_3 CompressMode = 3

CompressMode

const COMPRESS_LVL_4 CompressMode = 4

CompressMode

const COMPRESS_LVL_5 CompressMode = 5

CompressMode

const COMPRESS_MAX CompressMode = COMPRESS_LVL_5

CompressMode

type ConstellationCheckReport

type ConstellationCheckReport struct {
	// Unix timestamp in seconds
	CheckStarted int64
	// Unix timestamp in seconds
	CheckCompleted int64
	Usage          BucketUsageMap
}

type ConstellationRoleOptions

type ConstellationRoleOptions struct {
	RoleEnabled      bool
	DeleteUnusedData bool
	Servers          []RemoteServerAddress
}

type ConstellationStats

type ConstellationStats struct {
	// Unix timestamp, in seconds.
	LastCheckStart int64
	// The total number of Constellation bucket report scans that have been performed since this Comet
	// Server was last restarted
	TotalChecksStarted int64
	// The total number of buckets that Constellation has successfully deleted since this Comet Server
	// was last restarted
	TotalBucketsDeleted   int64
	ChecksCurrentlyActive int64
}

type ConstellationStatusAPIResponse

type ConstellationStatusAPIResponse struct {
	DeletionEnabled bool
	Targets         []string
	// This field is available in Comet 18.6.2 and later.
	TargetNames []string `json:",omitempty"`
	Stats       ConstellationStats
}

type ContentMeasurement

type ContentMeasurement struct {
	// Unix timestamp in seconds
	MeasureStarted int64
	// Unix timestamp in seconds
	MeasureCompleted int64
	Components       []ContentMeasurementComponent
}

type ContentMeasurementComponent

type ContentMeasurementComponent struct {
	Bytes int64
	// A list of strings describing which groups of snapshots rely on reaching this component of data.
	// The strings may take the following formats:
	// - source_id/CURRENT - this data is required by the most recent backup job snapshot for the
	// listed Protected Item source.
	// - source_id/HISTORIC - this data is required by an older backup job snapshot for the listed
	// Protected Item source.
	// - TRUNCATED/* - there are too many separate components to show, and this component represents
	// data that is used by some other combination of components. If present, it will be the only entry
	// in the UsedBy array.
	// - the empty string - this amount of data is not currently referenced by any backup job
	// snapshots. If that remains the case by the next retention pass, this much data will be deleted
	// to free up space. If present, it will be the only entry in the UsedBy array.
	UsedBy []string
}

type CountJobsResponse added in v1.2.0

type CountJobsResponse struct {
	Count int64
}

type CreateGroupPolicyResponse

type CreateGroupPolicyResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status     int
	Message    string
	PolicyHash string
}

type CustomRemoteBucketSettings

type CustomRemoteBucketSettings struct {
	URL string
	// This field is available in Comet 23.12.5 and later.
	CustomHeaders map[string]string
}

type DaysOfWeekConfig

type DaysOfWeekConfig struct {
	Sunday    bool
	Monday    bool
	Tuesday   bool
	Wednesday bool
	Thursday  bool
	Friday    bool
	Saturday  bool
}

type DefaultEmailReportPolicy

type DefaultEmailReportPolicy struct {
	// If true, the email reports will use the custom configuration that is defined in
	// UserCustomEmailSettings / Reports fields.
	// If false, the email reports will use configuration from the policy setting if present, or else
	// from the built-in system default email report configuration.
	ShouldOverrideDefaultReports bool
	Reports                      []EmailReportConfig
}

type DefaultSettingMode

type DefaultSettingMode int
const SETTING_ENFORCED_OFF DefaultSettingMode = 4

DefaultSettingMode

const SETTING_ENFORCED_ON DefaultSettingMode = 3

DefaultSettingMode

const SETTING_OPTIONAL_DEFAULT_OFF DefaultSettingMode = 2

DefaultSettingMode

const SETTING_OPTIONAL_DEFAULT_ON DefaultSettingMode = 1

DefaultSettingMode

const SETTING_SYSTEM_DEFAULT DefaultSettingMode = 0

DefaultSettingMode

type DefaultSourceOSRestriction

type DefaultSourceOSRestriction int

type DefaultSourceWithOSRestriction

type DefaultSourceWithOSRestriction struct {
	SourceConfig SourceConfig
	RestrictOS   DefaultSourceOSRestriction
}

type DestinationConfig

type DestinationConfig struct {
	Description string
	// Unix timestamp in seconds
	CreateTime int64
	// Unix timestamp in seconds
	ModifyTime int64
	// Custom commands to run before the job
	PreExec []string
	// Custom commands to run after taking a disk snapshot
	ThawExec []string
	// Custom commands to run after the job
	PostExec []string
	// One of the DESTINATIONTYPE_ constants
	DestinationType uint64
	// The URL for the target Comet Server Storage Role, including http/https and trailing slash
	CometServer    string
	CometBucket    string
	CometBucketKey string
	S3Server       string
	S3UsesTLS      bool
	S3AccessKey    string
	S3SecretKey    string
	S3BucketName   string
	S3Subdir       string
	S3CustomRegion string
	// If true, use legacy v2 signing. If false (default), use modern v4 signing
	S3UsesV2Signing  bool
	S3RemoveDeleted  bool
	S3ObjectLockMode uint8
	S3ObjectLockDays int
	SFTPServer       string
	SFTPUsername     string
	// The directory on the SFTP server in which data is stored.
	SFTPRemotePath string
	// One of the DESTINATION_SFTP_AUTHMODE_ constants
	SFTPAuthMode SftpAuthMode
	// For use with DESTINATION_SFTP_AUTHMODE_PASSWORD only: the SSH password to connect with
	SFTPPassword string
	// For use with DESTINATION_SFTP_AUTHMODE_PRIVATEKEY only: the SSH private key to connect with, in
	// OpenSSH format.
	SFTPPrivateKey string
	// If true, then the SFTPCustomAuth_KnownHostsFile will be used to verify the remote SSH server's
	// host key, using Trust On First Use (TOFU).
	SFTPCustomAuth_UseKnownHostsFile bool
	// If SFTPCustomAuth_UseKnownHostFile is true, the path to the SSH known_hosts file.
	SFTPCustomAuth_KnownHostsFile string
	FTPServer                     string
	FTPUsername                   string
	FTPPassword                   string
	// If true, store data in the default home directory given by the FTP server. If false, store data
	// in the FTPCustomBaseDirectory path.
	FTPBaseUseHomeDirectory bool
	// If FTPBaseUseHomeDirectory is false, this field controls the path where data is stored.
	FTPCustomBaseDirectory string
	// Control whether this is plaintext FTP or secure FTPS by using one of the FTPS_MODE_ constants.
	FTPSMode FtpsModeType
	FTPPort  int
	// If set to zero, uses a system default value that is not unlimited.
	FTPMaxConnections   int
	FTPAcceptInvalidSSL bool
	AZBAccountName      string
	AZBAccountKey       string
	AZBContainer        string
	// The base URL for the Azure Blob Storage service. Leave blank to use the global default URL.
	AZBRealm      string
	AZBPrefix     string
	LocalcopyPath string
	// If logging in to a Windows network share (SMB/CIFS) is required, enter the username here.
	LocalcopyWinSMBUsername string
	// If logging in to a Windows network share (SMB/CIFS) is required, enter the password here. The
	// password may be hashed as per the LocalcopyWinSMBPasswordFormat field.
	LocalcopyWinSMBPassword string
	// One of the PASSWORD_FORMAT_ constants. It controls the hash format of the
	// LocalcopyWinSMBPassword field.
	LocalcopyWinSMBPasswordFormat uint64
	Swift                         SwiftDestinationLocation
	B2                            B2DestinationLocation
	// This field is available in Comet 23.6.9 and later.
	WebDav WebDavDestinationLocation
	Storj  StorjDestinationLocation
	SMB    SMBDestinationLocation
	// A list of underlying destinations, that will be combined and presented as one.
	SpanTargets []DestinationLocation
	// If true, this Spanned destination will use a consistent hashing scheme
	// to immediately find specific files on exactly one of the target destinations.
	// In the Static Slots mode, the span targets cannot be moved or merged, and
	// the files must always remain in their original location.
	//
	// If false, the Spanned destination system will search all targets to find
	// the requested file. This is slightly slower, but allows you to freely merge,
	// split, and reorder the underlying destination locations.
	//
	// The default option is false.
	SpanUseStaticSlots bool
	Tag                string
	// One of the ENCRYPTIONMETHOD_ constants
	EncryptionKeyEncryptionMethod uint64
	EncryptedEncryptionKey        string
	// Unix timestamp in seconds. If zero, the Storage Vault has not yet been initialized for the first
	// time.
	RepoInitTimestamp int64
	// Storage Vault quota
	StorageLimitEnabled bool
	// Storage Vault quota
	StorageLimitBytes int64
	Statistics        DestinationStatistics `json:",omitempty"`
	// Configure the retention policy for this Storage Vault. The rules will be applied to any snapshot
	// inside this Storage Vault, unless that snapshot belongs to a Protected Item source that has an
	// overriding retention policy.
	DefaultRetention RetentionPolicy
	// The "Prevent users from viewing the actual storage type" option
	RebrandStorage bool
	// If not empty, an error occured during a retention pass. Describes the error.
	RetentionError string
}

type DestinationLocation

type DestinationLocation struct {
	// One of the DESTINATIONTYPE_ constants
	DestinationType uint64
	// The URL for the target Comet Server Storage Role, including http/https and trailing slash
	CometServer    string
	CometBucket    string
	CometBucketKey string
	S3Server       string
	S3UsesTLS      bool
	S3AccessKey    string
	S3SecretKey    string
	S3BucketName   string
	S3Subdir       string
	S3CustomRegion string
	// If true, use legacy v2 signing. If false (default), use modern v4 signing
	S3UsesV2Signing  bool
	S3RemoveDeleted  bool
	S3ObjectLockMode uint8
	S3ObjectLockDays int
	SFTPServer       string
	SFTPUsername     string
	// The directory on the SFTP server in which data is stored.
	SFTPRemotePath string
	// One of the DESTINATION_SFTP_AUTHMODE_ constants
	SFTPAuthMode SftpAuthMode
	// For use with DESTINATION_SFTP_AUTHMODE_PASSWORD only: the SSH password to connect with
	SFTPPassword string
	// For use with DESTINATION_SFTP_AUTHMODE_PRIVATEKEY only: the SSH private key to connect with, in
	// OpenSSH format.
	SFTPPrivateKey string
	// If true, then the SFTPCustomAuth_KnownHostsFile will be used to verify the remote SSH server's
	// host key, using Trust On First Use (TOFU).
	SFTPCustomAuth_UseKnownHostsFile bool
	// If SFTPCustomAuth_UseKnownHostFile is true, the path to the SSH known_hosts file.
	SFTPCustomAuth_KnownHostsFile string
	FTPServer                     string
	FTPUsername                   string
	FTPPassword                   string
	// If true, store data in the default home directory given by the FTP server. If false, store data
	// in the FTPCustomBaseDirectory path.
	FTPBaseUseHomeDirectory bool
	// If FTPBaseUseHomeDirectory is false, this field controls the path where data is stored.
	FTPCustomBaseDirectory string
	// Control whether this is plaintext FTP or secure FTPS by using one of the FTPS_MODE_ constants.
	FTPSMode FtpsModeType
	FTPPort  int
	// If set to zero, uses a system default value that is not unlimited.
	FTPMaxConnections   int
	FTPAcceptInvalidSSL bool
	AZBAccountName      string
	AZBAccountKey       string
	AZBContainer        string
	// The base URL for the Azure Blob Storage service. Leave blank to use the global default URL.
	AZBRealm      string
	AZBPrefix     string
	LocalcopyPath string
	// If logging in to a Windows network share (SMB/CIFS) is required, enter the username here.
	LocalcopyWinSMBUsername string
	// If logging in to a Windows network share (SMB/CIFS) is required, enter the password here. The
	// password may be hashed as per the LocalcopyWinSMBPasswordFormat field.
	LocalcopyWinSMBPassword string
	// One of the PASSWORD_FORMAT_ constants. It controls the hash format of the
	// LocalcopyWinSMBPassword field.
	LocalcopyWinSMBPasswordFormat uint64
	Swift                         SwiftDestinationLocation
	B2                            B2DestinationLocation
	// This field is available in Comet 23.6.9 and later.
	WebDav WebDavDestinationLocation
	Storj  StorjDestinationLocation
	SMB    SMBDestinationLocation
	// A list of underlying destinations, that will be combined and presented as one.
	SpanTargets []DestinationLocation
	// If true, this Spanned destination will use a consistent hashing scheme
	// to immediately find specific files on exactly one of the target destinations.
	// In the Static Slots mode, the span targets cannot be moved or merged, and
	// the files must always remain in their original location.
	//
	// If false, the Spanned destination system will search all targets to find
	// the requested file. This is slightly slower, but allows you to freely merge,
	// split, and reorder the underlying destination locations.
	//
	// The default option is false.
	SpanUseStaticSlots bool
	Tag                string
}

DestinationLocation describes the underlying storage location for a Storage Vault. Prior to Comet 17.3.3 this was an embedded part of the DestinationConfig type. This struct is available in Comet 17.3.3 and later.

type DestinationStatistics

type DestinationStatistics struct {
	ClientProvidedSize            SizeMeasurement
	ClientProvidedContent         ContentMeasurement
	LastSuccessfulDeepVerify_GUID string `json:",omitempty"`
	// Unix timestamp in seconds
	LastSuccessfulDeepVerify_StartTime int64 `json:",omitempty"`
	// Unix timestamp in seconds
	LastSuccessfulDeepVerify_EndTime int64 `json:",omitempty"`
}

type DeviceConfig

type DeviceConfig struct {
	FriendlyName string
	// Unix timestamp in seconds
	RegistrationTime int64 `json:",omitempty"`
	// The operating system that the device uses.
	PlatformVersion OSInfo `json:",omitempty"`
	// Minimal information about the device's private Protected Items, so that other devices can safely
	// run retention passes on a shared Storage Vault.
	Sources map[string]SourceBasicInfo `json:",omitempty"`
	// The device's reported timezone in IANA format.
	DeviceTimezone string `json:",omitempty"`
	// This field is available in Comet 23.6.0 and later.
	ClientVersion string `json:",omitempty"`
	// This field is available in Comet 23.9.8 and later.
	SyncroUUID string `json:",omitempty"`
}

type DiskDrive

type DiskDrive struct {
	ID           string
	DeviceName   string
	Caption      string
	Model        string
	SerialNumber string
	Size         int64
	Partitions   []Partition
	Flags        int64
	Cylinders    int64
	Heads        int64
	Sectors      int64
	SectorSize   int64
}

type DispatcherAdminSourcesResponse

type DispatcherAdminSourcesResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status        int
	Message       string
	ImportSources map[string]string
}

type DispatcherStoredObjectsResponse

type DispatcherStoredObjectsResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status        int
	Message       string
	StoredObjects []StoredObject
}

type DispatcherVaultSnapshotsResponse

type DispatcherVaultSnapshotsResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status    int
	Message   string
	Snapshots []VaultSnapshot
}

type DispatcherWindiskSnapshotResponse

type DispatcherWindiskSnapshotResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status          int
	Message         string
	WindiskSnapshot []DiskDrive
}

type EDBFileInfo

type EDBFileInfo struct {
	Name                   string
	GUID                   string `json:"Guid"`
	ServerName             string
	CircularLoggingEnabled bool
}

type EmailDeliveryType

type EmailDeliveryType string
const EMAIL_DELIVERY_BUILTIN EmailDeliveryType = EMAIL_DELIVERY_MX_DIRECT

EmailDeliveryType: Legacy alias for EMAIL_DELIVERY_MX_DIRECT

const EMAIL_DELIVERY_DISABLED EmailDeliveryType = "disabled"

EmailDeliveryType

const EMAIL_DELIVERY_INHERIT EmailDeliveryType = ""

EmailDeliveryType: If this is for the top-level Organization, email is disabled. If this is for an Organization, use the parent's email settings.

const EMAIL_DELIVERY_MX_DIRECT EmailDeliveryType = "builtin"

EmailDeliveryType

const EMAIL_DELIVERY_NONE EmailDeliveryType = EMAIL_DELIVERY_INHERIT

EmailDeliveryType: Legacy alias for EMAIL_DELIVERY_INHERIT Deprecated: This const has been deprecated since Comet version 22.12.1

const EMAIL_DELIVERY_SMTP EmailDeliveryType = "smtp"

EmailDeliveryType

const EMAIL_DELIVERY_SMTP_SSL EmailDeliveryType = "smtp-ssl"

EmailDeliveryType

type EmailOptions

type EmailOptions struct {
	FromEmail string
	FromName  string
	// One of the EMAIL_DELIVERY_ constants
	Mode                        EmailDeliveryType
	EmailReportingOptions       []EmailReportingOption `json:",omitempty"`
	SMTPHost                    string                 `json:",omitempty"`
	SMTPPort                    int                    `json:",omitempty"`
	SMTPUsername                string                 `json:",omitempty"`
	SMTPPassword                string                 `json:",omitempty"`
	SMTPAllowInvalidCertificate bool                   `json:",omitempty"`
	SMTPAllowUnencrypted        bool                   `json:",omitempty"`
}

type EmailReportConfig

type EmailReportConfig struct {
	// One of the EMAILREPORTTYPE_ constants
	ReportType EmailReportType
	// Used as a list of scheduled times to send
	SummaryFrequency []ScheduleConfig
	// Used to the determine the time bounds of a report
	TimeSpan TimeSpan `json:",omitempty"`
	Filter   SearchClause
}

type EmailReportGeneratedPreview

type EmailReportGeneratedPreview struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status             int
	Message            string
	From               string
	To                 []string
	EmailSubject       string
	EmailBodyHTML      string
	EmailBodyPlaintext string
}

type EmailReportType

type EmailReportType int
const EMAILREPORTTYPE_GROUPED_STATUS EmailReportType = 2

EmailReportType

const EMAILREPORTTYPE_IMMEDIATE EmailReportType = 0

EmailReportType

const EMAILREPORTTYPE_RECENT_ACTIVITY EmailReportType = 3

EmailReportType

const EMAILREPORTTYPE_SUMMARY EmailReportType = 1

EmailReportType

type EmailReportingOption added in v1.2.0

type EmailReportingOption struct {
	EmailReportConfig EmailReportConfig
	// A supported language code (e.g. "en_US" or the DEFAULT_LANGUAGE constant)
	LanguageCode LanguageCode
	// The timezone in IANA format (e.g. "Pacific/Auckland" or the DEFAULT_TIMEZONE constant)
	LocalTimezone string
	Recipients    []string
}

type ExternalAuthenticationSource

type ExternalAuthenticationSource struct {
	Type        RemoteServerType
	Description string
	// For use with Comet Server (Storage Role / Auth Role)
	RemoteAddress string `json:",omitempty"`
	// For use with Comet Server (Storage Role / Auth Role)
	Username string `json:",omitempty"`
	// For use with Comet Server (Storage Role / Auth Role)
	Password string                                   `json:",omitempty"`
	LDAP     ExternalLDAPAuthenticationSourceSettings `json:",omitempty"`
	OIDC     OidcConfig                               `json:",omitempty"`
	// Backblaze B2 (Storage Template / Constellation)
	B2 B2VirtualStorageRoleSettings `json:",omitempty"`
	// Wasabi, or Comet Storage powered by Wasabi (Storage Template / Constellation)
	Wasabi WasabiVirtualStorageRoleSettings `json:",omitempty"`
	// Custom Remote Bucket HTTP protocol (Storage Template)
	Custom CustomRemoteBucketSettings `json:",omitempty"`
	// IDrive e2, or Custom IAM-compatible (Storage Template / Constellation)
	S3 S3GenericVirtualStorageRole `json:",omitempty"`
	// Amazon AWS (Storage Template / Constellation)
	AWS AmazonAWSVirtualStorageRoleSettings `json:",omitempty"`
	// Storj (Storage Template / Constellation)
	Storj StorjVirtualStorageRoleSetting `json:",omitempty"`
	// Impossible Cloud Partner API (Storage Template / Constellation)
	ImpPartner ImpossibleCloudPartnerTemplateSettings `json:",omitempty"`
	// Impossible Cloud IAM API (Storage Template / Constellation)
	ImpUser            ImpossibleCloudIAMTemplateSettings `json:",omitempty"`
	NewUserPermissions AdminUserPermissions
}

type ExternalAuthenticationSourceDisplay added in v1.9.0

type ExternalAuthenticationSourceDisplay struct {
	DisplayName   string
	LoginStartURL string
}

type ExternalAuthenticationSourceResponse added in v1.9.0

type ExternalAuthenticationSourceResponse struct {
	Status  int
	Message string
	ID      string
	Source  ExternalAuthenticationSource
}

type ExternalLDAPAuthenticationSourceServer

type ExternalLDAPAuthenticationSourceServer struct {
	Hostname string
	Port     int
	// One of the LDAPSECURITYMETHOD_ constants (e.g. "plain" / "ldaps" / "starttls")
	SecurityMethod   LDAPSecurityMethod
	AcceptInvalidSSL bool
}

type ExternalLDAPAuthenticationSourceSettings

type ExternalLDAPAuthenticationSourceSettings struct {
	Hostname string
	Port     int
	// One of the LDAPSECURITYMETHOD_ constants (e.g. "plain" / "ldaps" / "starttls")
	SecurityMethod   LDAPSecurityMethod
	AcceptInvalidSSL bool
	FallbackServers  []ExternalLDAPAuthenticationSourceServer
	BindUser         string
	BindPassword     string
	SearchDN         string
	SearchFilter     string
}

type ExtraFileExclusion

type ExtraFileExclusion struct {
	// The glob or regular expression to exclude from backup jobs
	Exclude string
	// Choose whether the 'Exclude' parameter will be treated as a regular expression (true) or a glob
	// (false)
	Regex bool
	// Either OS_ANY or one of the OS_ONLY constants
	RestrictOS ExtraFileExclusionOSRestriction
}

type ExtraFileExclusionOSRestriction

type ExtraFileExclusionOSRestriction int

ExtraFileExclusionOSRestriction: Applies to any device

const OS_ONLY_LINUX ExtraFileExclusionOSRestriction = 5

ExtraFileExclusionOSRestriction: Applies to Linux devices (including Synology DSM), regardless of CPU type

const OS_ONLY_MACOS ExtraFileExclusionOSRestriction = 4

ExtraFileExclusionOSRestriction: Applies to macOS devices, regardless of CPU type

const OS_ONLY_WINDOWS ExtraFileExclusionOSRestriction = 1

ExtraFileExclusionOSRestriction: Applies to all Windows devices, regardless of CPU type

const OS_ONLY_WINDOWS_X8632 ExtraFileExclusionOSRestriction = 2

ExtraFileExclusionOSRestriction: Applies to Windows devices with x86_32 CPU

const OS_ONLY_WINDOWS_X8664 ExtraFileExclusionOSRestriction = 3

ExtraFileExclusionOSRestriction: Applies to Windows devices with x86_64 CPU

type FTPDestinationLocation

type FTPDestinationLocation struct {
	FTPServer   string
	FTPUsername string
	FTPPassword string
	// If true, store data in the default home directory given by the FTP server. If false, store data
	// in the FTPCustomBaseDirectory path.
	FTPBaseUseHomeDirectory bool
	// If FTPBaseUseHomeDirectory is false, this field controls the path where data is stored.
	FTPCustomBaseDirectory string
	// Control whether this is plaintext FTP or secure FTPS by using one of the FTPS_MODE_ constants.
	FTPSMode FtpsModeType
	FTPPort  int
	// If set to zero, uses a system default value that is not unlimited.
	FTPMaxConnections   int
	FTPAcceptInvalidSSL bool
}

type FileOption added in v1.7.0

type FileOption struct {
	// The prefix for the log filename. It will be stored in the same file location as the Comet Server
	// log files
	Filename string
	// Configure a subset of allowed event types (see SEVT_ constants). If the array is empty, all
	// events will be sent
	AllowEventTypes []StreamableEventType `json:",omitempty"`
	// One of the STREAM_LEVEL_ constants. This controls how much data is logged into the file
	Level StreamLevel `json:",omitempty"`
	// Enables pruning of log files
	PruningEnabled bool `json:",omitempty"`
	// Limit in days to keep log files when PruningEnabled is set to true. If not set or 0, uses
	// server's PruneLogsAfterDays
	PruningLimit int `json:",omitempty"`
}

FileOption defines the configuration for Comet Server to log live events to a file. See the SEVT_ constants for more information. This struct is available in Comet 23.3.7 and later.

type FtpsModeType

type FtpsModeType int
const FTPS_MODE_EXPLICIT FtpsModeType = 2

FtpsModeType: Use explicit FTPS, first creating an insecure connection and then upgrading to SSL/TLS using AUTH TLS (like STARTTLS).

const FTPS_MODE_IMPLICIT FtpsModeType = 1

FtpsModeType: Use implicit FTPS, immediately creating a secure SSL/TLS channel before any data is sent. This usually requires a different port on the FTP server. It is generally advised to use explicit mode instead.

const FTPS_MODE_PLAINTEXT FtpsModeType = 0

FtpsModeType: Use plain FTP, do not use FTPS.

type GetGroupPolicyResponse

type GetGroupPolicyResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status     int
	Message    string
	Policy     GroupPolicy
	PolicyHash string
}

type GetProfileAndHashResponseMessage

type GetProfileAndHashResponseMessage struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status  int
	Message string
	// A hash identifier for the current state of the user's profile. If you supply this in the
	// AdminSetUserProfileHash API, the server can safely reject your change if another change has
	// happened concurrently. This allows you to retry the request.
	ProfileHash string
	Profile     UserProfileConfig
}

type GetProfileHashResponseMessage

type GetProfileHashResponseMessage struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status      int
	Message     string
	ProfileHash string
}

type GlobalOverrideOptions

type GlobalOverrideOptions struct {
	RandomDelaySecs uint64 `json:",omitempty"`
}

type GroupPolicy

type GroupPolicy struct {
	Description    string
	OrganizationID string
	Policy         UserPolicy
	// DefaultUserPolicy marks that this UserPolicy should be applied to all new users. The Comet
	// Server will ensure that only one policy can be set as default.
	DefaultUserPolicy bool
	// Unix timestamp in seconds. May be zero for Policies created prior to Comet 23.3.3.
	CreatedDate int64
	// Unix timestamp in seconds. May be zero for Policies created prior to Comet 23.3.3.
	ModifiedDate int64
}

type HTTPConnectorOptions

type HTTPConnectorOptions struct {
	ListenAddress__DONOTUSEDIRECTLY string `json:"ListenAddress"`
	SSLCertPath                     string `json:",omitempty"`
	SSLIntermediate                 string `json:",omitempty"`
	SSLCertKey                      string `json:",omitempty"`
	AutoSSLDomains                  string `json:",omitempty"`
	SSLPfxPath                      string `json:",omitempty"`
	SSLPfxPassword                  string `json:",omitempty"`
}

type HourSchedConfig

type HourSchedConfig struct {
	Hour    uint64
	Minutes uint64
}

type HyperVMachineInfo

type HyperVMachineInfo struct {
	ID          string
	DisplayName string `json:"Name"`
}

type ImpossibleCloudIAMTemplateSettings added in v1.24.0

type ImpossibleCloudIAMTemplateSettings struct {
	AccessKey string
	SecretKey string
	// Optional. The region for both IAM communication and for provisioning new buckets. If blank, uses
	// the default region for Impossible Cloud (eu-central-2).
	Region string
	// Deprecated: This member has been deprecated since Comet version 23.x.x
	UseObjectLock_Legacy_DoNotUse bool `json:"UseObjectLock"`
	// Control whether the resulting Storage Vaults are configured for Object Lock. One of the
	// OBJECT_LOCK_ constants
	ObjectLockMode uint8
	ObjectLockDays int
	// Control whether the "Allow removal of deleted files" checkbox is enabled for Storage Vaults
	// generated from this Storage Template.
	// When configuring a Storage Template from the Comet Server web interface, this field is set
	// automatically for Storage Templates using Object Lock.
	RemoveDeleted bool
}

This struct is available in Comet 24.3.1 and later.

type ImpossibleCloudPartnerTemplateSettings added in v1.24.0

type ImpossibleCloudPartnerTemplateSettings struct {
	// Optional. The region for your Partner console and for provisioning new buckets. If blank, uses
	// the default region for Impossible Cloud (eu-central-2).
	Region    string
	AccessKey string
}

This struct is available in Comet 24.3.1 and later.

type InstallCreds

type InstallCreds struct {
	Username  string
	Password  string
	TOTPCode  string
	Server    string
	AutoLogin bool
}

type InstallToken

type InstallToken struct {
	Username string
	// The URL of the Comet Server (Auth Role) for the target user to log in to.
	Server string
	// The token for use with the "/TOKEN=" silent install flag.
	Token string
	// Unix timestamp, in seconds.
	CreateTime int64
	// If the token has been used, it cannot be used again.
	Used bool
	// Unix timestamp, in seconds.
	ExpireTime int64
}

type InstallTokenResponse

type InstallTokenResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status       int
	Message      string
	InstallToken InstallToken
}

type JobClassification

type JobClassification uint64
const JOB_CLASSIFICATION_BACKUP JobClassification = 4001

JobClassification: This is a backup job.

const JOB_CLASSIFICATION_DEEPVERIFY JobClassification = 4010

JobClassification: Deep Verify

const JOB_CLASSIFICATION_DELETE_CUSTOM JobClassification = 4005

JobClassification: A specific snapshot has been deleted via the Restore wizard.

const JOB_CLASSIFICATION_IMPORT JobClassification = 4008

JobClassification: Importing settings from another installed product

const JOB_CLASSIFICATION_REINDEX JobClassification = 4009

JobClassification: Repair indexes

const JOB_CLASSIFICATION_REMEASURE JobClassification = 4006

JobClassification: Explicitly re-measuring the size of a Vault (right-click > Advanced menu).

const JOB_CLASSIFICATION_RESTORE JobClassification = 4002

JobClassification: This is a restore job.

const JOB_CLASSIFICATION_RETENTION JobClassification = 4003

JobClassification: Automatic or manual retention cleaning pass.

const JOB_CLASSIFICATION_UNINSTALL JobClassification = 4011

JobClassification: Software uninstall

const JOB_CLASSIFICATION_UNKNOWN JobClassification = 4000

JobClassification

const JOB_CLASSIFICATION_UNLOCK JobClassification = 4004

JobClassification: Another process needed exclusive Vault access (e.g. for retention) but the process died. This task cleans up exclusive lockfiles.

const JOB_CLASSIFICATION_UPDATE JobClassification = 4007

JobClassification: Software update

const JOB_CLASSIFICATION__MAX JobClassification = 4999

JobClassification

const JOB_CLASSIFICATION__MIN JobClassification = 4000

JobClassification: All BackupJobDetail.Classification fields will fall in the 4xxx range.

type JobEntry

type JobEntry struct {
	// Unix timestamp in seconds
	Time int64
	// One of the SEVERITY_ constants.
	Severity Severity
	Message  string
}

JobEntry is a single entry within a job report.

type JobStatus

type JobStatus uint64
const JOB_STATUS_FAILED_ABANDONED JobStatus = 7007

JobStatus: The job has stopped unexpectedly or has been manually marked as abandoned by an admin.

const JOB_STATUS_FAILED_CANCELLED JobStatus = 7005

JobStatus: The job was cancelled manually, a device shutdown was detected, or the backup time limit was reached.

const JOB_STATUS_FAILED_ERROR JobStatus = 7002

JobStatus: There was an error during the job and it did not fully complete.

const JOB_STATUS_FAILED_QUOTA JobStatus = 7003

JobStatus: During a backup job either the "All protected items" quota or "Storage Vault" quota was exceeded.

const JOB_STATUS_FAILED_SCHEDULEMISSED JobStatus = 7004

JobStatus: The job did not start at its scheduled time.

const JOB_STATUS_FAILED_SKIPALREADYRUNNING JobStatus = 7006

JobStatus: The backup job was skipped as there was already a backup running and the "Skip if already running" option was enabled.

const JOB_STATUS_FAILED_TIMEOUT JobStatus = 7000

JobStatus

const JOB_STATUS_FAILED_WARNING JobStatus = 7001

JobStatus: The job is complete but there was a problem that may have resulted in issues with the expected result.

const JOB_STATUS_FAILED__MAX JobStatus = 7999

JobStatus

const JOB_STATUS_FAILED__MIN JobStatus = 7000

JobStatus: If the BackupJobDetail.Status field is a 7xxx code, the job has stopped for an unsuccessful reason.

const JOB_STATUS_RUNNING_ACTIVE JobStatus = 6001

JobStatus: The last information the server received from the device is that the job is currently running.

const JOB_STATUS_RUNNING_INDETERMINATE JobStatus = 6000

JobStatus: Unused

const JOB_STATUS_RUNNING_REVIVED JobStatus = 6002

JobStatus: The job was thought to have been in an Abandoned state but updated the Comet Server with a running status.

const JOB_STATUS_RUNNING__MAX JobStatus = 6999

JobStatus

const JOB_STATUS_RUNNING__MIN JobStatus = 6000

JobStatus: If the BackupJobDetail.Status field is a 6xxx code, the job is still running.

const JOB_STATUS_STOP_SUCCESS JobStatus = 5000

JobStatus: The job is complete and was successful.

const JOB_STATUS_STOP_SUCCESS__MAX JobStatus = 5999

JobStatus

const JOB_STATUS_STOP_SUCCESS__MIN JobStatus = 5000

JobStatus: If the BackupJobDetail.Status field is a 5xxx code, the job has stopped for a successful reason.

type LDAPSecurityMethod

type LDAPSecurityMethod string
const LDAPSECURITYMETHOD_LDAPS LDAPSecurityMethod = "ldaps"

LDAPSecurityMethod

const LDAPSECURITYMETHOD_PLAIN LDAPSecurityMethod = "plain"

LDAPSecurityMethod

const LDAPSECURITYMETHOD_STARTTLS LDAPSecurityMethod = "starttls"

LDAPSecurityMethod

type LanguageCode

type LanguageCode string
const DEFAULT_LANGUAGE LanguageCode = "en_US"

LanguageCode

type LicenseOptions

type LicenseOptions struct {
	Email        string `json:",omitempty"`
	SerialNumber string
}

type LiveUserConnection

type LiveUserConnection struct {
	Username string
	DeviceID string
	// The Comet Backup software version that this live-connected device reports that it is running. It
	// takes the format "MAJOR.MINOR.PATCH", such as "23.2.0". See the APPLICATION_VERSION constant for
	// more information.
	ReportedVersion string
	// The operating system of the device. It is one of the PLATFORM_ constants; then a forwardslash
	// (/); then the device's GOARCH.
	ReportedPlatform string
	// The operating system of the device, in extended detail.
	ReportedPlatformVersion OSInfo `json:",omitempty"`
	// The reported timezone of the device, in IANA format.
	DeviceTimeZone string `json:",omitempty"`
	// The live-connected device's remote IP address, as seen from the Comet Server.
	IPAddress string `json:",omitempty"`
	// Unix timestamp, in seconds.
	ConnectionTime int64
	// The current state of the "Allow administrator to view my files" client-side option. If this
	// option is refused, some live-connected actions will be refused by the device.
	AllowsFilenames bool
}

type LiveUserConnectionID

type LiveUserConnectionID string

type LiveUserConnectionMap

type LiveUserConnectionMap map[LiveUserConnectionID]LiveUserConnection

type LocalDestinationLocation

type LocalDestinationLocation struct {
	LocalcopyPath string
	// If logging in to a Windows network share (SMB/CIFS) is required, enter the username here.
	LocalcopyWinSMBUsername string
	// If logging in to a Windows network share (SMB/CIFS) is required, enter the password here. The
	// password may be hashed as per the LocalcopyWinSMBPasswordFormat field.
	LocalcopyWinSMBPassword string
	// One of the PASSWORD_FORMAT_ constants. It controls the hash format of the
	// LocalcopyWinSMBPassword field.
	LocalcopyWinSMBPasswordFormat uint64
}

type LocalStorageDirectory

type LocalStorageDirectory struct {
	Path string
}

type LogDay

type LogDay int

type MSSQLAuthMode

type MSSQLAuthMode string
const MSSQL_AUTH_NATIVE MSSQLAuthMode = "native"

MSSQLAuthMode

const MSSQL_AUTH_WINDOWS MSSQLAuthMode = "windows"

MSSQLAuthMode

type MSSQLConnection

type MSSQLConnection struct {
	// One of the MSSQL_AUTH_ constants (e.g. "windows" or "native")
	Type     string
	Username string
	Password string
	// Deprecated: This member has been deprecated since Comet version Unused
	Hostname     string
	InstanceName string
	// One of the MSSQL_METHOD_ constants, to control using x86_32 or x86_64 OLEDB drivers
	Method string
}

type MSSQLLoginArgs added in v1.1.0

type MSSQLLoginArgs struct {
	Instance           string
	AuthMode           MSSQLAuthMode
	Username           string
	Password           string
	MethodIsOledb32Bit bool
	// If this MSSQLLoginArgs structure is used for a restore job (RestoreJobAdvancedOptions) using
	// RESTORETYPE_MSSQL, then, this field controls the RECOVERY / NO RECOVERY option state.
	RestoreNoRecovery bool
}

type MSSQLMethod

type MSSQLMethod string
const MSSQL_METHOD_OLEDB_32 MSSQLMethod = "OLEDB_32"

MSSQLMethod: On Windows x86_64, use an x86_32 OLEDB driver.

const MSSQL_METHOD_OLEDB_NATIVE MSSQLMethod = "OLEDB_NATIVE"

MSSQLMethod: On Windows x86_64, use the native x86_64 driver.

type MSSQLRestoreOpt added in v1.1.0

type MSSQLRestoreOpt string
const MSSQL_RESTORE_NORECOVERY MSSQLRestoreOpt = "NO_RECOVERY"

MSSQLRestoreOpt

const MSSQL_RESTORE_RECOVERY MSSQLRestoreOpt = "RECOVERY"

MSSQLRestoreOpt

type MacOSCodeSignProperties

type MacOSCodeSignProperties struct {
	// One of the MACOSCODESIGN_LEVEL_ constants
	Level       MacOSCodesignLevel
	SignLocally bool
	SSHServer   SSHConnection
	// "Developer ID Installer" certificate, either a local filepath or a resource:// URI. Used for
	// signing the final flat *.pkg.
	CertificateName string
	// "Developer ID Application" certificate, either a local filepath or a resource:// URI. Used for
	// signing internal binaries if Notary is enabled
	AppCertificateName string
	AppleID            string
	AppleIDPass        string
	// One of the ENCRYPTIONMETHOD_ constants
	AppleIDPassFormat  uint64
	CertificateFile    string
	AppCertificateFile string
	PfxFilePassword    string
	// One of the ENCRYPTIONMETHOD_ constants
	PfxFilePasswordFormat uint64
	NotaryAPIIssuerID     string
	NotaryAPIKeyID        string
	NotaryAPIKeyFile      string
}

type MacOSCodesignLevel

type MacOSCodesignLevel int
const MACOSCODESIGN_LEVEL_SIGN MacOSCodesignLevel = 0

MacOSCodesignLevel: Sign only

const MACOSCODESIGN_LEVEL_SIGN_NOTARISE MacOSCodesignLevel = 1

MacOSCodesignLevel: Sign and notarize

const MACOSCODESIGN_LEVEL_SIGN_NOTARISE_STAPLE MacOSCodesignLevel = 2

MacOSCodesignLevel: Sign, notarize, and staple

type MongoDBConnection

type MongoDBConnection struct {
	Server           string
	Port             int
	Username         string
	Password         string
	AuthenticationDB string
	// Prior to Comet 22.12.3, must be a filesystem path to `mongo` (n.b. not `mongosh`). In Comet >=
	// 22.12.3, not used.
	// Deprecated: This member has been deprecated since Comet version 22.12.3
	MongoShellPath          string
	MongodumpPath           string
	ReadPreference          string
	UseReplica              bool
	ReplicaName             string
	ReplicaMembers          []string
	UseSSL                  bool
	ClientSSLPEMPath        string
	ServerSSLPEMPath        string
	SSLClientKeyPassword    string
	AllowInvalidCertificate bool
	AllowInvalidHostname    bool
	UseSSH                  bool
	SSHConnection           SSHConnection `json:",omitempty"`
}

type MySQLConnection

type MySQLConnection struct {
	Host string
	Port string
	// Optional
	Username string
	// Optional
	Password               string
	UseTLS                 bool
	TLSSkipVerify          bool
	TLSCustomServerCAPath  string
	TLSCustomClientCrtPath string
	TLSCustomClientKeyPath string
}

type NewBucketDetail

type NewBucketDetail struct {
	NewBucketID  string
	NewBucketKey string
}

type NewsEntries

type NewsEntries map[string]NewsEntry

type NewsEntry

type NewsEntry struct {
	OrganizationID string
	// Unix timestamp, in seconds.
	DateTime    int64
	TextContent string
}

type OSInfo

type OSInfo struct {
	// The primary version number (e.g. on Windows: 1703 / 2009, on Linux: 20.04 / 22.04)
	Version string `json:"version,omitempty"`
	// The primary presentation name (e.g. "Windows 10 Pro", "debian", "Synology DSM")
	Distribution string `json:"distribution,omitempty"`
	// The detailed build number (e.g. 19043)
	Build string `json:"build,omitempty"`
	// The GOOS value
	// This field is available in Comet 23.6.0 and later.
	OS string `json:"os,omitempty"`
	// The GOARCH value
	// This field is available in Comet 23.6.0 and later.
	Arch string `json:"arch,omitempty"`
}

OSInfo represents the common set of version information between all operating systems

type ObjectLockStorageTemplateSettings added in v1.24.0

type ObjectLockStorageTemplateSettings struct {
	// Deprecated: This member has been deprecated since Comet version 23.x.x
	UseObjectLock_Legacy_DoNotUse bool `json:"UseObjectLock"`
	// Control whether the resulting Storage Vaults are configured for Object Lock. One of the
	// OBJECT_LOCK_ constants
	ObjectLockMode uint8
	ObjectLockDays int
	// Control whether the "Allow removal of deleted files" checkbox is enabled for Storage Vaults
	// generated from this Storage Template.
	// When configuring a Storage Template from the Comet Server web interface, this field is set
	// automatically for Storage Templates using Object Lock.
	RemoveDeleted bool
}

type Office365Connection

type Office365Connection struct {
	FeatureFlag          string
	Credential           Office365Credential
	CustomSetting        Office365CustomSetting
	MailboxUniqueMembers []string
	SiteUniqueMembers    []string
	CustomSettingV2      Office365CustomSettingV2
}

type Office365Credential

type Office365Credential struct {
	AppID    string
	TenantID string
	Secret   string
	AppCert  string
	Region   string
}

type Office365CustomSetting

type Office365CustomSetting struct {
	MailboxStrategy string
	SiteStrategy    string
	MailboxUserIDs  []string
	MailboxGroupIDs []string
	SiteIDs         []string
}

Office365CustomSetting is used in the EngineProps for an Office 365 Protected Item (see ENGINE_BUILTIN_MSOFFICE). If present, it will be automatically converted to the replacement Office365CustomSettingV2 type. Deprecated: This struct has been deprecated since Comet version 21.9.xx

type Office365CustomSettingV2

type Office365CustomSettingV2 struct {
	// If true, then backup the entire Office 365 Tenant except the selected members. If false, backup
	// the selected members only.
	Organization bool
	// Key can be the ID of user, group or SharePoint
	// Value is a bitset of the SERVICE_ constants, to select which services to back up for this
	// member.
	BackupOptions map[string]uint `json:",omitempty"`
	// Key must be a group ID
	// Value is a bitset of the SERVICE_ constants, to select which services to back up for this
	// member.
	MemberBackupOptions map[string]uint `json:",omitempty"`
}

Office365CustomSettingV2 is used in the EngineProps for an Office 365 Protected Item (see ENGINE_BUILTIN_MSOFFICE). This struct is available in Comet 21.9.xx and later.

type Office365MixedVirtualAccount

type Office365MixedVirtualAccount struct {
	ID                   string   `json:"id"`
	Type                 uint     `json:",omitempty"`
	DisplayName          string   `json:",omitempty"`
	Mail                 string   `json:",omitempty"`
	JobTitle             string   `json:",omitempty"`
	SiteID               string   `json:",omitempty"`
	WebID                string   `json:",omitempty"`
	WebURL               string   `json:",omitempty"`
	UserPrincipalName    string   `json:",omitempty"`
	EnabledServiceOption uint     `json:",omitempty"`
	Members              []string `json:",omitempty"`
	ServiceOptions       uint     `json:",omitempty"`
	MemberServiceOptions uint     `json:",omitempty"`
	HasLicense           bool     `json:"hasLicense,omitempty"`
}

type Office365ObjectInfo

type Office365ObjectInfo struct {
	GUID string
	Name string
	Type string
	// May be an email address or a SharePoint site URL
	Value   string
	Members []string
}

type OidcClaim added in v1.9.0

type OidcClaim struct {
	Name  string
	Value string `json:",omitempty"`
}

type OidcConfig added in v1.9.0

type OidcConfig struct {
	DisplayName                    string
	Hosts                          []string `json:",omitempty"`
	OrganizationID                 string   `json:",omitempty"`
	Provider                       OidcProvider
	ClientID                       string
	ClientSecret                   string
	SkipMFA                        bool
	Scopes                         []string    `json:",omitempty"`
	RequiredClaims                 []OidcClaim `json:",omitempty"`
	GenericOP_DiscoveryDocumentURL string      `json:"DiscoveryDocumentURL,omitempty"`
	AzureADV2OP_TenantID           string      `json:"AzureTenantID,omitempty"`
	GoogleOP_HostedDomain          string      `json:"GoogleHostedDomain,omitempty"`
}

type OidcProvider added in v1.9.0

type OidcProvider string
const PROVIDER_AZUREADV2 OidcProvider = "azure-ad-v2"

OidcProvider

const PROVIDER_DASHBOARD OidcProvider = "dashboard"

OidcProvider

const PROVIDER_GENERIC OidcProvider = "oidc"

OidcProvider

const PROVIDER_GOOGLE OidcProvider = "google"

OidcProvider

type Organization

type Organization struct {
	AuditFileOptions    map[string]FileOption
	Branding            BrandingOptions
	ConstellationRole   ConstellationRoleOptions
	Email               EmailOptions
	ExperimentalOptions []string `json:",omitempty"`
	Hosts               []string
	Name                string
	IsSuspended         bool
	PSAConfigs          []PSAConfig
	RemoteStorage       []RemoteStorageOption
	SoftwareBuildRole   SoftwareBuildRoleOptions
	WebhookOptions      map[string]WebhookOption
}

type OrganizationLoginURLResponse added in v1.1.0

type OrganizationLoginURLResponse struct {
	LoginURL string
}

type OrganizationResponse

type OrganizationResponse struct {
	Status       int
	Message      string
	ID           string
	Organization Organization
}

type PSAConfig added in v1.1.0

type PSAConfig struct {
	// For PSA_TYPE_GRADIENT. Defaults to enabled
	AlertsDisabled bool
	// Custom headers to send with each PSA request
	CustomHeaders map[string]string `json:",omitempty"`
	// Specified API key for the target PSA
	PartnerKey string `json:",omitempty"`
	// One of the PSA_TYPE_ constants
	Type PSAType
	// The URL or subdomain for outbound PSA requests
	URL       string
	GroupedBy PSAGroupedBy
}

type PSAGroupedBy added in v1.12.0

type PSAGroupedBy struct {
	Users       bool
	Tenants     bool
	AccountName bool
}

type PSAType added in v1.1.0

type PSAType int
const PSA_TYPE_GENERIC PSAType = 0

PSAType

const PSA_TYPE_GRADIENT PSAType = 1

PSAType

const PSA_TYPE_SYNCRO PSAType = 2

PSAType

type Partition

type Partition struct {
	DeviceName string
	// The name of the filesystem used on this partition (e.g. "NTFS")
	Filesystem   string
	VolumeName   string
	VolumeGuid   string
	VolumeSerial string
	MountPoints  []string
	// Bytes. The partition's offset within the DeviceName. It will be zero if this partition has a
	// direct DeviceName handle.
	ReadOffset int64
	// Bytes
	Size int64
	// Bytes. Only present for supported filesystems that are currently mounted by the OS
	UsedSize                  int64
	Flags                     int64
	BytesPerFilesystemCluster int64
}

type PrivateBrandingProperties

type PrivateBrandingProperties struct {
	// One of the CLIENTBRANDINGBUILD_ constants
	BuildMode           ClientBrandingBuildMode
	PathIcoFile         string
	PathIcnsFile        string
	PathMenuBarIcnsFile string
	PathEulaRtf         string
	PathTilePng         string
	PathHeaderImage     string
	PathAppIconImage    string
	PackageIdentifier   string
	// One of the WINDOWSCODESIGN_METHOD_ constants
	WindowsCodeSignMethod         WindowsCodesignMethod
	WindowsCodeSignPKCS12FilePath string
	// One of the ENCRYPTIONMETHOD_ constants
	WindowsCodeSignPKCS12PasswordFormat uint64
	WindowsCodeSignPKCS12Password       string
	WindowsCodeSignPKCS11Engine         string
	WindowsCodeSignPKCS11Module         string
	// This field was deprecated between 23.3.0 and 23.6.x, but is now used again.
	WindowsCodeSignPKCS11Certfile string
	WindowsCodeSignPKCS11KeyID    string
	// One of the ENCRYPTIONMETHOD_ constants
	WindowsCodeSignPKCS11PasswordFormat uint64
	WindowsCodeSignPKCS11Password       string
	WindowsCodeSignAzureVaultName       string
	WindowsCodeSignAzureCertName        string
	WindowsCodeSignAzureAppID           string
	// One of the ENCRYPTIONMETHOD_ constants
	WindowsCodeSignAzureAppSecretFormat uint64
	WindowsCodeSignAzureAppSecret       string
	WindowsCodeSignAzureTenantID        string
	MacOSCodeSign                       MacOSCodeSignProperties
}

type ProtectedItemEngineTypePolicy

type ProtectedItemEngineTypePolicy struct {
	ShouldRestrictEngineTypeList    bool
	AllowedEngineTypeWhenRestricted []string
}

type PublicBrandingProperties

type PublicBrandingProperties struct {
	ProductName           string
	CompanyName           string
	HelpURL               string
	HelpIsPopup           bool
	DefaultLoginServerURL string
	TileBackgroundColor   string
	AccountRegisterURL    string
}

type RatelimitOptions

type RatelimitOptions struct {
	Rules []RatelimitRule `json:",omitempty"`
}

type RatelimitRule

type RatelimitRule struct {
	MatchRegex     string
	BytesPerSecond uint64
}

type RegisterOfficeApplicationBeginResponse

type RegisterOfficeApplicationBeginResponse struct {
	Continuation    string
	VerificationURL string
	UserCode        string
}

type RegisterOfficeApplicationCheckResponse

type RegisterOfficeApplicationCheckResponse struct {
	Continuation string
	Completed    bool
	Error        string
	Result       Office365Credential `json:",omitempty"`
}

type RegistrationLobbyConnection added in v1.12.0

type RegistrationLobbyConnection struct {
	DeviceID                string
	OrganizationID          string
	FriendlyName            string
	ReportedVersion         string
	ReportedPlatform        string
	ReportedPlatformVersion OSInfo `json:",omitempty"`
	DeviceTimeZone          string `json:",omitempty"`
	IPAddress               string `json:",omitempty"`
	ConnectionTime          int64
}

type RegistrationLobbyConnectionID added in v1.12.0

type RegistrationLobbyConnectionID string

type RegistrationLobbyConnectionMap added in v1.12.0

type RegistrationLobbyConnectionMap map[RegistrationLobbyConnectionID]RegistrationLobbyConnection

type RemoteServerAddress

type RemoteServerAddress struct {
	Type        RemoteServerType
	Description string
	// For use with Comet Server (Storage Role / Auth Role)
	RemoteAddress string `json:",omitempty"`
	// For use with Comet Server (Storage Role / Auth Role)
	Username string `json:",omitempty"`
	// For use with Comet Server (Storage Role / Auth Role)
	Password string                                   `json:",omitempty"`
	LDAP     ExternalLDAPAuthenticationSourceSettings `json:",omitempty"`
	OIDC     OidcConfig                               `json:",omitempty"`
	// Backblaze B2 (Storage Template / Constellation)
	B2 B2VirtualStorageRoleSettings `json:",omitempty"`
	// Wasabi, or Comet Storage powered by Wasabi (Storage Template / Constellation)
	Wasabi WasabiVirtualStorageRoleSettings `json:",omitempty"`
	// Custom Remote Bucket HTTP protocol (Storage Template)
	Custom CustomRemoteBucketSettings `json:",omitempty"`
	// IDrive e2, or Custom IAM-compatible (Storage Template / Constellation)
	S3 S3GenericVirtualStorageRole `json:",omitempty"`
	// Amazon AWS (Storage Template / Constellation)
	AWS AmazonAWSVirtualStorageRoleSettings `json:",omitempty"`
	// Storj (Storage Template / Constellation)
	Storj StorjVirtualStorageRoleSetting `json:",omitempty"`
	// Impossible Cloud Partner API (Storage Template / Constellation)
	ImpPartner ImpossibleCloudPartnerTemplateSettings `json:",omitempty"`
	// Impossible Cloud IAM API (Storage Template / Constellation)
	ImpUser ImpossibleCloudIAMTemplateSettings `json:",omitempty"`
}

type RemoteServerType

type RemoteServerType string
const REMOTESERVER_AWS RemoteServerType = "aws"

RemoteServerType: Amazon Web Services

const REMOTESERVER_B2 RemoteServerType = "b2"

RemoteServerType: Backblaze B2

const REMOTESERVER_COMET RemoteServerType = "comet"

RemoteServerType: Comet Server

const REMOTESERVER_COMET_STORAGE RemoteServerType = "cometstorage"

RemoteServerType: Comet Storage powered by Wasabi

const REMOTESERVER_CUSTOM RemoteServerType = "custom"

RemoteServerType: Custom Remote Bucket HTTP protocol

const REMOTESERVER_IDRIVEE2 RemoteServerType = "idrivee2"

RemoteServerType: IDrive e2

const REMOTESERVER_IMPOSSIBLECLOUD_IAM RemoteServerType = "impossiblecloud-iam"

RemoteServerType: Impossible Cloud

const REMOTESERVER_IMPOSSIBLECLOUD_PARTNER RemoteServerType = "impossiblecloud-partner"

RemoteServerType: Impossible Cloud (Partner API)

const REMOTESERVER_LDAP RemoteServerType = "ldap"

RemoteServerType: LDAP (Lightweight Directory Access Protocol)

const REMOTESERVER_OIDC RemoteServerType = "oidc"

RemoteServerType: OpenID Connect

const REMOTESERVER_S3_GENERIC RemoteServerType = "s3"

RemoteServerType: Custom IAM-Compatible

const REMOTESERVER_STORJ RemoteServerType = "storj"

RemoteServerType: Storj DCS

const REMOTESERVER_WASABI RemoteServerType = "wasabi"

RemoteServerType: Wasabi Cloud Storage

type RemoteStorageOption

type RemoteStorageOption struct {
	Type        RemoteServerType
	Description string
	// For use with Comet Server (Storage Role / Auth Role)
	RemoteAddress string `json:",omitempty"`
	// For use with Comet Server (Storage Role / Auth Role)
	Username string `json:",omitempty"`
	// For use with Comet Server (Storage Role / Auth Role)
	Password string                                   `json:",omitempty"`
	LDAP     ExternalLDAPAuthenticationSourceSettings `json:",omitempty"`
	OIDC     OidcConfig                               `json:",omitempty"`
	// Backblaze B2 (Storage Template / Constellation)
	B2 B2VirtualStorageRoleSettings `json:",omitempty"`
	// Wasabi, or Comet Storage powered by Wasabi (Storage Template / Constellation)
	Wasabi WasabiVirtualStorageRoleSettings `json:",omitempty"`
	// Custom Remote Bucket HTTP protocol (Storage Template)
	Custom CustomRemoteBucketSettings `json:",omitempty"`
	// IDrive e2, or Custom IAM-compatible (Storage Template / Constellation)
	S3 S3GenericVirtualStorageRole `json:",omitempty"`
	// Amazon AWS (Storage Template / Constellation)
	AWS AmazonAWSVirtualStorageRoleSettings `json:",omitempty"`
	// Storj (Storage Template / Constellation)
	Storj StorjVirtualStorageRoleSetting `json:",omitempty"`
	// Impossible Cloud Partner API (Storage Template / Constellation)
	ImpPartner ImpossibleCloudPartnerTemplateSettings `json:",omitempty"`
	// Impossible Cloud IAM API (Storage Template / Constellation)
	ImpUser             ImpossibleCloudIAMTemplateSettings `json:",omitempty"`
	StorageLimitEnabled bool
	StorageLimitBytes   int64
	RebrandStorage      bool
}

type ReplicaDeletionStrategy

type ReplicaDeletionStrategy string

type ReplicaServer

type ReplicaServer struct {
	Type        RemoteServerType
	Description string
	// For use with Comet Server (Storage Role / Auth Role)
	RemoteAddress string `json:",omitempty"`
	// For use with Comet Server (Storage Role / Auth Role)
	Username string `json:",omitempty"`
	// For use with Comet Server (Storage Role / Auth Role)
	Password string                                   `json:",omitempty"`
	LDAP     ExternalLDAPAuthenticationSourceSettings `json:",omitempty"`
	OIDC     OidcConfig                               `json:",omitempty"`
	// Backblaze B2 (Storage Template / Constellation)
	B2 B2VirtualStorageRoleSettings `json:",omitempty"`
	// Wasabi, or Comet Storage powered by Wasabi (Storage Template / Constellation)
	Wasabi WasabiVirtualStorageRoleSettings `json:",omitempty"`
	// Custom Remote Bucket HTTP protocol (Storage Template)
	Custom CustomRemoteBucketSettings `json:",omitempty"`
	// IDrive e2, or Custom IAM-compatible (Storage Template / Constellation)
	S3 S3GenericVirtualStorageRole `json:",omitempty"`
	// Amazon AWS (Storage Template / Constellation)
	AWS AmazonAWSVirtualStorageRoleSettings `json:",omitempty"`
	// Storj (Storage Template / Constellation)
	Storj StorjVirtualStorageRoleSetting `json:",omitempty"`
	// Impossible Cloud Partner API (Storage Template / Constellation)
	ImpPartner ImpossibleCloudPartnerTemplateSettings `json:",omitempty"`
	// Impossible Cloud IAM API (Storage Template / Constellation)
	ImpUser                 ImpossibleCloudIAMTemplateSettings `json:",omitempty"`
	ReplicaDeletionStrategy ReplicaDeletionStrategy            `json:",omitempty"`
}

type ReplicatorDisplayClass

type ReplicatorDisplayClass int
const REPLICATOR_DISPLAYCLASS_STORAGE ReplicatorDisplayClass = 100

ReplicatorDisplayClass

const REPLICATOR_DISPLAYCLASS_USER ReplicatorDisplayClass = 101

ReplicatorDisplayClass

type ReplicatorState

type ReplicatorState int
const REPLICATOR_STATE_FILE_LIST_SYNC_FINISHED ReplicatorState = 4

ReplicatorState

const REPLICATOR_STATE_FILE_LIST_SYNC_RUNNING ReplicatorState = 2

ReplicatorState

const REPLICATOR_STATE_FILE_LIST_WORKER_STARTED ReplicatorState = 1

ReplicatorState

const REPLICATOR_STATE_NONE ReplicatorState = 0

ReplicatorState

const REPLICATOR_STATE_WORKERS_STARTED ReplicatorState = 8

ReplicatorState

type ReplicatorStateAPIResponse

type ReplicatorStateAPIResponse struct {
	Description          string
	RemoteServerID       string
	DisplayClass         ReplicatorDisplayClass
	ActiveWorkers        int32
	TotalWorkers         int
	State                ReplicatorState
	ItemsQueued          int
	BytesQueued          int64
	LastWorkerSubmitTime int64
	CurrentTime          int64
	ItemsReplicated      int64
	BytesReplicated      int64
}

type RequestStorageVaultResponseMessage

type RequestStorageVaultResponseMessage struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status        int
	Message       string
	DestinationID string
}

type RestoreArchiveFormat

type RestoreArchiveFormat int
const RESTOREARCHIVEFORMAT_SQFS RestoreArchiveFormat = 3

RestoreArchiveFormat: SquashFS container

const RESTOREARCHIVEFORMAT_TAR RestoreArchiveFormat = 0

RestoreArchiveFormat: Tar file format

const RESTOREARCHIVEFORMAT_TARGZ RestoreArchiveFormat = 1

RestoreArchiveFormat: Compressed Tar.gz (.tgz) file format

const RESTOREARCHIVEFORMAT_TARZSTD RestoreArchiveFormat = 4

RestoreArchiveFormat: Compressed Tar.zstd (.tzst) file format

const RESTOREARCHIVEFORMAT_ZIP RestoreArchiveFormat = 2

RestoreArchiveFormat: Zip file format

type RestoreJobAdvancedOptions

type RestoreJobAdvancedOptions struct {
	// One of the RESTORETYPE_ constants
	Type RestoreType
	// For RESTORETYPE_FILE
	OverwriteExistingFiles bool
	// For RESTORETYPE_FILE. If set, OverwriteExistingFiles must be true
	OverwriteIfNewer bool
	// For RESTORETYPE_FILE. If set, OverwriteExistingFiles must be true
	OverwriteIfDifferentContent bool
	// For RESTORETYPE_FILE. If set, DestPath must be blank
	DestIsOriginalLocation bool
	// For RESTORETYPE_FILE or RESTORETYPE_PROCESS_xxx
	DestPath string
	// For RESTORETYPE_WINDISK only. Must have one entry for each selected restore path
	ExactDestPaths []string
	// For RESTORETYPE_FILE_ARCHIVE or RESTORETYPE_PROCESS_ARCHIVE. Default 0 is *.tar, for backward
	// compatibility
	ArchiveFormat RestoreArchiveFormat
	// Default disabled. For RESTORETYPE_FILE and RESTORETYPE_WINDISK. Used to continue the restore job
	// when unreadable data chunks are found.
	// Corresponds to the "Allow partial file restores (zero-out unrecoverable data)" option
	// This field is available in Comet 23.6.4 and later.
	SkipUnreadableChunks bool
	// Default disabled. Used to store the index files on disk instead of in memory.
	// Corresponds to the "Prefer temporary files instead of RAM (slower)" option
	// This field is available in Comet 23.6.4 and later.
	OnDiskIndexesKey bool
	// For RESTORETYPE_OFFICE365_CLOUD.
	Office365Credential RestoreOffice365Credential `json:",omitempty"`
	// For RESTORETYPE_MYSQL
	Username string
	// For RESTORETYPE_MYSQL
	Password string
	// For RESTORETYPE_MYSQL
	Host string
	// For RESTORETYPE_MYSQL
	Port string
	// For RESTORETYPE_MYSQL
	UseSsl bool
	// For RESTORETYPE_MYSQL i.e.: Self signed certs
	SslAllowInvalid bool
	// For RESTORETYPE_MYSQL
	SslCaFile string
	// For RESTORETYPE_MYSQL
	SslCrtFile string
	// For RESTORETYPE_MYSQL
	SslKeyFile string
	// For RESTORETYPE_MSSQL.
	MsSqlConnection MSSQLLoginArgs `json:",omitempty"`
}

type RestoreOffice365Credential

type RestoreOffice365Credential Office365Credential

type RestoreType

type RestoreType int
const RESTORETYPE_FILE RestoreType = 0

RestoreType: Restore as files and folders

const RESTORETYPE_FILE_ARCHIVE RestoreType = 5

RestoreType: Restore selected files and folders as a single compressed archive

const RESTORETYPE_INVALID RestoreType = -1

RestoreType

const RESTORETYPE_MSSQL RestoreType = 11

RestoreType: Stream restore as T-SQL BACKUP output into a target Microsoft SQL Server

const RESTORETYPE_MYSQL RestoreType = 10

RestoreType: Stream restore as SQL statements into a target MySQL server

const RESTORETYPE_NULL RestoreType = 1

RestoreType: Download and reconstruct files, but do not save them (for test purposes)

const RESTORETYPE_OFFICE365_CLOUD RestoreType = 6

RestoreType: Restore selected Office 365 emails, contacts, calendars, and SharePoint/OneDrive data directly to the Office 365 cloud service

const RESTORETYPE_PROCESS_ARCHIVE RestoreType = 3

RestoreType: Stream an archive of each restored file into the target command stdin. The target command will be executed only once.

const RESTORETYPE_PROCESS_PERFILE RestoreType = 2

RestoreType: Stream each restored file into the target command stdin. The target command may be executed multiple times, once for each restored file.

const RESTORETYPE_PROCESS_TARBALL RestoreType = 3

RestoreType: Legacy name alias - Prefer to use RESTORETYPE_PROCESS_ARCHIVE since multiple archive file formats are supported within this single RESTORETYPE_

const RESTORETYPE_VMDK_FILE RestoreType = 7

RestoreType: Granular restore of single files from within a Disk Image or Hyper-V backup

const RESTORETYPE_VMDK_FILE_ARCHIVE RestoreType = 9

RestoreType: Granular restore of single files from within a Disk Image or Hyper-V backup, creating an archive file of all selected files

const RESTORETYPE_VMDK_FILE_NULL RestoreType = 8

RestoreType: Granular restore of single files from within a Disk Image or Hyper-V backup, downloading and reconstructing files, but without saving them (for test purposes)

const RESTORETYPE_WINDISK RestoreType = 4

RestoreType: Restore partitions back to the physical disk

const RESTORETYPE_WINDISK_ESXI RestoreType = 12

RestoreType: Restore disk image backup as VMware-compatible virtual disks

type RetentionMode

type RetentionMode int64
const RETENTIONMODE_DELETE_EXCEPT RetentionMode = 802

RetentionMode: Delete everything except for jobs matching the ranges in RetentionPolicy.Ranges.

const RETENTIONMODE_KEEP_EVERYTHING RetentionMode = 801

RetentionMode: If this mode is set in a RetentionPolicy, then RetentionPolicy.Ranges should be ignored.

type RetentionPolicy

type RetentionPolicy struct {
	// One of the RETENTIONMODE_ constants
	Mode   RetentionMode
	Ranges []RetentionRange
}

type RetentionRange

type RetentionRange struct {
	// One of the RETENTIONRANGE_ constants
	Type RetentionRangeType
	// Unix timestamp, in seconds. Used by RETENTIONRANGE_NEWER_THAN_X.
	Timestamp int64
	Jobs      int64
	Days      int64
	Weeks     int64
	Months    int64
	// 0: Sunday, 6: Saturday
	WeekOffset int64
	// 1: 1st, 31: 31st
	// Prior to Comet version 23.6.2, 31 was treated as 30.
	// For months that do not have a day equal to the specified offset, no backup will be retained.
	// For example, if the offset is set to 30, no backup will be kept for February.
	MonthOffset int64
}

The Type field controls which fields of this data type are used. For additional information, see the notes on the RETENTIONRANGE_ constants.

type RetentionRangeType

type RetentionRangeType int64
const RETENTIONRANGE_FIRST_JOB_FOR_EACH_LAST_X_DAYS RetentionRangeType = 903

RetentionRangeType: Uses Days

const RETENTIONRANGE_FIRST_JOB_FOR_LAST_X_MONTHS RetentionRangeType = 905

RetentionRangeType: Uses Months, MonthOffset

const RETENTIONRANGE_FIRST_JOB_FOR_LAST_X_WEEKS RetentionRangeType = 906

RetentionRangeType: Uses Weeks, WeekOffset

const RETENTIONRANGE_JOBS_SINCE RetentionRangeType = 902

RetentionRangeType: Uses Days, Weeks, Months

const RETENTIONRANGE_LAST_X_BACKUPS_ONE_FOR_EACH_DAY RetentionRangeType = 907

RetentionRangeType: Uses Jobs

const RETENTIONRANGE_LAST_X_BACKUPS_ONE_FOR_EACH_MONTH RetentionRangeType = 909

RetentionRangeType: Uses Jobs

const RETENTIONRANGE_LAST_X_BACKUPS_ONE_FOR_EACH_WEEK RetentionRangeType = 908

RetentionRangeType: Uses Jobs

const RETENTIONRANGE_MOST_RECENT_X_JOBS RetentionRangeType = 900

RetentionRangeType: Uses Jobs

const RETENTIONRANGE_NEWER_THAN_X RetentionRangeType = 901

RetentionRangeType: Uses Timestamp

const RETENTIONRANGE__HIGHEST RetentionRangeType = 909

RetentionRangeType

const RETENTIONRANGE__LOWEST RetentionRangeType = 900

RetentionRangeType

const RETENTIONRANGE__RESERVED904 RetentionRangeType = 904

RetentionRangeType Deprecated: This const has been deprecated since Comet version 17.2.0

type S3DestinationLocation

type S3DestinationLocation struct {
	S3Server       string
	S3UsesTLS      bool
	S3AccessKey    string
	S3SecretKey    string
	S3BucketName   string
	S3Subdir       string
	S3CustomRegion string
	// If true, use legacy v2 signing. If false (default), use modern v4 signing
	S3UsesV2Signing  bool
	S3RemoveDeleted  bool
	S3ObjectLockMode uint8
	S3ObjectLockDays int
}

type S3GenericVirtualStorageRole

type S3GenericVirtualStorageRole struct {
	// The URL for S3 API calls (e.g. "s3.amazonaws.com")
	S3Endpoint string
	// The URL for IAM API calls (e.g. "iam.amazonaws.com")
	IAMEndpoint string
	// If set, the Storage Template will generate Storage Vaults pointing to a subdirectory within this
	// bucket. A single dynamic IAM policy will cover all created Storage Vaults.
	// This is preferable for platforms that have limits on the total number of IAM policies. However,
	// it requires a high level of IAM compatibility.
	// If left blank, the Storage Template will generate Storage Vaults pointing to new, separate S3
	// buckets each time. An additional IAM policy is created for each new Storage Vault.
	// This is preferable for platforms that have a lower level of IAM compatibility.
	MasterBucket string
	AccessKey    string
	SecretKey    string
	// Deprecated: This member has been deprecated since Comet version 23.x.x
	UseObjectLock_Legacy_DoNotUse bool `json:"UseObjectLock"`
	// Control whether the resulting Storage Vaults are configured for Object Lock. One of the
	// OBJECT_LOCK_ constants
	ObjectLockMode uint8
	ObjectLockDays int
	// Control whether the "Allow removal of deleted files" checkbox is enabled for Storage Vaults
	// generated from this Storage Template.
	// When configuring a Storage Template from the Comet Server web interface, this field is set
	// automatically for Storage Templates using Object Lock.
	RemoveDeleted bool
	// Optional. The region to be used for new buckets. If blank, uses the default region for the
	// S3-compatible provider (e.g. us-east-1).
	// This field is available in Comet 24.3.1 and later.
	Region string
}

type SFTPDestinationLocation

type SFTPDestinationLocation struct {
	SFTPServer   string
	SFTPUsername string
	// The directory on the SFTP server in which data is stored.
	SFTPRemotePath string
	// One of the DESTINATION_SFTP_AUTHMODE_ constants
	SFTPAuthMode SftpAuthMode
	// For use with DESTINATION_SFTP_AUTHMODE_PASSWORD only: the SSH password to connect with
	SFTPPassword string
	// For use with DESTINATION_SFTP_AUTHMODE_PRIVATEKEY only: the SSH private key to connect with, in
	// OpenSSH format.
	SFTPPrivateKey string
	// If true, then the SFTPCustomAuth_KnownHostsFile will be used to verify the remote SSH server's
	// host key, using Trust On First Use (TOFU).
	SFTPCustomAuth_UseKnownHostsFile bool
	// If SFTPCustomAuth_UseKnownHostFile is true, the path to the SSH known_hosts file.
	SFTPCustomAuth_KnownHostsFile string
}

type SMBDestinationLocation added in v1.24.0

type SMBDestinationLocation struct {
	SMBServer    string
	SMBShare     string
	SMBDirectory string
	SMBUsername  string
	SMBPassword  string
}

type SSHAuthMode

type SSHAuthMode uint64
const SSHCONNECTION_AUTHMODE_PASSWORD SSHAuthMode = 1

SSHAuthMode

const SSHCONNECTION_AUTHMODE_PRIVATEKEY SSHAuthMode = 2

SSHAuthMode

const SSHCONNECTION_AUTHMODE__INVALID SSHAuthMode = 0

SSHAuthMode

type SSHConnection

type SSHConnection struct {
	SSHServer   string
	SSHUsername string
	// One of the SSHCONNECTION_AUTHMODE_ constants
	SSHAuthMode SSHAuthMode
	// For use with SSHCONNECTION_AUTHMODE_PASSWORD only: the SSH password to connect with
	SSHPassword string
	// For use with SSHCONNECTION_AUTHMODE_PRIVATEKEY only: the SSH private key to connect with, in
	// OpenSSH format.
	SSHPrivateKey string
	// If true, then the SSHCustomAuth_KnownHostsFile will be used to verify the remote SSH server's
	// host key, using Trust On First Use (TOFU).
	SSHCustomAuth_UseKnownHostsFile bool
	// If SSHCustomAuth_UseKnownHostsFile is true, the path to the SSH known_hosts file.
	SSHCustomAuth_KnownHostsFile string
}

type ScheduleConfig

type ScheduleConfig struct {
	FrequencyType   uint64
	SecondsPast     uint64
	Offset          int64 `json:",omitempty"`
	RestrictRuntime bool
	FromTime        HourSchedConfig
	ToTime          HourSchedConfig
	RestrictDays    bool
	DaysSelect      DaysOfWeekConfig
	RandomDelaySecs uint64 `json:",omitempty"`
}

type SearchClause

type SearchClause struct {
	// One of the SEARCHCLAUSE_ constants (e.g. empty-string if this is a rule, or "and"/"or" if there
	// are ClauseChildren)
	ClauseType SearchClauseType
	// The field name to search. Check the specific API for more information about which fields are
	// available for searching. For use with ClauseType = SEARCHCLAUSE_RULE.
	RuleField string
	// One of the SEARCHOPERATOR_ constants. The operator must match the type of the particular field.
	// For use with ClauseType = SEARCHCLAUSE_RULE.
	RuleOperator SearchOperatorType
	// The value to compare the field against.
	// - If the field is a string, any string is permissable.
	// - If the field is an integer, the integer should be cast to a base-10 string. There is currently
	// no support for fractional or floating-point numbers.
	// - If the field is a boolean, the following values can be used for true ("1", "t", "T", "true",
	// "TRUE", "True") and the following values can be used for false ("0", "f", "F", "false", "FALSE",
	// "False").
	// For use with ClauseType = SEARCHCLAUSE_RULE.
	RuleValue string
	// If ClauseType is not SEARCHCLAUSE_RULE, the child rules will be applied according to the
	// ClauseType (e.g. "and"/"or")
	ClauseChildren []SearchClause `json:",omitempty"`
}

type SearchClauseType

type SearchClauseType string
const SEARCHCLAUSE_AND SearchClauseType = "and"

SearchClauseType: All of the ClauseChildren must match

const SEARCHCLAUSE_NOT_AND SearchClauseType = "not_and"

SearchClauseType

const SEARCHCLAUSE_NOT_OR SearchClauseType = "not_or"

SearchClauseType

const SEARCHCLAUSE_OR SearchClauseType = "or"

SearchClauseType: At least one of the ClauseChildren must match

const SEARCHCLAUSE_RULE SearchClauseType = ""

SearchClauseType: The search clause is an explicit rule

type SearchOperatorType

type SearchOperatorType string

type SearchResultFileInfo added in v1.5.0

type SearchResultFileInfo struct {
	// Path to the file within the selected snapshot, using forwardslash (/) separators
	Path string `json:"path"`
	// Filename
	Name string `json:"name"`
	// One of the STOREDOBJECTTYPE_ constants
	Type string `json:"type"`
	Mode string `json:"mode,omitempty"`
	// Timestamp in RFC3339 format with subsecond precision and time zone offset. See the Golang
	// time.RFC3339Nano for more information.
	ModTime string `json:"mtime,omitempty"`
	// Timestamp in RFC3339 format with subsecond precision and time zone offset. See the Golang
	// time.RFC3339Nano for more information.
	AccessTime string `json:"atime,omitempty"`
	// Timestamp in RFC3339 format with subsecond precision and time zone offset. See the Golang
	// time.RFC3339Nano for more information.
	ChangeTime string `json:"ctime,omitempty"`
	// Bytes
	Size uint64 `json:"size,omitempty"`
}

SearchResultFileInfo describes a single result entry when searching for files within a Storage Vault snapshot.

type SearchSnapshotsResponse added in v1.5.0

type SearchSnapshotsResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status        int
	Message       string
	SnapshotFiles map[string][]SearchResultFileInfo
}

type SelfBackupExportOptions added in v1.1.0

type SelfBackupExportOptions struct {
	Location      DestinationLocation
	EncryptionKey string
	// One of the ENCRYPTIONMETHOD_ constants
	EncryptionKeyFormat uint64
	// One of the COMPRESS_LVL_ constants
	Compression CompressMode
	// The jobs database is often the largest component of the Server Self-Backup archive. By excluding
	// it, you could run the Server Self-Backup more often.
	ExcludeJobsDB         bool
	IncludeServerLogs     bool
	RestrictToSingleOrgID string `json:",omitempty"`
	Index                 int
}

type SelfBackupOptions

type SelfBackupOptions struct {
	Targets []SelfBackupTarget
}

type SelfBackupStatistics

type SelfBackupStatistics struct {
	CurrentRunStart int64
	LastRunStart    int64
	LastRunEnd      int64
	LastRunSuccess  bool
	LastRunSize     int64
}

type SelfBackupTarget

type SelfBackupTarget struct {
	Schedule []ScheduleConfig
	// Timezone in IANA format
	ScheduleTimezone string
	RetentionPolicy  RetentionPolicy
	Location         DestinationLocation
	EncryptionKey    string
	// One of the ENCRYPTIONMETHOD_ constants
	EncryptionKeyFormat uint64
	// One of the COMPRESS_LVL_ constants
	Compression CompressMode
	// The jobs database is often the largest component of the Server Self-Backup archive. By excluding
	// it, you could run the Server Self-Backup more often.
	ExcludeJobsDB         bool
	IncludeServerLogs     bool
	RestrictToSingleOrgID string `json:",omitempty"`
	Index                 int
}

type ServerConfigOptions

type ServerConfigOptions struct {
	AdminUsers         []AllowedAdminUser
	AuthenticationRole AuthenticationRoleOptions
	Branding           BrandingOptions
	ConstellationRole  ConstellationRoleOptions
	// This field is defined for compatibility with 17.x.x versions of Comet Server. Do not rely on
	// this field. In Comet 23.2.x, if this field is defined, it is imported into the replacement
	// 'ConstellationRole' field under the assumption that you are upgrading this Comet Server from a
	// 17.x.x version. In Comet 23.3.x and later, this field is ignored and will not be respected
	// during the import process.
	ConstellationRole_Legacy ConstellationRoleOptions `json:"OverseerRole,omitempty"`
	Email                    EmailOptions
	// An array of GUIDs that can enable additional early-access functionality
	ExperimentalOptions      []string `json:",omitempty"`
	ExternalAdminUserSources map[string]ExternalAuthenticationSource
	// The Comet Server can enforce a bandwidth limit based on the target IP address
	IPRateLimit RatelimitOptions
	License     LicenseOptions
	// Configure ip, port, and SSL settings for this self-hosted Comet Server.
	ListenAddresses []HTTPConnectorOptions
	// Tenants
	Organizations map[string]Organization
	PSAConfigs    []PSAConfig
	// Automatically create backup zip files of this Comet Server's configuration
	SelfBackup SelfBackupOptions
	// Control how long admin accounts can remain logged in to the Comet Server web interface
	SessionSettings   SessionOptions
	SoftwareBuildRole SoftwareBuildRoleOptions
	StorageRole       StorageRoleOptions
	// If true, the X-Forwarded-For header will be trusted for the purposes of IP allowlisting. This
	// should only be enabled when you explicitly configure Comet Server behind a reverse proxy,
	// otherwise it could allow malicious users to bypass the IP allowlist.
	TrustXForwardedFor bool
	WebhookOptions     map[string]WebhookOption
	AuditFileOptions   map[string]FileOption
}

type ServerConfigOptionsBrandingFragment

type ServerConfigOptionsBrandingFragment struct {
	Branding BrandingOptions
}

type ServerConfigOptionsSoftwareBuildRoleFragment

type ServerConfigOptionsSoftwareBuildRoleFragment struct {
	SoftwareBuildRole SoftwareBuildRoleOptions
}

type ServerMetaBrandingProperties

type ServerMetaBrandingProperties struct {
	BrandName   string
	ProductName string
	// If true, this Comet Server has an image configured for its main logo. You can access it from the
	// /gen/logo.img endpoint. If false, this Comet Server has text configured for its main logo.
	HasImage bool
	// A value that will change if the branding image (/gen/logo.img) changes. You can use this as a
	// cache key.
	ImageEtag string
	// Colour in RGB hex format (e.g. "#FFFFFF")
	TopColor string
	// Colour in RGB hex format (e.g. "#FFFFFF")
	AccentColor                   string
	HideNewsArea                  bool
	AllowUnauthenticatedDownloads bool
	AllowAuthenticatedDownloads   bool
	PruneLogsAfterDays            int64
	ExpiredInSeconds              int64
	ExternalAuthenticationSources []ExternalAuthenticationSourceDisplay `json:",omitempty"`
}

type ServerMetaVersionInfo

type ServerMetaVersionInfo struct {
	Version            string
	VersionCodename    string
	StorageRole        bool
	AuthenticationRole bool
	SoftwareBuildRole  bool
	// Deprecated: This member has been deprecated since Comet version 18.2.0 "Overseer Role" was the old name for the Constellation Role. This field is a duplicate of ConstellationRole for backward compatibility with earlier API consumers.
	ConstellationRole_Legacy bool `json:"OverseerRole"`
	ConstellationRole        bool
	ExperimentalOptions      []string `json:",omitempty"`
	// Unix timestamp, in seconds.
	ServerStartTime int64
	// A GUID that was randomly generated when this Comet Server started up. You can check this value
	// to see if the Comet Server has restarted.
	ServerStartHash string
	// The current time on the Comet Server host machine. Unix timestamp, in seconds. You can check
	// this value to see if clock drift is occuring.
	CurrentTime int64
	// A hash derived from the Comet Server's serial number. You can check this value to see if two
	// Comet Server endpoints point to an identical server.
	ServerLicenseHash        string
	ServerLicenseFeaturesAll bool
	ServerLicenseFeatureSet  uint32
	// Unix timestamp, in seconds.
	LicenseValidUntil                              int64
	EmailsSentSuccessfully                         int64
	EmailsSentErrors                               int64
	EmailsWaitingInQueue                           int64
	ScheduledEmailThreadCurrentState               int64
	ScheduledEmailThreadLastCalculateDurationNanos int64
	ScheduledEmailThreadWaitingUntil               int64
	ScheduledEmailThreadLastWakeTime               int64
	ScheduledEmailThreadLastWakeSentEmails         bool
	// This field is available in Comet 21.3.2 and later.
	SelfBackup []SelfBackupStatistics
}

type SessionKeyRegeneratedResponse

type SessionKeyRegeneratedResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status     int
	Message    string
	SessionKey string
	// e.g. "admin" or "user"
	// This field is available in Comet 18.12.3 and later.
	SessionType string
}

type SessionOptions

type SessionOptions struct {
	// The number of seconds, after which an administrator should be automatically logged out of the
	// Comet Server web interface. If zero, will be replaced with DEFAULT_SESSIONTIMEOUT.
	ExpiredInSeconds uint64
}

type Severity

type Severity string
const SEVERITY_DEBUG Severity = "D"

Severity

const SEVERITY_ERROR Severity = "E"

Severity

const SEVERITY_INFO Severity = "I"

Severity

const SEVERITY_WARNING Severity = "W"

Severity

type SftpAuthMode

type SftpAuthMode uint64
const DESTINATION_SFTP_AUTHMODE_NATIVE SftpAuthMode = 0

SftpAuthMode

const DESTINATION_SFTP_AUTHMODE_PASSWORD SftpAuthMode = 1

SftpAuthMode

const DESTINATION_SFTP_AUTHMODE_PRIVATEKEY SftpAuthMode = 2

SftpAuthMode

type SingleFieldSource added in v1.3.0

type SingleFieldSource struct {
	FieldName string
	// One of "bool" / "int" / "string"
	FieldType string
	BoolVal   bool
	IntVal    int64
	StrVal    string
}

type SizeMeasurement

type SizeMeasurement struct {
	// Bytes
	Size int64
	// Unix timestamp in seconds
	MeasureStarted int64
	// Unix timestamp in seconds
	MeasureCompleted int64
}

type SoftwareBuildRoleOptions

type SoftwareBuildRoleOptions struct {
	RoleEnabled                   bool
	AllowUnauthenticatedDownloads bool
}

type SoftwareUpdateNewsResponse

type SoftwareUpdateNewsResponse struct {
	// The latest "Quarterly" release version of Comet known to the account.cometbackup.com system.
	LatestStable string `json:"latest_stable"`
	// The latest "Voyager" release version of Comet known to the account.cometbackup.com system.
	LatestPrerelease string `json:"latest_prerelease"`
	// A URL linking to the Comet Server downloads page.
	DownloadsURL string `json:"downloads_url"`
	// An array of recent news items written by Comet Backup staff. Entries are english plaintext.
	WhatsNew []string `json:"updates_info"`
}

type SourceBasicInfo

type SourceBasicInfo struct {
	Description      string
	O365AccountCount int64
	// Bytes
	Size                         int64
	OverrideDestinationRetention map[string]RetentionPolicy `json:",omitempty"`
}

SourceBasicInfo is the minimal amount of information one device knows about another device's Protected Items, in order to safely perform retention passes on their behalf.

type SourceConfig

type SourceConfig struct {
	// One of the ENGINE_BUILTIN_ constants
	Engine      string
	Description string
	OwnerDevice string
	// Unix timestamp in seconds
	CreateTime int64
	// Unix timestamp in seconds
	ModifyTime int64
	// Custom commands to run before the job
	PreExec []string
	// Custom commands to run after taking a disk snapshot
	ThawExec []string
	// Custom commands to run after the job
	PostExec []string
	// Configuration for the selected Protected Item type. Each "Engine" supports
	// different configuration options for the EngineProps values.
	//
	// For engine1/file, Comet understands the following EngineProp keys:
	//
	// - Any key starting with INCLUDE: A path that is included
	// - Any key starting with EXCLUDE: An exclusion (glob format)
	// - Any key starting with REXCLUDE: An exclusion (regular expression format)
	// - Any key starting with PINCLUDE: A SourceIncludePattern type encoded in JSON format, describing
	// an advanced inclusion in glob format
	// - Any key starting with RINCLUDE: A SourceIncludePattern type encoded in JSON format, describing
	// an advanced inclusion in regular expression format
	// - Any key starting with SMBAUTH: A set of Windows network share credentials in WinSMBAuth JSON
	// format
	// - USE_WIN_VSS: If present, the 'Take filesystem snapshot' checkbox is checked
	// - CONFIRM_EFS: If present, the 'Dismiss EFS warning' checkbox is checked
	// - RESCAN_UNCHANGED: If present, the 'Rescan unchanged files' checkbox is checked
	// - EXTRA_ATTRIBUTES: If present, the 'Back up extra system permissions and attributes' checkbox
	// is checked
	//
	// For engine1/mssql, Comet understands the following EngineProp keys:
	//
	// - ALL_DATABASES: If present, include all databases with specified exclusions. If not present,
	// only back up the specified inclusions
	// - Any key starting with DATABASE- : A database that is included. Only valid if ALL_DATABASES is
	// not present.
	// - Any key starting with EXCEPT-DATABASE- : A database that is excluded. Only valid if
	// ALL_DATABASES is present.
	// - INSTANCE: The Microsoft SQL Server instance name
	// - USERNAME: The username to connect to Microsoft SQL Server
	// - PASSWORD: The password to connect to Microsoft SQL Server
	// - AUTHMODE: Either "windows" or "native" (corresponding to the declared MSSQL_AUTH_WINDOWS and
	// MSSQL_AUTH_NATIVE constant values). If not present, use native authentication if the USERNAME
	// and/or PASSWORD fields are filled in, use windows authentication if they are blank
	// - METHOD: Either "OLEDB_NATIVE" or "OLEDB_32" (corresponding to the declared
	// MSSQL_METHOD_OLEDB_NATIVE and MSSQL_METHOD_OLEDB_32 constant values). If not present, defaults
	// to Native
	// - DIFFBASE: If present, take a "Full (base image)" backup job. Otherwise, take a "Full (copy
	// only)" backup job.
	// - DIFFERENTIAL: If present, take a "Differential increment" backup job. Otherwise, take a "Full
	// (copy only)" backup job.
	// - LOGTRUNC: If present, take a "Log (truncating)" backup job. Otherwise, take a "Full (copy
	// only)" backup job.
	// - LOGNOTRUNC: If present, take a "Log (no truncation)" backup job. Otherwise, take a "Full (copy
	// only)" backup job.
	//
	EngineProps map[string]string
	// If set, this SourceConfig was added from a Policy with the specified ID.
	// This field is available in Comet 23.6.0 and later.
	PolicySourceID string
	// For a Policy-defined SourceConfig, this field controls whether the Protected Item will stay
	// linked with the policy.
	// This field is available in Comet 23.6.0 and later.
	ExistingUserUpdate bool
	// By default, backup jobs from this Protected Item will be subject
	// to the overall retention policy for the Storage Vault. You can override the policy
	// for specific Storage Vaults by putting their destination ID as a key here.
	OverrideDestinationRetention map[string]RetentionPolicy `json:",omitempty"`
	Statistics                   SourceStatistics           `json:",omitempty"`
}

type SourceIncludePattern

type SourceIncludePattern struct {
	// The filesystem path to search within, for matches
	TopDirectory string
	// The pattern (glob or regex format) to match
	Value string
}

SourceIncludePattern is used for pattern inclusions for File and Folder Protected Items (ENGINE_BUILTIN_FILE). It should be marshalled as JSON and then stored in the PINCLUDE / RINCLUDE EngineProp keys.

type SourceStatistics

type SourceStatistics struct {
	LastBackupJob           BackupJobDetail
	LastSuccessfulBackupJob BackupJobDetail
}

type SpannedDestinationLocation

type SpannedDestinationLocation struct {
	// A list of underlying destinations, that will be combined and presented as one.
	SpanTargets []DestinationLocation
	// If true, this Spanned destination will use a consistent hashing scheme
	// to immediately find specific files on exactly one of the target destinations.
	// In the Static Slots mode, the span targets cannot be moved or merged, and
	// the files must always remain in their original location.
	//
	// If false, the Spanned destination system will search all targets to find
	// the requested file. This is slightly slower, but allows you to freely merge,
	// split, and reorder the underlying destination locations.
	//
	// The default option is false.
	SpanUseStaticSlots bool
}

type SpannedStorageExtraInfo

type SpannedStorageExtraInfo struct {
	Targets []StorageFreeSpaceInfo
}

type StatResult

type StatResult struct {
	Buckets        int64
	Users          int64
	Devices        int64
	Boosters       int64
	NetworkDevices int64
}

type StorageFreeSpaceInfo

type StorageFreeSpaceInfo struct {
	Unlimited      bool
	UsedPercent    float32
	AvailableBytes uint64
	Spanned        SpannedStorageExtraInfo `json:",omitempty"`
	B2             B2StorageExtraInfo      `json:",omitempty"`
}

type StorageRoleOptions

type StorageRoleOptions struct {
	RoleEnabled bool
	Storage     DestinationLocation
	// Deprecated: This member has been deprecated since Comet version 17.3.5
	LocalStorage_Legacy []LocalStorageDirectory `json:"LocalStorage,omitempty"`
	ReplicateTo         []ReplicaServer
}

type StorageVaultProviderPolicy

type StorageVaultProviderPolicy struct {
	ShouldRestrictProviderList     bool
	AllowedProvidersWhenRestricted []uint64
}

type StoredObject

type StoredObject struct {
	// The name of the stored object. It is unique within this directory tree.
	Name string `json:"name"`
	// Unix timestamp in seconds
	ModifyTime int64 `json:"mtime"`
	// One of the STOREDOBJECTTYPE_... constant values
	Type string `json:"type"`
	// If this StoredObject represents a directory, this value can be used to recursively select the
	// directory contents.
	Subtree string `json:"subtree"`
	// Bytes
	Size             uint64 `json:"size"`
	DisplayName      string `json:"dname,omitempty"`
	ItemClass        string `json:"itemClass,omitempty"`
	From             string `json:"from,omitempty"`
	To               string `json:"to,omitempty"`
	ReceivedDateTime int64  `json:"rtime,omitempty"`
	HasAttachments   bool   `json:"has_attachments,omitempty"`
	// Unix timestamp in seconds
	StartTime int64 `json:"stime,omitempty"`
	// Unix timestamp in seconds
	EndTime             int64  `json:"etime,omitempty"`
	RecursiveCountKnown bool   `json:"r,omitempty"`
	RecursiveFiles      uint64 `json:"f,omitempty"`
	RecursiveBytes      uint64 `json:"b,omitempty"`
	RecursiveFolders    uint64 `json:"d,omitempty"`
}

type StoredObjectType

type StoredObjectType string
const STOREDOBJECTTYPE_DIRECTORY StoredObjectType = "dir"

StoredObjectType

const STOREDOBJECTTYPE_EMAILFOLDER StoredObjectType = "mailfolder"

StoredObjectType

const STOREDOBJECTTYPE_EMAILMESSAGE StoredObjectType = "emailmessage"

StoredObjectType

const STOREDOBJECTTYPE_FILE StoredObjectType = "file"

StoredObjectType

const STOREDOBJECTTYPE_MSSITE StoredObjectType = "mssite"

StoredObjectType

const STOREDOBJECTTYPE_MSSITEITEMENTITY StoredObjectType = "mssiteitementity"

StoredObjectType

const STOREDOBJECTTYPE_MSSITELISTDRIVEENTITY StoredObjectType = "mssitelistdriveentity"

StoredObjectType

const STOREDOBJECTTYPE_MSSITELISTENTITY StoredObjectType = "mssitelistentity"

StoredObjectType

const STOREDOBJECTTYPE_MSSITE_TEAM StoredObjectType = "mssiteteam"

StoredObjectType

const STOREDOBJECTTYPE_OFFICECALENDAR StoredObjectType = "calendar"

StoredObjectType

const STOREDOBJECTTYPE_OFFICECALENDAREVENT StoredObjectType = "calendarevent"

StoredObjectType

const STOREDOBJECTTYPE_OFFICECONTACT StoredObjectType = "contact"

StoredObjectType

const STOREDOBJECTTYPE_OFFICECONTACTFOLDER StoredObjectType = "contactfolder"

StoredObjectType

const STOREDOBJECTTYPE_SYMLINK StoredObjectType = "symlink"

StoredObjectType

const STOREDOBJECTTYPE_UNIXBLOCKDEVICE StoredObjectType = "dev"

StoredObjectType

const STOREDOBJECTTYPE_UNIXCHARDEVICE StoredObjectType = "chardev"

StoredObjectType

const STOREDOBJECTTYPE_UNIXFIFO StoredObjectType = "fifo"

StoredObjectType

const STOREDOBJECTTYPE_UNIXSOCKET StoredObjectType = "socket"

StoredObjectType

const STOREDOBJECTTYPE_VHDX_GPT_PARTITION StoredObjectType = "vhdxpartitiongpt"

StoredObjectType

const STOREDOBJECTTYPE_VHDX_MBR_PARTITION StoredObjectType = "vhdxpartitionmbr"

StoredObjectType

const STOREDOBJECTTYPE_VIRTUALIMAGE_DISK StoredObjectType = "virtualimagedisk"

StoredObjectType

const STOREDOBJECTTYPE_VMDK_DIRECTORY StoredObjectType = "vmdkdir"

StoredObjectType

const STOREDOBJECTTYPE_VMDK_FILE StoredObjectType = "vmdkfile"

StoredObjectType

const STOREDOBJECTTYPE_VMDK_SYMLINK StoredObjectType = "vmdksymlink"

StoredObjectType

const STOREDOBJECTTYPE_VMDK_WINEFS StoredObjectType = "vmdkwinefs"

StoredObjectType

const STOREDOBJECTTYPE_WINDOWSDIR StoredObjectType = "windir"

StoredObjectType

const STOREDOBJECTTYPE_WINDOWSFILE StoredObjectType = "winfile"

StoredObjectType

const STOREDOBJECTTYPE_WINEFS StoredObjectType = "winefs"

StoredObjectType

type StorjDestinationLocation added in v1.0.1

type StorjDestinationLocation struct {
	SatelliteAddress  string
	APIKey            string
	Passphrase        string
	StorjBucket       string
	StorjBucketPrefix string `json:",omitempty"`
}

type StorjVirtualStorageRoleSetting added in v1.0.1

type StorjVirtualStorageRoleSetting struct {
	SatelliteAddress string
	APIKey           string
	Passphrase       string
	Bucket           string
}

type StreamLevel added in v1.7.0

type StreamLevel string
const STREAM_LEVEL_FULL StreamLevel = "full"

StreamLevel: Event data contains full data types

const STREAM_LEVEL_NONE StreamLevel = "none"

StreamLevel: Event data contains nothing

type StreamableEvent

type StreamableEvent struct {
	Actor               string
	OwnerOrganizationID string
	ResourceID          string `json:",omitempty"`
	Type                StreamableEventType
	Timestamp           int64       `json:",omitempty"`
	TypeString          string      `json:",omitempty"`
	Data                interface{} `json:",omitempty"`
}

type StreamableEventType

type StreamableEventType int
const SEVT_ACCOUNT_ADMIN_LOGIN StreamableEventType = 4153

StreamableEventType: Admin authentication succeeded. Only emitted for non-session requests. Resource is the requested path

const SEVT_ACCOUNT_ADMIN_LOGIN_FAILED StreamableEventType = 4154

StreamableEventType: Admin authentication failed. Only emitted if the admin exists. Resource is the request path

const SEVT_ACCOUNT_ADMIN_NEW StreamableEventType = 4150

StreamableEventType: Admin created. Data is the profile object

const SEVT_ACCOUNT_ADMIN_REMOVED StreamableEventType = 4151

StreamableEventType: Admin deleted

const SEVT_ACCOUNT_ADMIN_SESSION_EXPIRE StreamableEventType = 4157

StreamableEventType: Admin session token expired

const SEVT_ACCOUNT_ADMIN_SESSION_REVOKE StreamableEventType = 4156

StreamableEventType: Admin session token deleted

const SEVT_ACCOUNT_ADMIN_SESSION_START StreamableEventType = 4155

StreamableEventType: Admin session token created. Data is the session object

const SEVT_ACCOUNT_ADMIN_UPDATED StreamableEventType = 4152

StreamableEventType: Admin updated

const SEVT_ACCOUNT_LOGIN StreamableEventType = 4103

StreamableEventType: User authentication succeeded. Only emitted for non-session requests. Resource is the requested path

const SEVT_ACCOUNT_LOGIN_FAILED StreamableEventType = 4104

StreamableEventType: User authentication failed. Only emitted if the user exists. Resource is the requested path

const SEVT_ACCOUNT_NEW StreamableEventType = 4100

StreamableEventType: User created. Data is the profile object

const SEVT_ACCOUNT_REMOVED StreamableEventType = 4101

StreamableEventType: User deleted

const SEVT_ACCOUNT_SESSION_EXPIRE StreamableEventType = 4107

StreamableEventType: User session token expired

const SEVT_ACCOUNT_SESSION_REVOKE StreamableEventType = 4106

StreamableEventType: User session token deleted

const SEVT_ACCOUNT_SESSION_START StreamableEventType = 4105

StreamableEventType: User session token created. Data is the session object

const SEVT_ACCOUNT_UPDATED StreamableEventType = 4102

StreamableEventType: User updated. Data is the profile object

const SEVT_BUCKET_NEW StreamableEventType = 4300

StreamableEventType: New bucket created

const SEVT_BUCKET_REMOVED StreamableEventType = 4301

StreamableEventType: Bucket deleted

const SEVT_DEVICE_LIVE_CONNECT StreamableEventType = 4702

StreamableEventType: Device live connection started

const SEVT_DEVICE_LIVE_DISCONNECT StreamableEventType = 4703

StreamableEventType: Device live connection ended

const SEVT_DEVICE_LOBBY_CONNECT StreamableEventType = 4704

StreamableEventType: Device connected to registration lobby

const SEVT_DEVICE_LOBBY_DISCONNECT StreamableEventType = 4705

StreamableEventType: Device disconnected from registration lobby

const SEVT_DEVICE_NEW StreamableEventType = 4700

StreamableEventType: Device created. Data is device object

const SEVT_DEVICE_REMOVED StreamableEventType = 4701

StreamableEventType: Device deleted

const SEVT_JOB_COMPLETED StreamableEventType = 4201

StreamableEventType: Backup job completed. Data is the job object

const SEVT_JOB_NEW StreamableEventType = 4200

StreamableEventType: New backup job started. Data is the job object

const SEVT_META_HELLO StreamableEventType = 4000

StreamableEventType: New event stream connection. Data is typically ServerMetaVersionInfo

const SEVT_POLICY_NEW StreamableEventType = 4600

StreamableEventType: Policy created. Data is the policy object

const SEVT_POLICY_REMOVED StreamableEventType = 4601

StreamableEventType: Policy deleted

const SEVT_POLICY_UPDATED StreamableEventType = 4602

StreamableEventType: Policy updated. Data is the policy object

const SEVT_SERVER_RESTARTED StreamableEventType = 4401

StreamableEventType: Server restarting (pending)

const SEVT_SERVER_SHUTDOWN StreamableEventType = 4402

StreamableEventType: Server shutting down (pending)

const SEVT_SERVER_STARTED StreamableEventType = 4400

StreamableEventType: Server started

const SEVT_SERVER_UPDATED StreamableEventType = 4403

StreamableEventType: Server configuration has been updated. Data is the server config object

const SEVT_TENANT_NEW StreamableEventType = 4500

StreamableEventType: Tenant created. Data is the tenant object

const SEVT_TENANT_REMOVED StreamableEventType = 4501

StreamableEventType: Tenant deleted

const SEVT_TENANT_UPDATED StreamableEventType = 4502

StreamableEventType: Tenant updated. Data is the tenant object

const SEVT__MAX StreamableEventType = 4999

StreamableEventType

const SEVT__MIN StreamableEventType = 4000

StreamableEventType

type StreamerType added in v1.7.0

type StreamerType string
const STREAMER_TYPE_FILE StreamerType = "file"

StreamerType

const STREAMER_TYPE_INTERNAL StreamerType = "internal"

StreamerType

const STREAMER_TYPE_WEBHOOK StreamerType = "webhook"

StreamerType

const STREAMER_TYPE_WEBSOCKET StreamerType = "websocket"

StreamerType

type SwiftDestinationLocation

type SwiftDestinationLocation struct {
	// Username or UserID or Application Credential name or Application Credential ID, or blank for
	// token authentication
	Username string `json:",omitempty"`
	// User Password, or Application Credential Key, or token if the Username field is blank
	APIKey string `json:",omitempty"`
	Region string `json:",omitempty"`
	// Mandatory
	AuthURL string `json:",omitempty"`
	Domain  string `json:",omitempty"`
	// Tenant name (v2) or Project name (v3)
	Tenant string `json:",omitempty"`
	// Project domain name (v3)
	TenantDomain string `json:",omitempty"`
	TenantID     string `json:",omitempty"`
	TrustID      string `json:",omitempty"`
	// Deprecated: This member has been deprecated since Comet version 17.8.0
	AuthToken              string `json:",omitempty"`
	Prefix                 string `json:",omitempty"`
	Container              string `json:",omitempty"`
	DefaultContainerPolicy string `json:",omitempty"`
}

type TestResponse

type TestResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status  int
	Message string
	Exists  bool
}

type TimeSpan added in v1.3.0

type TimeSpan struct {
	// SCHEDULE_FREQUENCY_<TYPE>
	FrequencyType uint64
	// Used for Periodic and Once Only
	Seconds int64
}

type TotpRegeneratedResponse

type TotpRegeneratedResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status  int
	Message string
	// A data URI of an image of a TOTP code (e.g. "data:image/png;base64,AAA...")
	Image string
	// This field is available in Comet 18.9.9 and later.
	URL string
	// This field is available in Comet 20.3.2 and later.
	ProfileHash string
}

type U2FRegisterRequest deprecated

type U2FRegisterRequest struct {
	Challenge string
	Version   string
}

Deprecated: This struct has been deprecated since Comet version 21.12.0

type U2FRegisteredKey deprecated

type U2FRegisteredKey struct {
	AppID     string
	KeyHandle string
	Version   string
}

Deprecated: This struct has been deprecated since Comet version 21.12.0

type U2FRegistrationChallengeResponse deprecated

type U2FRegistrationChallengeResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status           int
	Message          string
	ChallengeID      string
	AppID            string
	RegisteredKeys   []U2FRegisteredKey
	RegisterRequests []U2FRegisterRequest
}

Deprecated: This struct has been deprecated since Comet version 21.12.0

type U2FSignRequest deprecated

type U2FSignRequest struct {
	ChallengeID    string
	ChallengeData  string
	AppID          string
	RegisteredKeys []U2FRegisteredKey
}

Deprecated: This struct has been deprecated since Comet version 21.12.0

type U2FSignResponse deprecated

type U2FSignResponse struct {
	ChallengeID string
	KeyHandle   string
	Signature   string
	ClientData  string
}

Deprecated: This struct has been deprecated since Comet version 21.12.0

type UninstallConfig

type UninstallConfig struct {
	// If this option is true, the target device will receive a message asking it to uninstall the
	// Comet Backup app.
	UninstallFlag bool
	// This controls the "Remove all user settings from this device" option.
	RemoveConfigFile bool
}

UninstallConfig allows configuring whether the target device will be uninstalled or not.

type UpdateCampaignDeviceStatus

type UpdateCampaignDeviceStatus struct {
	// One of the UPDATESTATUS_ constants
	Status UpdateStatus
}

type UpdateCampaignOptions

type UpdateCampaignOptions struct {
	Active              bool
	UpgradeOlder        bool
	ReinstallCurrentVer bool
	DowngradeNewer      bool
	// Choose whether this bulk upgrade campaign is allowed to interrupt a running backup job.
	ForceUpgradeRunning bool
	// If true, then the UserFilter will be used to restrict which accounts and devices will be
	// eligible for the software update. If false, all users and devices will be eligible for the
	// software update.
	ApplyDeviceFilter bool
	DeviceFilter      SearchClause
}

This data structure describes which devices should receive a remote software upgrade. Both the target version criteria (UpgradeOlder/ReinstallCurrentVer/DowngradeNewer) and the target device criteria (ApplyDeviceFilter/DeviceFilter) must be met in order for the remote upgrade to be applied.

type UpdateCampaignProperties

type UpdateCampaignProperties struct {
	Active              bool
	UpgradeOlder        bool
	ReinstallCurrentVer bool
	DowngradeNewer      bool
	// Choose whether this bulk upgrade campaign is allowed to interrupt a running backup job.
	ForceUpgradeRunning bool
	// If true, then the UserFilter will be used to restrict which accounts and devices will be
	// eligible for the software update. If false, all users and devices will be eligible for the
	// software update.
	ApplyDeviceFilter bool
	DeviceFilter      SearchClause
	// Unix timestamp, in seconds
	StartTime     int64
	TargetVersion string
}

type UpdateCampaignStatus

type UpdateCampaignStatus struct {
	Active              bool
	UpgradeOlder        bool
	ReinstallCurrentVer bool
	DowngradeNewer      bool
	// Choose whether this bulk upgrade campaign is allowed to interrupt a running backup job.
	ForceUpgradeRunning bool
	// If true, then the UserFilter will be used to restrict which accounts and devices will be
	// eligible for the software update. If false, all users and devices will be eligible for the
	// software update.
	ApplyDeviceFilter bool
	DeviceFilter      SearchClause
	// Unix timestamp, in seconds
	StartTime     int64
	TargetVersion string
	Devices       []UpdateCampaignStatusDeviceEntry
}

type UpdateCampaignStatusDeviceEntry

type UpdateCampaignStatusDeviceEntry struct {
	Username string
	DeviceID string
	// One of the UPDATESTATUS_ constants
	Status UpdateStatus
}

type UpdateStatus

type UpdateStatus int
const UPDATESTATUS_INELIGIBLE UpdateStatus = 1

UpdateStatus: The selected device does not meet the filter criteria from the Bulk Update Campaign's configuration.

const UPDATESTATUS_NOT_SEEN UpdateStatus = 0

UpdateStatus

const UPDATESTATUS_PENDING UpdateStatus = 2

UpdateStatus

const UPDATESTATUS_REQUEST_MADE UpdateStatus = 3

UpdateStatus: The device has made a live connection and it meets the filter criteria. A live connection message has been sent asking it to perform the software upgrade.

const UPDATESTATUS_UPDATE_CONFIRMED UpdateStatus = 5

UpdateStatus: The device has successfully updated to the target version.

const UPDATESTATUS_UPDATE_FAILED UpdateStatus = 4

UpdateStatus: An update signal was sent to the device, but when it reconnected, it did not advertise the target software version. It's likely that the update failed - please check the device's Update log for more information.

type UserCustomEmailSettings

type UserCustomEmailSettings struct {
	Reports []EmailReportConfig
}

type UserOnServer

type UserOnServer struct {
	// The server where this user was found. The 0-based indexes here correspond to the entries inside
	// ConstellationRoleOptions->Servers.
	ServerID int
	Username string
}

type UserPolicy

type UserPolicy struct {
	PreventRequestStorageVault       bool
	PreventAddCustomStorageVault     bool
	PreventEditStorageVault          bool
	HideCloudStorageBranding         bool
	PreventDeleteStorageVault        bool
	StorageVaultProviders            StorageVaultProviderPolicy
	PreventNewProtectedItem          bool
	PreventEditProtectedItem         bool
	PreventDeleteProtectedItem       bool
	ProtectedItemEngineTypes         ProtectedItemEngineTypePolicy
	FileAndFolderMandatoryExclusions []ExtraFileExclusion `json:",omitempty"`
	ModeScheduleSkipAlreadyRunning   DefaultSettingMode   `json:",omitempty"`
	ModeAdminResetPassword           DefaultSettingMode   `json:",omitempty"`
	ModeAdminViewFilenames           DefaultSettingMode   `json:",omitempty"`
	ModeRequireUserResetPassword     DefaultSettingMode   `json:",omitempty"`
	PreventDeleteSingleSnapshots     bool
	PreventChangeAccountPassword     bool
	PreventChangeEmailSettings       bool
	PreventChangeAccountName         bool
	PreventOpenAppUI                 bool
	RequirePasswordOpenAppUI         bool
	HideAppImport                    bool
	HideAppVersion                   bool
	PreventOpenWebUI                 bool
	PreventViewDeviceNames           bool
	DefaultEmailReports              DefaultEmailReportPolicy
	DefaultStorageVaultRetention     RetentionPolicy
	EnforceStorageVaultRetention     bool
	PreventProtectedItemRetention    bool
	AllowEditObjectLockRetention     bool
	DefaultSources                   map[string]SourceConfig
	DefaultSourcesBackupRules        map[string]BackupRuleConfig
	DefaultSourcesWithOSRestriction  map[string]DefaultSourceWithOSRestriction
	DefaultBackupRules               map[string]BackupRuleConfig
	RandomDelaySecs                  uint64 `json:",omitempty"`
}

type UserProfileConfig

type UserProfileConfig struct {
	// The name for this account. It uniquely identifies this UserProfileConfig across the entire Comet
	// Server. It cannot be changed directly.
	Username string
	// A longer descriptive name for this account. It is not necessarily unique to the Comet Server.
	// The end-user might be able to change it inside the Comet Backup desktop app.
	AccountName string
	// Timezone in IANA format. Individual devices may declare a more specific timezone in the Devices
	// field.
	LocalTimezone string
	// One of the supported languages, such as en_US (DEFAULT_LANGUAGE).
	LanguageCode string
	// Tenant
	OrganizationID string `json:",omitempty"`
	// A list of email addresses to send reports to.
	Emails []string
	// By default, all the email addresses in the Emails field will receieve the policy-default or
	// server-wide-default style of email report. Add an override for a specific email address in here
	// to allow customizing the email report that will be received.
	OverrideEmailSettings map[string]UserCustomEmailSettings
	// This option can be used to control whether any email reports are sent.
	SendEmailReports bool
	// Storage Vaults
	// The string keys can be any unique key. Using a GUID is recommended, but optional.
	Destinations map[string]DestinationConfig
	// Protected Items
	// The string keys can be any unique key. Using a GUID is recommended, but optional.
	Sources map[string]SourceConfig
	// Schedules
	// The string keys can be any unique key. Using a GUID is recommended, but optional.
	BackupRules map[string]BackupRuleConfig
	// Devices
	// The string keys are the device's ID. The device ID is generated automatically based on a mix of
	// hardware and software identifiers on the installed PC.
	// To revoke a device, use the AdminRevokeDevice API instead of accessing these fields directly.
	// This API can also remove associated Protected Items, uninstall the remote device, and disconnect
	// its live connection.
	Devices     map[string]DeviceConfig
	IsSuspended bool
	// Unix timestamp in seconds. Zero if the device is not suspended.
	LastSuspended int64 `json:",omitempty"`
	// A limit on the total Size of all Protected Items in this account. The number of bytes should be
	// configured in AllProtectedItemsQuotaBytes.
	AllProtectedItemsQuotaEnabled bool
	// A limit on the total Size of all Protected Items in this account. It is enforced if
	// AllProtectedItemsQuotaEnabled is true.
	AllProtectedItemsQuotaBytes int64
	// A limit on the total number of devices registered in this account. Set to zero to allow
	// unlimited devices.
	MaximumDevices int64
	// A limit on the total number of Office 365 Protected Accounts across all Office 365 Protected
	// Items in this account. Set to zero to allow unlimited Office 365 Protected Accounts.
	QuotaOffice365ProtectedAccounts int64
	// If the PolicyID field is set to a non-empty string, the Comet Server will enforce the contents
	// of the Policy field based on the matching server's policy. Otherwise if the PolicyID field is
	// set to an empty string, the administrator may configure any custom values in the Policy field.
	PolicyID string
	// The Policy field contains a read-only copy of the effective Policy that is applied to this user
	// account.
	Policy UserPolicy
	// One of the PASSWORD_FORMAT_ constants
	// To change the user's password, use the AdminResetUserPassword API instead of accessing these
	// fields directly. Otherwise, other encrypted fields in the user profile may become corrupted.
	PasswordFormat int
	PasswordHash   string
	// If this field is empty, the "Allow administrator to reset my password" feature is turned off. If
	// this field is filled, it contains a cryptographic root of trust that can decrypt and re-encrypt
	// other secrets in this profile.
	PasswordRecovery   string `json:",omitempty"`
	AllowPasswordLogin bool
	// If true, then TOTP is required to open the desktop app or the Comet Server web interface with
	// this user's credentials.
	AllowPasswordAndTOTPLogin bool
	// One of the ENCRYPTIONMETHOD_ constants
	TOTPKeyEncryptionFormat int
	TOTPKey                 string
	// This field is available in Comet 20.3.4 and later.
	RequirePasswordChange bool
	// Unix timestamp in seconds
	CreateTime int64
	// A random GUID that is allocated when the user profile is created for the first time. You can use
	// this to help disambiguate users with the same username across multiple Comet Servers.
	CreationGUID string
	// Additional server-wide settings that are enforced for this user profile
	ServerConfig UserServerConfig `json:",omitempty"`
}

This is the main data structure for a user's profile.

type UserProfileFragment deprecated

type UserProfileFragment struct {
	Username string
}

Deprecated: This struct has been deprecated since Comet version 23.3.5

type UserServerConfig

type UserServerConfig struct {
	RandomDelaySecs uint64 `json:",omitempty"`
}

type VMDKSnapshotViewOptions

type VMDKSnapshotViewOptions struct {
	// Request a list of stored objects in vmdk file. It should be always true for restoring single
	// files from vmdk file
	Enabled bool
	// The vmdk filename inside subdirectory of disk image, should be end with .vmdk
	PartitionGUID string
	// Browse objects' paths inside vmdk file
	ListPath      string
	PartitionName string
}

type VMwareConnection added in v1.15.0

type VMwareConnection struct {
	// One of the VMWARE_CONNECTION_ constants
	ConnectionType VMwareConnectionType
	// Deprecated: This member has been deprecated since Comet version 23.9.11
	SSH     SSHConnection
	VSphere VSphereConnection
}

type VMwareConnectionType added in v1.15.0

type VMwareConnectionType string
const VMWARE_CONNECTION_SSH VMwareConnectionType = "ssh"

VMwareConnectionType Deprecated: This const has been deprecated since Comet version 23.9.11

const VMWARE_CONNECTION_VSPHERE VMwareConnectionType = "vsphere"

VMwareConnectionType

type VMwareMachineInfo added in v1.15.0

type VMwareMachineInfo struct {
	Name string
}

type VSSComponent

type VSSComponent struct {
	Path string
	Name string
	// "VSS_CT_DATABASE" or "VSS_CT_FILEGROUP"
	CType      string
	Selectable bool
}

type VSSWriterInfo

type VSSWriterInfo struct {
	DisplayName string
	Components  []VSSComponent
}

type VSphereConnection added in v1.15.0

type VSphereConnection struct {
	Hostname                string
	Https                   bool
	AllowInvalidCertificate bool
	Username                string
	Password                string
	ThumbPrint              string
}

type VaultSnapshot

type VaultSnapshot struct {
	Snapshot   string
	Source     string
	CreateTime int64
	// This field is available in Comet 20.12.4 and later.
	HasOriginalPathInfo bool
}

type VmwareBackupType added in v1.15.0

type VmwareBackupType string
const VMWARE_BACKUP_CBT VmwareBackupType = "cbt"

VmwareBackupType

const VMWARE_BACKUP_COPY VmwareBackupType = "copy"

VmwareBackupType Deprecated: This const has been deprecated since Comet version 23.9.11

const VMWARE_BACKUP_FULL VmwareBackupType = "full"

VmwareBackupType

type VmwareSnapshotType added in v1.15.0

type VmwareSnapshotType string
const VMWARE_SNAPSHOT_FAST VmwareSnapshotType = ""

VmwareSnapshotType

const VMWARE_SNAPSHOT_MEMORY VmwareSnapshotType = "memory"

VmwareSnapshotType

const VMWARE_SNAPSHOT_QUIESCE VmwareSnapshotType = "quiesce"

VmwareSnapshotType

type WasabiVirtualStorageRoleSettings

type WasabiVirtualStorageRoleSettings struct {
	// If set, the Storage Template will generate Storage Vaults pointing to a subdirectory within this
	// bucket. A single dynamic IAM policy will cover all created Storage Vaults.
	// This is preferable for platforms that have limits on the total number of IAM policies. However,
	// it requires a high level of IAM compatibility.
	// If left blank, the Storage Template will generate Storage Vaults pointing to new, separate S3
	// buckets each time. An additional IAM policy is created for each new Storage Vault.
	// This is preferable for platforms that have a lower level of IAM compatibility.
	MasterBucket string
	AccessKey    string
	SecretKey    string
	// Deprecated: This member has been deprecated since Comet version 23.x.x
	UseObjectLock_Legacy_DoNotUse bool `json:"UseObjectLock"`
	// Control whether the resulting Storage Vaults are configured for Object Lock. One of the
	// OBJECT_LOCK_ constants
	ObjectLockMode uint8
	ObjectLockDays int
	// Control whether the "Allow removal of deleted files" checkbox is enabled for Storage Vaults
	// generated from this Storage Template.
	// When configuring a Storage Template from the Comet Server web interface, this field is set
	// automatically for Storage Templates using Object Lock.
	RemoveDeleted bool
}

This is an alias type for AmazonAWSVirtualStorageRoleSettings.

type WebAuthnAuthenticationExtensions

type WebAuthnAuthenticationExtensions map[string]interface{}

type WebAuthnAuthenticatorSelection

type WebAuthnAuthenticatorSelection struct {
	AuthenticatorAttachment string `json:"authenticatorAttachment,omitempty"`
	RequireResidentKey      bool   `json:"requireResidentKey,omitempty"`
	ResidentKey             string `json:"residentKey,omitempty"`
	UserVerification        string `json:"userVerification,omitempty"`
}

type WebAuthnCredential

type WebAuthnCredential struct {
	// When this field is expressed as a Go WebAuthnCredential struct, this field may contain binary data. When this field is expressed as JSON, the field must be expressed as base64. The encoding/json marshaller will automatically perform base64 conversion as necessary.
	PublicKey       []byte
	AttestationType string
	// When this field is expressed as a Go WebAuthnCredential struct, this field may contain binary data. When this field is expressed as JSON, the field must be expressed as base64. The encoding/json marshaller will automatically perform base64 conversion as necessary.
	AAGUID       []byte
	SignCount    uint32
	CloneWarning bool
}

type WebAuthnCredentialAssertion

type WebAuthnCredentialAssertion struct {
	Response WebAuthnPublicKeyCredentialRequestOptions `json:"publicKey"`
}

type WebAuthnCredentialDescriptor

type WebAuthnCredentialDescriptor struct {
	Type string `json:"type"`
	// When this field is expressed as a Go WebAuthnCredentialDescriptor struct, this field may contain binary data. When this field is expressed as JSON, the field must be expressed as base64. The encoding/json marshaller will automatically perform base64 conversion as necessary.
	CredentialID []byte   `json:"id"`
	Transport    []string `json:"transports,omitempty"`
}

type WebAuthnCredentialEntity

type WebAuthnCredentialEntity struct {
	Name string `json:"name"`
	Icon string `json:"icon,omitempty"`
}

type WebAuthnCredentialParameter

type WebAuthnCredentialParameter struct {
	Type      string `json:"type"`
	Algorithm int    `json:"alg"`
}

type WebAuthnDeviceType

type WebAuthnDeviceType int
const WEBAUTHN_DEVICE_TYPE__ANDROID WebAuthnDeviceType = 2

WebAuthnDeviceType

const WEBAUTHN_DEVICE_TYPE__APPLE WebAuthnDeviceType = 3

WebAuthnDeviceType

const WEBAUTHN_DEVICE_TYPE__HARDWARE_TOKEN WebAuthnDeviceType = 1

WebAuthnDeviceType

const WEBAUTHN_DEVICE_TYPE__TPM_GENERIC WebAuthnDeviceType = 4

WebAuthnDeviceType

const WEBAUTHN_DEVICE_TYPE__TPM_LINUX WebAuthnDeviceType = 6

WebAuthnDeviceType

const WEBAUTHN_DEVICE_TYPE__TPM_WINDOWS WebAuthnDeviceType = 5

WebAuthnDeviceType

const WEBAUTHN_DEVICE_TYPE__UNKNOWN WebAuthnDeviceType = 0

WebAuthnDeviceType

type WebAuthnPublicKeyCredentialCreationOptions

type WebAuthnPublicKeyCredentialCreationOptions struct {
	// When this field is expressed as a Go WebAuthnPublicKeyCredentialCreationOptions struct, this field may contain binary data. When this field is expressed as JSON, the field must be expressed as base64. The encoding/json marshaller will automatically perform base64 conversion as necessary.
	Challenge              []byte                           `json:"challenge"`
	RelyingParty           WebAuthnRelyingPartyEntity       `json:"rp"`
	User                   WebAuthnUserEntity               `json:"user"`
	Parameters             []WebAuthnCredentialParameter    `json:"pubKeyCredParams,omitempty"`
	AuthenticatorSelection WebAuthnAuthenticatorSelection   `json:"authenticatorSelection,omitempty"`
	Timeout                int                              `json:"timeout,omitempty"`
	CredentialExcludeList  []WebAuthnCredentialDescriptor   `json:"excludeCredentials,omitempty"`
	Extensions             WebAuthnAuthenticationExtensions `json:"extensions,omitempty"`
	Attestation            string                           `json:"attestation,omitempty"`
}

type WebAuthnPublicKeyCredentialRequestOptions

type WebAuthnPublicKeyCredentialRequestOptions struct {
	// When this field is expressed as a Go WebAuthnPublicKeyCredentialRequestOptions struct, this field may contain binary data. When this field is expressed as JSON, the field must be expressed as base64. The encoding/json marshaller will automatically perform base64 conversion as necessary.
	Challenge          []byte                           `json:"challenge"`
	Timeout            int                              `json:"timeout,omitempty"`
	RelyingPartyID     string                           `json:"rpId,omitempty"`
	AllowedCredentials []WebAuthnCredentialDescriptor   `json:"allowCredentials,omitempty"`
	UserVerification   string                           `json:"userVerification,omitempty"`
	Extensions         WebAuthnAuthenticationExtensions `json:"extensions,omitempty"`
}

type WebAuthnRegistrationChallengeResponse

type WebAuthnRegistrationChallengeResponse struct {
	// If the operation was successful, the status will be in the 200-299 range.
	Status                    int
	Message                   string
	ChallengeID               string
	CredentialCreationOptions WebAuthnPublicKeyCredentialCreationOptions
}

type WebAuthnRelyingPartyEntity

type WebAuthnRelyingPartyEntity struct {
	Name string `json:"name"`
	Icon string `json:"icon,omitempty"`
	ID   string `json:"id"`
}

type WebAuthnSignRequest

type WebAuthnSignRequest struct {
	ChallengeID string
	Assertion   WebAuthnCredentialAssertion
}

type WebAuthnSignResponse

type WebAuthnSignResponse struct {
	ChallengeID    string
	CredentialJSON string
}

type WebAuthnUserEntity

type WebAuthnUserEntity struct {
	Name        string `json:"name"`
	Icon        string `json:"icon,omitempty"`
	DisplayName string `json:"displayName,omitempty"`
	// When this field is expressed as a Go WebAuthnUserEntity struct, this field may contain binary data. When this field is expressed as JSON, the field must be expressed as base64. The encoding/json marshaller will automatically perform base64 conversion as necessary.
	ID []byte `json:"id"`
}

type WebDavDestinationLocation added in v1.10.0

type WebDavDestinationLocation struct {
	// The URL of the WebDAV server, including http/https and any custom port
	DavServer string `json:",omitempty"`
	// The username for logging in to the WebDAV server
	UserName string `json:",omitempty"`
	// The password for logging in to the WebDAV server
	AccessKey string `json:",omitempty"`
	// The target directory path within the WebDAV server
	Path string `json:",omitempty"`
}

This struct is available in Comet 23.6.9 and later.

type WebInterfaceBrandingProperties

type WebInterfaceBrandingProperties struct {
	// One of the BRANDINGSTYLETYPE_ constants
	// This field is available in Comet 23.3.3 and later.
	BrandingStyleType int
	BrandName         string
	LogoImage         string
	TopColor          string
	AccentColor       string
	Favicon           string
	HideNewsArea      bool
}

type WebhookOption

type WebhookOption struct {
	// The target URL to POST the event data to
	URL string
	// CustomHeaders allows specifying custom headers which are added to the outgoing POST request
	// from Comet Server. Custom headers are specified as (header name, header value) pairs. If a
	// custom header conflicts with a header required by HTTP or the Comet tracing ID header
	// (`x-Comet-Tracing-Id`), it will be ignored.
	CustomHeaders map[string]string
	// One of the STREAM_LEVEL_ constants. This controls how much data is sent in the webhook event.
	Level StreamLevel
	// Configure a subset of allowed event types (see SEVT_ constants). If the array is empty, all
	// events will be sent
	WhiteListedEventTypes []StreamableEventType
}

WebhookOption defines the configuration of a webhook target. The Comet Server will send a live HTTP POST event to the webhook URL when certain events happen.

type WinSMBAuth

type WinSMBAuth struct {
	// The UNC path for the Windows network share (SMB).
	SharePath string
	// The username to log in to the Windows network share (SMB).
	Username string
	// The password might be hashed. To set this in cleartext, set PasswordFormat to 0
	// (PASSWORD_FORMAT_PLAINTEXT).
	Password string
	// The hash algorithm that is used for the Password field. It is one of the PASSWORD_FORMAT_
	// constants.
	PasswordFormat uint64
}

type WindowsCodeSignProperties

type WindowsCodeSignProperties struct {
	// One of the WINDOWSCODESIGN_METHOD_ constants
	WindowsCodeSignMethod         WindowsCodesignMethod
	WindowsCodeSignPKCS12FilePath string
	// One of the ENCRYPTIONMETHOD_ constants
	WindowsCodeSignPKCS12PasswordFormat uint64
	WindowsCodeSignPKCS12Password       string
	WindowsCodeSignPKCS11Engine         string
	WindowsCodeSignPKCS11Module         string
	// This field was deprecated between 23.3.0 and 23.6.x, but is now used again.
	WindowsCodeSignPKCS11Certfile string
	WindowsCodeSignPKCS11KeyID    string
	// One of the ENCRYPTIONMETHOD_ constants
	WindowsCodeSignPKCS11PasswordFormat uint64
	WindowsCodeSignPKCS11Password       string
	WindowsCodeSignAzureVaultName       string
	WindowsCodeSignAzureCertName        string
	WindowsCodeSignAzureAppID           string
	// One of the ENCRYPTIONMETHOD_ constants
	WindowsCodeSignAzureAppSecretFormat uint64
	WindowsCodeSignAzureAppSecret       string
	WindowsCodeSignAzureTenantID        string
}

type WindowsCodesignMethod added in v1.4.0

type WindowsCodesignMethod int
const WINDOWSCODESIGN_METHOD_AUTO WindowsCodesignMethod = 0

WindowsCodesignMethod: When upgrading from a version of Comet Server prior to 23.3.0, this option will be automatically converted to a more specific type. Deprecated: This const has been deprecated since Comet version 23.3.0

const WINDOWSCODESIGN_METHOD_AZUREKEYVAULT WindowsCodesignMethod = 4

WindowsCodesignMethod: Use a configured Azure Key Vault for Authenticode codesigning

const WINDOWSCODESIGN_METHOD_DISABLED WindowsCodesignMethod = 1

WindowsCodesignMethod: Do not perform Authenticode codesigning

const WINDOWSCODESIGN_METHOD_PKCS11HSM WindowsCodesignMethod = 3

WindowsCodesignMethod: Use a configured PKCS#11 hardware security module (HSM) for Authenticode codesigning

const WINDOWSCODESIGN_METHOD_PKCS12FILE WindowsCodesignMethod = 2

WindowsCodesignMethod: Use a configured PKCS#12 key file for Authenticode codesigning

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL