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

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/monitoring_v3/classes.rb,
generated/google/apis/monitoring_v3/representations.rb,
generated/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 alert policies, see Introduction to Alerting.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ AlertPolicy

Returns a new instance of AlertPolicy



174
175
176
# File 'generated/google/apis/monitoring_v3/classes.rb', line 174

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#combinerString

How to combine the results of multiple conditions to determine if an incident should be opened. Corresponds to the JSON property combiner

Returns:

  • (String)


103
104
105
# File 'generated/google/apis/monitoring_v3/classes.rb', line 103

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. Corresponds to the JSON property conditions



110
111
112
# File 'generated/google/apis/monitoring_v3/classes.rb', line 110

def conditions
  @conditions
end

#creation_recordGoogle::Apis::MonitoringV3::MutationRecord

Describes a change made to a configuration. Corresponds to the JSON property creationRecord



115
116
117
# File 'generated/google/apis/monitoring_v3/classes.rb', line 115

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. Corresponds to the JSON property displayName

Returns:

  • (String)


123
124
125
# File 'generated/google/apis/monitoring_v3/classes.rb', line 123

def display_name
  @display_name
end

#documentationGoogle::Apis::MonitoringV3::Documentation

A content string and a MIME type that describes the content string's format. Corresponds to the JSON property documentation



128
129
130
# File 'generated/google/apis/monitoring_v3/classes.rb', line 128

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)


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

def enabled
  @enabled
end

#mutation_recordGoogle::Apis::MonitoringV3::MutationRecord

Describes a change made to a configuration. Corresponds to the JSON property mutationRecord



143
144
145
# File 'generated/google/apis/monitoring_v3/classes.rb', line 143

def mutation_record
  @mutation_record
end

#nameString

Required if the policy exists. The resource name for this policy. The syntax is: projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID] [ALERT_POLICY_ID] is assigned by Stackdriver 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)


153
154
155
# File 'generated/google/apis/monitoring_v3/classes.rb', line 153

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 syntax of the entries in this field is: projects/[PROJECT_ID]/notificationChannels/[CHANNEL_ID] Corresponds to the JSON property notificationChannels

Returns:

  • (Array<String>)


163
164
165
# File 'generated/google/apis/monitoring_v3/classes.rb', line 163

def notification_channels
  @notification_channels
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. Corresponds to the JSON property userLabels

Returns:

  • (Hash<String,String>)


172
173
174
# File 'generated/google/apis/monitoring_v3/classes.rb', line 172

def user_labels
  @user_labels
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



179
180
181
182
183
184
185
186
187
188
189
190
# File 'generated/google/apis/monitoring_v3/classes.rb', line 179

def update!(**args)
  @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)
  @user_labels = args[:user_labels] if args.key?(:user_labels)
end