profile

package
v1.52.0 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var EventFilterTypes = struct {
	Predefined EventFilterType
	Custom     EventFilterType
}{
	EventFilterType("PREDEFINED"),
	EventFilterType("CUSTOM"),
}
View Source
var EventTypes = struct {
	AWSCPUSaturation                        EventType
	CPUSaturation                           EventType
	ELBHighBackendErrorRate                 EventType
	ConnectivityProblem                     EventType
	CustomAppCrashRateIncrease              EventType
	CustomAppErrorRateIncrease              EventType
	CustomAppSlowdown                       EventType
	CustomAppUnexpectedLowLoad              EventType
	CustomAppUnexpectedHighLoad             EventType
	DataCenterServicePerformanceDegredation EventType
	DataCenterServiceUnvailable             EventType
	ESXiGuestCPUSaturation                  EventType
	ESXiGuestMemorySaturation               EventType
	ESXiHostCPUSaturation                   EventType
	ESXiHostMemorySaturation                EventType
}{
	EventType("EC2_HIGH_CPU"),
	EventType("OSI_HIGH_CPU"),
	EventType("ELB_HIGH_BACKEND_ERROR_RATE"),
	EventType("PROCESS_NA_HIGH_CONN_FAIL_RATE"),
	EventType("CUSTOM_APP_CRASH_RATE_INCREASED"),
	EventType("CUSTOM_APPLICATION_ERROR_RATE_INCREASED"),
	EventType("CUSTOM_APPLICATION_SLOWDOWN"),
	EventType("CUSTOM_APPLICATION_UNEXPECTED_LOW_LOAD"),
	EventType("CUSTOM_APPLICATION_UNEXPECTED_HIGH_LOAD"),
	EventType("DCRUM_SVC_PERFORMANCE_DEGRADATION"),
	EventType("DCRUM_SVC_LOW_AVAILABILITY"),
	EventType("ESXI_GUEST_CPU_LIMIT_REACHED"),
	EventType("ESXI_GUEST_ACTIVE_SWAP_WAIT"),
	EventType("ESXI_HOST_CPU_SATURATION"),
	EventType("ESXI_HOST_MEMORY_SATURATION"),
}
View Source
var Operators = struct {
	BeginsWith   Operator
	EndsWith     Operator
	Contains     Operator
	RegexMatches Operator
	StringEquals Operator
}{
	Operator("BEGINS_WITH"),
	Operator("ENDS_WITH"),
	Operator("CONTAINS"),
	Operator("REGEX_MATCHES"),
	Operator("STRING_EQUALS"),
}
View Source
var SeverityLevels = struct {
	Availability          SeverityLevel
	Custom                SeverityLevel
	Error                 SeverityLevel
	MonitoringUnavailable SeverityLevel
	Slowdown              SeverityLevel
	Resource              SeverityLevel
}{
	SeverityLevel("AVAILABILITY"),
	SeverityLevel("CUSTOM_ALERT"),
	SeverityLevel("ERRORS"),
	SeverityLevel("MONITORING_UNAVAILABLE"),
	SeverityLevel("PERFORMANCE"),
	SeverityLevel("RESOURCE_CONTENTION"),
}
View Source
var TagFilterIncludeModes = struct {
	None       TagFilterIncludeMode
	IncludeAny TagFilterIncludeMode
	IncludeAll TagFilterIncludeMode
}{
	TagFilterIncludeMode("NONE"),
	TagFilterIncludeMode("INCLUDE_ANY"),
	TagFilterIncludeMode("INCLUDE_ALL"),
}

Functions

This section is empty.

Types

type CustomEventFilter

type CustomEventFilter struct {
	Title          *TextFilter     `json:"titleFilter,omitempty"`       // Title filter
	Description    *TextFilter     `json:"descriptionFilter,omitempty"` // Description filter
	MetadataFilter *MetadataFilter `json:"metadataFilter,omitempty"`    // Property filters
}

func (*CustomEventFilter) MarshalHCL

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

func (*CustomEventFilter) Schema

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

func (*CustomEventFilter) UnmarshalHCL

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

type EventFilter

type EventFilter struct {
	Type       EventFilterType        `json:"type"`             // The type of event to filter by
	Predefined *PredefinedEventFilter `json:"predefinedFilter"` // The predefined filter. Only valid if `type` is `PREDEFINED`
	Custom     *CustomEventFilter     `json:"customFilter"`     // The custom filter. Only valid if `type` is `CUSTOM`
}

func (*EventFilter) MarshalHCL

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

func (*EventFilter) Schema

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

func (*EventFilter) UnmarshalHCL

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

type EventFilterType

type EventFilterType string

type EventFilters

type EventFilters []*EventFilter

