google-cloud-monitoring-v3 0.12.1 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a9685d55b01473369cc5a81b67b94f2a17a612efb8d38338821e349b28cd52cc
4
- data.tar.gz: cbbabaa1a06806a2f542a3aa42658774440d378adb6bc29a27a91556b907737f
3
+ metadata.gz: e93ace3a69cf86463bd42891d1c16ff7a3828e08140482bf8b5143729fde2501
4
+ data.tar.gz: aac1af08674eb3aaf34b9bc538e0d0deec8c283a4999ee22a384efe80a7a4c3d
5
5
  SHA512:
6
- metadata.gz: 9c4b265f0e51b680b13e4b771e4dd143adcb03561a947db7e309e876c7e362862029351fbc6cde3d715727d5d41329d79c70fe4bf06fcd6d60f814bd2256a635
7
- data.tar.gz: a6c47dfd96980d80212749b7cdeec6db013fccce2b9351535ccaae10ae2c0251dcd45496ba7346183f447ffe82ece4693095448536c2933845ab97a080764a10
6
+ metadata.gz: 21df0ac548ae3d163de6aa0e057e6e3b8b494e6f607979378121a7ced6ba78f8fcb9ba5d0a4b14c295f3dd733cac71dfc8749d8c3fed3ca541c27cde71cf73b6
7
+ data.tar.gz: cc33a58bf797c962793d655a52735f6575d5367d1c8ead429061bf1a24d2b44065110c70b2410236a475b2995504fbffe869e8990433502591d6dd68bf768ff0
@@ -165,7 +165,8 @@ module Google
165
165
  credentials: credentials,
166
166
  endpoint: @config.endpoint,
167
167
  channel_args: @config.channel_args,
168
- interceptors: @config.interceptors
168
+ interceptors: @config.interceptors,
169
+ channel_pool_config: @config.channel_pool
169
170
  )
170
171
  end
171
172
 
@@ -190,8 +191,9 @@ module Google
190
191
  # the default parameter values, pass an empty Hash as a request object (see above).
191
192
  #
192
193
  # @param name [::String]
193
- # Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name)
194
- # whose alert policies are to be listed. The format is:
194
+ # Required. The
195
+ # [project](https://cloud.google.com/monitoring/api/v3#project_name) whose
196
+ # alert policies are to be listed. The format is:
195
197
  #
196
198
  # projects/[PROJECT_ID_OR_NUMBER]
197
199
  #
@@ -379,6 +381,10 @@ module Google
379
381
  ##
380
382
  # Creates a new alerting policy.
381
383
  #
384
+ # Design your application to single-thread API calls that modify the state of
385
+ # alerting policies in a single project. This includes calls to
386
+ # CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
387
+ #
382
388
  # @overload create_alert_policy(request, options = nil)
383
389
  # Pass arguments to `create_alert_policy` via a request object, either of type
384
390
  # {::Google::Cloud::Monitoring::V3::CreateAlertPolicyRequest} or an equivalent Hash.
@@ -395,8 +401,9 @@ module Google
395
401
  # the default parameter values, pass an empty Hash as a request object (see above).
396
402
  #
397
403
  # @param name [::String]
398
- # Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) in
399
- # which to create the alerting policy. The format is:
404
+ # Required. The
405
+ # [project](https://cloud.google.com/monitoring/api/v3#project_name) in which
406
+ # to create the alerting policy. The format is:
400
407
  #
401
408
  # projects/[PROJECT_ID_OR_NUMBER]
402
409
  #
@@ -408,9 +415,9 @@ module Google
408
415
  # the form `/alertPolicies/[ALERT_POLICY_ID]`, identifying the policy in the
409
416
  # container.
410
417
  # @param alert_policy [::Google::Cloud::Monitoring::V3::AlertPolicy, ::Hash]
411
- # Required. The requested alerting policy. You should omit the `name` field in this
412
- # policy. The name will be returned in the new policy, including
413
- # a new `[ALERT_POLICY_ID]` value.
418
+ # Required. The requested alerting policy. You should omit the `name` field
419
+ # in this policy. The name will be returned in the new policy, including a
420
+ # new `[ALERT_POLICY_ID]` value.
414
421
  #
415
422
  # @yield [response, operation] Access the result along with the RPC operation
416
423
  # @yieldparam response [::Google::Cloud::Monitoring::V3::AlertPolicy]
@@ -479,6 +486,10 @@ module Google
479
486
  ##
480
487
  # Deletes an alerting policy.
481
488
  #
489
+ # Design your application to single-thread API calls that modify the state of
490
+ # alerting policies in a single project. This includes calls to
491
+ # CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
492
+ #
482
493
  # @overload delete_alert_policy(request, options = nil)
483
494
  # Pass arguments to `delete_alert_policy` via a request object, either of type
484
495
  # {::Google::Cloud::Monitoring::V3::DeleteAlertPolicyRequest} or an equivalent Hash.
@@ -571,6 +582,10 @@ module Google
571
582
  # specifying the fields to be updated via `updateMask`. Returns the
572
583
  # updated alerting policy.
573
584
  #
585
+ # Design your application to single-thread API calls that modify the state of
586
+ # alerting policies in a single project. This includes calls to
587
+ # CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
588
+ #
574
589
  # @overload update_alert_policy(request, options = nil)
575
590
  # Pass arguments to `update_alert_policy` via a request object, either of type
576
591
  # {::Google::Cloud::Monitoring::V3::UpdateAlertPolicyRequest} or an equivalent Hash.
@@ -797,6 +812,14 @@ module Google
797
812
  end
798
813
  end
799
814
 
815
+ ##
816
+ # Configuration for the channel pool
817
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
818
+ #
819
+ def channel_pool
820
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
821
+ end
822
+
800
823
  ##
801
824
  # Configuration RPC class for the AlertPolicyService API.
802
825
  #
@@ -176,7 +176,8 @@ module Google
176
176
  credentials: credentials,
177
177
  endpoint: @config.endpoint,
178
178
  channel_args: @config.channel_args,
179
- interceptors: @config.interceptors
179
+ interceptors: @config.interceptors,
180
+ channel_pool_config: @config.channel_pool
180
181
  )
181
182
  end
182
183
 
@@ -896,6 +897,14 @@ module Google
896
897
  end
897
898
  end
898
899
 
900
+ ##
901
+ # Configuration for the channel pool
902
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
903
+ #
904
+ def channel_pool
905
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
906
+ end
907
+
899
908
  ##
900
909
  # Configuration RPC class for the GroupService API.
901
910
  #
@@ -173,7 +173,8 @@ module Google
173
173
  credentials: credentials,
174
174
  endpoint: @config.endpoint,
175
175
  channel_args: @config.channel_args,
176
- interceptors: @config.interceptors
176
+ interceptors: @config.interceptors,
177
+ channel_pool_config: @config.channel_pool
177
178
  )
178
179
  end
179
180
 
@@ -1213,6 +1214,14 @@ module Google
1213
1214
  end
1214
1215
  end
1215
1216
 
1217
+ ##
1218
+ # Configuration for the channel pool
1219
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
1220
+ #
1221
+ def channel_pool
1222
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
1223
+ end
1224
+
1216
1225
  ##
1217
1226
  # Configuration RPC class for the MetricService API.
1218
1227
  #
@@ -180,7 +180,8 @@ module Google
180
180
  credentials: credentials,
