google-cloud-monitoring-v3 0.12.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a9685d55b01473369cc5a81b67b94f2a17a612efb8d38338821e349b28cd52cc
4
- data.tar.gz: cbbabaa1a06806a2f542a3aa42658774440d378adb6bc29a27a91556b907737f
3
+ metadata.gz: '036491475ff17857d24649b9c40f0f0f914a26755937103e6c726a8da61203e1'
4
+ data.tar.gz: 77f90ffdad34e1e3a6493168ab7eacd710bbeba05c6ee157507f5ddb436eb7f1
5
5
  SHA512:
6
- metadata.gz: 9c4b265f0e51b680b13e4b771e4dd143adcb03561a947db7e309e876c7e362862029351fbc6cde3d715727d5d41329d79c70fe4bf06fcd6d60f814bd2256a635
7
- data.tar.gz: a6c47dfd96980d80212749b7cdeec6db013fccce2b9351535ccaae10ae2c0251dcd45496ba7346183f447ffe82ece4693095448536c2933845ab97a080764a10
6
+ metadata.gz: 76a1ae73c85f3eb0454425aa7b05c3d39e22bf3b4d0f8450b2cc26b53ea93bead0d3a1d65f1d6ef361ca01e71dd648fbc3cfb1d265d49f5afa8491cb4181d2a4
7
+ data.tar.gz: b1e3e39f080cbd6e361d0c3fcd7ae999e89233c1aaf174cbc98c81b7fd7cf42f51530c42f48e7bc4ac69f6a122da8e0b4867480ee4e01ff77508a1426b5efecb
@@ -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.14.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\"\x96#\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\x12\x41\n\x08severity\x18\x16 \x01(\x0e\x32*.google.monitoring.v3.AlertPolicy.SeverityB\x03\xe0\x41\x01\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\"J\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43RITICAL\x10\x01\x12\t\n\x05\x45RROR\x10\x02\x12\x0b\n\x07WARNING\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,13 +53,17 @@ 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
66
+ AlertPolicy::Severity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Severity").enummodule
63
67
  end
64
68
  end
65
69
  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.
@@ -304,6 +304,19 @@ module Google
304
304
  # seconds: 360 # 6 minutes
305
305
  # total_poll_timeout:
306
306
  # seconds: 54000 # 90 minutes
307
+ # @!attribute [rw] auto_populated_fields
308
+ # @return [::Array<::String>]
309
+ # List of top-level fields of the request message, that should be
310
+ # automatically populated by the client libraries based on their
311
+ # (google.api.field_info).format. Currently supported format: UUID4.
312
+ #
313
+ # Example of a YAML configuration:
314
+ #
315
+ # publishing:
316
+ # method_settings:
317
+ # - selector: google.example.v1.ExampleService.CreateExample
318
+ # auto_populated_fields:
319
+ # - request_id
307
320
  class MethodSettings
308
321
  include ::Google::Protobuf::MessageExts
309
322
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -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
@@ -107,6 +123,11 @@ module Google
107
123
  # @!attribute [rw] alert_strategy
108
124
  # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::AlertStrategy]
109
125
  # Control over how this alert policy's notification channels are notified.
126
+ # @!attribute [rw] severity
127
+ # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Severity]
128
+ # Optional. The severity of an alert policy indicates how important incidents
129
+ # generated by that policy are. The severity level will be displayed on the
130
+ # Incident detail page and in notifications.
110
131
  class AlertPolicy
111
132
  include ::Google::Protobuf::MessageExts
112
133
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -115,7 +136,7 @@ module Google
115
136
  # format.
116
137
  # @!attribute [rw] content
117
138
  # @return [::String]
118
- # The text of the documentation, interpreted according to `mime_type`.
139
+ # The body of the documentation, interpreted according to `mime_type`.
119
140
  # The content may not exceed 8,192 Unicode characters and may not exceed
120
141
  # more than 10,240 bytes when encoded in UTF-8 format, whichever is
121
142
  # smaller. This text can be [templatized by using
@@ -125,6 +146,21 @@ module Google
125
146
  # The format of the `content` field. Presently, only the value
126
147
  # `"text/markdown"` is supported. See
