google-cloud-monitoring-v3 1.2.0 → 1.4.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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/google/cloud/monitoring/v3/alert_policy_service/client.rb +7 -0
  4. data/lib/google/cloud/monitoring/v3/group_service/client.rb +13 -0
  5. data/lib/google/cloud/monitoring/v3/metric_service/client.rb +27 -8
  6. data/lib/google/cloud/monitoring/v3/notification_channel_service/client.rb +7 -0
  7. data/lib/google/cloud/monitoring/v3/query_service/client.rb +13 -1
  8. data/lib/google/cloud/monitoring/v3/service_monitoring_service/client.rb +7 -0
  9. data/lib/google/cloud/monitoring/v3/snooze_service/client.rb +7 -0
  10. data/lib/google/cloud/monitoring/v3/uptime_check_service/client.rb +8 -1
  11. data/lib/google/cloud/monitoring/v3/version.rb +1 -1
  12. data/lib/google/monitoring/v3/alert_pb.rb +9 -1
  13. data/lib/google/monitoring/v3/metric_pb.rb +1 -1
  14. data/lib/google/monitoring/v3/metric_service_pb.rb +1 -1
  15. data/lib/google/monitoring/v3/query_service_pb.rb +1 -1
  16. data/lib/google/monitoring/v3/query_service_services_pb.rb +4 -1
  17. data/lib/google/monitoring/v3/uptime_pb.rb +2 -1
  18. data/lib/google/monitoring/v3/uptime_service_services_pb.rb +1 -1
  19. data/proto_docs/google/api/distribution.rb +6 -0
  20. data/proto_docs/google/api/field_info.rb +88 -0
  21. data/proto_docs/google/monitoring/v3/alert.rb +147 -0
  22. data/proto_docs/google/monitoring/v3/common.rb +10 -0
  23. data/proto_docs/google/monitoring/v3/group_service.rb +6 -0
  24. data/proto_docs/google/monitoring/v3/metric.rb +14 -1
  25. data/proto_docs/google/monitoring/v3/metric_service.rb +28 -9
  26. data/proto_docs/google/monitoring/v3/service.rb +51 -1
  27. data/proto_docs/google/monitoring/v3/uptime.rb +18 -3
  28. data/proto_docs/google/protobuf/struct.rb +12 -0
  29. data/proto_docs/google/type/timeofday.rb +45 -0
  30. metadata +8 -9
@@ -225,21 +225,36 @@ module Google
225
225
  # @!attribute [rw] condition_threshold
226
226
  # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::MetricThreshold]
227
227
  # A condition that compares a time series against a threshold.
228
+ #
229
+ # Note: The following fields are mutually exclusive: `condition_threshold`, `condition_absent`, `condition_matched_log`, `condition_monitoring_query_language`, `condition_prometheus_query_language`, `condition_sql`. If a field in that set is populated, all other fields in the set will automatically be cleared.
228
230
  # @!attribute [rw] condition_absent
229
231
  # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::MetricAbsence]
230
232
  # A condition that checks that a time series continues to
231
233
  # receive new data points.
234
+ #
235
+ # Note: The following fields are mutually exclusive: `condition_absent`, `condition_threshold`, `condition_matched_log`, `condition_monitoring_query_language`, `condition_prometheus_query_language`, `condition_sql`. If a field in that set is populated, all other fields in the set will automatically be cleared.
232
236
  # @!attribute [rw] condition_matched_log
233
237
  # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::LogMatch]
234
238
  # A condition that checks for log messages matching given constraints. If
235
239
  # set, no other conditions can be present.
240
+ #
241
+ # Note: The following fields are mutually exclusive: `condition_matched_log`, `condition_threshold`, `condition_absent`, `condition_monitoring_query_language`, `condition_prometheus_query_language`, `condition_sql`. If a field in that set is populated, all other fields in the set will automatically be cleared.
236
242
  # @!attribute [rw] condition_monitoring_query_language
237
243
  # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::MonitoringQueryLanguageCondition]
238
244
  # A condition that uses the Monitoring Query Language to define
239
245
  # alerts.
246
+ #
247
+ # Note: The following fields are mutually exclusive: `condition_monitoring_query_language`, `condition_threshold`, `condition_absent`, `condition_matched_log`, `condition_prometheus_query_language`, `condition_sql`. If a field in that set is populated, all other fields in the set will automatically be cleared.
240
248
  # @!attribute [rw] condition_prometheus_query_language
241
249
  # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::PrometheusQueryLanguageCondition]
242
250
  # A condition that uses the Prometheus query language to define alerts.
251
+ #
252
+ # Note: The following fields are mutually exclusive: `condition_prometheus_query_language`, `condition_threshold`, `condition_absent`, `condition_matched_log`, `condition_monitoring_query_language`, `condition_sql`. If a field in that set is populated, all other fields in the set will automatically be cleared.
253
+ # @!attribute [rw] condition_sql
254
+ # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::SqlCondition]
255
+ # A condition that periodically evaluates a SQL query result.
256
+ #
257
+ # Note: The following fields are mutually exclusive: `condition_sql`, `condition_threshold`, `condition_absent`, `condition_matched_log`, `condition_monitoring_query_language`, `condition_prometheus_query_language`. If a field in that set is populated, all other fields in the set will automatically be cleared.
243
258
  class Condition