181
181
  endpoint: @config.endpoint,
182
182
  channel_args: @config.channel_args,
183
- interceptors: @config.interceptors
183
+ interceptors: @config.interceptors,
184
+ channel_pool_config: @config.channel_pool
184
185
  )
185
186
  end
186
187
 
@@ -385,6 +386,8 @@ module Google
385
386
 
386
387
  ##
387
388
  # Lists the notification channels that have been created for the project.
389
+ # To list the types of notification channels that are supported, use
390
+ # the `ListNotificationChannelDescriptors` method.
388
391
  #
389
392
  # @overload list_notification_channels(request, options = nil)
390
393
  # Pass arguments to `list_notification_channels` via a request object, either of type
@@ -402,8 +405,9 @@ module Google
402
405
  # the default parameter values, pass an empty Hash as a request object (see above).
403
406
  #
404
407
  # @param name [::String]
405
- # Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) on
406
- # which to execute the request. The format is:
408
+ # Required. The
409
+ # [project](https://cloud.google.com/monitoring/api/v3#project_name) on which
410
+ # to execute the request. The format is:
407
411
  #
408
412
  # projects/[PROJECT_ID_OR_NUMBER]
409
413
  #
@@ -599,6 +603,11 @@ module Google
599
603
  # Creates a new notification channel, representing a single notification
600
604
  # endpoint such as an email address, SMS number, or PagerDuty service.
601
605
  #
606
+ # Design your application to single-thread API calls that modify the state of
607
+ # notification channels in a single project. This includes calls to
608
+ # CreateNotificationChannel, DeleteNotificationChannel and
609
+ # UpdateNotificationChannel.
610
+ #
602
611
  # @overload create_notification_channel(request, options = nil)
603
612
  # Pass arguments to `create_notification_channel` via a request object, either of type
604
613
  # {::Google::Cloud::Monitoring::V3::CreateNotificationChannelRequest} or an equivalent Hash.
@@ -615,8 +624,9 @@ module Google
615
624
  # the default parameter values, pass an empty Hash as a request object (see above).
616
625
  #
617
626
  # @param name [::String]
618
- # Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) on
619
- # which to execute the request. The format is:
627
+ # Required. The
628
+ # [project](https://cloud.google.com/monitoring/api/v3#project_name) on which
629
+ # to execute the request. The format is:
620
630
  #
621
631
  # projects/[PROJECT_ID_OR_NUMBER]
622
632
  #
@@ -695,6 +705,11 @@ module Google
695
705
  # Updates a notification channel. Fields not specified in the field mask
696
706
  # remain unchanged.
697
707
  #
708
+ # Design your application to single-thread API calls that modify the state of
709
+ # notification channels in a single project. This includes calls to
710
+ # CreateNotificationChannel, DeleteNotificationChannel and
711
+ # UpdateNotificationChannel.
712
+ #
698
713
  # @overload update_notification_channel(request, options = nil)
699
714
  # Pass arguments to `update_notification_channel` via a request object, either of type
700
715
  # {::Google::Cloud::Monitoring::V3::UpdateNotificationChannelRequest} or an equivalent Hash.
@@ -785,6 +800,11 @@ module Google
785
800
  ##
786
801
  # Deletes a notification channel.
787
802
  #
803
+ # Design your application to single-thread API calls that modify the state of
804
+ # notification channels in a single project. This includes calls to
805
+ # CreateNotificationChannel, DeleteNotificationChannel and
806
+ # UpdateNotificationChannel.
807
+ #
788
808
  # @overload delete_notification_channel(request, options = nil)
789
809
  # Pass arguments to `delete_notification_channel` via a request object, either of type
790
810
  # {::Google::Cloud::Monitoring::V3::DeleteNotificationChannelRequest} or an equivalent Hash.
@@ -999,9 +1019,9 @@ module Google
999
1019
  # the default parameter values, pass an empty Hash as a request object (see above).
1000
1020
  #
1001
1021
  # @param name [::String]
1002
- # Required. The notification channel for which a verification code is to be generated
1003
- # and retrieved. This must name a channel that is already verified; if
1004
- # the specified channel is not verified, the request will fail.
1022
+ # Required. The notification channel for which a verification code is to be
1023
+ # generated and retrieved. This must name a channel that is already verified;
1024
+ # if the specified channel is not verified, the request will fail.
1005
1025
  # @param expire_time [::Google::Protobuf::Timestamp, ::Hash]
1006
1026
  # The desired expiration time. If specified, the API will guarantee that
1007
1027
  # the returned code will not be valid after the specified timestamp;
@@ -1291,6 +1311,14 @@ module Google
1291
1311
  end
1292
1312
  end
1293
1313
 
1314
+ ##
1315
+ # Configuration for the channel pool
1316
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
1317
+ #
1318
+ def channel_pool
1319
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
1320
+ end
1321
+
1294
1322
  ##
1295
1323
  # Configuration RPC class for the NotificationChannelService API.
1296
1324
  #
@@ -138,7 +138,8 @@ module Google
138
138
  credentials: credentials,
139
139
  endpoint: @config.endpoint,
140
140
  channel_args: @config.channel_args,
141
- interceptors: @config.interceptors
141
+ interceptors: @config.interceptors,
142
+ channel_pool_config: @config.channel_pool
142
143
  )
143
144
  end
144
145
 
@@ -366,6 +367,14 @@ module Google
366
367
  end
367
368
  end
368
369
 
370
+ ##
371
+ # Configuration for the channel pool
372
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
373
+ #
374
+ def channel_pool
375
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
376
+ end
377
+
369
378
  ##
370
379
  # Configuration RPC class for the QueryService API.
371
380
  #
@@ -179,7 +179,8 @@ module Google
179
179
  credentials: credentials,
180
180
  endpoint: @config.endpoint,
181
181
  channel_args: @config.channel_args,
182
- interceptors: @config.interceptors
182
+ interceptors: @config.interceptors,
183
+ channel_pool_config: @config.channel_pool
183
184
  )
184
185
  end
185
186
 
@@ -1251,6 +1252,14 @@ module Google
1251
1252
  end
1252
1253
  end
1253
1254
 
1255
+ ##
1256
+ # Configuration for the channel pool
1257
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
1258
+ #
1259
+ def channel_pool
1260
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
1261
+ end
1262
+
1254
1263
  ##
1255
1264
  # Configuration RPC class for the ServiceMonitoringService API.
1256
1265
  #
@@ -154,7 +154,8 @@ module Google
154
154
  credentials: credentials,
155
155
  endpoint: @config.endpoint,
156
156
  channel_args: @config.channel_args,
157
- interceptors: @config.interceptors
157
+ interceptors: @config.interceptors,
158
+ channel_pool_config: @config.channel_pool
158
159
  )
159
160
  end
160
161
 
@@ -686,6 +687,14 @@ module Google
686
687
  end
687
688
  end
688
689
 
690
+ ##
691
+ # Configuration for the channel pool
692
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
693
+ #
694
+ def channel_pool
695
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
696
+ end
697
+
689
698
  ##
690
699
  # Configuration RPC class for the SnoozeService API.
691
700
  #
@@ -169,7 +169,8 @@ module Google
169
169
  credentials: credentials,
170
170
  endpoint: @config.endpoint,
171
171
  channel_args: @config.channel_args,