127
148
  # [Markdown](https://en.wikipedia.org/wiki/Markdown) for more information.
149
+ # @!attribute [rw] subject
150
+ # @return [::String]
151
+ # Optional. The subject line of the notification. The subject line may not
152
+ # exceed 10,240 bytes. In notifications generated by this policy, the
153
+ # contents of the subject line after variable expansion will be truncated
154
+ # to 255 bytes or shorter at the latest UTF-8 character boundary. The
155
+ # 255-byte limit is recommended by [this
156
+ # thread](https://stackoverflow.com/questions/1592291/what-is-the-email-subject-length-limit).
157
+ # It is both the limit imposed by some third-party ticketing products and
158
+ # it is common to define textual fields in databases as VARCHAR(255).
159
+ #
160
+ # The contents of the subject line can be [templatized by using
161
+ # variables](https://cloud.google.com/monitoring/alerts/doc-variables).
162
+ # If this field is missing or empty, a default subject line will be
163
+ # generated.
128
164
  class Documentation
129
165
  include ::Google::Protobuf::MessageExts
130
166
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -180,6 +216,9 @@ module Google
180
216
  # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::MonitoringQueryLanguageCondition]
181
217
  # A condition that uses the Monitoring Query Language to define
182
218
  # alerts.
219
+ # @!attribute [rw] condition_prometheus_query_language
220
+ # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::PrometheusQueryLanguageCondition]
221
+ # A condition that uses the Prometheus query language to define alerts.
183
222
  class Condition
184
223
  include ::Google::Protobuf::MessageExts
185
224
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -203,7 +242,8 @@ module Google
203
242
  # against a threshold.
204
243
  # @!attribute [rw] filter
205
244
  # @return [::String]
206
- # Required. A [filter](https://cloud.google.com/monitoring/api/v3/filters) that
245
+ # Required. A
246
+ # [filter](https://cloud.google.com/monitoring/api/v3/filters) that
207
247
  # identifies which time series should be compared with the threshold.
208
248
  #
209
249
  # The filter is similar to the one that is specified in the
@@ -249,6 +289,13 @@ module Google
249
289
  # When computing ratios, the `aggregations` and
250
290
  # `denominator_aggregations` fields must use the same alignment period
251
291
  # and produce time series that have the same periodicity and labels.
292
+ # @!attribute [rw] forecast_options
293
+ # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::MetricThreshold::ForecastOptions]
294
+ # When this field is present, the `MetricThreshold` condition forecasts
295
+ # whether the time series is predicted to violate the threshold within
296
+ # the `forecast_horizon`. When this field is not set, the
297
+ # `MetricThreshold` tests the current value of the timeseries against the
298
+ # threshold.
252
299
  # @!attribute [rw] comparison
253
300
  # @return [::Google::Cloud::Monitoring::V3::ComparisonType]
254
301
  # The comparison to apply between the time series (indicated by `filter`
@@ -287,6 +334,21 @@ module Google
287
334
  class MetricThreshold
288
335
  include ::Google::Protobuf::MessageExts
289
336
  extend ::Google::Protobuf::MessageExts::ClassMethods
337
+
338
+ # Options used when forecasting the time series and testing
339
+ # the predicted value against the threshold.
340
+ # @!attribute [rw] forecast_horizon
341
+ # @return [::Google::Protobuf::Duration]
342
+ # Required. The length of time into the future to forecast whether a
343
+ # time series will violate the threshold. If the predicted value is
344
+ # found to violate the threshold, and the violation is observed in all
345
+ # forecasts made for the configured `duration`, then the time series is
346
+ # considered to be failing.
347
+ # The forecast horizon can range from 1 hour to 60 hours.
348
+ class ForecastOptions
349
+ include ::Google::Protobuf::MessageExts
350
+ extend ::Google::Protobuf::MessageExts::ClassMethods
351
+ end
290
352
  end
291
353
 
292
354
  # A condition type that checks that monitored resources
@@ -296,7 +358,8 @@ module Google
296
358
  # resource does not include any data in the specified `duration`.
297
359
  # @!attribute [rw] filter
298
360
  # @return [::String]
