Documentation
¶
Overview ¶
Instantiates an anomaly detection job.
Index ¶
- Variables
- type NewPutJob
- type PutJob
- func (r PutJob) Do(ctx context.Context) (*http.Response, error)
- func (r *PutJob) Header(key, value string) *PutJob
- func (r *PutJob) HttpRequest(ctx context.Context) (*http.Request, error)
- func (r *PutJob) JobId(v string) *PutJob
- func (r *PutJob) Raw(raw json.RawMessage) *PutJob
- func (r *PutJob) Request(req *Request) *PutJob
- type Request
- type RequestBuilder
- func (rb *RequestBuilder) AllowLazyOpen(allowlazyopen bool) *RequestBuilder
- func (rb *RequestBuilder) AnalysisConfig(analysisconfig *types.AnalysisConfigBuilder) *RequestBuilder
- func (rb *RequestBuilder) AnalysisLimits(analysislimits *types.AnalysisLimitsBuilder) *RequestBuilder
- func (rb *RequestBuilder) BackgroundPersistInterval(backgroundpersistinterval *types.DurationBuilder) *RequestBuilder
- func (rb *RequestBuilder) Build() *Request
- func (rb *RequestBuilder) CustomSettings(customsettings *types.CustomSettingsBuilder) *RequestBuilder
- func (rb *RequestBuilder) DailyModelSnapshotRetentionAfterDays(dailymodelsnapshotretentionafterdays int64) *RequestBuilder
- func (rb *RequestBuilder) DataDescription(datadescription *types.DataDescriptionBuilder) *RequestBuilder
- func (rb *RequestBuilder) DatafeedConfig(datafeedconfig *types.DatafeedConfigBuilder) *RequestBuilder
- func (rb *RequestBuilder) Description(description string) *RequestBuilder
- func (rb *RequestBuilder) FromJSON(data string) (*Request, error)
- func (rb *RequestBuilder) Groups(groups ...string) *RequestBuilder
- func (rb *RequestBuilder) ModelPlotConfig(modelplotconfig *types.ModelPlotConfigBuilder) *RequestBuilder
- func (rb *RequestBuilder) ModelSnapshotRetentionDays(modelsnapshotretentiondays int64) *RequestBuilder
- func (rb *RequestBuilder) RenormalizationWindowDays(renormalizationwindowdays int64) *RequestBuilder
- func (rb *RequestBuilder) ResultsIndexName(resultsindexname types.IndexName) *RequestBuilder
- func (rb *RequestBuilder) ResultsRetentionDays(resultsretentiondays int64) *RequestBuilder
Constants ¶
This section is empty.
Variables ¶
var ErrBuildPath = errors.New("cannot build path, check for missing path parameters")
ErrBuildPath is returned in case of missing parameters within the build of the request.
Functions ¶
This section is empty.
Types ¶
type NewPutJob ¶
NewPutJob type alias for index.
func NewPutJobFunc ¶
func NewPutJobFunc(tp elastictransport.Interface) NewPutJob
NewPutJobFunc returns a new instance of PutJob with the provided transport. Used in the index of the library this allows to retrieve every apis in once place.
type PutJob ¶
type PutJob struct {
// contains filtered or unexported fields
}
func New ¶
func New(tp elastictransport.Interface) *PutJob
Instantiates an anomaly detection job.
https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-job.html
func (*PutJob) HttpRequest ¶
HttpRequest returns the http.Request object built from the given parameters.
func (*PutJob) JobId ¶
JobId The identifier for the anomaly detection job. This identifier can contain lowercase alphanumeric characters (a-z and 0-9), hyphens, and underscores. It must start and end with alphanumeric characters. API Name: jobid
type Request ¶
type Request struct {
// AllowLazyOpen Advanced configuration option. Specifies whether this job can open when there
// is insufficient machine learning node capacity for it to be immediately
// assigned to a node. By default, if a machine learning node with capacity to
// run the job cannot immediately be found, the open anomaly detection jobs API
// returns an error. However, this is also subject to the cluster-wide
// `xpack.ml.max_lazy_ml_nodes` setting. If this option is set to true, the open
// anomaly detection jobs API does not return an error and the job waits in the
// opening state until sufficient machine learning node capacity is available.
AllowLazyOpen *bool `json:"allow_lazy_open,omitempty"`
// AnalysisConfig Specifies how to analyze the data. After you create a job, you cannot change
// the analysis configuration; all the properties are informational.
AnalysisConfig types.AnalysisConfig `json:"analysis_config"`
// AnalysisLimits Limits can be applied for the resources required to hold the mathematical
// models in memory. These limits are approximate and can be set per job. They
// do not control the memory used by other processes, for example the
// Elasticsearch Java processes.
AnalysisLimits *types.AnalysisLimits `json:"analysis_limits,omitempty"`
// BackgroundPersistInterval Advanced configuration option. The time between each periodic persistence of
// the model. The default value is a randomized value between 3 to 4 hours,
// which avoids all jobs persisting at exactly the same time. The smallest
// allowed value is 1 hour. For very large models (several GB), persistence
// could take 10-20 minutes, so do not set the `background_persist_interval`
// value too low.
BackgroundPersistInterval *types.Duration `json:"background_persist_interval,omitempty"`
// CustomSettings Advanced configuration option. Contains custom meta data about the job.
CustomSettings *types.CustomSettings `json:"custom_settings,omitempty"`
// DailyModelSnapshotRetentionAfterDays Advanced configuration option, which affects the automatic removal of old
// model snapshots for this job. It specifies a period of time (in days) after
// which only the first snapshot per day is retained. This period is relative to
// the timestamp of the most recent snapshot for this job. Valid values range
// from 0 to `model_snapshot_retention_days`.
DailyModelSnapshotRetentionAfterDays *int64 `json:"daily_model_snapshot_retention_after_days,omitempty"`
// DataDescription Defines the format of the input data when you send data to the job by using
// the post data API. Note that when configure a datafeed, these properties are
// automatically set. When data is received via the post data API, it is not
// stored in Elasticsearch. Only the results for anomaly detection are retained.
DataDescription types.DataDescription `json:"data_description"`
// DatafeedConfig Defines a datafeed for the anomaly detection job. If Elasticsearch security
// features are enabled, your datafeed remembers which roles the user who
// created it had at the time of creation and runs the query using those same
// roles. If you provide secondary authorization headers, those credentials are
// used instead.
DatafeedConfig *types.DatafeedConfig `json:"datafeed_config,omitempty"`
// Description A description of the job.
Description *string `json:"description,omitempty"`
// Groups A list of job groups. A job can belong to no groups or many.
Groups []string `json:"groups,omitempty"`
// ModelPlotConfig This advanced configuration option stores model information along with the
// results. It provides a more detailed view into anomaly detection. If you
// enable model plot it can add considerable overhead to the performance of the
// system; it is not feasible for jobs with many entities. Model plot provides a
// simplified and indicative view of the model and its bounds. It does not
// display complex features such as multivariate correlations or multimodal
// data. As such, anomalies may occasionally be reported which cannot be seen in
// the model plot. Model plot config can be configured when the job is created
// or updated later. It must be disabled if performance issues are experienced.
ModelPlotConfig *types.ModelPlotConfig `json:"model_plot_config,omitempty"`
// ModelSnapshotRetentionDays Advanced configuration option, which affects the automatic removal of old
// model snapshots for this job. It specifies the maximum period of time (in
// days) that snapshots are retained. This period is relative to the timestamp
// of the most recent snapshot for this job. By default, snapshots ten days
// older than the newest snapshot are deleted.
ModelSnapshotRetentionDays *int64 `json:"model_snapshot_retention_days,omitempty"`
// RenormalizationWindowDays Advanced configuration option. The period over which adjustments to the score
// are applied, as new data is seen. The default value is the longer of 30 days
// or 100 bucket spans.
RenormalizationWindowDays *int64 `json:"renormalization_window_days,omitempty"`
// ResultsIndexName A text string that affects the name of the machine learning results index. By
// default, the job generates an index named `.ml-anomalies-shared`.
ResultsIndexName *types.IndexName `json:"results_index_name,omitempty"`
// ResultsRetentionDays Advanced configuration option. The period of time (in days) that results are
// retained. Age is calculated relative to the timestamp of the latest bucket
// result. If this property has a non-null value, once per day at 00:30 (server
// time), results that are the specified number of days older than the latest
// bucket result are deleted from Elasticsearch. The default value is null,
// which means all results are retained. Annotations generated by the system
// also count as results for retention purposes; they are deleted after the same
// number of days as results. Annotations added by users are retained forever.
ResultsRetentionDays *int64 `json:"results_retention_days,omitempty"`
}
Request holds the request body struct for the package putjob
type RequestBuilder ¶
type RequestBuilder struct {
// contains filtered or unexported fields
}
RequestBuilder is the builder API for the putjob.Request
func NewRequestBuilder ¶
func NewRequestBuilder() *RequestBuilder
NewRequest returns a RequestBuilder which can be chained and built to retrieve a RequestBuilder
func (*RequestBuilder) AllowLazyOpen ¶
func (rb *RequestBuilder) AllowLazyOpen(allowlazyopen bool) *RequestBuilder
func (*RequestBuilder) AnalysisConfig ¶
func (rb *RequestBuilder) AnalysisConfig(analysisconfig *types.AnalysisConfigBuilder) *RequestBuilder
func (*RequestBuilder) AnalysisLimits ¶
func (rb *RequestBuilder) AnalysisLimits(analysislimits *types.AnalysisLimitsBuilder) *RequestBuilder
func (*RequestBuilder) BackgroundPersistInterval ¶
func (rb *RequestBuilder) BackgroundPersistInterval(backgroundpersistinterval *types.DurationBuilder) *RequestBuilder
func (*RequestBuilder) Build ¶
func (rb *RequestBuilder) Build() *Request
Build finalize the chain and returns the Request struct.
func (*RequestBuilder) CustomSettings ¶
func (rb *RequestBuilder) CustomSettings(customsettings *types.CustomSettingsBuilder) *RequestBuilder
func (*RequestBuilder) DailyModelSnapshotRetentionAfterDays ¶
func (rb *RequestBuilder) DailyModelSnapshotRetentionAfterDays(dailymodelsnapshotretentionafterdays int64) *RequestBuilder
func (*RequestBuilder) DataDescription ¶
func (rb *RequestBuilder) DataDescription(datadescription *types.DataDescriptionBuilder) *RequestBuilder
func (*RequestBuilder) DatafeedConfig ¶
func (rb *RequestBuilder) DatafeedConfig(datafeedconfig *types.DatafeedConfigBuilder) *RequestBuilder
func (*RequestBuilder) Description ¶
func (rb *RequestBuilder) Description(description string) *RequestBuilder
func (*RequestBuilder) FromJSON ¶
func (rb *RequestBuilder) FromJSON(data string) (*Request, error)
FromJSON allows to load an arbitrary json into the request structure
func (*RequestBuilder) Groups ¶
func (rb *RequestBuilder) Groups(groups ...string) *RequestBuilder
func (*RequestBuilder) ModelPlotConfig ¶
func (rb *RequestBuilder) ModelPlotConfig(modelplotconfig *types.ModelPlotConfigBuilder) *RequestBuilder
func (*RequestBuilder) ModelSnapshotRetentionDays ¶
func (rb *RequestBuilder) ModelSnapshotRetentionDays(modelsnapshotretentiondays int64) *RequestBuilder
func (*RequestBuilder) RenormalizationWindowDays ¶
func (rb *RequestBuilder) RenormalizationWindowDays(renormalizationwindowdays int64) *RequestBuilder
func (*RequestBuilder) ResultsIndexName ¶
func (rb *RequestBuilder) ResultsIndexName(resultsindexname types.IndexName) *RequestBuilder
func (*RequestBuilder) ResultsRetentionDays ¶
func (rb *RequestBuilder) ResultsRetentionDays(resultsretentiondays int64) *RequestBuilder