Documentation
¶
Index ¶
Constants ¶
View Source
const ( DefaultThdWarnMinPerImport = 30 * time.Minute DefaultThdCritMinPerImport = 60 * time.Minute BulkMaxSize = 1000 )
Variables ¶
View Source
var ErrNotFound = errors.New("not found")
View Source
var ErrNotImplemented = errors.New("not implemented")
Functions ¶
This section is empty.
Types ¶
type API ¶
func NewApi ¶
func NewApi( conf config.CanopsisConf, jobQueue JobQueue, reporter StatusReporter, logger zerolog.Logger, ) API
type ConfigurationItem ¶
type ConfigurationItem struct { ID string `json:"_id" bson:"-"` Name *string `json:"name" bson:"name,omitempty"` Depends []string `json:"-" bson:"depends"` Impact []string `json:"-" bson:"impact"` EnableHistory []string `json:"-" bson:"enable_history"` Measurements []interface{} `json:"measurements" bson:"measurements"` EntityPatterns *pattern.EntityPatternList `bson:"entity_patterns,omitempty" json:"entity_patterns"` OutputTemplate *string `bson:"output_template,omitempty" json:"output_template"` Infos map[string]interface{} `json:"infos" bson:"infos"` Type *string `json:"type" bson:"type,omitempty"` Category *string `json:"category" bson:"category,omitempty"` ImpactLevel *int64 `json:"impact_level" bson:"impact_level,omitempty"` Enabled *bool `json:"enabled" bson:"enabled,omitempty"` Action string `json:"action" bson:"-"` ActionProperties interface{} `json:"action_properties" bson:"-"` }
type EventPublisher ¶
type EventPublisher interface { SendImportResultEvent(uuid string, execTime time.Duration, state types.CpsNumber) error SendPerfDataEvent(uuid string, stats JobStats, state types.CpsNumber) error SendUpdateEntityServiceEvent(serviceId string) error }
func NewRMQPublisher ¶
func NewRMQPublisher( encoder encoding.Encoder, amqpPublisher libamqp.Publisher, ) EventPublisher
type ImportResponse ¶
type ImportResponse struct {
ID string `json:"_id"`
}
type ImportWorker ¶
func NewImportWorker ¶
func NewImportWorker( conf config.CanopsisConf, dbClient libmongo.DbClient, publisher EventPublisher, reporter StatusReporter, queue JobQueue, logger zerolog.Logger, ) ImportWorker
type JobQueue ¶
func NewJobQueue ¶
func NewJobQueue() JobQueue
type Request ¶
type Request struct { Json struct { Cis []ConfigurationItem `json:"cis"` Links []Link `json:"links"` } `json:"json"` }
for swagger
type StatusReporter ¶
type StatusReporter interface { GetStatus(id string) (ImportJob, error) ReportCreate(job *ImportJob) error ReportOngoing(job ImportJob) error ReportDone(job ImportJob, stats JobStats) error ReportError(job ImportJob, execDuration time.Duration, err error) error }
func NewMongoStatusReporter ¶
func NewMongoStatusReporter(client libmongo.DbClient) StatusReporter
Click to show internal directories.
Click to hide internal directories.