244
259
  include ::Google::Protobuf::MessageExts
245
260
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -250,10 +265,14 @@ module Google
250
265
  # @return [::Integer]
251
266
  # The absolute number of time series that must fail
252
267
  # the predicate for the condition to be triggered.
268
+ #
269
+ # Note: The following fields are mutually exclusive: `count`, `percent`. If a field in that set is populated, all other fields in the set will automatically be cleared.
253
270
  # @!attribute [rw] percent
254
271
  # @return [::Float]
255
272
  # The percentage of time series that must fail the
256
273
  # predicate for the condition to be triggered.
274
+ #
275
+ # Note: The following fields are mutually exclusive: `percent`, `count`. If a field in that set is populated, all other fields in the set will automatically be cleared.
257
276
  class Trigger
258
277
  include ::Google::Protobuf::MessageExts
259
278
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -585,6 +604,17 @@ module Google
585
604
  # [valid Prometheus label
586
605
  # name](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels).
587
606
  # This field may not exceed 2048 Unicode characters in length.
607
+ # @!attribute [rw] disable_metric_validation
608
+ # @return [::Boolean]
609
+ # Optional. Whether to disable metric existence validation for this
610
+ # condition.
611
+ #
612
+ # This allows alerting policies to be defined on metrics that do not yet
613
+ # exist, improving advanced customer workflows such as configuring
614
+ # alerting policies using Terraform.
615
+ #
616
+ # Users with the `monitoring.alertPolicyViewer` role are able to see the
617
+ # name of the non-existent metric in the alerting policy condition.
588
618
  class PrometheusQueryLanguageCondition
589
619
  include ::Google::Protobuf::MessageExts
590
620
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -599,6 +629,123 @@ module Google
599
629
  end
600
630
  end
601
631
 
632
+ # A condition that allows alerting policies to be defined using GoogleSQL.
633
+ # SQL conditions examine a sliding window of logs using GoogleSQL.
634
+ # Alert policies with SQL conditions may incur additional billing.
635
+ # @!attribute [rw] query
636
+ # @return [::String]
637
+ # Required. The Log Analytics SQL query to run, as a string. The query
638
+ # must conform to the required shape. Specifically, the query must not
639
+ # try to filter the input by time. A filter will automatically be
640
+ # applied to filter the input so that the query receives all rows
641
+ # received since the last time the query was run.
642
+ #
643
+ # For example, the following query extracts all log entries containing an
644
+ # HTTP request:
645
+ #
646
+ # SELECT
647
+ # timestamp, log_name, severity, http_request, resource, labels
648
+ # FROM
649
+ # my-project.global._Default._AllLogs
650
+ # WHERE
651
+ # http_request IS NOT NULL
652
+ # @!attribute [rw] minutes
653
+ # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::SqlCondition::Minutes]
654
+ # Schedule the query to execute every so many minutes.
655
+ #
656
+ # Note: The following fields are mutually exclusive: `minutes`, `hourly`, `daily`. If a field in that set is populated, all other fields in the set will automatically be cleared.
657
+ # @!attribute [rw] hourly
658
+ # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::SqlCondition::Hourly]
659
+ # Schedule the query to execute every so many hours.
660
+ #
661
+ # Note: The following fields are mutually exclusive: `hourly`, `minutes`, `daily`. If a field in that set is populated, all other fields in the set will automatically be cleared.
662
+ # @!attribute [rw] daily
663
+ # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::SqlCondition::Daily]
664
+ # Schedule the query to execute every so many days.
665
+ #
666
+ # Note: The following fields are mutually exclusive: `daily`, `minutes`, `hourly`. If a field in that set is populated, all other fields in the set will automatically be cleared.
667
+ # @!attribute [rw] row_count_test
668
+ # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::SqlCondition::RowCountTest]
669
+ # Test the row count against a threshold.
670
+ #
671
+ # Note: The following fields are mutually exclusive: `row_count_test`, `boolean_test`. If a field in that set is populated, all other fields in the set will automatically be cleared.
672
+ # @!attribute [rw] boolean_test
673
+ # @return [::Google::Cloud::Monitoring::V3::AlertPolicy::Condition::SqlCondition::BooleanTest]
674
+ # Test the boolean value in the indicated column.
675
+ #
676
+ # Note: The following fields are mutually exclusive: `boolean_test`, `row_count_test`. If a field in that set is populated, all other fields in the set will automatically be cleared.
677
+ class SqlCondition
678
+ include ::Google::Protobuf::MessageExts
679
+ extend ::Google::Protobuf::MessageExts::ClassMethods
680
+
681
+ # Used to schedule the query to run every so many minutes.
682
+ # @!attribute [rw] periodicity
683
+ # @return [::Integer]
684
+ # Required. Number of minutes between runs. The interval must be
685
+ # greater than or equal to 5 minutes and less than or equal to 1440
686
+ # minutes.
687
+ class Minutes
688
+ include ::Google::Protobuf::MessageExts
689
+ extend ::Google::Protobuf::MessageExts::ClassMethods
690
+ end
691
+
692
+ # Used to schedule the query to run every so many hours.
693
+ # @!attribute [rw] periodicity
694
+ # @return [::Integer]
695
+ # Required. The number of hours between runs. Must be greater than or
696
+ # equal to 1 hour and less than or equal to 48 hours.
697
+ # @!attribute [rw] minute_offset
698
+ # @return [::Integer]
699
+ # Optional. The number of minutes after the hour (in UTC) to run the
700
+ # query. Must be greater than or equal to 0 minutes and less than or
701
+ # equal to 59 minutes. If left unspecified, then an arbitrary offset
702
+ # is used.
703
+ class Hourly
704
+ include ::Google::Protobuf::MessageExts
705
+ extend ::Google::Protobuf::MessageExts::ClassMethods
706
+ end
707
+
708
+ # Used to schedule the query to run every so many days.
709
+ # @!attribute [rw] periodicity
710
+ # @return [::Integer]
711
+ # Required. The number of days between runs. Must be greater than or
712
+ # equal to 1 day and less than or equal to 31 days.
713
+ # @!attribute [rw] execution_time
714
+ # @return [::Google::Type::TimeOfDay]
715
+ # Optional. The time of day (in UTC) at which the query should run. If
716
+ # left unspecified, the server picks an arbitrary time of day and runs
717
+ # the query at the same time each day.
718
+ class Daily
719
+ include ::Google::Protobuf::MessageExts
720
+ extend ::Google::Protobuf::MessageExts::ClassMethods
721
+ end
722
+
723
+ # A test that checks if the number of rows in the result set
724
+ # violates some threshold.
725
+ # @!attribute [rw] comparison
726
+ # @return [::Google::Cloud::Monitoring::V3::ComparisonType]
727
+ # Required. The comparison to apply between the number of rows returned
728
+ # by the query and the threshold.
729
+ # @!attribute [rw] threshold
730
+ # @return [::Integer]
731
+ # Required. The value against which to compare the row count.
732
+ class RowCountTest
733
+ include ::Google::Protobuf::MessageExts
734
+ extend ::Google::Protobuf::MessageExts::ClassMethods
735
+ end
736
+
737
+ # A test that uses an alerting result in a boolean column produced by
738
+ # the SQL query.
739
+ # @!attribute [rw] column
740
+ # @return [::String]
741
+ # Required. The name of the column containing the boolean value. If the
742
+ # value in a row is NULL, that row is ignored.
743
+ class BooleanTest
744
+ include ::Google::Protobuf::MessageExts
745
+ extend ::Google::Protobuf::MessageExts::ClassMethods
746
+ end
747
+ end
748
+
602
749
  # A condition control that determines how metric-threshold conditions