172
- interceptors: @config.interceptors
172
+ interceptors: @config.interceptors,
173
+ channel_pool_config: @config.channel_pool
173
174
  )
174
175
  end
175
176
 
@@ -865,6 +866,14 @@ module Google
865
866
  end
866
867
  end
867
868
 
869
+ ##
870
+ # Configuration for the channel pool
871
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
872
+ #
873
+ def channel_pool
874
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
875
+ end
876
+
868
877
  ##
869
878
  # Configuration RPC class for the UptimeCheckService API.
870
879
  #
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Monitoring
23
23
  module V3
24
- VERSION = "0.12.1"
24
+ VERSION = "0.13.0"
25
25
  end
26
26
  end
27
27
  end
@@ -13,7 +13,7 @@ require 'google/protobuf/wrappers_pb'
13
13
  require 'google/rpc/status_pb'
14
14
 
15
15
 
16
- descriptor_data = "\n google/monitoring/v3/alert.proto\x12\x14google.monitoring.v3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a!google/monitoring/v3/common.proto\x1a*google/monitoring/v3/mutation_record.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17google/rpc/status.proto\"\xdb\x1a\n\x0b\x41lertPolicy\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x46\n\rdocumentation\x18\r \x01(\x0b\x32/.google.monitoring.v3.AlertPolicy.Documentation\x12\x46\n\x0buser_labels\x18\x10 \x03(\x0b\x32\x31.google.monitoring.v3.AlertPolicy.UserLabelsEntry\x12?\n\nconditions\x18\x0c \x03(\x0b\x32+.google.monitoring.v3.AlertPolicy.Condition\x12I\n\x08\x63ombiner\x18\x06 \x01(\x0e\x32\x37.google.monitoring.v3.AlertPolicy.ConditionCombinerType\x12+\n\x07\x65nabled\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12$\n\x08validity\x18\x12 \x01(\x0b\x32\x12.google.rpc.Status\x12\x1d\n\x15notification_channels\x18\x0e \x03(\t\x12=\n\x0f\x63reation_record\x18\n \x01(\x0b\x32$.google.monitoring.v3.MutationRecord\x12=\n\x0fmutation_record\x18\x0b \x01(\x0b\x32$.google.monitoring.v3.MutationRecord\x12G\n\x0e\x61lert_strategy\x18\x15 \x01(\x0b\x32/.google.monitoring.v3.AlertPolicy.AlertStrategy\x1a\x33\n\rDocumentation\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\t\x12\x11\n\tmime_type\x18\x02 \x01(\t\x1a\xce\x10\n\tCondition\x12\x0c\n\x04name\x18\x0c \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x06 \x01(\t\x12Z\n\x13\x63ondition_threshold\x18\x01 \x01(\x0b\x32;.google.monitoring.v3.AlertPolicy.Condition.MetricThresholdH\x00\x12U\n\x10\x63ondition_absent\x18\x02 \x01(\x0b\x32\x39.google.monitoring.v3.AlertPolicy.Condition.MetricAbsenceH\x00\x12U\n\x15\x63ondition_matched_log\x18\x14 \x01(\x0b\x32\x34.google.monitoring.v3.AlertPolicy.Condition.LogMatchH\x00\x12{\n#condition_monitoring_query_language\x18\x13 \x01(\x0b\x32L.google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageConditionH\x00\x1a\x35\n\x07Trigger\x12\x0f\n\x05\x63ount\x18\x01 \x01(\x05H\x00\x12\x11\n\x07percent\x18\x02 \x01(\x01H\x00\x42\x06\n\x04type\x1a\xea\x03\n\x0fMetricThreshold\x12\x13\n\x06\x66ilter\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\x0c\x61ggregations\x18\x08 \x03(\x0b\x32!.google.monitoring.v3.Aggregation\x12\x1a\n\x12\x64\x65nominator_filter\x18\t \x01(\t\x12\x43\n\x18\x64\x65nominator_aggregations\x18\n \x03(\x0b\x32!.google.monitoring.v3.Aggregation\x12\x38\n\ncomparison\x18\x04 \x01(\x0e\x32$.google.monitoring.v3.ComparisonType\x12\x17\n\x0fthreshold_value\x18\x05 \x01(\x01\x12+\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x44\n\x07trigger\x18\x07 \x01(\x0b\x32\x33.google.monitoring.v3.AlertPolicy.Condition.Trigger\x12\x62\n\x17\x65valuation_missing_data\x18\x0b \x01(\x0e\x32\x41.google.monitoring.v3.AlertPolicy.Condition.EvaluationMissingData\x1a\xd0\x01\n\rMetricAbsence\x12\x13\n\x06\x66ilter\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\x0c\x61ggregations\x18\x05 \x03(\x0b\x32!.google.monitoring.v3.Aggregation\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x44\n\x07trigger\x18\x03 \x01(\x0b\x32\x33.google.monitoring.v3.AlertPolicy.Condition.Trigger\x1a\xbc\x01\n\x08LogMatch\x12\x13\n\x06\x66ilter\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x63\n\x10label_extractors\x18\x02 \x03(\x0b\x32I.google.monitoring.v3.AlertPolicy.Condition.LogMatch.LabelExtractorsEntry\x1a\x36\n\x14LabelExtractorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x88\x02\n MonitoringQueryLanguageCondition\x12\r\n\x05query\x18\x01 \x01(\t\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x44\n\x07trigger\x18\x03 \x01(\x0b\x32\x33.google.monitoring.v3.AlertPolicy.Condition.Trigger\x12\x62\n\x17\x65valuation_missing_data\x18\x04 \x01(\x0e\x32\x41.google.monitoring.v3.AlertPolicy.Condition.EvaluationMissingData\"\xad\x01\n\x15\x45valuationMissingData\x12\'\n#EVALUATION_MISSING_DATA_UNSPECIFIED\x10\x00\x12$\n EVALUATION_MISSING_DATA_INACTIVE\x10\x01\x12\"\n\x1e\x45VALUATION_MISSING_DATA_ACTIVE\x10\x02\x12!\n\x1d\x45VALUATION_MISSING_DATA_NO_OP\x10\x03:\x97\x02\xea\x41\x93\x02\n.monitoring.googleapis.com/AlertPolicyCondition\x12\x46projects/{project}/alertPolicies/{alert_policy}/conditions/{condition}\x12Porganizations/{organization}/alertPolicies/{alert_policy}/conditions/{condition}\x12\x44\x66olders/{folder}/alertPolicies/{alert_policy}/conditions/{condition}\x12\x01*B\x0b\n\tcondition\x1a\xea\x01\n\rAlertStrategy\x12\x66\n\x17notification_rate_limit\x18\x01 \x01(\x0b\x32\x45.google.monitoring.v3.AlertPolicy.AlertStrategy.NotificationRateLimit\x12-\n\nauto_close\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x42\n\x15NotificationRateLimit\x12)\n\x06period\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x31\n\x0fUserLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"a\n\x15\x43onditionCombinerType\x12\x17\n\x13\x43OMBINE_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41ND\x10\x01\x12\x06\n\x02OR\x10\x02\x12\x1e\n\x1a\x41ND_WITH_MATCHING_RESOURCE\x10\x03:\xc9\x01\xea\x41\xc5\x01\n%monitoring.googleapis.com/AlertPolicy\x12/projects/{project}/alertPolicies/{alert_policy}\x12\x39organizations/{organization}/alertPolicies/{alert_policy}\x12-folders/{folder}/alertPolicies/{alert_policy}\x12\x01*B\xc5\x01\n\x18\x63om.google.monitoring.v3B\nAlertProtoP\x01ZAcloud.google.com/go/monitoring/apiv3/v2/monitoringpb;monitoringpb\xaa\x02\x1aGoogle.Cloud.Monitoring.V3\xca\x02\x1aGoogle\\Cloud\\Monitoring\\V3\xea\x02\x1dGoogle::Cloud::Monitoring::V3b\x06proto3"
16
+ descriptor_data = "\n google/monitoring/v3/alert.proto\x12\x14google.monitoring.v3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a!google/monitoring/v3/common.proto\x1a*google/monitoring/v3/mutation_record.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17google/rpc/status.proto\"\x87\"\n\x0b\x41lertPolicy\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x46\n\rdocumentation\x18\r \x01(\x0b\x32/.google.monitoring.v3.AlertPolicy.Documentation\x12\x46\n\x0buser_labels\x18\x10 \x03(\x0b\x32\x31.google.monitoring.v3.AlertPolicy.UserLabelsEntry\x12?\n\nconditions\x18\x0c \x03(\x0b\x32+.google.monitoring.v3.AlertPolicy.Condition\x12I\n\x08\x63ombiner\x18\x06 \x01(\x0e\x32\x37.google.monitoring.v3.AlertPolicy.ConditionCombinerType\x12+\n\x07\x65nabled\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12$\n\x08validity\x18\x12 \x01(\x0b\x32\x12.google.rpc.Status\x12\x1d\n\x15notification_channels\x18\x0e \x03(\t\x12=\n\x0f\x63reation_record\x18\n \x01(\x0b\x32$.google.monitoring.v3.MutationRecord\x12=\n\x0fmutation_record\x18\x0b \x01(\x0b\x32$.google.monitoring.v3.MutationRecord\x12G\n\x0e\x61lert_strategy\x18\x15 \x01(\x0b\x32/.google.monitoring.v3.AlertPolicy.AlertStrategy\x1aI\n\rDocumentation\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\t\x12\x11\n\tmime_type\x18\x02 \x01(\t\x12\x14\n\x07subject\x18\x03 \x01(\tB\x03\xe0\x41\x01\x1a\xf7\x15\n\tCondition\x12\x0c\n\x04name\x18\x0c \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x06 \x01(\t\x12Z\n\x13\x63ondition_threshold\x18\x01 \x01(\x0b\x32;.google.monitoring.v3.AlertPolicy.Condition.MetricThresholdH\x00\x12U\n\x10\x63ondition_absent\x18\x02 \x01(\x0b\x32\x39.google.monitoring.v3.AlertPolicy.Condition.MetricAbsenceH\x00\x12U\n\x15\x63ondition_matched_log\x18\x14 \x01(\x0b\x32\x34.google.monitoring.v3.AlertPolicy.Condition.LogMatchH\x00\x12{\n#condition_monitoring_query_language\x18\x13 \x01(\x0b\x32L.google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageConditionH\x00\x12{\n#condition_prometheus_query_language\x18\x15 \x01(\x0b\x32L.google.monitoring.v3.AlertPolicy.Condition.PrometheusQueryLanguageConditionH\x00\x1a\x35\n\x07Trigger\x12\x0f\n\x05\x63ount\x18\x01 \x01(\x05H\x00\x12\x11\n\x07percent\x18\x02 \x01(\x01H\x00\x42\x06\n\x04type\x1a\x9e\x05\n\x0fMetricThreshold\x12\x13\n\x06\x66ilter\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\x0c\x61ggregations\x18\x08 \x03(\x0b\x32!.google.monitoring.v3.Aggregation\x12\x1a\n\x12\x64\x65nominator_filter\x18\t \x01(\t\x12\x43\n\x18\x64\x65nominator_aggregations\x18\n \x03(\x0b\x32!.google.monitoring.v3.Aggregation\x12\x65\n\x10\x66orecast_options\x18\x0c \x01(\x0b\x32K.google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.ForecastOptions\x12\x38\n\ncomparison\x18\x04 \x01(\x0e\x32$.google.monitoring.v3.ComparisonType\x12\x17\n\x0fthreshold_value\x18\x05 \x01(\x01\x12+\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x44\n\x07trigger\x18\x07 \x01(\x0b\x32\x33.google.monitoring.v3.AlertPolicy.Condition.Trigger\x12\x62\n\x17\x65valuation_missing_data\x18\x0b \x01(\x0e\x32\x41.google.monitoring.v3.AlertPolicy.Condition.EvaluationMissingData\x1aK\n\x0f\x46orecastOptions\x12\x38\n\x10\x66orecast_horizon\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x02\x1a\xd0\x01\n\rMetricAbsence\x12\x13\n\x06\x66ilter\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\x0c\x61ggregations\x18\x05 \x03(\x0b\x32!.google.monitoring.v3.Aggregation\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x44\n\x07trigger\x18\x03 \x01(\x0b\x32\x33.google.monitoring.v3.AlertPolicy.Condition.Trigger\x1a\xbc\x01\n\x08LogMatch\x12\x13\n\x06\x66ilter\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x63\n\x10label_extractors\x18\x02 \x03(\x0b\x32I.google.monitoring.v3.AlertPolicy.Condition.LogMatch.LabelExtractorsEntry\x1a\x36\n\x14LabelExtractorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x88\x02\n MonitoringQueryLanguageCondition\x12\r\n\x05query\x18\x01 \x01(\t\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x44\n\x07trigger\x18\x03 \x01(\x0b\x32\x33.google.monitoring.v3.AlertPolicy.Condition.Trigger\x12\x62\n\x17\x65valuation_missing_data\x18\x04 \x01(\x0e\x32\x41.google.monitoring.v3.AlertPolicy.Condition.EvaluationMissingData\x1a\xf5\x02\n PrometheusQueryLanguageCondition\x12\x12\n\x05query\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x30\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12;\n\x13\x65valuation_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12m\n\x06labels\x18\x04 \x03(\x0b\x32X.google.monitoring.v3.AlertPolicy.Condition.PrometheusQueryLanguageCondition.LabelsEntryB\x03\xe0\x41\x01\x12\x17\n\nrule_group\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x17\n\nalert_rule\x18\x06 \x01(\tB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xad\x01\n\x15\x45valuationMissingData\x12\'\n#EVALUATION_MISSING_DATA_UNSPECIFIED\x10\x00\x12$\n EVALUATION_MISSING_DATA_INACTIVE\x10\x01\x12\"\n\x1e\x45VALUATION_MISSING_DATA_ACTIVE\x10\x02\x12!\n\x1d\x45VALUATION_MISSING_DATA_NO_OP\x10\x03:\x97\x02\xea\x41\x93\x02\n.monitoring.googleapis.com/AlertPolicyCondition\x12\x46projects/{project}/alertPolicies/{alert_policy}/conditions/{condition}\x12Porganizations/{organization}/alertPolicies/{alert_policy}/conditions/{condition}\x12\x44\x66olders/{folder}/alertPolicies/{alert_policy}/conditions/{condition}\x12\x01*B\x0b\n\tcondition\x1a\xd7\x03\n\rAlertStrategy\x12\x66\n\x17notification_rate_limit\x18\x01 \x01(\x0b\x32\x45.google.monitoring.v3.AlertPolicy.AlertStrategy.NotificationRateLimit\x12-\n\nauto_close\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12r\n\x1dnotification_channel_strategy\x18\x04 \x03(\x0b\x32K.google.monitoring.v3.AlertPolicy.AlertStrategy.NotificationChannelStrategy\x1a\x42\n\x15NotificationRateLimit\x12)\n\x06period\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x1aw\n\x1bNotificationChannelStrategy\x12\"\n\x1anotification_channel_names\x18\x01 \x03(\t\x12\x34\n\x11renotify_interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x31\n\x0fUserLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"a\n\x15\x43onditionCombinerType\x12\x17\n\x13\x43OMBINE_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41ND\x10\x01\x12\x06\n\x02OR\x10\x02\x12\x1e\n\x1a\x41ND_WITH_MATCHING_RESOURCE\x10\x03:\xc9\x01\xea\x41\xc5\x01\n%monitoring.googleapis.com/AlertPolicy\x12/projects/{project}/alertPolicies/{alert_policy}\x12\x39organizations/{organization}/alertPolicies/{alert_policy}\x12-folders/{folder}/alertPolicies/{alert_policy}\x12\x01*B\xc5\x01\n\x18\x63om.google.monitoring.v3B\nAlertProtoP\x01ZAcloud.google.com/go/monitoring/apiv3/v2/monitoringpb;monitoringpb\xaa\x02\x1aGoogle.Cloud.Monitoring.V3\xca\x02\x1aGoogle\\Cloud\\Monitoring\\V3\xea\x02\x1dGoogle::Cloud::Monitoring::V3b\x06proto3"
17
17
 
