generictype

package
v1.58.0 Latest Latest
Warning

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

Go to latest
Published: May 30, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var IngestDataSources = struct {
	Businessevents IngestDataSource
	Entities       IngestDataSource
	Events         IngestDataSource
	Logs           IngestDataSource
	Metrics        IngestDataSource
	Spans          IngestDataSource
	Topology       IngestDataSource
}{
	"Business Events",
	"Entities",
	"Events",
	"Logs",
	"Metrics",
	"Spans",
	"Topology",
}

Functions

This section is empty.

Types

type AttributeEntries

type AttributeEntries []*AttributeEntry

func (AttributeEntries) MarshalHCL

func (me AttributeEntries) MarshalHCL(properties hcl.Properties) error

func (*AttributeEntries) Schema

func (me *AttributeEntries) Schema() map[string]*schema.Schema

func (*AttributeEntries) UnmarshalHCL

func (me *AttributeEntries) UnmarshalHCL(decoder hcl.Decoder) error

type AttributeEntry

type AttributeEntry struct {
	DisplayName *string `json:"displayName,omitempty"` // The human readable attribute name for this extraction rule. Leave blank to use the key as the display name.
	Key         string  `json:"key"`                   // The attribute key is the unique name of the attribute.
	Pattern     string  `json:"pattern"`               // Pattern for specifying the value for the extracted attribute. Can be a static value, placeholders or a combination of both.
}

Attribute entry. Describe how an attribute is extracted from ingest data.

func (*AttributeEntry) MarshalHCL

func (me *AttributeEntry) MarshalHCL(properties hcl.Properties) error

func (*AttributeEntry) Schema

func (me *AttributeEntry) Schema() map[string]*schema.Schema

func (*AttributeEntry) UnmarshalHCL

func (me *AttributeEntry) UnmarshalHCL(decoder hcl.Decoder) error

type DimensionFilter

type DimensionFilter struct {
	Key          string  `json:"key"`                    // A dimension key which needs to exist in the ingest data to match this filter.
	ValuePattern *string `json:"valuePattern,omitempty"` // A dimension value pattern which needs to exist in the ingest data to match this filter.
}

Ingest dimension filter. A dimension describes a property key which is present in the ingest data.

func (*DimensionFilter) MarshalHCL

func (me *DimensionFilter) MarshalHCL(properties hcl.Properties) error

func (*DimensionFilter) Schema

func (me *DimensionFilter) Schema() map[string]*schema.Schema

func (*DimensionFilter) UnmarshalHCL

func (me *DimensionFilter) UnmarshalHCL(decoder hcl.Decoder) error

type DimensionFilters

type DimensionFilters []*DimensionFilter

func (DimensionFilters) MarshalHCL

func (me DimensionFilters) MarshalHCL(properties hcl.Properties) error

func (*DimensionFilters) Schema

func (me *DimensionFilters) Schema() map[string]*schema.Schema

func (*DimensionFilters) UnmarshalHCL

func (me *DimensionFilters) UnmarshalHCL(decoder hcl.Decoder) error

type ExtractionRule

type ExtractionRule struct {
	Attributes          AttributeEntries `json:"attributes,omitempty"`          // All attribute extraction rules will be applied and found attributes will be added to the extracted type.
	IconPattern         *string          `json:"iconPattern,omitempty"`         // Define a pattern which is used to set the icon attribute of the entity. The extracted values must reference barista icon ids. You may define placeholders referencing data source dimensions.
	IdPattern           string           `json:"idPattern"`                     // ID patterns are comprised of static text and placeholders referring to dimensions in the ingest data. An ID pattern **must** contain at least one placeholder to ensure that different entities will be created.. Take care that the pattern results in the same ID for the same entity. For example, using timestamp or counter-like dimensions as part of the ID would lead to the creation of new entities for each ingest data and is strongly discouraged!\n\nEach dimension key referred to by an identifier placeholder must be present in order to extract an entity. If any dimension key referred to in the identifier is missing, the rule will not be considered for evaluation. If you have cases where you still want to extract the same entity type but have differently named keys, consider creating multiple rules extracting the same entity type. In this case take care that each ID pattern evaluates to the same value if the same entity should be extracted.
	InstanceNamePattern *string          `json:"instanceNamePattern,omitempty"` // Define a pattern which is used to set the name attribute of the entity. You may define placeholders referencing data source dimensions.
	RequiredDimensions  DimensionFilters `json:"requiredDimensions,omitempty"`  // In addition to the dimensions already referred to in the ID pattern, you may specify additional dimensions which must be present in order to evaluate this rule.
	Role                *string          `json:"role,omitempty"`                // If you want to extract multiple entities of the same type from a single ingest line you need to define multiple rules with different roles.
	Sources             SourceFilters    `json:"sources"`                       // Specify all sources which should be evaluated for this rule. A rule is evaluated if any of the specified source filters match.
}