603
750
  # are evaluated when data stops arriving.
604
751
  # This control doesn't affect metric-absence policies.
@@ -25,20 +25,30 @@ module Google
25
25
  # @!attribute [rw] bool_value
26
26
  # @return [::Boolean]
27
27
  # A Boolean value: `true` or `false`.
28
+ #
29
+ # Note: The following fields are mutually exclusive: `bool_value`, `int64_value`, `double_value`, `string_value`, `distribution_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
28
30
  # @!attribute [rw] int64_value
29
31
  # @return [::Integer]
30
32
  # A 64-bit integer. Its range is approximately &plusmn;9.2x10<sup>18</sup>.
33
+ #
34
+ # Note: The following fields are mutually exclusive: `int64_value`, `bool_value`, `double_value`, `string_value`, `distribution_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
31
35
  # @!attribute [rw] double_value
32
36
  # @return [::Float]
33
37
  # A 64-bit double-precision floating-point number. Its magnitude
34
38
  # is approximately &plusmn;10<sup>&plusmn;300</sup> and it has 16
35
39
  # significant digits of precision.
40
+ #
41
+ # Note: The following fields are mutually exclusive: `double_value`, `bool_value`, `int64_value`, `string_value`, `distribution_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
36
42
  # @!attribute [rw] string_value
37
43
  # @return [::String]
38
44
  # A variable-length string value.
45
+ #
46
+ # Note: The following fields are mutually exclusive: `string_value`, `bool_value`, `int64_value`, `double_value`, `distribution_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
39
47
  # @!attribute [rw] distribution_value
40
48
  # @return [::Google::Api::Distribution]
41
49
  # A distribution value.
50
+ #
51
+ # Note: The following fields are mutually exclusive: `distribution_value`, `bool_value`, `int64_value`, `double_value`, `string_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
42
52
  class TypedValue
43
53
  include ::Google::Protobuf::MessageExts
44
54
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -37,6 +37,8 @@ module Google
37
37
  #
38
38
  # Returns groups whose `parent_name` field contains the group
39
39
  # name. If no groups have this parent, the results are empty.
40
+ #
41
+ # Note: The following fields are mutually exclusive: `children_of_group`, `ancestors_of_group`, `descendants_of_group`. If a field in that set is populated, all other fields in the set will automatically be cleared.
40
42
  # @!attribute [rw] ancestors_of_group