18
18
  pool = Google::Protobuf::DescriptorPool.generated_pool
19
19
 
@@ -53,12 +53,15 @@ module Google
53
53
  AlertPolicy::Condition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition").msgclass
54
54
  AlertPolicy::Condition::Trigger = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.Trigger").msgclass
55
55
  AlertPolicy::Condition::MetricThreshold = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.MetricThreshold").msgclass
56
+ AlertPolicy::Condition::MetricThreshold::ForecastOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.ForecastOptions").msgclass
56
57
  AlertPolicy::Condition::MetricAbsence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.MetricAbsence").msgclass
57
58
  AlertPolicy::Condition::LogMatch = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.LogMatch").msgclass
58
59
  AlertPolicy::Condition::MonitoringQueryLanguageCondition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition").msgclass
60
+ AlertPolicy::Condition::PrometheusQueryLanguageCondition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.PrometheusQueryLanguageCondition").msgclass
59
61
  AlertPolicy::Condition::EvaluationMissingData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.EvaluationMissingData").enummodule
60
62
  AlertPolicy::AlertStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.AlertStrategy").msgclass
61
63
  AlertPolicy::AlertStrategy::NotificationRateLimit = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.AlertStrategy.NotificationRateLimit").msgclass
64
+ AlertPolicy::AlertStrategy::NotificationChannelStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.AlertStrategy.NotificationChannelStrategy").msgclass
62
65
  AlertPolicy::ConditionCombinerType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.ConditionCombinerType").enummodule
