Class: Google::Apis::MonitoringV3::AlertPolicy

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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_strategyGoogle::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

#combinerString

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

Returns:

  • (String)


137
138
139
# File 'lib/google/apis/monitoring_v3/classes.rb', line 137

def combiner
  @combiner
end

#conditionsArray<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_recordGoogle::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_nameString

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

Returns:

  • (String)


164
165
166
# File 'lib/google/apis/monitoring_v3/classes.rb', line 164

def display_name
  @display_name
end

#documentationGoogle::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

#enabledBoolean 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

Returns:

  • (Boolean)


179
180
181
# File 'lib/google/apis/monitoring_v3/classes.rb', line 179

def enabled
  @enabled
end

#mutation_recordGoogle::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

#nameString

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

Returns:

  • (String)


194
195
196
# File 'lib/google/apis/monitoring_v3/classes.rb', line 194

def name
  @name
end

#notification_channelsArray<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

Returns:

  • (Array<String>)


204
205
206
# File 'lib/google/apis/monitoring_v3/classes.rb', line 204

def notification_channels
  @notification_channels
end

#severityString

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

Returns:

  • (String)


211
212
213
# File 'lib/google/apis/monitoring_v3/classes.rb', line 211

def severity
  @severity
end

#user_labelsHash<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

Returns:

  • (Hash<String,String>)


224
225
226
# File 'lib/google/apis/monitoring_v3/classes.rb', line 224

def user_labels
  @user_labels
end

#validityGoogle::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