google-cloud-monitoring-v3 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +71 -0
  6. data/lib/google-cloud-monitoring-v3.rb +21 -0
  7. data/lib/google/cloud/monitoring/v3.rb +40 -0
  8. data/lib/google/cloud/monitoring/v3/alert_policy_service.rb +57 -0
  9. data/lib/google/cloud/monitoring/v3/alert_policy_service/client.rb +772 -0
  10. data/lib/google/cloud/monitoring/v3/alert_policy_service/credentials.rb +53 -0
  11. data/lib/google/cloud/monitoring/v3/alert_policy_service/paths.rb +185 -0
  12. data/lib/google/cloud/monitoring/v3/group_service.rb +60 -0
  13. data/lib/google/cloud/monitoring/v3/group_service/client.rb +862 -0
  14. data/lib/google/cloud/monitoring/v3/group_service/credentials.rb +53 -0
  15. data/lib/google/cloud/monitoring/v3/group_service/paths.rb +127 -0
  16. data/lib/google/cloud/monitoring/v3/metric_service.rb +50 -0
  17. data/lib/google/cloud/monitoring/v3/metric_service/client.rb +1040 -0
  18. data/lib/google/cloud/monitoring/v3/metric_service/credentials.rb +54 -0
  19. data/lib/google/cloud/monitoring/v3/metric_service/paths.rb +179 -0
  20. data/lib/google/cloud/monitoring/v3/notification_channel_service.rb +50 -0
  21. data/lib/google/cloud/monitoring/v3/notification_channel_service/client.rb +1213 -0
  22. data/lib/google/cloud/monitoring/v3/notification_channel_service/credentials.rb +53 -0
  23. data/lib/google/cloud/monitoring/v3/notification_channel_service/paths.rb +179 -0
  24. data/lib/google/cloud/monitoring/v3/service_monitoring_service.rb +52 -0
  25. data/lib/google/cloud/monitoring/v3/service_monitoring_service/client.rb +1168 -0
  26. data/lib/google/cloud/monitoring/v3/service_monitoring_service/credentials.rb +53 -0
  27. data/lib/google/cloud/monitoring/v3/service_monitoring_service/paths.rb +185 -0
  28. data/lib/google/cloud/monitoring/v3/uptime_check_service.rb +56 -0
  29. data/lib/google/cloud/monitoring/v3/uptime_check_service/client.rb +822 -0
  30. data/lib/google/cloud/monitoring/v3/uptime_check_service/credentials.rb +53 -0
  31. data/lib/google/cloud/monitoring/v3/uptime_check_service/paths.rb +127 -0
  32. data/lib/google/cloud/monitoring/v3/version.rb +28 -0
  33. data/lib/google/monitoring/v3/alert_pb.rb +84 -0
  34. data/lib/google/monitoring/v3/alert_service_pb.rb +56 -0
  35. data/lib/google/monitoring/v3/alert_service_services_pb.rb +64 -0
  36. data/lib/google/monitoring/v3/common_pb.rb +98 -0
  37. data/lib/google/monitoring/v3/dropped_labels_pb.rb +22 -0
  38. data/lib/google/monitoring/v3/group_pb.rb +27 -0
  39. data/lib/google/monitoring/v3/group_service_pb.rb +76 -0
  40. data/lib/google/monitoring/v3/group_service_services_pb.rb +67 -0
  41. data/lib/google/monitoring/v3/metric_pb.rb +85 -0
  42. data/lib/google/monitoring/v3/metric_service_pb.rb +133 -0
  43. data/lib/google/monitoring/v3/metric_service_services_pb.rb +67 -0
  44. data/lib/google/monitoring/v3/mutation_record_pb.rb +24 -0
  45. data/lib/google/monitoring/v3/notification_pb.rb +50 -0
  46. data/lib/google/monitoring/v3/notification_service_pb.rb +93 -0
  47. data/lib/google/monitoring/v3/notification_service_services_pb.rb +95 -0
  48. data/lib/google/monitoring/v3/service_pb.rb +152 -0
  49. data/lib/google/monitoring/v3/service_service_pb.rb +89 -0
  50. data/lib/google/monitoring/v3/service_service_services_pb.rb +66 -0
  51. data/lib/google/monitoring/v3/span_context_pb.rb +22 -0
  52. data/lib/google/monitoring/v3/uptime_pb.rb +126 -0
  53. data/lib/google/monitoring/v3/uptime_service_pb.rb +66 -0
  54. data/lib/google/monitoring/v3/uptime_service_services_pb.rb +68 -0
  55. data/proto_docs/README.md +4 -0
  56. data/proto_docs/google/api/distribution.rb +225 -0
  57. data/proto_docs/google/api/field_behavior.rb +59 -0
  58. data/proto_docs/google/api/label.rb +49 -0
  59. data/proto_docs/google/api/launch_stage.rb +65 -0
  60. data/proto_docs/google/api/metric.rb +203 -0
  61. data/proto_docs/google/api/monitored_resource.rb +137 -0
  62. data/proto_docs/google/api/resource.rb +247 -0
  63. data/proto_docs/google/monitoring/v3/alert.rb +359 -0
  64. data/proto_docs/google/monitoring/v3/alert_service.rb +162 -0
  65. data/proto_docs/google/monitoring/v3/common.rb +464 -0
  66. data/proto_docs/google/monitoring/v3/dropped_labels.rb +58 -0
  67. data/proto_docs/google/monitoring/v3/group.rb +84 -0
  68. data/proto_docs/google/monitoring/v3/group_service.rb +197 -0
  69. data/proto_docs/google/monitoring/v3/metric.rb +249 -0
  70. data/proto_docs/google/monitoring/v3/metric_service.rb +366 -0
  71. data/proto_docs/google/monitoring/v3/mutation_record.rb +38 -0
  72. data/proto_docs/google/monitoring/v3/notification.rb +186 -0
  73. data/proto_docs/google/monitoring/v3/notification_service.rb +266 -0
  74. data/proto_docs/google/monitoring/v3/service.rb +424 -0
  75. data/proto_docs/google/monitoring/v3/service_service.rb +239 -0
  76. data/proto_docs/google/monitoring/v3/span_context.rb +49 -0
  77. data/proto_docs/google/monitoring/v3/uptime.rb +403 -0
  78. data/proto_docs/google/monitoring/v3/uptime_service.rb +166 -0
  79. data/proto_docs/google/protobuf/any.rb +138 -0
  80. data/proto_docs/google/protobuf/duration.rb +98 -0
  81. data/proto_docs/google/protobuf/empty.rb +36 -0
  82. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  83. data/proto_docs/google/protobuf/struct.rb +96 -0
  84. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  85. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  86. data/proto_docs/google/rpc/status.rb +46 -0
  87. data/proto_docs/google/type/calendar_period.rb +55 -0
  88. metadata +269 -0