63
66
  end
64
67
  end
@@ -46,13 +46,25 @@ module Google
46
46
  # Gets a single alerting policy.
47
47
  rpc :GetAlertPolicy, ::Google::Cloud::Monitoring::V3::GetAlertPolicyRequest, ::Google::Cloud::Monitoring::V3::AlertPolicy
48
48
  # Creates a new alerting policy.
49
+ #
50
+ # Design your application to single-thread API calls that modify the state of
51
+ # alerting policies in a single project. This includes calls to
52
+ # CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
49
53
  rpc :CreateAlertPolicy, ::Google::Cloud::Monitoring::V3::CreateAlertPolicyRequest, ::Google::Cloud::Monitoring::V3::AlertPolicy
50
54
  # Deletes an alerting policy.
55
+ #
56
+ # Design your application to single-thread API calls that modify the state of
57
+ # alerting policies in a single project. This includes calls to
58
+ # CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
51
59
  rpc :DeleteAlertPolicy, ::Google::Cloud::Monitoring::V3::DeleteAlertPolicyRequest, ::Google::Protobuf::Empty
52
60
  # Updates an alerting policy. You can either replace the entire policy with
53
61
  # a new one or replace only certain fields in the current alerting policy by
54
62
  # specifying the fields to be updated via `updateMask`. Returns the
55
63
  # updated alerting policy.
64
+ #
65
+ # Design your application to single-thread API calls that modify the state of
66
+ # alerting policies in a single project. This includes calls to
67
+ # CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
56
68
  rpc :UpdateAlertPolicy, ::Google::Cloud::Monitoring::V3::UpdateAlertPolicyRequest, ::Google::Cloud::Monitoring::V3::AlertPolicy
57
69
  end
58
70
 
@@ -41,6 +41,8 @@ module Google
41
41
  # are expected / permitted for a notification channel of the given type.
42
42
  rpc :GetNotificationChannelDescriptor, ::Google::Cloud::Monitoring::V3::GetNotificationChannelDescriptorRequest, ::Google::Cloud::Monitoring::V3::NotificationChannelDescriptor
43
43
  # Lists the notification channels that have been created for the project.
44
+ # To list the types of notification channels that are supported, use
45
+ # the `ListNotificationChannelDescriptors` method.
44
46
  rpc :ListNotificationChannels, ::Google::Cloud::Monitoring::V3::ListNotificationChannelsRequest, ::Google::Cloud::Monitoring::V3::ListNotificationChannelsResponse
45
47
  # Gets a single notification channel. The channel includes the relevant
46
48
  # configuration details with which the channel was created. However, the
@@ -50,11 +52,26 @@ module Google
50
52
  rpc :GetNotificationChannel, ::Google::Cloud::Monitoring::V3::GetNotificationChannelRequest, ::Google::Cloud::Monitoring::V3::NotificationChannel
51
53
  # Creates a new notification channel, representing a single notification
52
54
  # endpoint such as an email address, SMS number, or PagerDuty service.
55
+ #
56
+ # Design your application to single-thread API calls that modify the state of
57
+ # notification channels in a single project. This includes calls to
58
+ # CreateNotificationChannel, DeleteNotificationChannel and
59
+ # UpdateNotificationChannel.
53
60
  rpc :CreateNotificationChannel, ::Google::Cloud::Monitoring::V3::CreateNotificationChannelRequest, ::Google::Cloud::Monitoring::V3::NotificationChannel
54
61
  # Updates a notification channel. Fields not specified in the field mask
55
62
  # remain unchanged.
63
+ #
64
+ # Design your application to single-thread API calls that modify the state of
65
+ # notification channels in a single project. This includes calls to
66
+ # CreateNotificationChannel, DeleteNotificationChannel and
67
+ # UpdateNotificationChannel.
56
68
  rpc :UpdateNotificationChannel, ::Google::Cloud::Monitoring::V3::UpdateNotificationChannelRequest, ::Google::Cloud::Monitoring::V3::NotificationChannel
57
69
  # Deletes a notification channel.