41
43
  # @return [::String]
42
44
  # A group name. The format is:
@@ -47,6 +49,8 @@ module Google
47
49
  # The groups are returned in order, starting with the immediate parent and
48
50
  # ending with the most distant ancestor. If the specified group has no
49
51
  # immediate parent, the results are empty.
52
+ #
53
+ # Note: The following fields are mutually exclusive: `ancestors_of_group`, `children_of_group`, `descendants_of_group`. If a field in that set is populated, all other fields in the set will automatically be cleared.
50
54
  # @!attribute [rw] descendants_of_group
51
55
  # @return [::String]
52
56
  # A group name. The format is:
@@ -56,6 +60,8 @@ module Google
56
60
  # Returns the descendants of the specified group. This is a superset of
57
61
  # the results returned by the `children_of_group` filter, and includes
58
62
  # children-of-children, and so forth.
63
+ #
64
+ # Note: The following fields are mutually exclusive: `descendants_of_group`, `children_of_group`, `ancestors_of_group`. If a field in that set is populated, all other fields in the set will automatically be cleared.
59
65
  # @!attribute [rw] page_size
60
66
  # @return [::Integer]
61
67
  # A positive number that is the maximum number of results to return.
@@ -93,7 +93,14 @@ module Google
93
93
  # @return [::String]
94
94
  # The units in which the metric value is reported. It is only applicable
95
95
  # if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`
96
- # defines the representation of the stored metric values.
96
+ # defines the representation of the stored metric values. This field can only
97
+ # be changed through CreateTimeSeries when it is empty.
98
+ # @!attribute [rw] description
99
+ # @return [::String]
100
+ # Input only. A detailed description of the time series that will be
101
+ # associated with the
102
+ # {::Google::Api::MetricDescriptor google.api.MetricDescriptor} for the metric.
103
+ # Once set, this field cannot be changed through CreateTimeSeries.
97
104
  class TimeSeries
98
105
  include ::Google::Protobuf::MessageExts
99
106
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -166,12 +173,18 @@ module Google
166
173
  # @!attribute [rw] bool_value
167
174
  # @return [::Boolean]
168
175
  # A bool label value.
176
+ #
177
+ # Note: The following fields are mutually exclusive: `bool_value`, `int64_value`, `string_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
169
178
  # @!attribute [rw] int64_value
170
179
  # @return [::Integer]
171
180
  # An int64 label value.
181
+ #
182
+ # Note: The following fields are mutually exclusive: `int64_value`, `bool_value`, `string_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
172
183
  # @!attribute [rw] string_value
173
184
  # @return [::String]
174
185
  # A string label value.
186
+ #
187
+ # Note: The following fields are mutually exclusive: `string_value`, `bool_value`, `int64_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
175
188
  class LabelValue
176
189
  include ::Google::Protobuf::MessageExts
177
190
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -89,7 +89,7 @@ module Google
89
89
  # projects/[PROJECT_ID_OR_NUMBER]
90
90
  # @!attribute [rw] filter
91
91
  # @return [::String]
92
- # If this field is empty, all custom and
92
+ # Optional. If this field is empty, all custom and
93
93
  # system-defined metric descriptors are returned.
94
94
  # Otherwise, the [filter](https://cloud.google.com/monitoring/api/v3/filters)
95
95
  # specifies which metric descriptors are to be
@@ -99,14 +99,27 @@ module Google
99
99
  # metric.type = starts_with("custom.googleapis.com/")
100
100
  # @!attribute [rw] page_size
101
101
  # @return [::Integer]
102
- # A positive number that is the maximum number of results to return. The
103
- # default and maximum value is 10,000. If a page_size <= 0 or > 10,000 is
104
- # submitted, will instead return a maximum of 10,000 results.
102
+ # Optional. A positive number that is the maximum number of results to
103
+ # return. The default and maximum value is 10,000. If a page_size <= 0 or >
104
+ # 10,000 is submitted, will instead return a maximum of 10,000 results.
105
105
  # @!attribute [rw] page_token
106
106
  # @return [::String]
107
- # If this field is not empty then it must contain the `nextPageToken` value
108
- # returned by a previous call to this method. Using this field causes the
109
- # method to return additional results from the previous method call.
107
+ # Optional. If this field is not empty then it must contain the
108
+ # `nextPageToken` value returned by a previous call to this method. Using
109
+ # this field causes the method to return additional results from the previous
110
+ # method call.
111
+ # @!attribute [rw] active_only
112
+ # @return [::Boolean]
113
+ # Optional. If true, only metrics and monitored resource types that have
114
+ # recent data (within roughly 25 hours) will be included in the response.
115
+ # - If a metric descriptor enumerates monitored resource types, only the
116
+ # monitored resource types for which the metric type has recent data will
117
+ # be included in the returned metric descriptor, and if none of them have
118
+ # recent data, the metric descriptor will not be returned.
119
+ # - If a metric descriptor does not enumerate the compatible monitored
120
+ # resource types, it will be returned only if the metric type has recent
121
+ # data for some monitored resource type. The returned descriptor will not
122
+ # enumerate any monitored resource types.
110
123
  class ListMetricDescriptorsRequest
