profile

package
v1.61.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AlertingProfileEventFilterTypes = struct {
	Custom     AlertingProfileEventFilterType
	Predefined AlertingProfileEventFilterType
}{
	"CUSTOM",
	"PREDEFINED",
}
View Source
var ComparisonOperators = struct {
	BeginsWith   ComparisonOperator
	Contains     ComparisonOperator
	EndsWith     ComparisonOperator
	RegexMatches ComparisonOperator
	StringEquals ComparisonOperator
}{
	"BEGINS_WITH",
	"CONTAINS",
	"ENDS_WITH",
	"REGEX_MATCHES",
	"STRING_EQUALS",
}
View Source
var EventTypes = struct {
	ApplicationErrorRateIncreased       EventType
	ApplicationSlowdown                 EventType
	ApplicationUnexpectedHighLoad       EventType
	ApplicationUnexpectedLowLoad        EventType
	AwsLambdaHighErrorRate              EventType
	CustomAppCrashRateIncreased         EventType
	CustomApplicationErrorRateIncreased EventType
	CustomApplicationSlowdown           EventType
	CustomApplicationUnexpectedHighLoad EventType
	CustomApplicationUnexpectedLowLoad  EventType
	DatabaseConnectionFailure           EventType
	EbsVolumeHighLatency                EventType
	Ec2HighCpu                          EventType
	ElbHighBackendErrorRate             EventType
	EsxiGuestActiveSwapWait             EventType
	EsxiGuestCpuLimitReached            EventType
	EsxiHostCpuSaturation               EventType
	EsxiHostDatastoreLowDiskSpace       EventType
	EsxiHostDiskQueueSlow               EventType
	EsxiHostDiskSlow                    EventType
	EsxiHostMemorySaturation            EventType
	EsxiHostNetworkProblems             EventType
	EsxiHostOverloadedStorage           EventType
	EsxiVmImpactHostCpuSaturation       EventType
	EsxiVmImpactHostMemorySaturation    EventType
	ExternalSyntheticTestOutage         EventType
	ExternalSyntheticTestSlowdown       EventType
	HostOfServiceUnavailable            EventType
	HttpCheckGlobalOutage               EventType
	HttpCheckLocalOutage                EventType
	HttpCheckTestLocationSlowdown       EventType
	MobileAppCrashRateIncreased         EventType
	MobileApplicationErrorRateIncreased EventType
	MobileApplicationSlowdown           EventType
	MobileApplicationUnexpectedHighLoad EventType
	MobileApplicationUnexpectedLowLoad  EventType
	MonitoringUnavailable               EventType
	MultiProtocolGlobalOutage           EventType
	MultiProtocolLocalOutage            EventType
	MultiProtocolLocationSlowdown       EventType
	OsiDiskLowInodes                    EventType
	OsiGracefullyShutdown               EventType
	OsiHighCpu                          EventType
	OsiHighMemory                       EventType
	OsiLowDiskSpace                     EventType
	OsiNicDroppedPacketsHigh            EventType
	OsiNicErrorsHigh                    EventType
	OsiNicUtilizationHigh               EventType
	OsiSlowDisk                         EventType
	OsiUnexpectedlyUnavailable          EventType
	PgLowInstanceCount                  EventType
	PgiOfServiceUnavailable             EventType
	PgiUnavailable                      EventType
	ProcessCrashed                      EventType
	ProcessHighGcActivity               EventType
	ProcessMemoryResourceExhausted      EventType
	ProcessNaHighConnFailRate           EventType
	ProcessNaHighLossRate               EventType
	ProcessThreadsResourceExhausted     EventType
	RdsHighCpu                          EventType
	RdsHighLatency                      EventType
	RdsLowMemory                        EventType
	RdsLowStorageSpace                  EventType
	RdsOfServiceUnavailable             EventType
	RdsRestartSequence                  EventType
	ServiceErrorRateIncreased           EventType
	ServiceSlowdown                     EventType
	ServiceUnexpectedHighLoad           EventType
	ServiceUnexpectedLowLoad            EventType
	SyntheticGlobalOutage               EventType
	SyntheticLocalOutage                EventType
	SyntheticNodeOutage                 EventType
	SyntheticPrivateLocationOutage      EventType
	SyntheticTestLocationSlowdown       EventType
}{
	"APPLICATION_ERROR_RATE_INCREASED",
	"APPLICATION_SLOWDOWN",
	"APPLICATION_UNEXPECTED_HIGH_LOAD",
	"APPLICATION_UNEXPECTED_LOW_LOAD",
	"AWS_LAMBDA_HIGH_ERROR_RATE",
	"CUSTOM_APP_CRASH_RATE_INCREASED",
	"CUSTOM_APPLICATION_ERROR_RATE_INCREASED",
	"CUSTOM_APPLICATION_SLOWDOWN",
	"CUSTOM_APPLICATION_UNEXPECTED_HIGH_LOAD",
	"CUSTOM_APPLICATION_UNEXPECTED_LOW_LOAD",
	"DATABASE_CONNECTION_FAILURE",
	"EBS_VOLUME_HIGH_LATENCY",
	"EC2_HIGH_CPU",
	"ELB_HIGH_BACKEND_ERROR_RATE",
	"ESXI_GUEST_ACTIVE_SWAP_WAIT",
	"ESXI_GUEST_CPU_LIMIT_REACHED",
	"ESXI_HOST_CPU_SATURATION",
	"ESXI_HOST_DATASTORE_LOW_DISK_SPACE",
	"ESXI_HOST_DISK_QUEUE_SLOW",
	"ESXI_HOST_DISK_SLOW",
	"ESXI_HOST_MEMORY_SATURATION",
	"ESXI_HOST_NETWORK_PROBLEMS",
	"ESXI_HOST_OVERLOADED_STORAGE",
	"ESXI_VM_IMPACT_HOST_CPU_SATURATION",
	"ESXI_VM_IMPACT_HOST_MEMORY_SATURATION",
	"EXTERNAL_SYNTHETIC_TEST_OUTAGE",
	"EXTERNAL_SYNTHETIC_TEST_SLOWDOWN",
	"HOST_OF_SERVICE_UNAVAILABLE",
	"HTTP_CHECK_GLOBAL_OUTAGE",
	"HTTP_CHECK_LOCAL_OUTAGE",
	"HTTP_CHECK_TEST_LOCATION_SLOWDOWN",
	"MOBILE_APP_CRASH_RATE_INCREASED",
	"MOBILE_APPLICATION_ERROR_RATE_INCREASED",
	"MOBILE_APPLICATION_SLOWDOWN",
	"MOBILE_APPLICATION_UNEXPECTED_HIGH_LOAD",
	"MOBILE_APPLICATION_UNEXPECTED_LOW_LOAD",
	"MONITORING_UNAVAILABLE",
	"MULTI_PROTOCOL_GLOBAL_OUTAGE",
	"MULTI_PROTOCOL_LOCAL_OUTAGE",
	"MULTI_PROTOCOL_LOCATION_SLOWDOWN",
	"OSI_DISK_LOW_INODES",
	"OSI_GRACEFULLY_SHUTDOWN",
	"OSI_HIGH_CPU",
	"OSI_HIGH_MEMORY",
	"OSI_LOW_DISK_SPACE",
	"OSI_NIC_DROPPED_PACKETS_HIGH",
	"OSI_NIC_ERRORS_HIGH",
	"OSI_NIC_UTILIZATION_HIGH",
	"OSI_SLOW_DISK",
	"OSI_UNEXPECTEDLY_UNAVAILABLE",
	"PG_LOW_INSTANCE_COUNT",
	"PGI_OF_SERVICE_UNAVAILABLE",
	"PGI_UNAVAILABLE",
	"PROCESS_CRASHED",
	"PROCESS_HIGH_GC_ACTIVITY",
	"PROCESS_MEMORY_RESOURCE_EXHAUSTED",
	"PROCESS_NA_HIGH_CONN_FAIL_RATE",
	"PROCESS_NA_HIGH_LOSS_RATE",
	"PROCESS_THREADS_RESOURCE_EXHAUSTED",
	"RDS_HIGH_CPU",
	"RDS_HIGH_LATENCY",
	"RDS_LOW_MEMORY",
	"RDS_LOW_STORAGE_SPACE",
	"RDS_OF_SERVICE_UNAVAILABLE",
	"RDS_RESTART_SEQUENCE",
	"SERVICE_ERROR_RATE_INCREASED",
	"SERVICE_SLOWDOWN",
	"SERVICE_UNEXPECTED_HIGH_LOAD",
	"SERVICE_UNEXPECTED_LOW_LOAD",
	"SYNTHETIC_GLOBAL_OUTAGE",
	"SYNTHETIC_LOCAL_OUTAGE",
	"SYNTHETIC_NODE_OUTAGE",
	"SYNTHETIC_PRIVATE_LOCATION_OUTAGE",
	"SYNTHETIC_TEST_LOCATION_SLOWDOWN",
}
View Source
var SeverityLevels = struct {
	Availability          SeverityLevel
	CustomAlert           SeverityLevel
	Errors                SeverityLevel
	MonitoringUnavailable SeverityLevel
	Performance           SeverityLevel
	ResourceContention    SeverityLevel
}{
	"AVAILABILITY",
	"CUSTOM_ALERT",
	"ERRORS",
	"MONITORING_UNAVAILABLE",
	"PERFORMANCE",
	"RESOURCE_CONTENTION",
}
View Source
var TagFilterIncludeModes = struct {
	IncludeAll TagFilterIncludeMode
	IncludeAny TagFilterIncludeMode
	None       TagFilterIncludeMode
}{
	"INCLUDE_ALL",
	"INCLUDE_ANY",
	"NONE",
}

Functions

This section is empty.

Types

type AlertingProfileEventFilterType added in v1.59.1

type AlertingProfileEventFilterType string

type ComparisonOperator added in v1.59.1

type ComparisonOperator string

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       AlertingProfileEventFilterType `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 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 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      ComparisonOperator `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