70
+ #
71
+ # Design your application to single-thread API calls that modify the state of
72
+ # notification channels in a single project. This includes calls to
73
+ # CreateNotificationChannel, DeleteNotificationChannel and
74
+ # UpdateNotificationChannel.
58
75
  rpc :DeleteNotificationChannel, ::Google::Cloud::Monitoring::V3::DeleteNotificationChannelRequest, ::Google::Protobuf::Empty
59
76
  # Causes a verification code to be delivered to the channel. The code
60
77
  # can then be supplied in `VerifyNotificationChannel` to verify the channel.
@@ -66,6 +66,20 @@ module Google
66
66
  # a non-empty value will be returned. The user will not be aware of what
67
67
  # non-empty value to expect.
68
68
  NON_EMPTY_DEFAULT = 7
69
+
70
+ # Denotes that the field in a resource (a message annotated with
71
+ # google.api.resource) is used in the resource name to uniquely identify the
72
+ # resource. For AIP-compliant APIs, this should only be applied to the
73
+ # `name` field on the resource.
74
+ #
75
+ # This behavior should not be applied to references to other resources within
76
+ # the message.
77
+ #
78
+ # The identifier field of resources often have different field behavior
79
+ # depending on the request it is embedded in (e.g. for Create methods name
80
+ # is optional and unused, while for Update methods it is required). Instead
81
+ # of method-specific annotations, only `IDENTIFIER` is required.
82
+ IDENTIFIER = 8
69
83
  end
70
84
  end
71
85
  end
@@ -43,6 +43,12 @@ module Google
43
43
  # notifications, and incidents. To avoid confusion, don't use the same
44
44
  # display name for multiple policies in the same project. The name is
45
45
  # limited to 512 Unicode characters.
46
+ #
47
+ # The convention for the display_name of a PrometheusQueryLanguageCondition
48
+ # is "\\{rule group name}/\\{alert name}", where the \\{rule group name} and
49
+ # \\{alert name} should be taken from the corresponding Prometheus
50
+ # configuration file. This convention is not enforced.
51
+ # In any case the display_name is not a unique key of the AlertPolicy.
46
52
  # @!attribute [rw] documentation
47
53
  # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Documentation]
48
54
  # Documentation that is included with notifications and incidents related to
@@ -59,6 +65,13 @@ module Google
59
65
  # 63 Unicode characters or 128 bytes, whichever is smaller. Labels and
60
66
  # values can contain only lowercase letters, numerals, underscores, and
61
67
  # dashes. Keys must begin with a letter.
68
+ #
69
+ # Note that Prometheus \\{alert name} is a
70
+ # [valid Prometheus label
71
+ # names](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels),
72
+ # whereas Prometheus \\{rule group} is an unrestricted UTF-8 string.
73
+ # This means that they cannot be stored as-is in user labels, because
74
+ # they may contain characters that are not allowed in user-label values.
62
75
  # @!attribute [rw] conditions
63
76
  # @return [::Array<::Google::Cloud::Monitoring::V3::AlertPolicy::Condition>]
64
77
  # A list of conditions for the policy. The conditions are combined by AND or
@@ -67,6 +80,8 @@ module Google
67
80
  # conditions.
68
81
  # If `condition_time_series_query_language` is present, it must be the only
69
82
  # `condition`.
83
+ # If `condition_monitoring_query_language` is present, it must be the only
84
+ # `condition`.
70
85
  # @!attribute [rw] combiner
71
86
  # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::ConditionCombinerType]
72
87
  # How to combine the results of multiple conditions to determine if an
@@ -82,8 +97,9 @@ module Google
82
97
  # a field projection has been specified that strips it out.
83
98
  # @!attribute [rw] validity
84
99
  # @return [::Google::Rpc::Status]
85
- # Read-only description of how the alert policy is invalid. OK if the alert
86
- # policy is valid. If not OK, the alert policy will not generate incidents.
100
+ # Read-only description of how the alert policy is invalid. This field is
101
+ # only set when the alert policy is invalid. An invalid alert policy will not
102
+ # generate incidents.
87
103
  # @!attribute [rw] notification_channels
88
104
  # @return [::Array<::String>]
89
105
  # Identifies the notification channels to which notifications should be sent
@@ -115,7 +131,7 @@ module Google
115
131
  # format.
116
132
  # @!attribute [rw] content
117
133
  # @return [::String]
118
- # The text of the documentation, interpreted according to `mime_type`.
134
+ # The body of the documentation, interpreted according to `mime_type`.
119
135
  # The content may not exceed 8,192 Unicode characters and may not exceed
120
136
  # more than 10,240 bytes when encoded in UTF-8 format, whichever is
121
137
  # smaller. This text can be [templatized by using
@@ -125,6 +141,21 @@ module Google
125
141
  # The format of the `content` field. Presently, only the value
126
142
  # `"text/markdown"` is supported. See
127
143
  # [Markdown](https://en.wikipedia.org/wiki/Markdown) for more information.
144
+ # @!attribute [rw] subject
145
+ # @return [::String]
146
+ # Optional. The subject line of the notification. The subject line may not
147
+ # exceed 10,240 bytes. In notifications generated by this policy, the
148
+ # contents of the subject line after variable expansion will be truncated
149
+ # to 255 bytes or shorter at the latest UTF-8 character boundary. The
150
+ # 255-byte limit is recommended by [this
151
+ # thread](https://stackoverflow.com/questions/1592291/what-is-the-email-subject-length-limit).
152
+ # It is both the limit imposed by some third-party ticketing products and
153
+ # it is common to define textual fields in databases as VARCHAR(255).
154
+ #
155
+ # The contents of the subject line can be [templatized by using
156
+ # variables](https://cloud.google.com/monitoring/alerts/doc-variables).
157
+ # If this field is missing or empty, a default subject line will be
158
+ # generated.
128
159
  class Documentation
129
160
  include ::Google::Protobuf::MessageExts
130
161
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -180,6 +211,9 @@ module Google
180
211
  # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::MonitoringQueryLanguageCondition]
181
212
  # A condition that uses the Monitoring Query Language to define
182
213
  # alerts.
214
+ # @!attribute [rw] condition_prometheus_query_language
215
+ # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::PrometheusQueryLanguageCondition]
216
+ # A condition that uses the Prometheus query language to define alerts.
183
217
  class Condition
184
218
  include ::Google::Protobuf::MessageExts
185
219
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -203,7 +237,8 @@ module Google
203
237
  # against a threshold.
204
238
  # @!attribute [rw] filter
205
239
  # @return [::String]
206
- # Required. A [filter](https://cloud.google.com/monitoring/api/v3/filters) that
240
+ # Required. A
241
+ # [filter](https://cloud.google.com/monitoring/api/v3/filters) that
207
242
  # identifies which time series should be compared with the threshold.
208
243
  #
209
244
  # The filter is similar to the one that is specified in the
@@ -249,6 +284,13 @@ module Google
249
284
  # When computing ratios, the `aggregations` and
250
285
  # `denominator_aggregations` fields must use the same alignment period
251
286
  # and produce time series that have the same periodicity and labels.
287
+ # @!attribute [rw] forecast_options
288
+ # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::MetricThreshold::ForecastOptions]
289
+ # When this field is present, the `MetricThreshold` condition forecasts
290
+ # whether the time series is predicted to violate the threshold within
291
+ # the `forecast_horizon`. When this field is not set, the
292
+ # `MetricThreshold` tests the current value of the timeseries against the
293
+ # threshold.
252
294
  # @!attribute [rw] comparison