@@ -0,0 +1,266 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Monitoring
23
+ module V3
24
+ # The `ListNotificationChannelDescriptors` request.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Required. The REST resource name of the parent from which to retrieve
28
+ # the notification channel descriptors. The expected syntax is:
29
+ #
30
+ # projects/[PROJECT_ID_OR_NUMBER]
31
+ #
32
+ # Note that this names the parent container in which to look for the
33
+ # descriptors; to retrieve a single descriptor by name, use the
34
+ # {::Google::Cloud::Monitoring::V3::NotificationChannelService::Client#get_notification_channel_descriptor GetNotificationChannelDescriptor}
35
+ # operation, instead.
36
+ # @!attribute [rw] page_size
37
+ # @return [::Integer]
38
+ # The maximum number of results to return in a single response. If
39
+ # not set to a positive number, a reasonable value will be chosen by the
40
+ # service.
41
+ # @!attribute [rw] page_token
42
+ # @return [::String]
43
+ # If non-empty, `page_token` must contain a value returned as the
44
+ # `next_page_token` in a previous response to request the next set
45
+ # of results.
46
+ class ListNotificationChannelDescriptorsRequest
47
+ include ::Google::Protobuf::MessageExts
48
+ extend ::Google::Protobuf::MessageExts::ClassMethods
49
+ end
50
+
51
+ # The `ListNotificationChannelDescriptors` response.
52
+ # @!attribute [rw] channel_descriptors
53
+ # @return [::Array<::Google::Cloud::Monitoring::V3::NotificationChannelDescriptor>]
54
+ # The monitored resource descriptors supported for the specified
55
+ # project, optionally filtered.
56
+ # @!attribute [rw] next_page_token
57
+ # @return [::String]
58
+ # If not empty, indicates that there may be more results that match
59
+ # the request. Use the value in the `page_token` field in a
60
+ # subsequent request to fetch the next set of results. If empty,
61
+ # all results have been returned.
62
+ class ListNotificationChannelDescriptorsResponse
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
+ end
66
+
67
+ # The `GetNotificationChannelDescriptor` response.
68
+ # @!attribute [rw] name
69
+ # @return [::String]
70
+ # Required. The channel type for which to execute the request. The format is:
71
+ #
72
+ # projects/[PROJECT_ID_OR_NUMBER]/notificationChannelDescriptors/[CHANNEL_TYPE]
73
+ class GetNotificationChannelDescriptorRequest
74
+ include ::Google::Protobuf::MessageExts
75
+ extend ::Google::Protobuf::MessageExts::ClassMethods
76
+ end
77
+
78
+ # The `CreateNotificationChannel` request.
79
+ # @!attribute [rw] name
80
+ # @return [::String]
81
+ # Required. The project on which to execute the request. The format is:
82
+ #
83
+ # projects/[PROJECT_ID_OR_NUMBER]
84
+ #
85
+ # This names the container into which the channel will be
86
+ # written, this does not name the newly created channel. The resulting
87
+ # channel's name will have a normalized version of this field as a prefix,
88
+ # but will add `/notificationChannels/[CHANNEL_ID]` to identify the channel.
89
+ # @!attribute [rw] notification_channel
90
+ # @return [::Google::Cloud::Monitoring::V3::NotificationChannel]
91
+ # Required. The definition of the `NotificationChannel` to create.
92
+ class CreateNotificationChannelRequest
93
+ include ::Google::Protobuf::MessageExts
94
+ extend ::Google::Protobuf::MessageExts::ClassMethods
95
+ end
96
+
97
+ # The `ListNotificationChannels` request.
98
+ # @!attribute [rw] name
99
+ # @return [::String]
100
+ # Required. The project on which to execute the request. The format is:
101
+ #
102
+ # projects/[PROJECT_ID_OR_NUMBER]
103
+ #
104
+ # This names the container
105
+ # in which to look for the notification channels; it does not name a
106
+ # specific channel. To query a specific channel by REST resource name, use
107
+ # the
108
+ # {::Google::Cloud::Monitoring::V3::NotificationChannelService::Client#get_notification_channel `GetNotificationChannel`}
109
+ # operation.
110
+ # @!attribute [rw] filter
111
+ # @return [::String]
112
+ # If provided, this field specifies the criteria that must be met by
113
+ # notification channels to be included in the response.
114
+ #
115
+ # For more details, see [sorting and
116
+ # filtering](https://cloud.google.com/monitoring/api/v3/sorting-and-filtering).
117
+ # @!attribute [rw] order_by
118
+ # @return [::String]
119
+ # A comma-separated list of fields by which to sort the result. Supports
120
+ # the same set of fields as in `filter`. Entries can be prefixed with
121
+ # a minus sign to sort in descending rather than ascending order.
122
+ #
123
+ # For more details, see [sorting and
124
+ # filtering](https://cloud.google.com/monitoring/api/v3/sorting-and-filtering).
125
+ # @!attribute [rw] page_size
126
+ # @return [::Integer]
127
+ # The maximum number of results to return in a single response. If
128
+ # not set to a positive number, a reasonable value will be chosen by the
129
+ # service.
130
+ # @!attribute [rw] page_token
131
+ # @return [::String]
132
+ # If non-empty, `page_token` must contain a value returned as the
133
+ # `next_page_token` in a previous response to request the next set
134
+ # of results.
135
+ class ListNotificationChannelsRequest
136
+ include ::Google::Protobuf::MessageExts
137
+ extend ::Google::Protobuf::MessageExts::ClassMethods
138
+ end
139
+
140
+ # The `ListNotificationChannels` response.
141
+ # @!attribute [rw] notification_channels
142
+ # @return [::Array<::Google::Cloud::Monitoring::V3::NotificationChannel>]
143
+ # The notification channels defined for the specified project.
144
+ # @!attribute [rw] next_page_token
145
+ # @return [::String]
146
+ # If not empty, indicates that there may be more results that match
147
+ # the request. Use the value in the `page_token` field in a
148
+ # subsequent request to fetch the next set of results. If empty,
149
+ # all results have been returned.
150
+ class ListNotificationChannelsResponse
151
+ include ::Google::Protobuf::MessageExts
152
+ extend ::Google::Protobuf::MessageExts::ClassMethods
153
+ end
154
+
155
+ # The `GetNotificationChannel` request.
156
+ # @!attribute [rw] name
157
+ # @return [::String]
158
+ # Required. The channel for which to execute the request. The format is:
159
+ #
160
+ # projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
161
+ class GetNotificationChannelRequest
162
+ include ::Google::Protobuf::MessageExts
163
+ extend ::Google::Protobuf::MessageExts::ClassMethods
164
+ end
165
+
166
+ # The `UpdateNotificationChannel` request.
167
+ # @!attribute [rw] update_mask
168
+ # @return [::Google::Protobuf::FieldMask]
169
+ # The fields to update.
170
+ # @!attribute [rw] notification_channel
171
+ # @return [::Google::Cloud::Monitoring::V3::NotificationChannel]
172
+ # Required. A description of the changes to be applied to the specified
173
+ # notification channel. The description must provide a definition for
174
+ # fields to be updated; the names of these fields should also be
175
+ # included in the `update_mask`.
176
+ class UpdateNotificationChannelRequest
177
+ include ::Google::Protobuf::MessageExts
178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
179
+ end
180
+
181
+ # The `DeleteNotificationChannel` request.
182
+ # @!attribute [rw] name
183
+ # @return [::String]
184
+ # Required. The channel for which to execute the request. The format is:
185
+ #
186
+ # projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
187
+ # @!attribute [rw] force
188
+ # @return [::Boolean]
189
+ # If true, the notification channel will be deleted regardless of its
190
+ # use in alert policies (the policies will be updated to remove the
191
+ # channel). If false, channels that are still referenced by an existing
192
+ # alerting policy will fail to be deleted in a delete operation.
193
+ class DeleteNotificationChannelRequest
194
+ include ::Google::Protobuf::MessageExts
195
+ extend ::Google::Protobuf::MessageExts::ClassMethods
196
+ end
197
+
198
+ # The `SendNotificationChannelVerificationCode` request.
199
+ # @!attribute [rw] name
200
+ # @return [::String]
201
+ # Required. The notification channel to which to send a verification code.
202
+ class SendNotificationChannelVerificationCodeRequest
203
+ include ::Google::Protobuf::MessageExts
204
+ extend ::Google::Protobuf::MessageExts::ClassMethods
205
+ end
206
+
207
+ # The `GetNotificationChannelVerificationCode` request.
208
+ # @!attribute [rw] name
209
+ # @return [::String]
210
+ # Required. The notification channel for which a verification code is to be generated
211
+ # and retrieved. This must name a channel that is already verified; if
212
+ # the specified channel is not verified, the request will fail.
213
+ # @!attribute [rw] expire_time
214
+ # @return [::Google::Protobuf::Timestamp]
215
+ # The desired expiration time. If specified, the API will guarantee that
216
+ # the returned code will not be valid after the specified timestamp;
217
+ # however, the API cannot guarantee that the returned code will be
218
+ # valid for at least as long as the requested time (the API puts an upper
219
+ # bound on the amount of time for which a code may be valid). If omitted,
220
+ # a default expiration will be used, which may be less than the max
221
+ # permissible expiration (so specifying an expiration may extend the
222
+ # code's lifetime over omitting an expiration, even though the API does
223
+ # impose an upper limit on the maximum expiration that is permitted).
224
+ class GetNotificationChannelVerificationCodeRequest
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+
229
+ # The `GetNotificationChannelVerificationCode` request.
230
+ # @!attribute [rw] code
231
+ # @return [::String]
232
+ # The verification code, which may be used to verify other channels
233
+ # that have an equivalent identity (i.e. other channels of the same
234
+ # type with the same fingerprint such as other email channels with
235
+ # the same email address or other sms channels with the same number).
236
+ # @!attribute [rw] expire_time
237
+ # @return [::Google::Protobuf::Timestamp]
238
+ # The expiration time associated with the code that was returned. If
239
+ # an expiration was provided in the request, this is the minimum of the
240
+ # requested expiration in the request and the max permitted expiration.
241
+ class GetNotificationChannelVerificationCodeResponse
242
+ include ::Google::Protobuf::MessageExts
243
+ extend ::Google::Protobuf::MessageExts::ClassMethods
244
+ end
245
+
246
+ # The `VerifyNotificationChannel` request.
247
+ # @!attribute [rw] name
248
+ # @return [::String]
249
+ # Required. The notification channel to verify.
250
+ # @!attribute [rw] code
251
+ # @return [::String]
252
+ # Required. The verification code that was delivered to the channel as
253
+ # a result of invoking the `SendNotificationChannelVerificationCode` API
254
+ # method or that was retrieved from a verified channel via
255
+ # `GetNotificationChannelVerificationCode`. For example, one might have
256
+ # "G-123456" or "TKNZGhhd2EyN3I1MnRnMjRv" (in general, one is only
257
+ # guaranteed that the code is valid UTF-8; one should not
258
+ # make any assumptions regarding the structure or format of the code).
259
+ class VerifyNotificationChannelRequest
260
+ include ::Google::Protobuf::MessageExts
261
+ extend ::Google::Protobuf::MessageExts::ClassMethods
262
+ end
263
+ end
264
+ end
265
+ end
266
+ end
@@ -0,0 +1,424 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Monitoring
23
+ module V3
24
+ # A `Service` is a discrete, autonomous, and network-accessible unit, designed
25
+ # to solve an individual concern
26
+ # ([Wikipedia](https://en.wikipedia.org/wiki/Service-orientation)). In
27
+ # Cloud Monitoring, a `Service` acts as the root resource under which
28
+ # operational aspects of the service are accessible.
29
+ # @!attribute [rw] name
30
+ # @return [::String]
31
+ # Resource name for this Service. The format is:
32
+ #
33
+ # projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]
34
+ # @!attribute [rw] display_name
35
+ # @return [::String]
36
+ # Name used for UI elements listing this Service.
37
+ # @!attribute [rw] custom
38
+ # @return [::Google::Cloud::Monitoring::V3::Service::Custom]
39
+ # Custom service type.
40
+ # @!attribute [rw] app_engine
41
+ # @return [::Google::Cloud::Monitoring::V3::Service::AppEngine]
42
+ # Type used for App Engine services.
43
+ # @!attribute [rw] cloud_endpoints
44
+ # @return [::Google::Cloud::Monitoring::V3::Service::CloudEndpoints]
45
+ # Type used for Cloud Endpoints services.
46
+ # @!attribute [rw] cluster_istio
47
+ # @return [::Google::Cloud::Monitoring::V3::Service::ClusterIstio]
48
+ # Type used for Istio services that live in a Kubernetes cluster.
49
+ # @!attribute [rw] mesh_istio
50
+ # @return [::Google::Cloud::Monitoring::V3::Service::MeshIstio]
51
+ # Type used for Istio services scoped to an Istio mesh.
52
+ # @!attribute [rw] telemetry
53
+ # @return [::Google::Cloud::Monitoring::V3::Service::Telemetry]
54
+ # Configuration for how to query telemetry on a Service.
55
+ class Service
56
+ include ::Google::Protobuf::MessageExts
57
+ extend ::Google::Protobuf::MessageExts::ClassMethods
58
+
59
+ # Custom view of service telemetry. Currently a place-holder pending final
60
+ # design.
61
+ class Custom
62
+ include ::Google::Protobuf::MessageExts
63
+ extend ::Google::Protobuf::MessageExts::ClassMethods
64
+ end
65
+
66
+ # App Engine service. Learn more at https://cloud.google.com/appengine.
67
+ # @!attribute [rw] module_id
68
+ # @return [::String]
69
+ # The ID of the App Engine module underlying this service. Corresponds to
70
+ # the `module_id` resource label in the `gae_app` monitored resource:
71
+ # https://cloud.google.com/monitoring/api/resources#tag_gae_app
72
+ class AppEngine
73
+ include ::Google::Protobuf::MessageExts
74
+ extend ::Google::Protobuf::MessageExts::ClassMethods
75
+ end
76
+
77
+ # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
78
+ # @!attribute [rw] service
79
+ # @return [::String]
80
+ # The name of the Cloud Endpoints service underlying this service.
81
+ # Corresponds to the `service` resource label in the `api` monitored
82
+ # resource: https://cloud.google.com/monitoring/api/resources#tag_api
83
+ class CloudEndpoints
84
+ include ::Google::Protobuf::MessageExts
85
+ extend ::Google::Protobuf::MessageExts::ClassMethods
86
+ end
87
+
88
+ # Istio service scoped to a single Kubernetes cluster. Learn more at
89
+ # http://istio.io.
90
+ # @!attribute [rw] location
91
+ # @return [::String]
92
+ # The location of the Kubernetes cluster in which this Istio service is
93
+ # defined. Corresponds to the `location` resource label in `k8s_cluster`
94
+ # resources.
95
+ # @!attribute [rw] cluster_name
96
+ # @return [::String]
97
+ # The name of the Kubernetes cluster in which this Istio service is
98
+ # defined. Corresponds to the `cluster_name` resource label in
99
+ # `k8s_cluster` resources.
100
+ # @!attribute [rw] service_namespace
101
+ # @return [::String]
102
+ # The namespace of the Istio service underlying this service. Corresponds
103
+ # to the `destination_service_namespace` metric label in Istio metrics.
104
+ # @!attribute [rw] service_name
105
+ # @return [::String]
106
+ # The name of the Istio service underlying this service. Corresponds to the
107
+ # `destination_service_name` metric label in Istio metrics.
108
+ class ClusterIstio
109
+ include ::Google::Protobuf::MessageExts
110
+ extend ::Google::Protobuf::MessageExts::ClassMethods
111
+ end
112
+
113
+ # Istio service scoped to an Istio mesh
114
+ # @!attribute [rw] mesh_uid
115
+ # @return [::String]
116
+ # Identifier for the mesh in which this Istio service is defined.
117
+ # Corresponds to the `mesh_uid` metric label in Istio metrics.
118
+ # @!attribute [rw] service_namespace
119
+ # @return [::String]
120
+ # The namespace of the Istio service underlying this service. Corresponds
121
+ # to the `destination_service_namespace` metric label in Istio metrics.
122
+ # @!attribute [rw] service_name
123
+ # @return [::String]
124
+ # The name of the Istio service underlying this service. Corresponds to the
125
+ # `destination_service_name` metric label in Istio metrics.
126
+ class MeshIstio
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+ end
130
+
131
+ # Configuration for how to query telemetry on a Service.
132
+ # @!attribute [rw] resource_name
133
+ # @return [::String]
134
+ # The full name of the resource that defines this service. Formatted as
135
+ # described in https://cloud.google.com/apis/design/resource_names.
136
+ class Telemetry
137
+ include ::Google::Protobuf::MessageExts
138
+ extend ::Google::Protobuf::MessageExts::ClassMethods
139
+ end
140
+ end
141
+
142
+ # A Service-Level Objective (SLO) describes a level of desired good service. It
143
+ # consists of a service-level indicator (SLI), a performance goal, and a period
144
+ # over which the objective is to be evaluated against that goal. The SLO can
145
+ # use SLIs defined in a number of different manners. Typical SLOs might include
146
+ # "99% of requests in each rolling week have latency below 200 milliseconds" or
147
+ # "99.5% of requests in each calendar month return successfully."
148
+ # @!attribute [rw] name
149
+ # @return [::String]
150
+ # Resource name for this `ServiceLevelObjective`. The format is:
151
+ #
152
+ # projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
153
+ # @!attribute [rw] display_name
154
+ # @return [::String]
155
+ # Name used for UI elements listing this SLO.
156
+ # @!attribute [rw] service_level_indicator
157
+ # @return [::Google::Cloud::Monitoring::V3::ServiceLevelIndicator]
158
+ # The definition of good service, used to measure and calculate the quality
159
+ # of the `Service`'s performance with respect to a single aspect of service
160
+ # quality.
161
+ # @!attribute [rw] goal
162
+ # @return [::Float]
163
+ # The fraction of service that must be good in order for this objective to be
164
+ # met. `0 < goal <= 0.999`.
165
+ # @!attribute [rw] rolling_period
166
+ # @return [::Google::Protobuf::Duration]
167
+ # A rolling time period, semantically "in the past `<rolling_period>`".
168
+ # Must be an integer multiple of 1 day no larger than 30 days.
169
+ # @!attribute [rw] calendar_period
170
+ # @return [::Google::Type::CalendarPeriod]
171
+ # A calendar period, semantically "since the start of the current
172
+ # `<calendar_period>`". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and
173
+ # `MONTH` are supported.
174
+ class ServiceLevelObjective
175
+ include ::Google::Protobuf::MessageExts
176
+ extend ::Google::Protobuf::MessageExts::ClassMethods
177
+
178
+ # `ServiceLevelObjective.View` determines what form of
179
+ # `ServiceLevelObjective` is returned from `GetServiceLevelObjective`,
180
+ # `ListServiceLevelObjectives`, and `ListServiceLevelObjectiveVersions` RPCs.
181
+ module View
182
+ # Same as FULL.
183
+ VIEW_UNSPECIFIED = 0
184
+
185
+ # Return the embedded `ServiceLevelIndicator` in the form in which it was
186
+ # defined. If it was defined using a `BasicSli`, return that `BasicSli`.
187
+ FULL = 2
188
+
189
+ # For `ServiceLevelIndicator`s using `BasicSli` articulation, instead
190
+ # return the `ServiceLevelIndicator` with its mode of computation fully
191
+ # spelled out as a `RequestBasedSli`. For `ServiceLevelIndicator`s using
192
+ # `RequestBasedSli` or `WindowsBasedSli`, return the
193
+ # `ServiceLevelIndicator` as it was provided.
194
+ EXPLICIT = 1
195
+ end
196
+ end
197
+
198
+ # A Service-Level Indicator (SLI) describes the "performance" of a service. For
199
+ # some services, the SLI is well-defined. In such cases, the SLI can be
200
+ # described easily by referencing the well-known SLI and providing the needed
201
+ # parameters. Alternatively, a "custom" SLI can be defined with a query to the
202
+ # underlying metric store. An SLI is defined to be `good_service /
203
+ # total_service` over any queried time interval. The value of performance
204
+ # always falls into the range `0 <= performance <= 1`. A custom SLI describes
205
+ # how to compute this ratio, whether this is by dividing values from a pair of
206
+ # time series, cutting a `Distribution` into good and bad counts, or counting
207
+ # time windows in which the service complies with a criterion. For separation
208
+ # of concerns, a single Service-Level Indicator measures performance for only
209
+ # one aspect of service quality, such as fraction of successful queries or
210
+ # fast-enough queries.
211
+ # @!attribute [rw] basic_sli
212
+ # @return [::Google::Cloud::Monitoring::V3::BasicSli]
213
+ # Basic SLI on a well-known service type.
214
+ # @!attribute [rw] request_based
215
+ # @return [::Google::Cloud::Monitoring::V3::RequestBasedSli]
216
+ # Request-based SLIs
217
+ # @!attribute [rw] windows_based
218
+ # @return [::Google::Cloud::Monitoring::V3::WindowsBasedSli]
219
+ # Windows-based SLIs
220
+ class ServiceLevelIndicator
221
+ include ::Google::Protobuf::MessageExts
222
+ extend ::Google::Protobuf::MessageExts::ClassMethods
223
+ end
224
+
225
+ # An SLI measuring performance on a well-known service type. Performance will
226
+ # be computed on the basis of pre-defined metrics. The type of the
227
+ # `service_resource` determines the metrics to use and the
228
+ # `service_resource.labels` and `metric_labels` are used to construct a
229
+ # monitoring filter to filter that metric down to just the data relevant to
230
+ # this service.
231
+ # @!attribute [rw] method
232
+ # @return [::Array<::String>]
233
+ # OPTIONAL: The set of RPCs to which this SLI is relevant. Telemetry from
234
+ # other methods will not be used to calculate performance for this SLI. If
235
+ # omitted, this SLI applies to all the Service's methods. For service types
236
+ # that don't support breaking down by method, setting this field will result
237
+ # in an error.
238
+ # @!attribute [rw] location
239
+ # @return [::Array<::String>]
240
+ # OPTIONAL: The set of locations to which this SLI is relevant. Telemetry
241
+ # from other locations will not be used to calculate performance for this
242
+ # SLI. If omitted, this SLI applies to all locations in which the Service has
243
+ # activity. For service types that don't support breaking down by location,
244
+ # setting this field will result in an error.
245
+ # @!attribute [rw] version
246
+ # @return [::Array<::String>]
247
+ # OPTIONAL: The set of API versions to which this SLI is relevant. Telemetry
248
+ # from other API versions will not be used to calculate performance for this
249
+ # SLI. If omitted, this SLI applies to all API versions. For service types
250
+ # that don't support breaking down by version, setting this field will result
251
+ # in an error.
252
+ # @!attribute [rw] availability
253
+ # @return [::Google::Cloud::Monitoring::V3::BasicSli::AvailabilityCriteria]
254
+ # Good service is defined to be the count of requests made to this service
255
+ # that return successfully.
256
+ # @!attribute [rw] latency
257
+ # @return [::Google::Cloud::Monitoring::V3::BasicSli::LatencyCriteria]
258
+ # Good service is defined to be the count of requests made to this service
259
+ # that are fast enough with respect to `latency.threshold`.
260
+ class BasicSli
261
+ include ::Google::Protobuf::MessageExts
262
+ extend ::Google::Protobuf::MessageExts::ClassMethods
263
+
264
+ # Future parameters for the availability SLI.
265
+ class AvailabilityCriteria
266
+ include ::Google::Protobuf::MessageExts
267
+ extend ::Google::Protobuf::MessageExts::ClassMethods
268
+ end
269
+
270
+ # Parameters for a latency threshold SLI.
271
+ # @!attribute [rw] threshold
272
+ # @return [::Google::Protobuf::Duration]
273
+ # Good service is defined to be the count of requests made to this service
274
+ # that return in no more than `threshold`.
275
+ class LatencyCriteria
276
+ include ::Google::Protobuf::MessageExts
277
+ extend ::Google::Protobuf::MessageExts::ClassMethods
278
+ end
279
+ end
280
+
281
+ # Range of numerical values, inclusive of `min` and exclusive of `max`. If the
282
+ # open range "< range.max" is desired, set `range.min = -infinity`. If the open
283
+ # range ">= range.min" is desired, set `range.max = infinity`.
284
+ # @!attribute [rw] min
285
+ # @return [::Float]
286
+ # Range minimum.
287
+ # @!attribute [rw] max
288
+ # @return [::Float]
289
+ # Range maximum.
290
+ class Range
291
+ include ::Google::Protobuf::MessageExts
292
+ extend ::Google::Protobuf::MessageExts::ClassMethods
293
+ end
294
+
295
+ # Service Level Indicators for which atomic units of service are counted
296
+ # directly.
297
+ # @!attribute [rw] good_total_ratio
298
+ # @return [::Google::Cloud::Monitoring::V3::TimeSeriesRatio]
299
+ # `good_total_ratio` is used when the ratio of `good_service` to
300
+ # `total_service` is computed from two `TimeSeries`.
301
+ # @!attribute [rw] distribution_cut
302
+ # @return [::Google::Cloud::Monitoring::V3::DistributionCut]
303
+ # `distribution_cut` is used when `good_service` is a count of values
304
+ # aggregated in a `Distribution` that fall into a good range. The
305
+ # `total_service` is the total count of all values aggregated in the
306
+ # `Distribution`.
307
+ class RequestBasedSli
308
+ include ::Google::Protobuf::MessageExts
309
+ extend ::Google::Protobuf::MessageExts::ClassMethods
310
+ end
311
+
312
+ # A `TimeSeriesRatio` specifies two `TimeSeries` to use for computing the
313
+ # `good_service / total_service` ratio. The specified `TimeSeries` must have
314
+ # `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind =
315
+ # DELTA` or `MetricKind = CUMULATIVE`. The `TimeSeriesRatio` must specify
316
+ # exactly two of good, bad, and total, and the relationship `good_service +
317
+ # bad_service = total_service` will be assumed.
318
+ # @!attribute [rw] good_service_filter
319
+ # @return [::String]
320
+ # A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
321
+ # specifying a `TimeSeries` quantifying good service provided. Must have
322
+ # `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind =
323
+ # DELTA` or `MetricKind = CUMULATIVE`.
324
+ # @!attribute [rw] bad_service_filter
325
+ # @return [::String]
326
+ # A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
327
+ # specifying a `TimeSeries` quantifying bad service, either demanded service
328
+ # that was not provided or demanded service that was of inadequate quality.
329
+ # Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have
330
+ # `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.
331
+ # @!attribute [rw] total_service_filter
332
+ # @return [::String]
333
+ # A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
334
+ # specifying a `TimeSeries` quantifying total demanded service. Must have
335
+ # `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind =
336
+ # DELTA` or `MetricKind = CUMULATIVE`.
337
+ class TimeSeriesRatio
338
+ include ::Google::Protobuf::MessageExts
339
+ extend ::Google::Protobuf::MessageExts::ClassMethods
340
+ end
341
+
342
+ # A `DistributionCut` defines a `TimeSeries` and thresholds used for measuring
343
+ # good service and total service. The `TimeSeries` must have `ValueType =
344
+ # DISTRIBUTION` and `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. The
345
+ # computed `good_service` will be the count of values x in the `Distribution`
346
+ # such that `range.min <= x < range.max`.
347
+ # @!attribute [rw] distribution_filter
348
+ # @return [::String]
349
+ # A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
350
+ # specifying a `TimeSeries` aggregating values. Must have `ValueType =
351
+ # DISTRIBUTION` and `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.
352
+ # @!attribute [rw] range
353
+ # @return [::Google::Cloud::Monitoring::V3::Range]
354
+ # Range of values considered "good." For a one-sided range, set one bound to
355
+ # an infinite value.
356
+ class DistributionCut
357
+ include ::Google::Protobuf::MessageExts
358
+ extend ::Google::Protobuf::MessageExts::ClassMethods
359
+ end
360
+
361
+ # A `WindowsBasedSli` defines `good_service` as the count of time windows for
362
+ # which the provided service was of good quality. Criteria for determining
363
+ # if service was good are embedded in the `window_criterion`.
364
+ # @!attribute [rw] good_bad_metric_filter
365
+ # @return [::String]
366
+ # A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
367
+ # specifying a `TimeSeries` with `ValueType = BOOL`. The window is good if
368
+ # any `true` values appear in the window.
369
+ # @!attribute [rw] good_total_ratio_threshold
370
+ # @return [::Google::Cloud::Monitoring::V3::WindowsBasedSli::PerformanceThreshold]
371
+ # A window is good if its `performance` is high enough.
372
+ # @!attribute [rw] metric_mean_in_range
373
+ # @return [::Google::Cloud::Monitoring::V3::WindowsBasedSli::MetricRange]
374
+ # A window is good if the metric's value is in a good range, averaged
375
+ # across returned streams.
376
+ # @!attribute [rw] metric_sum_in_range
377
+ # @return [::Google::Cloud::Monitoring::V3::WindowsBasedSli::MetricRange]
378
+ # A window is good if the metric's value is in a good range, summed across
379
+ # returned streams.
380
+ # @!attribute [rw] window_period
381
+ # @return [::Google::Protobuf::Duration]
382
+ # Duration over which window quality is evaluated. Must be an integer
383
+ # fraction of a day and at least `60s`.
384
+ class WindowsBasedSli
385
+ include ::Google::Protobuf::MessageExts
386
+ extend ::Google::Protobuf::MessageExts::ClassMethods
387
+
388
+ # A `PerformanceThreshold` is used when each window is good when that window
389
+ # has a sufficiently high `performance`.
390
+ # @!attribute [rw] performance
391
+ # @return [::Google::Cloud::Monitoring::V3::RequestBasedSli]
392
+ # `RequestBasedSli` to evaluate to judge window quality.
393
+ # @!attribute [rw] basic_sli_performance
394
+ # @return [::Google::Cloud::Monitoring::V3::BasicSli]
395
+ # `BasicSli` to evaluate to judge window quality.
396
+ # @!attribute [rw] threshold
397
+ # @return [::Float]
398
+ # If window `performance >= threshold`, the window is counted as good.
399
+ class PerformanceThreshold
400
+ include ::Google::Protobuf::MessageExts
401
+ extend ::Google::Protobuf::MessageExts::ClassMethods
402
+ end
403
+
404
+ # A `MetricRange` is used when each window is good when the value x of a
405
+ # single `TimeSeries` satisfies `range.min <= x < range.max`. The provided
406
+ # `TimeSeries` must have `ValueType = INT64` or `ValueType = DOUBLE` and
407
+ # `MetricKind = GAUGE`.
408
+ # @!attribute [rw] time_series
409
+ # @return [::String]
410
+ # A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
411
+ # specifying the `TimeSeries` to use for evaluating window quality.
412
+ # @!attribute [rw] range
413
+ # @return [::Google::Cloud::Monitoring::V3::Range]
414
+ # Range of values considered "good." For a one-sided range, set one bound
415
+ # to an infinite value.
416
+ class MetricRange
417
+ include ::Google::Protobuf::MessageExts
418
+ extend ::Google::Protobuf::MessageExts::ClassMethods
419
+ end
420
+ end
421
+ end
422
+ end
423
+ end
424
+ end