Class: DatadogAPIClient::V1::MonitorOptions
- Inherits:
-
Object
- Object
- DatadogAPIClient::V1::MonitorOptions
- Includes:
- BaseGenericModel
- Defined in:
- lib/datadog_api_client/v1/models/monitor_options.rb
Overview
List of options associated with your monitor.
Instance Attribute Summary collapse
-
#_unparsed ⇒ Object
whether the object has unparsed attributes.
-
#additional_properties ⇒ Object
Returns the value of attribute additional_properties.
-
#aggregation ⇒ Object
Type of aggregation performed in the monitor query.
-
#device_ids ⇒ Object
IDs of the device the Synthetics monitor is running on.
-
#enable_logs_sample ⇒ Object
Whether or not to send a log sample when the log monitor triggers.
-
#enable_samples ⇒ Object
Whether or not to send a list of samples when the monitor triggers.
-
#escalation_message ⇒ Object
We recommend using the is_renotify, block in the original message instead.
-
#evaluation_delay ⇒ Object
Time (in seconds) to delay evaluation, as a non-negative integer.
-
#group_retention_duration ⇒ Object
The time span after which groups with missing data are dropped from the monitor state.
-
#groupby_simple_monitor ⇒ Object
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
-
#include_tags ⇒ Object
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
-
#locked ⇒ Object
Whether or not the monitor is locked (only editable by creator and admins).
-
#min_failure_duration ⇒ Object
readonly
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
-
#min_location_failed ⇒ Object
The minimum number of locations in failure at the same time during at least one moment in the
min_failure_duration
period (min_location_failed
andmin_failure_duration
are part of the advanced alerting rules - integer, >= 1). -
#new_group_delay ⇒ Object
Time (in seconds) to skip evaluations for new groups.
-
#new_host_delay ⇒ Object
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results.
-
#no_data_timeframe ⇒ Object
The number of minutes before a monitor notifies after data stops reporting.
-
#notification_preset_name ⇒ Object
Toggles the display of additional content sent in the monitor notification.
-
#notify_audit ⇒ Object
A Boolean indicating whether tagged users is notified on changes to this monitor.
-
#notify_by ⇒ Object
Controls what granularity a monitor alerts on.
-
#notify_no_data ⇒ Object
A Boolean indicating whether this monitor notifies when data stops reporting.
-
#on_missing_data ⇒ Object
Controls how groups or monitors are treated if an evaluation does not return any data points.
-
#renotify_interval ⇒ Object
The number of minutes after the last notification before a monitor re-notifies on the current status.
-
#renotify_occurrences ⇒ Object
The number of times re-notification messages should be sent on the current status at the provided re-notification interval.
-
#renotify_statuses ⇒ Object
The types of monitor statuses for which re-notification messages are sent.
-
#require_full_window ⇒ Object
A Boolean indicating whether this monitor needs a full window of data before it’s evaluated.
-
#scheduling_options ⇒ Object
Configuration options for scheduling.
-
#silenced ⇒ Object
Information about the downtime applied to the monitor.
-
#synthetics_check_id ⇒ Object
ID of the corresponding Synthetic check.
-
#threshold_windows ⇒ Object
Alerting time window options.
-
#thresholds ⇒ Object
List of the different monitor threshold available.
-
#timeout_h ⇒ Object
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
-
#variables ⇒ Object
List of requests that can be used in the monitor query.
Class Method Summary collapse
-
.acceptable_attributes ⇒ Object
Returns all the JSON keys this model knows about.
-
.build_from_hash(attributes) ⇒ Object
Builds the object from hash.
Instance Method Summary collapse
-
#_deserialize(type, value) ⇒ Object
Deserializes the data based on type.
-
#_to_hash(value) ⇒ Hash
Outputs non-array value in the form of hash For object, use to_hash.
-
#build_from_hash(attributes) ⇒ Object
Builds the object from hash.
- #eql?(o) ⇒ Boolean
-
#list_invalid_properties ⇒ Object
Show invalid properties with the reasons.
-
#to_body ⇒ Hash
to_body is an alias to to_hash (backward compatibility).
-
#to_s ⇒ String
Returns the string representation of the object.
Methods included from BaseGenericModel
Instance Attribute Details
#_unparsed ⇒ Object
whether the object has unparsed attributes
23 24 25 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 23 def _unparsed @_unparsed end |
#additional_properties ⇒ Object
Returns the value of attribute additional_properties.
156 157 158 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 156 def additional_properties @additional_properties end |
#aggregation ⇒ Object
Type of aggregation performed in the monitor query.
25 26 27 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 25 def aggregation @aggregation end |
#device_ids ⇒ Object
IDs of the device the Synthetics monitor is running on.
28 29 30 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 28 def device_ids @device_ids end |
#enable_logs_sample ⇒ Object
Whether or not to send a log sample when the log monitor triggers.
31 32 33 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 31 def enable_logs_sample @enable_logs_sample end |
#enable_samples ⇒ Object
Whether or not to send a list of samples when the monitor triggers. This is only used by CI Test and Pipeline monitors.
34 35 36 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 34 def enable_samples @enable_samples end |
#escalation_message ⇒ Object
We recommend using the is_renotify,
block in the original message instead.
A message to include with a re-notification. Supports the @username
notification we allow elsewhere.
Not applicable if renotify_interval
is None
.
34 35 36 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 34 def @escalation_message end |
#evaluation_delay ⇒ Object
Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300
(5min),
the timeframe is set to last_5m
and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
37 38 39 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 37 def evaluation_delay @evaluation_delay end |
#group_retention_duration ⇒ Object
The time span after which groups with missing data are dropped from the monitor state. The minimum value is one hour, and the maximum value is 72 hours. Example values are: "60m", "1h", and "2d". This option is only available for APM Trace Analytics, Audit Trail, CI, Error Tracking, Event, Logs, and RUM monitors.
51 52 53 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 51 def group_retention_duration @group_retention_duration end |
#groupby_simple_monitor ⇒ Object
Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold. Use notify_by
instead.
40 41 42 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 40 def groupby_simple_monitor @groupby_simple_monitor end |
#include_tags ⇒ Object
A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
Examples
- If
True
,[Triggered on {host:h1}] Monitor Title
- If
False
,[Triggered] Monitor Title
43 44 45 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 43 def @include_tags end |
#locked ⇒ Object
Whether or not the monitor is locked (only editable by creator and admins). Use restricted_roles
instead.
46 47 48 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 46 def locked @locked end |
#min_failure_duration ⇒ Object
How long the test should be in failure before alerting (integer, number of seconds, max 7200).
49 50 51 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 49 def min_failure_duration @min_failure_duration end |
#min_location_failed ⇒ Object
The minimum number of locations in failure at the same time during
at least one moment in the min_failure_duration
period (min_location_failed
and min_failure_duration
are part of the advanced alerting rules - integer, >= 1).
52 53 54 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 52 def min_location_failed @min_location_failed end |
#new_group_delay ⇒ Object
Time (in seconds) to skip evaluations for new groups.
For example, this option can be used to skip evaluations for new hosts while they initialize.
Must be a non negative integer.
55 56 57 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 55 def new_group_delay @new_group_delay end |
#new_host_delay ⇒ Object
Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of monitor results. Should be a non negative integer.
Use new_group_delay instead.
58 59 60 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 58 def new_host_delay @new_host_delay end |
#no_data_timeframe ⇒ Object
The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the monitor timeframe for query alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe is used for query alerts, and 24 hours is used for service checks.
61 62 63 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 61 def no_data_timeframe @no_data_timeframe end |
#notification_preset_name ⇒ Object
Toggles the display of additional content sent in the monitor notification.
94 95 96 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 94 def notification_preset_name @notification_preset_name end |
#notify_audit ⇒ Object
A Boolean indicating whether tagged users is notified on changes to this monitor.
64 65 66 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 64 def notify_audit @notify_audit end |
#notify_by ⇒ Object
Controls what granularity a monitor alerts on. Only available for monitors with groupings.
For instance, a monitor grouped by cluster
, namespace
, and pod
can be configured to only notify on each
new cluster
violating the alert conditions by setting notify_by
to ["cluster"]
. Tags mentioned
in notify_by
must be a subset of the grouping tags in the query.
For example, a query grouped by cluster
and namespace
cannot notify on region
.
Setting notify_by
to [*]
configures the monitor to notify as a simple-alert.
105 106 107 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 105 def notify_by @notify_by end |
#notify_no_data ⇒ Object
A Boolean indicating whether this monitor notifies when data stops reporting. Defaults to false
.
67 68 69 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 67 def notify_no_data @notify_no_data end |
#on_missing_data ⇒ Object
Controls how groups or monitors are treated if an evaluation does not return any data points. The default option results in different behavior depending on the monitor query type. For monitors using Count queries, an empty monitor evaluation is treated as 0 and is compared to the threshold conditions. For monitors using any query type other than Count, for example Gauge, Measure, or Rate, the monitor shows the last known status. This option is only available for APM Trace Analytics, Audit Trail, CI, Error Tracking, Event, Logs, and RUM monitors.
115 116 117 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 115 def on_missing_data @on_missing_data end |
#renotify_interval ⇒ Object
The number of minutes after the last notification before a monitor re-notifies on the current status. It only re-notifies if it’s not resolved.
70 71 72 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 70 def renotify_interval @renotify_interval end |
#renotify_occurrences ⇒ Object
The number of times re-notification messages should be sent on the current status at the provided re-notification interval.
73 74 75 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 73 def renotify_occurrences @renotify_occurrences end |
#renotify_statuses ⇒ Object
The types of monitor statuses for which re-notification messages are sent.
Default: null if renotify_interval
is null.
If renotify_interval
is set, defaults to renotify on Alert
and No Data
.
76 77 78 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 76 def renotify_statuses @renotify_statuses end |
#require_full_window ⇒ Object
A Boolean indicating whether this monitor needs a full window of data before it’s evaluated.
We highly recommend you set this to false
for sparse metrics,
otherwise some evaluations are skipped. Default is false. This setting only applies to
metric monitors.
79 80 81 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 79 def require_full_window @require_full_window end |
#scheduling_options ⇒ Object
Configuration options for scheduling.
136 137 138 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 136 def @scheduling_options end |
#silenced ⇒ Object
Information about the downtime applied to the monitor. Only shows v1 downtimes.
82 83 84 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 82 def silenced @silenced end |
#synthetics_check_id ⇒ Object
ID of the corresponding Synthetic check.
85 86 87 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 85 def synthetics_check_id @synthetics_check_id end |
#threshold_windows ⇒ Object
Alerting time window options.
145 146 147 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 145 def threshold_windows @threshold_windows end |
#thresholds ⇒ Object
List of the different monitor threshold available.
148 149 150 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 148 def thresholds @thresholds end |
#timeout_h ⇒ Object
The number of hours of the monitor not reporting data before it automatically resolves from a triggered state. The minimum allowed value is 0 hours. The maximum allowed value is 24 hours.
92 93 94 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 92 def timeout_h @timeout_h end |
#variables ⇒ Object
List of requests that can be used in the monitor query. This feature is currently in beta.
154 155 156 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 154 def variables @variables end |
Class Method Details
.acceptable_attributes ⇒ Object
Returns all the JSON keys this model knows about
125 126 127 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 125 def self.acceptable_attributes attribute_map.values end |
.build_from_hash(attributes) ⇒ Object
Builds the object from hash
391 392 393 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 391 def self.build_from_hash(attributes) new.build_from_hash(attributes) end |
Instance Method Details
#_deserialize(type, value) ⇒ Object
Deserializes the data based on type
421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 421 def _deserialize(type, value) case type.to_sym when :Time Time.parse(value) when :Date Date.parse(value) when :String value.to_s when :Integer value.to_i when :Float value.to_f when :Boolean if value.to_s =~ /\A(true|t|yes|y|1)\z/i true else false end when :Object # generic object (usually a Hash), return directly value when :Array # generic array, return directly value when /\AArray<(?<inner_type>.+)>\z/ inner_type = Regexp.last_match[:inner_type] value.map { |v| _deserialize(inner_type, v) } when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/ k_type = Regexp.last_match[:k_type] v_type = Regexp.last_match[:v_type] {}.tap do |hash| value.each do |k, v| hash[_deserialize(k_type, k)] = _deserialize(v_type, v) end end else # model # models (e.g. Pet) or oneOf klass = DatadogAPIClient::V1.const_get(type) res = klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) if res.instance_of? DatadogAPIClient::V1::UnparsedObject self._unparsed = true end res end end |
#_to_hash(value) ⇒ Hash
Outputs non-array value in the form of hash For object, use to_hash. Otherwise, just return the value
499 500 501 502 503 504 505 506 507 508 509 510 511 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 499 def _to_hash(value) if value.is_a?(Array) value.compact.map { |v| _to_hash(v) } elsif value.is_a?(Hash) {}.tap do |hash| value.each { |k, v| hash[k] = _to_hash(v) } end elsif value.respond_to? :to_hash value.to_hash else value end end |
#build_from_hash(attributes) ⇒ Object
Builds the object from hash
398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 398 def build_from_hash(attributes) return nil unless attributes.is_a?(Hash) self.class.openapi_types.each_pair do |key, type| if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) self.send("#{key}=", nil) elsif type =~ /\AArray<(.*)>/i # check to ensure the input is an array given that the attribute # is documented as an array but the input is not if attributes[self.class.attribute_map[key]].is_a?(Array) self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) end elsif !attributes[self.class.attribute_map[key]].nil? self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) end end self end |
#eql?(o) ⇒ Boolean
378 379 380 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 378 def eql?(o) self == o end |
#list_invalid_properties ⇒ Object
Show invalid properties with the reasons. Usually used together with valid?
310 311 312 313 314 315 316 317 318 319 320 321 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 310 def list_invalid_properties invalid_properties = Array.new if !@min_failure_duration.nil? && @min_failure_duration > 7200 invalid_properties.push('invalid value for "min_failure_duration", must be smaller than or equal to 7200.') end if !@min_failure_duration.nil? && @min_failure_duration < 0 invalid_properties.push('invalid value for "min_failure_duration", must be greater than or equal to 0.') end invalid_properties end |
#to_body ⇒ Hash
to_body is an alias to to_hash (backward compatibility)
475 476 477 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 475 def to_body to_hash end |
#to_s ⇒ String
Returns the string representation of the object
469 470 471 |
# File 'lib/datadog_api_client/v1/models/monitor_options.rb', line 469 def to_s to_hash.to_s end |