func (EventFilters) MarshalHCL

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

func (*EventFilters) Schema

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

func (*EventFilters) UnmarshalHCL

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

type EventType

type EventType string

type MetadataFilter

type MetadataFilter struct {
	MetadataFilterItems MetadataFilterItems `json:"metadataFilterItems"` // Define filters for event properties. A maximum of 20 properties is allowed.
}

func (*MetadataFilter) MarshalHCL

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

func (*MetadataFilter) Schema

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

func (*MetadataFilter) UnmarshalHCL

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

type MetadataFilterItem

type MetadataFilterItem struct {
	MetadataKey   string `json:"metadataKey"`   // GET /api/v2/eventProperties for list of available keys
	MetadataValue string `json:"metadataValue"` // Value
	Negate        bool   `json:"negate"`
}

func (*MetadataFilterItem) MarshalHCL

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

func (*MetadataFilterItem) Schema

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

func (*MetadataFilterItem) UnmarshalHCL

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

type MetadataFilterItems

type MetadataFilterItems []*MetadataFilterItem

func (MetadataFilterItems) MarshalHCL

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

func (*MetadataFilterItems) Schema

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

func (*MetadataFilterItems) UnmarshalHCL

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

type Operator

type Operator string

type PredefinedEventFilter

type PredefinedEventFilter struct {
	EventType EventType `json:"eventType"` // Filter problems by a Dynatrace event type
	Negate    bool      `json:"negate"`    // Negate the given event type
}

func (*PredefinedEventFilter) MarshalHCL

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

func (*PredefinedEventFilter) Schema

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

func (*PredefinedEventFilter) UnmarshalHCL

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

type Profile

type Profile struct {
	ID             string        `json:"-"`
	Name           string        `json:"name"`                   // The name of the Alerting Profile
	ManagementZone *string       `json:"managementZone"`         // Entities which are part of the configured management zones will match this alerting profile. It is recommended to use manual tags instead.
	SeverityRules  SeverityRules `json:"severityRules"`          // Define severity rules for profile. A maximum of 100 severity rules is allowed.
	EventFilters   EventFilters  `json:"eventFilters,omitempty"` // Define event filters for profile. A maximum of 100 event filters is allowed.
	LegacyID       *string       `json:"-"`
}

Profile represents an Alerting Profile in Dynatrace

func (*Profile) EnsurePredictableOrder

func (me *Profile) EnsurePredictableOrder()

EnsurePredictableOrder is currently an inconvenient necessity. The REST API does not guarantee to deliever the Severity Rules for an Alerting Profile in a predictable order. Terraform does however insist on the same order every time. Therefore the the Severity Rules are getting ordered based on their JSON representation, before any HCL code is getting produced.

func (*Profile) MarshalHCL

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

MarshalHCL produces HCL structures for Terraform

func (*Profile) Schema

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

Schema provides a map for terraform, containing all the current supported properties

func (*Profile) UnmarshalHCL

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

UnmarshalHCL decodes HCL code and fills this object

type SeverityLevel

type SeverityLevel string

type SeverityRule

type SeverityRule struct {
	SeverityLevel        SeverityLevel        `json:"severityLevel"`        // Problem severity level
	DelayInMinutes       int32                `json:"delayInMinutes"`       // Send a notification if a problem remains open longer than X minutes. Must be between 0 and 10000.
	TagFilterIncludeMode TagFilterIncludeMode `json:"tagFilterIncludeMode"` // Possible values are `NONE`, `INCLUDE_ANY` and `INCLUDE_ALL`
	Tags                 []string             `json:"tagFilter"`            // Entities which contain any/all of the configured tags will match this alerting profile. It is recommended to use manual tags.
}

func (*SeverityRule) MarshalHCL

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

func (*SeverityRule) Schema

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

func (*SeverityRule) UnmarshalHCL

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

type SeverityRules

type SeverityRules []*SeverityRule

func (SeverityRules) MarshalHCL

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

func (*SeverityRules) Schema

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

func (*SeverityRules) UnmarshalHCL

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

type TagFilterIncludeMode

type TagFilterIncludeMode string

type TextFilter

type TextFilter struct {
	Operator      Operator `json:"operator"`      // Operator of the comparison
	Value         string   `json:"value"`         // The value to compare with
	Negate        bool     `json:"negate"`        // Negate the operator
	Enabled       bool     `json:"enabled"`       // Enable this filter
	CaseSensitive bool     `json:"caseSensitive"` // Case Sensitive comparison of text
}

func (*TextFilter) MarshalHCL

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

func (*TextFilter) Schema

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

func (*TextFilter) UnmarshalHCL

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

Jump to

Keyboard shortcuts

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