111
124
  include ::Google::Protobuf::MessageExts
112
125
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -334,7 +347,10 @@ module Google
334
347
  end
335
348
  end
336
349
 
337
- # The `QueryTimeSeries` request.
350
+ # The `QueryTimeSeries` request. For information about the status of
351
+ # Monitoring Query Language (MQL), see the [MQL deprecation
352
+ # notice](https://cloud.google.com/stackdriver/docs/deprecations/mql).
353
+ # @deprecated This message is deprecated and may be removed in the next major version update.
338
354
  # @!attribute [rw] name
339
355
  # @return [::String]
340
356
  # Required. The
@@ -360,7 +376,10 @@ module Google
360
376
  extend ::Google::Protobuf::MessageExts::ClassMethods
361
377
  end
362
378
 
363
- # The `QueryTimeSeries` response.
379
+ # The `QueryTimeSeries` response. For information about the status of
380
+ # Monitoring Query Language (MQL), see the [MQL deprecation
381
+ # notice](https://cloud.google.com/stackdriver/docs/deprecations/mql).
382
+ # @deprecated This message is deprecated and may be removed in the next major version update.
364
383
  # @!attribute [rw] time_series_descriptor
365
384
  # @return [::Google::Cloud::Monitoring::V3::TimeSeriesDescriptor]
366
385
  # The descriptor for the time series data.
@@ -37,35 +37,55 @@ module Google
37
37
  # @!attribute [rw] custom
38
38
  # @return [::Google::Cloud::Monitoring::V3::Service::Custom]
39
39
  # Custom service type.
40
+ #
41
+ # Note: The following fields are mutually exclusive: `custom`, `app_engine`, `cloud_endpoints`, `cluster_istio`, `mesh_istio`, `istio_canonical_service`, `cloud_run`, `gke_namespace`, `gke_workload`, `gke_service`. If a field in that set is populated, all other fields in the set will automatically be cleared.
40
42
  # @!attribute [rw] app_engine
41
43
  # @return [::Google::Cloud::Monitoring::V3::Service::AppEngine]
42
44
  # Type used for App Engine services.
45
+ #
46
+ # Note: The following fields are mutually exclusive: `app_engine`, `custom`, `cloud_endpoints`, `cluster_istio`, `mesh_istio`, `istio_canonical_service`, `cloud_run`, `gke_namespace`, `gke_workload`, `gke_service`. If a field in that set is populated, all other fields in the set will automatically be cleared.
43
47
  # @!attribute [rw] cloud_endpoints
44
48
  # @return [::Google::Cloud::Monitoring::V3::Service::CloudEndpoints]
45
49
  # Type used for Cloud Endpoints services.
50
+ #
51
+ # Note: The following fields are mutually exclusive: `cloud_endpoints`, `custom`, `app_engine`, `cluster_istio`, `mesh_istio`, `istio_canonical_service`, `cloud_run`, `gke_namespace`, `gke_workload`, `gke_service`. If a field in that set is populated, all other fields in the set will automatically be cleared.
46
52
  # @!attribute [rw] cluster_istio
47
53
  # @return [::Google::Cloud::Monitoring::V3::Service::ClusterIstio]
48
54
  # Type used for Istio services that live in a Kubernetes cluster.
55
+ #
56
+ # Note: The following fields are mutually exclusive: `cluster_istio`, `custom`, `app_engine`, `cloud_endpoints`, `mesh_istio`, `istio_canonical_service`, `cloud_run`, `gke_namespace`, `gke_workload`, `gke_service`. If a field in that set is populated, all other fields in the set will automatically be cleared.
49
57
  # @!attribute [rw] mesh_istio
50
58
  # @return [::Google::Cloud::Monitoring::V3::Service::MeshIstio]
51
59
  # Type used for Istio services scoped to an Istio mesh.
60
+ #
61
+ # Note: The following fields are mutually exclusive: `mesh_istio`, `custom`, `app_engine`, `cloud_endpoints`, `cluster_istio`, `istio_canonical_service`, `cloud_run`, `gke_namespace`, `gke_workload`, `gke_service`. If a field in that set is populated, all other fields in the set will automatically be cleared.
52
62
  # @!attribute [rw] istio_canonical_service
53
63
  # @return [::Google::Cloud::Monitoring::V3::Service::IstioCanonicalService]
54
64
  # Type used for canonical services scoped to an Istio mesh.
55
65
  # Metrics for Istio are
56
66
  # [documented here](https://istio.io/latest/docs/reference/config/metrics/)
67
+ #
68
+ # Note: The following fields are mutually exclusive: `istio_canonical_service`, `custom`, `app_engine`, `cloud_endpoints`, `cluster_istio`, `mesh_istio`, `cloud_run`, `gke_namespace`, `gke_workload`, `gke_service`. If a field in that set is populated, all other fields in the set will automatically be cleared.
57
69
  # @!attribute [rw] cloud_run