253
295
  # @return [::Google::Cloud::Monitoring::V3::ComparisonType]
254
296
  # The comparison to apply between the time series (indicated by `filter`
@@ -287,6 +329,20 @@ module Google
287
329
  class MetricThreshold
288
330
  include ::Google::Protobuf::MessageExts
289
331
  extend ::Google::Protobuf::MessageExts::ClassMethods
332
+
333
+ # Options used when forecasting the time series and testing
334
+ # the predicted value against the threshold.
335
+ # @!attribute [rw] forecast_horizon
336
+ # @return [::Google::Protobuf::Duration]
337
+ # Required. The length of time into the future to forecast whether a
338
+ # time series will violate the threshold. If the predicted value is
339
+ # found to violate the threshold, and the violation is observed in all
340
+ # forecasts made for the configured `duration`, then the time series is
341
+ # considered to be failing.
342
+ class ForecastOptions
343
+ include ::Google::Protobuf::MessageExts
344
+ extend ::Google::Protobuf::MessageExts::ClassMethods
345
+ end
290
346
  end
291
347
 
292
348
  # A condition type that checks that monitored resources
@@ -296,7 +352,8 @@ module Google
296
352
  # resource does not include any data in the specified `duration`.
297
353
  # @!attribute [rw] filter
298
354
  # @return [::String]
299
- # Required. A [filter](https://cloud.google.com/monitoring/api/v3/filters) that
355
+ # Required. A
356
+ # [filter](https://cloud.google.com/monitoring/api/v3/filters) that
300
357
  # identifies which time series should be compared with the threshold.
301
358
  #
302
359
  # The filter is similar to the one that is specified in the
@@ -410,6 +467,110 @@ module Google
410
467
  extend ::Google::Protobuf::MessageExts::ClassMethods
411
468
  end
412
469
 
470
+ # A condition type that allows alert policies to be defined using
471
+ # [Prometheus Query Language
472
+ # (PromQL)](https://prometheus.io/docs/prometheus/latest/querying/basics/).
473
+ #
474
+ # The PrometheusQueryLanguageCondition message contains information
475
+ # from a Prometheus alerting rule and its associated rule group.
476
+ #
477
+ # A Prometheus alerting rule is described
478
+ # [here](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/).
479
+ # The semantics of a Prometheus alerting rule is described
480
+ # [here](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule).
481
+ #
482
+ # A Prometheus rule group is described
483
+ # [here](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/).
484
+ # The semantics of a Prometheus rule group is described
485
+ # [here](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group).
486
+ #
487
+ # Because Cloud Alerting has no representation of a Prometheus rule
488
+ # group resource, we must embed the information of the parent rule
489
+ # group inside each of the conditions that refer to it. We must also
490
+ # update the contents of all Prometheus alerts in case the information
491
+ # of their rule group changes.
492
+ #
493
+ # The PrometheusQueryLanguageCondition protocol buffer combines the
494
+ # information of the corresponding rule group and alerting rule.
495
+ # The structure of the PrometheusQueryLanguageCondition protocol buffer
496
+ # does NOT mimic the structure of the Prometheus rule group and alerting
497
+ # rule YAML declarations. The PrometheusQueryLanguageCondition protocol
498
+ # buffer may change in the future to support future rule group and/or
499
+ # alerting rule features. There are no new such features at the present
500
+ # time (2023-06-26).
501
+ # @!attribute [rw] query
502
+ # @return [::String]
503
+ # Required. The PromQL expression to evaluate. Every evaluation cycle
504
+ # this expression is evaluated at the current time, and all resultant
505
+ # time series become pending/firing alerts. This field must not be empty.
506
+ # @!attribute [rw] duration
507
+ # @return [::Google::Protobuf::Duration]
508
+ # Optional. Alerts are considered firing once their PromQL expression was
509
+ # evaluated to be "true" for this long.
510
+ # Alerts whose PromQL expression was not evaluated to be "true" for
511
+ # long enough are considered pending.
512
+ # Must be a non-negative duration or missing.
513
+ # This field is optional. Its default value is zero.
514
+ # @!attribute [rw] evaluation_interval
515
+ # @return [::Google::Protobuf::Duration]
516
+ # Optional. How often this rule should be evaluated.
517
+ # Must be a positive multiple of 30 seconds or missing.
518
+ # This field is optional. Its default value is 30 seconds.
519
+ # If this PrometheusQueryLanguageCondition was generated from a
520
+ # Prometheus alerting rule, then this value should be taken from the
521
+ # enclosing rule group.
522
+ # @!attribute [rw] labels
523
+ # @return [::Google::Protobuf::Map{::String => ::String}]
524
+ # Optional. Labels to add to or overwrite in the PromQL query result.
525
+ # Label names [must be
526
+ # valid](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels).
527
+ # Label values can be [templatized by using
528
+ # variables](https://cloud.google.com/monitoring/alerts/doc-variables).
529
+ # The only available variable names are the names of the labels in the
530
+ # PromQL result, including "__name__" and "value". "labels" may be empty.
531
+ # @!attribute [rw] rule_group
532
+ # @return [::String]
533
+ # Optional. The rule group name of this alert in the corresponding
534
+ # Prometheus configuration file.
535
+ #
536
+ # Some external tools may require this field to be populated correctly
537
+ # in order to refer to the original Prometheus configuration file.
538
+ # The rule group name and the alert name are necessary to update the
539
+ # relevant AlertPolicies in case the definition of the rule group changes
540
+ # in the future.
541
+ #
542
+ # This field is optional. If this field is not empty, then it must
543
+ # contain a valid UTF-8 string.
544
+ # This field may not exceed 2048 Unicode characters in length.
545
+ # @!attribute [rw] alert_rule
546
+ # @return [::String]
547
+ # Optional. The alerting rule name of this alert in the corresponding
548
+ # Prometheus configuration file.
549
+ #
550
+ # Some external tools may require this field to be populated correctly
551
+ # in order to refer to the original Prometheus configuration file.
552
+ # The rule group name and the alert name are necessary to update the
553
+ # relevant AlertPolicies in case the definition of the rule group changes
554
+ # in the future.
555
+ #
556
+ # This field is optional. If this field is not empty, then it must be a
557
+ # [valid Prometheus label
558
+ # name](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels).
559
+ # This field may not exceed 2048 Unicode characters in length.
560
+ class PrometheusQueryLanguageCondition
561
+ include ::Google::Protobuf::MessageExts
562
+ extend ::Google::Protobuf::MessageExts::ClassMethods
563
+
564
+ # @!attribute [rw] key
565
+ # @return [::String]
566
+ # @!attribute [rw] value
567
+ # @return [::String]
568
+ class LabelsEntry
569
+ include ::Google::Protobuf::MessageExts
570
+ extend ::Google::Protobuf::MessageExts::ClassMethods
571
+ end
572
+ end
573
+
413
574
  # A condition control that determines how metric-threshold conditions
414
575
  # are evaluated when data stops arriving.
415
576
  # This control doesn't affect metric-absence policies.
@@ -442,6 +603,9 @@ module Google
442
603
  # @return [::Google::Protobuf::Duration]
443
604
  # If an alert policy that was active has no data for this long, any open
444
605
  # incidents will close
606
+ # @!attribute [rw] notification_channel_strategy
607
+ # @return [::Array<::Google::Cloud::Monitoring::V3::AlertPolicy::AlertStrategy::NotificationChannelStrategy>]
608
+ # Control how notifications will be sent out, on a per-channel basis.
445
609
  class AlertStrategy
446
610
  include ::Google::Protobuf::MessageExts
447
611
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -455,6 +619,26 @@ module Google
455
619
  include ::Google::Protobuf::MessageExts
456
620
  extend ::Google::Protobuf::MessageExts::ClassMethods
457
621
  end
622
+
623
+ # Control over how the notification channels in `notification_channels`
624
+ # are notified when this alert fires, on a per-channel basis.
625
+ # @!attribute [rw] notification_channel_names
626
+ # @return [::Array<::String>]
627
+ # The full REST resource name for the notification channels that these
628
+ # settings apply to. Each of these correspond to the name field in one
629
+ # of the NotificationChannel objects referenced in the
630
+ # notification_channels field of this AlertPolicy.
631
+ # The format is:
632
+ #
633
+ # projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
634
+ # @!attribute [rw] renotify_interval
635
+ # @return [::Google::Protobuf::Duration]
636
+ # The frequency at which to send reminder notifications for open
637
+ # incidents.
638
+ class NotificationChannelStrategy
639
+ include ::Google::Protobuf::MessageExts
640
+ extend ::Google::Protobuf::MessageExts::ClassMethods
641
+ end
458
642
  end
459
643
 
460
644
  # @!attribute [rw] key
@@ -24,8 +24,9 @@ module Google
24
24
  # The protocol for the `CreateAlertPolicy` request.
25
25
  # @!attribute [rw] name
26
26
  # @return [::String]
27
- # Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) in
28
- # which to create the alerting policy. The format is:
27
+ # Required. The
28
+ # [project](https://cloud.google.com/monitoring/api/v3#project_name) in which
29
+ # to create the alerting policy. The format is:
29
30
  #
30
31
  # projects/[PROJECT_ID_OR_NUMBER]
31
32
  #
@@ -38,9 +39,9 @@ module Google
38
39
  # container.
39
40
  # @!attribute [rw] alert_policy
40
41
  # @return [::Google::Cloud::Monitoring::V3::AlertPolicy]
41
- # Required. The requested alerting policy. You should omit the `name` field in this
42
- # policy. The name will be returned in the new policy, including
43
- # a new `[ALERT_POLICY_ID]` value.
42
+ # Required. The requested alerting policy. You should omit the `name` field
43
+ # in this policy. The name will be returned in the new policy, including a
44
+ # new `[ALERT_POLICY_ID]` value.
44
45
  class CreateAlertPolicyRequest
45
46
  include ::Google::Protobuf::MessageExts
46
47
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -60,8 +61,9 @@ module Google
60
61
  # The protocol for the `ListAlertPolicies` request.
61
62
  # @!attribute [rw] name
62
63
  # @return [::String]
63
- # Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name)
64
- # whose alert policies are to be listed. The format is:
64
+ # Required. The
65
+ # [project](https://cloud.google.com/monitoring/api/v3#project_name) whose
66
+ # alert policies are to be listed. The format is:
65
67
  #
66
68
  # projects/[PROJECT_ID_OR_NUMBER]
67
69
  #
@@ -72,7 +72,9 @@ module Google
72
72
  # @!attribute [rw] type
73
73
  # @return [::String]
74
74
  # The type of the notification channel. This field matches the
75
- # value of the {::Google::Cloud::Monitoring::V3::NotificationChannelDescriptor#type NotificationChannelDescriptor.type} field.
75
+ # value of the
76
+ # {::Google::Cloud::Monitoring::V3::NotificationChannelDescriptor#type NotificationChannelDescriptor.type}
77
+ # field.
76
78
  # @!attribute [rw] name
77
79
  # @return [::String]
78
80
  # The full REST resource name for this channel. The format is:
@@ -95,8 +97,8 @@ module Google
95
97
  # @return [::Google::Protobuf::Map{::String => ::String}]
96
98
  # Configuration fields that define the channel and its behavior. The
97
99
  # permissible and required labels are specified in the
98
- # {::Google::Cloud::Monitoring::V3::NotificationChannelDescriptor#labels NotificationChannelDescriptor.labels} of the
99
- # `NotificationChannelDescriptor` corresponding to the `type` field.
100
+ # {::Google::Cloud::Monitoring::V3::NotificationChannelDescriptor#labels NotificationChannelDescriptor.labels}
101
+ # of the `NotificationChannelDescriptor` corresponding to the `type` field.
100
102
  # @!attribute [rw] user_labels
101
103
  # @return [::Google::Protobuf::Map{::String => ::String}]
102
104
  # User-supplied key/value data that does not need to conform to
@@ -80,8 +80,9 @@ module Google
80
80
  # The `CreateNotificationChannel` request.
81
81
  # @!attribute [rw] name
82
82
  # @return [::String]
83
- # Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) on
84
- # which to execute the request. The format is:
83
+ # Required. The
84
+ # [project](https://cloud.google.com/monitoring/api/v3#project_name) on which
85
+ # to execute the request. The format is:
85
86
  #
86
87
  # projects/[PROJECT_ID_OR_NUMBER]
87
88
  #
@@ -100,8 +101,9 @@ module Google
100
101
  # The `ListNotificationChannels` request.
101
102
  # @!attribute [rw] name
102
103
  # @return [::String]
103
- # Required. The [project](https://cloud.google.com/monitoring/api/v3#project_name) on
104
- # which to execute the request. The format is:
104
+ # Required. The
105
+ # [project](https://cloud.google.com/monitoring/api/v3#project_name) on which
106
+ # to execute the request. The format is:
105
107
  #
106
108
  # projects/[PROJECT_ID_OR_NUMBER]
107
109
  #
@@ -215,9 +217,9 @@ module Google
215
217
  # The `GetNotificationChannelVerificationCode` request.
216
218
  # @!attribute [rw] name
217
219
  # @return [::String]
218
- # Required. The notification channel for which a verification code is to be generated
219
- # and retrieved. This must name a channel that is already verified; if
220
- # the specified channel is not verified, the request will fail.
220
+ # Required. The notification channel for which a verification code is to be
221
+ # generated and retrieved. This must name a channel that is already verified;
222
+ # if the specified channel is not verified, the request will fail.
221
223
  # @!attribute [rw] expire_time
222
224
  # @return [::Google::Protobuf::Timestamp]
223
225
  # The desired expiration time. If specified, the API will guarantee that
@@ -61,7 +61,7 @@ module Google
61
61
  #
62
62
  # projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID]
63
63
  #
64
- # There is a limit of 10 policies per snooze. This limit is checked during
64
+ # There is a limit of 16 policies per snooze. This limit is checked during
65
65
  # snooze creation.
66
66
  class Criteria
67
67
  include ::Google::Protobuf::MessageExts
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-monitoring-v3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-06 00:00:00.000000000 Z
11
+ date: 2023-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.19.1
19
+ version: 0.20.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.19.1
29
+ version: 0.20.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -286,7 +286,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
286
286
  - !ruby/object:Gem::Version
287
287
  version: '0'
288
288
  requirements: []
289
- rubygems_version: 3.4.2
289
+ rubygems_version: 3.4.19
290
290
  signing_key:
291
291
  specification_version: 4
292
292
  summary: Manages your Cloud Monitoring data and configurations.