299
- # Required. A [filter](https://cloud.google.com/monitoring/api/v3/filters) that
361
+ # Required. A
362
+ # [filter](https://cloud.google.com/monitoring/api/v3/filters) that
300
363
  # identifies which time series should be compared with the threshold.
301
364
  #
302
365
  # The filter is similar to the one that is specified in the
@@ -410,6 +473,110 @@ module Google
410
473
  extend ::Google::Protobuf::MessageExts::ClassMethods
411
474
  end
412
475
 
476
+ # A condition type that allows alert policies to be defined using
477
+ # [Prometheus Query Language
478
+ # (PromQL)](https://prometheus.io/docs/prometheus/latest/querying/basics/).
479
+ #
480
+ # The PrometheusQueryLanguageCondition message contains information
481
+ # from a Prometheus alerting rule and its associated rule group.
482
+ #
483
+ # A Prometheus alerting rule is described
484
+ # [here](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/).
485
+ # The semantics of a Prometheus alerting rule is described
486
+ # [here](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule).
487
+ #
488
+ # A Prometheus rule group is described
489
+ # [here](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/).
490
+ # The semantics of a Prometheus rule group is described
491
+ # [here](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group).
492
+ #
493
+ # Because Cloud Alerting has no representation of a Prometheus rule
494
+ # group resource, we must embed the information of the parent rule
495
+ # group inside each of the conditions that refer to it. We must also
496
+ # update the contents of all Prometheus alerts in case the information
497
+ # of their rule group changes.
498
+ #
499
+ # The PrometheusQueryLanguageCondition protocol buffer combines the
500
+ # information of the corresponding rule group and alerting rule.
501
+ # The structure of the PrometheusQueryLanguageCondition protocol buffer
502
+ # does NOT mimic the structure of the Prometheus rule group and alerting
503
+ # rule YAML declarations. The PrometheusQueryLanguageCondition protocol
504
+ # buffer may change in the future to support future rule group and/or
505
+ # alerting rule features. There are no new such features at the present
506
+ # time (2023-06-26).
507
+ # @!attribute [rw] query
508
+ # @return [::String]
509
+ # Required. The PromQL expression to evaluate. Every evaluation cycle
510
+ # this expression is evaluated at the current time, and all resultant
511
+ # time series become pending/firing alerts. This field must not be empty.
512
+ # @!attribute [rw] duration
513
+ # @return [::Google::Protobuf::Duration]
514
+ # Optional. Alerts are considered firing once their PromQL expression was
515
+ # evaluated to be "true" for this long.
516
+ # Alerts whose PromQL expression was not evaluated to be "true" for
517
+ # long enough are considered pending.
518
+ # Must be a non-negative duration or missing.
519
+ # This field is optional. Its default value is zero.
520
+ # @!attribute [rw] evaluation_interval
521
+ # @return [::Google::Protobuf::Duration]
522
+ # Optional. How often this rule should be evaluated.
523
+ # Must be a positive multiple of 30 seconds or missing.
524
+ # This field is optional. Its default value is 30 seconds.
525
+ # If this PrometheusQueryLanguageCondition was generated from a
526
+ # Prometheus alerting rule, then this value should be taken from the
527
+ # enclosing rule group.
528
+ # @!attribute [rw] labels
529
+ # @return [::Google::Protobuf::Map{::String => ::String}]
530
+ # Optional. Labels to add to or overwrite in the PromQL query result.
531
+ # Label names [must be
532
+ # valid](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels).
533
+ # Label values can be [templatized by using
534
+ # variables](https://cloud.google.com/monitoring/alerts/doc-variables).
535
+ # The only available variable names are the names of the labels in the
536
+ # PromQL result, including "__name__" and "value". "labels" may be empty.
537
+ # @!attribute [rw] rule_group
538
+ # @return [::String]
539
+ # Optional. The rule group name of this alert in the corresponding
540
+ # Prometheus configuration file.
541
+ #
542
+ # Some external tools may require this field to be populated correctly
543
+ # in order to refer to the original Prometheus configuration file.
544
+ # The rule group name and the alert name are necessary to update the
545
+ # relevant AlertPolicies in case the definition of the rule group changes
546
+ # in the future.
547
+ #
548
+ # This field is optional. If this field is not empty, then it must
549
+ # contain a valid UTF-8 string.
550
+ # This field may not exceed 2048 Unicode characters in length.
551
+ # @!attribute [rw] alert_rule
552
+ # @return [::String]
553
+ # Optional. The alerting rule name of this alert in the corresponding
554
+ # Prometheus configuration file.
555
+ #
556
+ # Some external tools may require this field to be populated correctly
557
+ # in order to refer to the original Prometheus configuration file.
558
+ # The rule group name and the alert name are necessary to update the
559
+ # relevant AlertPolicies in case the definition of the rule group changes
560
+ # in the future.
561
+ #
562
+ # This field is optional. If this field is not empty, then it must be a
563
+ # [valid Prometheus label
564
+ # name](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels).
565
+ # This field may not exceed 2048 Unicode characters in length.
566
+ class PrometheusQueryLanguageCondition
567
+ include ::Google::Protobuf::MessageExts
568
+ extend ::Google::Protobuf::MessageExts::ClassMethods
569
+
570
+ # @!attribute [rw] key
571
+ # @return [::String]
572
+ # @!attribute [rw] value
573
+ # @return [::String]
574
+ class LabelsEntry
575
+ include ::Google::Protobuf::MessageExts
576
+ extend ::Google::Protobuf::MessageExts::ClassMethods
577
+ end
578
+ end
579
+
413
580
  # A condition control that determines how metric-threshold conditions