58
70
  # @return [::Google::Cloud::Monitoring::V3::Service::CloudRun]
59
71
  # Type used for Cloud Run services.
72
+ #
73
+ # Note: The following fields are mutually exclusive: `cloud_run`, `custom`, `app_engine`, `cloud_endpoints`, `cluster_istio`, `mesh_istio`, `istio_canonical_service`, `gke_namespace`, `gke_workload`, `gke_service`. If a field in that set is populated, all other fields in the set will automatically be cleared.
60
74
  # @!attribute [rw] gke_namespace
61
75
  # @return [::Google::Cloud::Monitoring::V3::Service::GkeNamespace]
62
76
  # Type used for GKE Namespaces.
77
+ #
78
+ # Note: The following fields are mutually exclusive: `gke_namespace`, `custom`, `app_engine`, `cloud_endpoints`, `cluster_istio`, `mesh_istio`, `istio_canonical_service`, `cloud_run`, `gke_workload`, `gke_service`. If a field in that set is populated, all other fields in the set will automatically be cleared.
63
79
  # @!attribute [rw] gke_workload
64
80
  # @return [::Google::Cloud::Monitoring::V3::Service::GkeWorkload]
65
81
  # Type used for GKE Workloads.
82
+ #
83
+ # Note: The following fields are mutually exclusive: `gke_workload`, `custom`, `app_engine`, `cloud_endpoints`, `cluster_istio`, `mesh_istio`, `istio_canonical_service`, `cloud_run`, `gke_namespace`, `gke_service`. If a field in that set is populated, all other fields in the set will automatically be cleared.
66
84
  # @!attribute [rw] gke_service
67
85
  # @return [::Google::Cloud::Monitoring::V3::Service::GkeService]
68
86
  # Type used for GKE Services (the Kubernetes concept of a service).
87
+ #
88
+ # Note: The following fields are mutually exclusive: `gke_service`, `custom`, `app_engine`, `cloud_endpoints`, `cluster_istio`, `mesh_istio`, `istio_canonical_service`, `cloud_run`, `gke_namespace`, `gke_workload`. If a field in that set is populated, all other fields in the set will automatically be cleared.
69
89
  # @!attribute [rw] basic_service
70
90
  # @return [::Google::Cloud::Monitoring::V3::Service::BasicService]
71
91
  # Message that contains the service type and service labels of this service
@@ -351,16 +371,20 @@ module Google
351
371
  # @!attribute [rw] goal
352
372
  # @return [::Float]
353
373
  # The fraction of service that must be good in order for this objective to be
354
- # met. `0 < goal <= 0.999`.
374
+ # met. `0 < goal <= 0.9999`.
355
375
  # @!attribute [rw] rolling_period
356
376
  # @return [::Google::Protobuf::Duration]
357
377
  # A rolling time period, semantically "in the past `<rolling_period>`".
358
378
  # Must be an integer multiple of 1 day no larger than 30 days.
379
+ #
380
+ # Note: The following fields are mutually exclusive: `rolling_period`, `calendar_period`. If a field in that set is populated, all other fields in the set will automatically be cleared.
359
381
  # @!attribute [rw] calendar_period
360
382
  # @return [::Google::Type::CalendarPeriod]
361
383
  # A calendar period, semantically "since the start of the current
362
384
  # `<calendar_period>`". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and
363
385
  # `MONTH` are supported.
386
+ #
387
+ # Note: The following fields are mutually exclusive: `calendar_period`, `rolling_period`. If a field in that set is populated, all other fields in the set will automatically be cleared.
364
388
  # @!attribute [rw] user_labels
365
389
  # @return [::Google::Protobuf::Map{::String => ::String}]
366
390
  # Labels which have been used to annotate the service-level objective. Label
@@ -418,12 +442,18 @@ module Google
418
442
  # @!attribute [rw] basic_sli
419
443
  # @return [::Google::Cloud::Monitoring::V3::BasicSli]
420
444
  # Basic SLI on a well-known service type.
445
+ #
446
+ # Note: The following fields are mutually exclusive: `basic_sli`, `request_based`, `windows_based`. If a field in that set is populated, all other fields in the set will automatically be cleared.
421
447
  # @!attribute [rw] request_based
422
448
  # @return [::Google::Cloud::Monitoring::V3::RequestBasedSli]
423
449
  # Request-based SLIs
450
+ #
451
+ # Note: The following fields are mutually exclusive: `request_based`, `basic_sli`, `windows_based`. If a field in that set is populated, all other fields in the set will automatically be cleared.
424
452
  # @!attribute [rw] windows_based
425
453
  # @return [::Google::Cloud::Monitoring::V3::WindowsBasedSli]
426
454
  # Windows-based SLIs
455
+ #
456
+ # Note: The following fields are mutually exclusive: `windows_based`, `basic_sli`, `request_based`. If a field in that set is populated, all other fields in the set will automatically be cleared.
427
457
  class ServiceLevelIndicator
428
458
  include ::Google::Protobuf::MessageExts
429
459
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -460,10 +490,14 @@ module Google
460
490
  # @return [::Google::Cloud::Monitoring::V3::BasicSli::AvailabilityCriteria]
461
491
  # Good service is defined to be the count of requests made to this service
462
492
  # that return successfully.
493
+ #
494
+ # Note: The following fields are mutually exclusive: `availability`, `latency`. If a field in that set is populated, all other fields in the set will automatically be cleared.
463
495
  # @!attribute [rw] latency
464
496
  # @return [::Google::Cloud::Monitoring::V3::BasicSli::LatencyCriteria]
465
497
  # Good service is defined to be the count of requests made to this service
466
498
  # that are fast enough with respect to `latency.threshold`.
499
+ #
500
+ # Note: The following fields are mutually exclusive: `latency`, `availability`. If a field in that set is populated, all other fields in the set will automatically be cleared.
467
501
  class BasicSli
468
502
  include ::Google::Protobuf::MessageExts
469
503
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -503,12 +537,16 @@ module Google
503
537
  # @return [::Google::Cloud::Monitoring::V3::TimeSeriesRatio]
504
538
  # `good_total_ratio` is used when the ratio of `good_service` to
505
539
  # `total_service` is computed from two `TimeSeries`.
540
+ #
541
+ # Note: The following fields are mutually exclusive: `good_total_ratio`, `distribution_cut`. If a field in that set is populated, all other fields in the set will automatically be cleared.
506
542
  # @!attribute [rw] distribution_cut
507
543
  # @return [::Google::Cloud::Monitoring::V3::DistributionCut]
508
544
  # `distribution_cut` is used when `good_service` is a count of values
509
545
  # aggregated in a `Distribution` that fall into a good range. The
510
546
  # `total_service` is the total count of all values aggregated in the
511
547
  # `Distribution`.
548
+ #
549
+ # Note: The following fields are mutually exclusive: `distribution_cut`, `good_total_ratio`. If a field in that set is populated, all other fields in the set will automatically be cleared.
512
550
  class RequestBasedSli
513
551
  include ::Google::Protobuf::MessageExts
514
552
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -571,17 +609,25 @@ module Google
571
609
  # A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
572
610
  # specifying a `TimeSeries` with `ValueType = BOOL`. The window is good if
573
611
  # any `true` values appear in the window.
612
+ #
613
+ # Note: The following fields are mutually exclusive: `good_bad_metric_filter`, `good_total_ratio_threshold`, `metric_mean_in_range`, `metric_sum_in_range`. If a field in that set is populated, all other fields in the set will automatically be cleared.
574
614
  # @!attribute [rw] good_total_ratio_threshold
575
615
  # @return [::Google::Cloud::Monitoring::V3::WindowsBasedSli::PerformanceThreshold]
576
616
  # A window is good if its `performance` is high enough.
617
+ #
618
+ # Note: The following fields are mutually exclusive: `good_total_ratio_threshold`, `good_bad_metric_filter`, `metric_mean_in_range`, `metric_sum_in_range`. If a field in that set is populated, all other fields in the set will automatically be cleared.
577
619
  # @!attribute [rw] metric_mean_in_range
578
620
  # @return [::Google::Cloud::Monitoring::V3::WindowsBasedSli::MetricRange]
579
621
  # A window is good if the metric's value is in a good range, averaged
580
622
  # across returned streams.
623
+ #
624
+ # Note: The following fields are mutually exclusive: `metric_mean_in_range`, `good_bad_metric_filter`, `good_total_ratio_threshold`, `metric_sum_in_range`. If a field in that set is populated, all other fields in the set will automatically be cleared.
581
625
  # @!attribute [rw] metric_sum_in_range
582
626
  # @return [::Google::Cloud::Monitoring::V3::WindowsBasedSli::MetricRange]
583
627
  # A window is good if the metric's value is in a good range, summed across
584
628
  # returned streams.
629
+ #
630
+ # Note: The following fields are mutually exclusive: `metric_sum_in_range`, `good_bad_metric_filter`, `good_total_ratio_threshold`, `metric_mean_in_range`. If a field in that set is populated, all other fields in the set will automatically be cleared.
585
631
  # @!attribute [rw] window_period
586
632
  # @return [::Google::Protobuf::Duration]
587
633
  # Duration over which window quality is evaluated. Must be an integer
@@ -595,9 +641,13 @@ module Google
595
641
  # @!attribute [rw] performance
596
642
  # @return [::Google::Cloud::Monitoring::V3::RequestBasedSli]
597
643
  # `RequestBasedSli` to evaluate to judge window quality.
644
+ #
645
+ # Note: The following fields are mutually exclusive: `performance`, `basic_sli_performance`. If a field in that set is populated, all other fields in the set will automatically be cleared.
598
646
  # @!attribute [rw] basic_sli_performance
599
647
  # @return [::Google::Cloud::Monitoring::V3::BasicSli]
600
648
  # `BasicSli` to evaluate to judge window quality.
649
+ #
650
+ # Note: The following fields are mutually exclusive: `basic_sli_performance`, `performance`. If a field in that set is populated, all other fields in the set will automatically be cleared.
601
651
  # @!attribute [rw] threshold
602
652
  # @return [::Float]
603
653
  # If window `performance >= threshold`, the window is counted as good.
@@ -139,18 +139,28 @@ module Google
139
139
  # `k8s_service`
140
140
  # `servicedirectory_service`
141
141
  # `cloud_run_revision`
142
+ #
143
+ # Note: The following fields are mutually exclusive: `monitored_resource`, `resource_group`, `synthetic_monitor`. If a field in that set is populated, all other fields in the set will automatically be cleared.
142
144
  # @!attribute [rw] resource_group
143
145
  # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::ResourceGroup]
144
146
  # The group resource associated with the configuration.
147
+ #
148
+ # Note: The following fields are mutually exclusive: `resource_group`, `monitored_resource`, `synthetic_monitor`. If a field in that set is populated, all other fields in the set will automatically be cleared.
145
149
  # @!attribute [rw] synthetic_monitor
146
150
  # @return [::Google::Cloud::Monitoring::V3::SyntheticMonitorTarget]
147
151
  # Specifies a Synthetic Monitor to invoke.
152
+ #
153
+ # Note: The following fields are mutually exclusive: `synthetic_monitor`, `monitored_resource`, `resource_group`. If a field in that set is populated, all other fields in the set will automatically be cleared.
148
154
  # @!attribute [rw] http_check
149
155
  # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::HttpCheck]
150
156
  # Contains information needed to make an HTTP or HTTPS check.
157
+ #
158
+ # Note: The following fields are mutually exclusive: `http_check`, `tcp_check`. If a field in that set is populated, all other fields in the set will automatically be cleared.
151
159
  # @!attribute [rw] tcp_check
152
160
  # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::TcpCheck]
153
161
  # Contains information needed to make a TCP check.
162
+ #
163
+ # Note: The following fields are mutually exclusive: `tcp_check`, `http_check`. If a field in that set is populated, all other fields in the set will automatically be cleared.
154
164
  # @!attribute [rw] period
155
165
  # @return [::Google::Protobuf::Duration]
156
166
  # How often, in seconds, the Uptime check is performed.
@@ -347,9 +357,13 @@ module Google
347
357
  # @!attribute [rw] status_value
348
358
  # @return [::Integer]
349
359
  # A status code to accept.
360
+ #
361
+ # Note: The following fields are mutually exclusive: `status_value`, `status_class`. If a field in that set is populated, all other fields in the set will automatically be cleared.
350
362
  # @!attribute [rw] status_class
351
363
  # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::HttpCheck::ResponseStatusCode::StatusClass]
352
364
  # A class of status codes to accept.
365
+ #
366
+ # Note: The following fields are mutually exclusive: `status_class`, `status_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
353
367
  class ResponseStatusCode
354
368
  include ::Google::Protobuf::MessageExts
355
369
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -379,10 +393,11 @@ module Google
379
393
  end
380
394
  end
381
395
 
382
- # Contains information needed for generating an
396
+ # Contains information needed for generating either an
383
397
  # [OpenID Connect
384
- # token](https://developers.google.com/identity/protocols/OpenIDConnect).
385
- # The OIDC token will be generated for the Monitoring service agent service
398
+ # token](https://developers.google.com/identity/protocols/OpenIDConnect) or
399
+ # [OAuth token](https://developers.google.com/identity/protocols/oauth2).
400
+ # The token will be generated for the Monitoring service agent service
386
401
  # account.
387
402
  # @!attribute [rw] type
388
403
  # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::HttpCheck::ServiceAgentAuthentication::ServiceAgentAuthenticationType]
@@ -53,21 +53,33 @@ module Google
53
53
  # @!attribute [rw] null_value
54
54
  # @return [::Google::Protobuf::NullValue]
55
55
  # Represents a null value.
56
+ #
57
+ # Note: The following fields are mutually exclusive: `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
56
58
  # @!attribute [rw] number_value
57
59
  # @return [::Float]
58
60
  # Represents a double value.
61
+ #
62
+ # Note: The following fields are mutually exclusive: `number_value`, `null_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
59
63
  # @!attribute [rw] string_value
60
64
  # @return [::String]
61
65
  # Represents a string value.
66
+ #
67
+ # Note: The following fields are mutually exclusive: `string_value`, `null_value`, `number_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
62
68
  # @!attribute [rw] bool_value
63
69
  # @return [::Boolean]
64
70
  # Represents a boolean value.
71
+ #
72
+ # Note: The following fields are mutually exclusive: `bool_value`, `null_value`, `number_value`, `string_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
65
73
  # @!attribute [rw] struct_value
66
74
  # @return [::Google::Protobuf::Struct]
67
75
  # Represents a structured value.
76
+ #
77
+ # Note: The following fields are mutually exclusive: `struct_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
68
78
  # @!attribute [rw] list_value
69
79
  # @return [::Google::Protobuf::ListValue]
70
80
  # Represents a repeated `Value`.
81
+ #
82
+ # Note: The following fields are mutually exclusive: `list_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
71
83
  class Value
72
84
  include ::Google::Protobuf::MessageExts
73
85
  extend ::Google::Protobuf::MessageExts::ClassMethods