Entity extraction rule. An extraction rule defines which sources are evaluated for extracting an entity. If a source matches the specified filters, an entity is extracted.

func (*ExtractionRule) MarshalHCL

func (me *ExtractionRule) MarshalHCL(properties hcl.Properties) error

func (*ExtractionRule) Schema

func (me *ExtractionRule) Schema() map[string]*schema.Schema

func (*ExtractionRule) UnmarshalHCL

func (me *ExtractionRule) UnmarshalHCL(decoder hcl.Decoder) error

type ExtractionRules

type ExtractionRules []*ExtractionRule

func (ExtractionRules) MarshalHCL

func (me ExtractionRules) MarshalHCL(properties hcl.Properties) error

func (*ExtractionRules) Schema

func (me *ExtractionRules) Schema() map[string]*schema.Schema

func (*ExtractionRules) UnmarshalHCL

func (me *ExtractionRules) UnmarshalHCL(decoder hcl.Decoder) error

type IngestDataSource

type IngestDataSource string

type Settings

type Settings struct {
	CreatedBy   string          `json:"createdBy"`   // The user or extension that created this type.
	DisplayName string          `json:"displayName"` // The human readable type name for this entity type.
	Enabled     bool            `json:"enabled"`     // This setting is enabled (`true`) or disabled (`false`)
	Name        string          `json:"name"`        // The entity type name. This type name must be unique and must not be changed after creation.
	Rules       ExtractionRules `json:"rules"`       // Specify a list of rules which are evaluated in order. When **any** rule matches, the entity defined according to that rule will be extracted. Subsequent rules will not be evaluated.
	InsertAfter string          `json:"-"`
}

func (*Settings) MarshalHCL

func (me *Settings) MarshalHCL(properties hcl.Properties) error

func (*Settings) Schema

func (me *Settings) Schema() map[string]*schema.Schema

func (*Settings) UnmarshalHCL

func (me *Settings) UnmarshalHCL(decoder hcl.Decoder) error

type SourceFilter

type SourceFilter struct {
	Condition  *string          `json:"condition,omitempty"` // Specify a filter that needs to match in order for the extraction to happen.. Three different filters are supported: `$eq(value)` will ensure that the source matches exactly 'value', `$prefix(value)` will ensure that the source begins with exactly 'value', '$exists()' will ensure that any source with matching dimension filter exists.\nIf your value contains the characters '(', ')' or '\\~', you need to escape them by adding a '\\~' in front of them.
	SourceType IngestDataSource `json:"sourceType"`          // Possible Values: `BusinessEvents`, `Entities`, `Events`, `Logs`, `Metrics`, `Spans`, `Topology`
}

Ingest source filter. The source filter is matched against the source of the ingest data. This way a subset of a specified data source can be used for creating the type.

func (*SourceFilter) HandlePreconditions added in v1.33.0

func (me *SourceFilter) HandlePreconditions() error

func (*SourceFilter) MarshalHCL

func (me *SourceFilter) MarshalHCL(properties hcl.Properties) error

func (*SourceFilter) Schema

func (me *SourceFilter) Schema() map[string]*schema.Schema

func (*SourceFilter) UnmarshalHCL

func (me *SourceFilter) UnmarshalHCL(decoder hcl.Decoder) error

type SourceFilters

type SourceFilters []*SourceFilter

func (SourceFilters) MarshalHCL

func (me SourceFilters) MarshalHCL(properties hcl.Properties) error

func (*SourceFilters) Schema

func (me *SourceFilters) Schema() map[string]*schema.Schema

func (*SourceFilters) UnmarshalHCL

func (me *SourceFilters) UnmarshalHCL(decoder hcl.Decoder) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL