Class: Google::Apis::MonitoringV3::AlertPolicy
- Inherits:
-
Object
- Object
- Google::Apis::MonitoringV3::AlertPolicy
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/monitoring_v3/classes.rb,
lib/google/apis/monitoring_v3/representations.rb,
lib/google/apis/monitoring_v3/representations.rb
Overview
A description of the conditions under which some aspect of your system is considered to be "unhealthy" and the ways to notify people or services about this state. For an overview of alerting policies, see Introduction to Alerting (https://cloud.google.com/monitoring/alerts/).
Instance Attribute Summary collapse
-
#alert_strategy ⇒ Google::Apis::MonitoringV3::AlertStrategy
Control over how the notification channels in notification_channels are notified when this alert fires.
-
#combiner ⇒ String
How to combine the results of multiple conditions to determine if an incident should be opened.
-
#conditions ⇒ Array<Google::Apis::MonitoringV3::Condition>
A list of conditions for the policy.
-
#creation_record ⇒ Google::Apis::MonitoringV3::MutationRecord
Describes a change made to a configuration.
-
#display_name ⇒ String
A short name or phrase used to identify the policy in dashboards, notifications, and incidents.
-
#documentation ⇒ Google::Apis::MonitoringV3::Documentation
Documentation that is included in the notifications and incidents pertaining to this policy.
-
#enabled ⇒ Boolean
(also: #enabled?)
Whether or not the policy is enabled.
-
#mutation_record ⇒ Google::Apis::MonitoringV3::MutationRecord
Describes a change made to a configuration.
-
#name ⇒ String
Identifier.
-
#notification_channels ⇒ Array<String>
Identifies the notification channels to which notifications should be sent when incidents are opened or closed or when new violations occur on an already opened incident.
-
#severity ⇒ String
Optional.
-
#user_labels ⇒ Hash<String,String>
User-supplied key/value data to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries.
-
#validity ⇒ Google::Apis::MonitoringV3::Status
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs.
Instance Method Summary collapse
-
#initialize(**args) ⇒ AlertPolicy
constructor
A new instance of AlertPolicy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ AlertPolicy
Returns a new instance of AlertPolicy.
236 237 238 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 236 def initialize(**args) update!(**args) end |
Instance Attribute Details
#alert_strategy ⇒ Google::Apis::MonitoringV3::AlertStrategy
Control over how the notification channels in notification_channels are
notified when this alert fires.
Corresponds to the JSON property alertStrategy
130 131 132 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 130 def alert_strategy @alert_strategy end |
#combiner ⇒ String
How to combine the results of multiple conditions to determine if an incident
should be opened. If condition_time_series_query_language is present, this
must be COMBINE_UNSPECIFIED.
Corresponds to the JSON property combiner
137 138 139 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 137 def combiner @combiner end |
#conditions ⇒ Array<Google::Apis::MonitoringV3::Condition>
A list of conditions for the policy. The conditions are combined by AND or OR
according to the combiner field. If the combined conditions evaluate to true,
then an incident is created. A policy can have from one to six conditions. If
condition_time_series_query_language is present, it must be the only condition.
If condition_monitoring_query_language is present, it must be the only
condition.
Corresponds to the JSON property conditions
147 148 149 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 147 def conditions @conditions end |
#creation_record ⇒ Google::Apis::MonitoringV3::MutationRecord
Describes a change made to a configuration.
Corresponds to the JSON property creationRecord
152 153 154 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 152 def creation_record @creation_record end |
#display_name ⇒ String
A short name or phrase used to identify the policy in dashboards,
notifications, and incidents. To avoid confusion, don't use the same display
name for multiple policies in the same project. The name is limited to 512
Unicode characters.The convention for the display_name of a
PrometheusQueryLanguageCondition is "rule group name
/alert name
", where
the rule group name
and alert name
should be taken from the corresponding
Prometheus configuration file. This convention is not enforced. In any case
the display_name is not a unique key of the AlertPolicy.
Corresponds to the JSON property displayName
164 165 166 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 164 def display_name @display_name end |
#documentation ⇒ Google::Apis::MonitoringV3::Documentation
Documentation that is included in the notifications and incidents pertaining
to this policy.
Corresponds to the JSON property documentation
170 171 172 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 170 def documentation @documentation end |
#enabled ⇒ Boolean Also known as: enabled?
Whether or not the policy is enabled. On write, the default interpretation if
unset is that the policy is enabled. On read, clients should not make any
assumption about the state if it has not been populated. The field should
always be populated on List and Get operations, unless a field projection has
been specified that strips it out.
Corresponds to the JSON property enabled
179 180 181 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 179 def enabled @enabled end |
#mutation_record ⇒ Google::Apis::MonitoringV3::MutationRecord
Describes a change made to a configuration.
Corresponds to the JSON property mutationRecord
185 186 187 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 185 def mutation_record @mutation_record end |
#name ⇒ String
Identifier. Required if the policy exists. The resource name for this policy.
The format is: projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]
[ALERT_POLICY_ID] is assigned by Cloud Monitoring when the policy is created.
When calling the alertPolicies.create method, do not include the name field in
the alerting policy passed as part of the request.
Corresponds to the JSON property name
194 195 196 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 194 def name @name end |
#notification_channels ⇒ Array<String>
Identifies the notification channels to which notifications should be sent
when incidents are opened or closed or when new violations occur on an already
opened incident. Each element of this array corresponds to the name field in
each of the NotificationChannel objects that are returned from the
ListNotificationChannels method. The format of the entries in this field is:
projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
Corresponds to the JSON property notificationChannels
204 205 206 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 204 def notification_channels @notification_channels end |
#severity ⇒ String
Optional. The severity of an alerting policy indicates how important incidents
generated by that policy are. The severity level will be displayed on the
Incident detail page and in notifications.
Corresponds to the JSON property severity
211 212 213 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 211 def severity @severity end |
#user_labels ⇒ Hash<String,String>
User-supplied key/value data to be used for organizing and identifying the
AlertPolicy objects.The field can contain up to 64 entries. Each key and value
is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels
and values can contain only lowercase letters, numerals, underscores, and
dashes. Keys must begin with a letter.Note that Prometheus alert name
is a
valid Prometheus label names (https://prometheus.io/docs/concepts/data_model/#
metric-names-and-labels), whereas Prometheus rule group
is an unrestricted
UTF-8 string. This means that they cannot be stored as-is in user labels,
because they may contain characters that are not allowed in user-label values.
Corresponds to the JSON property userLabels
224 225 226 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 224 def user_labels @user_labels end |
#validity ⇒ Google::Apis::MonitoringV3::Status
The Status type defines a logical error model that is suitable for different
programming environments, including REST APIs and RPC APIs. It is used by gRPC
(https://github.com/grpc). Each Status message contains three pieces of data:
error code, error message, and error details.You can find out more about this
error model and how to work with it in the API Design Guide (https://cloud.
google.com/apis/design/errors).
Corresponds to the JSON property validity
234 235 236 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 234 def validity @validity end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 241 def update!(**args) @alert_strategy = args[:alert_strategy] if args.key?(:alert_strategy) @combiner = args[:combiner] if args.key?(:combiner) @conditions = args[:conditions] if args.key?(:conditions) @creation_record = args[:creation_record] if args.key?(:creation_record) @display_name = args[:display_name] if args.key?(:display_name) @documentation = args[:documentation] if args.key?(:documentation) @enabled = args[:enabled] if args.key?(:enabled) @mutation_record = args[:mutation_record] if args.key?(:mutation_record) @name = args[:name] if args.key?(:name) @notification_channels = args[:notification_channels] if args.key?(:notification_channels) @severity = args[:severity] if args.key?(:severity) @user_labels = args[:user_labels] if args.key?(:user_labels) @validity = args[:validity] if args.key?(:validity) end |