414
581
  # are evaluated when data stops arriving.
415
582
  # This control doesn't affect metric-absence policies.
@@ -442,6 +609,9 @@ module Google
442
609
  # @return [::Google::Protobuf::Duration]
443
610
  # If an alert policy that was active has no data for this long, any open
444
611
  # incidents will close
612
+ # @!attribute [rw] notification_channel_strategy
613
+ # @return [::Array<::Google::Cloud::Monitoring::V3::AlertPolicy::AlertStrategy::NotificationChannelStrategy>]
614
+ # Control how notifications will be sent out, on a per-channel basis.
445
615
  class AlertStrategy
446
616
  include ::Google::Protobuf::MessageExts
447
617
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -455,6 +625,26 @@ module Google
455
625
  include ::Google::Protobuf::MessageExts
456
626
  extend ::Google::Protobuf::MessageExts::ClassMethods
457
627
  end
628
+
629
+ # Control over how the notification channels in `notification_channels`
630
+ # are notified when this alert fires, on a per-channel basis.
631
+ # @!attribute [rw] notification_channel_names
632
+ # @return [::Array<::String>]
633
+ # The full REST resource name for the notification channels that these
634
+ # settings apply to. Each of these correspond to the name field in one
635
+ # of the NotificationChannel objects referenced in the
636
+ # notification_channels field of this AlertPolicy.
637
+ # The format is:
638
+ #
639
+ # projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
640
+ # @!attribute [rw] renotify_interval
641
+ # @return [::Google::Protobuf::Duration]
642
+ # The frequency at which to send reminder notifications for open
643
+ # incidents.
644
+ class NotificationChannelStrategy
645
+ include ::Google::Protobuf::MessageExts
646
+ extend ::Google::Protobuf::MessageExts::ClassMethods
647
+ end
458
648
  end
459
649
 
460
650
  # @!attribute [rw] key
@@ -486,6 +676,25 @@ module Google
486
676
  # simultaneously on at least one resource.
487
677
  AND_WITH_MATCHING_RESOURCE = 3
488
678
  end
679
+
680
+ # An enumeration of possible severity level for an Alert Policy.
681
+ module Severity
682
+ # No severity is specified. This is the default value.
683
+ SEVERITY_UNSPECIFIED = 0
684
+
685
+ # This is the highest severity level. Use this if the problem could
686
+ # cause significant damage or downtime.
687
+ CRITICAL = 1
688
+
689
+ # This is the medium severity level. Use this if the problem could
690
+ # cause minor damage or downtime.
691
+ ERROR = 2
692
+
693
+ # This is the lowest severity level. Use this if the problem is not causing
694
+ # any damage or downtime, but could potentially lead to a problem in the
695
+ # future.
696
+ WARNING = 3
697
+ end
489
698
  end
490
699
  end
491
700
  end
@@ -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.14.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-12-13 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.