google-cloud-monitoring 0.28.0 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- data/README.md +38 -12
- data/lib/google/cloud/monitoring.rb +52 -2
- data/lib/google/cloud/monitoring/v3.rb +124 -52
- data/lib/google/cloud/monitoring/v3/alert_policy_service_client.rb +67 -29
- data/lib/google/cloud/monitoring/v3/credentials.rb +43 -0
- data/lib/google/cloud/monitoring/v3/doc/google/api/metric.rb +7 -11
- data/lib/google/cloud/monitoring/v3/doc/google/api/monitored_resource.rb +27 -3
- data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/alert.rb +7 -8
- data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/alert_service.rb +135 -0
- data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/group_service.rb +145 -0
- data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/metric.rb +17 -12
- data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/metric_service.rb +227 -0
- data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/notification_service.rb +213 -0
- data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/uptime.rb +49 -29
- data/lib/google/cloud/monitoring/v3/doc/google/monitoring/v3/uptime_service.rb +131 -0
- data/lib/google/cloud/monitoring/v3/doc/google/protobuf/any.rb +124 -0
- data/lib/google/cloud/monitoring/v3/doc/google/protobuf/empty.rb +28 -0
- data/lib/google/cloud/monitoring/v3/doc/google/protobuf/struct.rb +73 -0
- data/lib/google/cloud/monitoring/v3/doc/google/rpc/status.rb +83 -0
- data/lib/google/cloud/monitoring/v3/doc/overview.rb +26 -1
- data/lib/google/cloud/monitoring/v3/group_service_client.rb +78 -35
- data/lib/google/cloud/monitoring/v3/metric_service_client.rb +99 -47
- data/lib/google/cloud/monitoring/v3/notification_channel_service_client.rb +87 -39
- data/lib/google/cloud/monitoring/v3/uptime_check_service_client.rb +90 -47
- data/lib/google/monitoring/v3/alert_service_services_pb.rb +1 -1
- data/lib/google/monitoring/v3/dropped_labels_pb.rb +19 -0
- data/lib/google/monitoring/v3/group_service_services_pb.rb +2 -2
- data/lib/google/monitoring/v3/metric_pb.rb +3 -0
- data/lib/google/monitoring/v3/metric_service_pb.rb +2 -0
- data/lib/google/monitoring/v3/metric_service_services_pb.rb +1 -1
- data/lib/google/monitoring/v3/notification_service_services_pb.rb +1 -1
- data/lib/google/monitoring/v3/span_context_pb.rb +18 -0
- data/lib/google/monitoring/v3/uptime_pb.rb +10 -9
- data/lib/google/monitoring/v3/uptime_service_pb.rb +1 -0
- data/lib/google/monitoring/v3/uptime_service_services_pb.rb +1 -1
- metadata +59 -6
- data/lib/google/cloud/monitoring/credentials.rb +0 -33
@@ -25,7 +25,7 @@ require "pathname"
|
|
25
25
|
require "google/gax"
|
26
26
|
|
27
27
|
require "google/monitoring/v3/alert_service_pb"
|
28
|
-
require "google/cloud/monitoring/credentials"
|
28
|
+
require "google/cloud/monitoring/v3/credentials"
|
29
29
|
|
30
30
|
module Google
|
31
31
|
module Cloud
|
@@ -52,6 +52,9 @@ module Google
|
|
52
52
|
# The default port of the service.
|
53
53
|
DEFAULT_SERVICE_PORT = 443
|
54
54
|
|
55
|
+
# The default set of gRPC interceptors.
|
56
|
+
GRPC_INTERCEPTORS = []
|
57
|
+
|
55
58
|
DEFAULT_TIMEOUT = 30
|
56
59
|
|
57
60
|
PAGE_DESCRIPTORS = {
|
@@ -148,11 +151,18 @@ module Google
|
|
148
151
|
# or the specified config is missing data points.
|
149
152
|
# @param timeout [Numeric]
|
150
153
|
# The default timeout, in seconds, for calls made through this client.
|
154
|
+
# @param metadata [Hash]
|
155
|
+
# Default metadata to be sent with each request. This can be overridden on a per call basis.
|
156
|
+
# @param exception_transformer [Proc]
|
157
|
+
# An optional proc that intercepts any exceptions raised during an API call to inject
|
158
|
+
# custom error handling.
|
151
159
|
def initialize \
|
152
160
|
credentials: nil,
|
153
161
|
scopes: ALL_SCOPES,
|
154
162
|
client_config: {},
|
155
163
|
timeout: DEFAULT_TIMEOUT,
|
164
|
+
metadata: nil,
|
165
|
+
exception_transformer: nil,
|
156
166
|
lib_name: nil,
|
157
167
|
lib_version: ""
|
158
168
|
# These require statements are intentionally placed here to initialize
|
@@ -161,10 +171,10 @@ module Google
|
|
161
171
|
require "google/gax/grpc"
|
162
172
|
require "google/monitoring/v3/alert_service_services_pb"
|
163
173
|
|
164
|
-
credentials ||= Google::Cloud::Monitoring::Credentials.default
|
174
|
+
credentials ||= Google::Cloud::Monitoring::V3::Credentials.default
|
165
175
|
|
166
176
|
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
167
|
-
updater_proc = Google::Cloud::Monitoring::Credentials.new(credentials).updater_proc
|
177
|
+
updater_proc = Google::Cloud::Monitoring::V3::Credentials.new(credentials).updater_proc
|
168
178
|
end
|
169
179
|
if credentials.is_a?(GRPC::Core::Channel)
|
170
180
|
channel = credentials
|
@@ -188,6 +198,7 @@ module Google
|
|
188
198
|
google_api_client.freeze
|
189
199
|
|
190
200
|
headers = { :"x-goog-api-client" => google_api_client }
|
201
|
+
headers.merge!(metadata) unless metadata.nil?
|
191
202
|
client_config_file = Pathname.new(__dir__).join(
|
192
203
|
"alert_policy_service_client_config.json"
|
193
204
|
)
|
@@ -200,13 +211,14 @@ module Google
|
|
200
211
|
timeout,
|
201
212
|
page_descriptors: PAGE_DESCRIPTORS,
|
202
213
|
errors: Google::Gax::Grpc::API_ERRORS,
|
203
|
-
|
214
|
+
metadata: headers
|
204
215
|
)
|
205
216
|
end
|
206
217
|
|
207
218
|
# Allow overriding the service path/port in subclasses.
|
208
219
|
service_path = self.class::SERVICE_ADDRESS
|
209
220
|
port = self.class::DEFAULT_SERVICE_PORT
|
221
|
+
interceptors = self.class::GRPC_INTERCEPTORS
|
210
222
|
@alert_policy_service_stub = Google::Gax::Grpc.create_stub(
|
211
223
|
service_path,
|
212
224
|
port,
|
@@ -214,28 +226,34 @@ module Google
|
|
214
226
|
channel: channel,
|
215
227
|
updater_proc: updater_proc,
|
216
228
|
scopes: scopes,
|
229
|
+
interceptors: interceptors,
|
217
230
|
&Google::Monitoring::V3::AlertPolicyService::Stub.method(:new)
|
218
231
|
)
|
219
232
|
|
220
233
|
@list_alert_policies = Google::Gax.create_api_call(
|
221
234
|
@alert_policy_service_stub.method(:list_alert_policies),
|
222
|
-
defaults["list_alert_policies"]
|
235
|
+
defaults["list_alert_policies"],
|
236
|
+
exception_transformer: exception_transformer
|
223
237
|
)
|
224
238
|
@get_alert_policy = Google::Gax.create_api_call(
|
225
239
|
@alert_policy_service_stub.method(:get_alert_policy),
|
226
|
-
defaults["get_alert_policy"]
|
240
|
+
defaults["get_alert_policy"],
|
241
|
+
exception_transformer: exception_transformer
|
227
242
|
)
|
228
243
|
@create_alert_policy = Google::Gax.create_api_call(
|
229
244
|
@alert_policy_service_stub.method(:create_alert_policy),
|
230
|
-
defaults["create_alert_policy"]
|
245
|
+
defaults["create_alert_policy"],
|
246
|
+
exception_transformer: exception_transformer
|
231
247
|
)
|
232
248
|
@delete_alert_policy = Google::Gax.create_api_call(
|
233
249
|
@alert_policy_service_stub.method(:delete_alert_policy),
|
234
|
-
defaults["delete_alert_policy"]
|
250
|
+
defaults["delete_alert_policy"],
|
251
|
+
exception_transformer: exception_transformer
|
235
252
|
)
|
236
253
|
@update_alert_policy = Google::Gax.create_api_call(
|
237
254
|
@alert_policy_service_stub.method(:update_alert_policy),
|
238
|
-
defaults["update_alert_policy"]
|
255
|
+
defaults["update_alert_policy"],
|
256
|
+
exception_transformer: exception_transformer
|
239
257
|
)
|
240
258
|
end
|
241
259
|
|
@@ -275,6 +293,9 @@ module Google
|
|
275
293
|
# @param options [Google::Gax::CallOptions]
|
276
294
|
# Overrides the default settings for this call, e.g, timeout,
|
277
295
|
# retries, etc.
|
296
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
297
|
+
# @yieldparam result [Google::Gax::PagedEnumerable<Google::Monitoring::V3::AlertPolicy>]
|
298
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
278
299
|
# @return [Google::Gax::PagedEnumerable<Google::Monitoring::V3::AlertPolicy>]
|
279
300
|
# An enumerable of Google::Monitoring::V3::AlertPolicy instances.
|
280
301
|
# See Google::Gax::PagedEnumerable documentation for other
|
@@ -282,9 +303,9 @@ module Google
|
|
282
303
|
# object.
|
283
304
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
284
305
|
# @example
|
285
|
-
# require "google/cloud/monitoring
|
306
|
+
# require "google/cloud/monitoring"
|
286
307
|
#
|
287
|
-
# alert_policy_service_client = Google::Cloud::Monitoring::
|
308
|
+
# alert_policy_service_client = Google::Cloud::Monitoring::AlertPolicy.new(version: :v3)
|
288
309
|
# formatted_name = Google::Cloud::Monitoring::V3::AlertPolicyServiceClient.project_path("[PROJECT]")
|
289
310
|
#
|
290
311
|
# # Iterate over all results.
|
@@ -305,7 +326,8 @@ module Google
|
|
305
326
|
filter: nil,
|
306
327
|
order_by: nil,
|
307
328
|
page_size: nil,
|
308
|
-
options: nil
|
329
|
+
options: nil,
|
330
|
+
&block
|
309
331
|
req = {
|
310
332
|
name: name,
|
311
333
|
filter: filter,
|
@@ -313,7 +335,7 @@ module Google
|
|
313
335
|
page_size: page_size
|
314
336
|
}.delete_if { |_, v| v.nil? }
|
315
337
|
req = Google::Gax::to_proto(req, Google::Monitoring::V3::ListAlertPoliciesRequest)
|
316
|
-
@list_alert_policies.call(req, options)
|
338
|
+
@list_alert_policies.call(req, options, &block)
|
317
339
|
end
|
318
340
|
|
319
341
|
# Gets a single alerting policy.
|
@@ -325,23 +347,27 @@ module Google
|
|
325
347
|
# @param options [Google::Gax::CallOptions]
|
326
348
|
# Overrides the default settings for this call, e.g, timeout,
|
327
349
|
# retries, etc.
|
350
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
351
|
+
# @yieldparam result [Google::Monitoring::V3::AlertPolicy]
|
352
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
328
353
|
# @return [Google::Monitoring::V3::AlertPolicy]
|
329
354
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
330
355
|
# @example
|
331
|
-
# require "google/cloud/monitoring
|
356
|
+
# require "google/cloud/monitoring"
|
332
357
|
#
|
333
|
-
# alert_policy_service_client = Google::Cloud::Monitoring::
|
358
|
+
# alert_policy_service_client = Google::Cloud::Monitoring::AlertPolicy.new(version: :v3)
|
334
359
|
# formatted_name = Google::Cloud::Monitoring::V3::AlertPolicyServiceClient.alert_policy_path("[PROJECT]", "[ALERT_POLICY]")
|
335
360
|
# response = alert_policy_service_client.get_alert_policy(formatted_name)
|
336
361
|
|
337
362
|
def get_alert_policy \
|
338
363
|
name,
|
339
|
-
options: nil
|
364
|
+
options: nil,
|
365
|
+
&block
|
340
366
|
req = {
|
341
367
|
name: name
|
342
368
|
}.delete_if { |_, v| v.nil? }
|
343
369
|
req = Google::Gax::to_proto(req, Google::Monitoring::V3::GetAlertPolicyRequest)
|
344
|
-
@get_alert_policy.call(req, options)
|
370
|
+
@get_alert_policy.call(req, options, &block)
|
345
371
|
end
|
346
372
|
|
347
373
|
# Creates a new alerting policy.
|
@@ -364,12 +390,15 @@ module Google
|
|
364
390
|
# @param options [Google::Gax::CallOptions]
|
365
391
|
# Overrides the default settings for this call, e.g, timeout,
|
366
392
|
# retries, etc.
|
393
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
394
|
+
# @yieldparam result [Google::Monitoring::V3::AlertPolicy]
|
395
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
367
396
|
# @return [Google::Monitoring::V3::AlertPolicy]
|
368
397
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
369
398
|
# @example
|
370
|
-
# require "google/cloud/monitoring
|
399
|
+
# require "google/cloud/monitoring"
|
371
400
|
#
|
372
|
-
# alert_policy_service_client = Google::Cloud::Monitoring::
|
401
|
+
# alert_policy_service_client = Google::Cloud::Monitoring::AlertPolicy.new(version: :v3)
|
373
402
|
# formatted_name = Google::Cloud::Monitoring::V3::AlertPolicyServiceClient.project_path("[PROJECT]")
|
374
403
|
#
|
375
404
|
# # TODO: Initialize +alert_policy+:
|
@@ -379,13 +408,14 @@ module Google
|
|
379
408
|
def create_alert_policy \
|
380
409
|
name,
|
381
410
|
alert_policy,
|
382
|
-
options: nil
|
411
|
+
options: nil,
|
412
|
+
&block
|
383
413
|
req = {
|
384
414
|
name: name,
|
385
415
|
alert_policy: alert_policy
|
386
416
|
}.delete_if { |_, v| v.nil? }
|
387
417
|
req = Google::Gax::to_proto(req, Google::Monitoring::V3::CreateAlertPolicyRequest)
|
388
|
-
@create_alert_policy.call(req, options)
|
418
|
+
@create_alert_policy.call(req, options, &block)
|
389
419
|
end
|
390
420
|
|
391
421
|
# Deletes an alerting policy.
|
@@ -399,22 +429,26 @@ module Google
|
|
399
429
|
# @param options [Google::Gax::CallOptions]
|
400
430
|
# Overrides the default settings for this call, e.g, timeout,
|
401
431
|
# retries, etc.
|
432
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
433
|
+
# @yieldparam result []
|
434
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
402
435
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
403
436
|
# @example
|
404
|
-
# require "google/cloud/monitoring
|
437
|
+
# require "google/cloud/monitoring"
|
405
438
|
#
|
406
|
-
# alert_policy_service_client = Google::Cloud::Monitoring::
|
439
|
+
# alert_policy_service_client = Google::Cloud::Monitoring::AlertPolicy.new(version: :v3)
|
407
440
|
# formatted_name = Google::Cloud::Monitoring::V3::AlertPolicyServiceClient.alert_policy_path("[PROJECT]", "[ALERT_POLICY]")
|
408
441
|
# alert_policy_service_client.delete_alert_policy(formatted_name)
|
409
442
|
|
410
443
|
def delete_alert_policy \
|
411
444
|
name,
|
412
|
-
options: nil
|
445
|
+
options: nil,
|
446
|
+
&block
|
413
447
|
req = {
|
414
448
|
name: name
|
415
449
|
}.delete_if { |_, v| v.nil? }
|
416
450
|
req = Google::Gax::to_proto(req, Google::Monitoring::V3::DeleteAlertPolicyRequest)
|
417
|
-
@delete_alert_policy.call(req, options)
|
451
|
+
@delete_alert_policy.call(req, options, &block)
|
418
452
|
nil
|
419
453
|
end
|
420
454
|
|
@@ -457,12 +491,15 @@ module Google
|
|
457
491
|
# @param options [Google::Gax::CallOptions]
|
458
492
|
# Overrides the default settings for this call, e.g, timeout,
|
459
493
|
# retries, etc.
|
494
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
495
|
+
# @yieldparam result [Google::Monitoring::V3::AlertPolicy]
|
496
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
460
497
|
# @return [Google::Monitoring::V3::AlertPolicy]
|
461
498
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
462
499
|
# @example
|
463
|
-
# require "google/cloud/monitoring
|
500
|
+
# require "google/cloud/monitoring"
|
464
501
|
#
|
465
|
-
# alert_policy_service_client = Google::Cloud::Monitoring::
|
502
|
+
# alert_policy_service_client = Google::Cloud::Monitoring::AlertPolicy.new(version: :v3)
|
466
503
|
#
|
467
504
|
# # TODO: Initialize +alert_policy+:
|
468
505
|
# alert_policy = {}
|
@@ -471,13 +508,14 @@ module Google
|
|
471
508
|
def update_alert_policy \
|
472
509
|
alert_policy,
|
473
510
|
update_mask: nil,
|
474
|
-
options: nil
|
511
|
+
options: nil,
|
512
|
+
&block
|
475
513
|
req = {
|
476
514
|
alert_policy: alert_policy,
|
477
515
|
update_mask: update_mask
|
478
516
|
}.delete_if { |_, v| v.nil? }
|
479
517
|
req = Google::Gax::to_proto(req, Google::Monitoring::V3::UpdateAlertPolicyRequest)
|
480
|
-
@update_alert_policy.call(req, options)
|
518
|
+
@update_alert_policy.call(req, options, &block)
|
481
519
|
end
|
482
520
|
end
|
483
521
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Copyright 2018 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require "googleauth"
|
16
|
+
|
17
|
+
module Google
|
18
|
+
module Cloud
|
19
|
+
module Monitoring
|
20
|
+
module V3
|
21
|
+
class Credentials < Google::Auth::Credentials
|
22
|
+
SCOPE = [
|
23
|
+
"https://www.googleapis.com/auth/cloud-platform",
|
24
|
+
"https://www.googleapis.com/auth/monitoring",
|
25
|
+
"https://www.googleapis.com/auth/monitoring.read",
|
26
|
+
"https://www.googleapis.com/auth/monitoring.write"
|
27
|
+
].freeze
|
28
|
+
PATH_ENV_VARS = %w(MONITORING_CREDENTIALS
|
29
|
+
MONITORING_KEYFILE
|
30
|
+
GOOGLE_CLOUD_CREDENTIALS
|
31
|
+
GOOGLE_CLOUD_KEYFILE
|
32
|
+
GCLOUD_KEYFILE)
|
33
|
+
JSON_ENV_VARS = %w(MONITORING_CREDENTIALS_JSON
|
34
|
+
MONITORING_KEYFILE_JSON
|
35
|
+
GOOGLE_CLOUD_CREDENTIALS_JSON
|
36
|
+
GOOGLE_CLOUD_KEYFILE_JSON
|
37
|
+
GCLOUD_KEYFILE_JSON)
|
38
|
+
DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -19,14 +19,7 @@ module Google
|
|
19
19
|
# existing data unusable.
|
20
20
|
# @!attribute [rw] name
|
21
21
|
# @return [String]
|
22
|
-
# The resource name of the metric descriptor.
|
23
|
-
# implementation, the name typically includes: (1) the parent resource name
|
24
|
-
# that defines the scope of the metric type or of its data; and (2) the
|
25
|
-
# metric's URL-encoded type, which also appears in the +type+ field of this
|
26
|
-
# descriptor. For example, following is the resource name of a custom
|
27
|
-
# metric within the GCP project +my-project-id+:
|
28
|
-
#
|
29
|
-
# "projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"
|
22
|
+
# The resource name of the metric descriptor.
|
30
23
|
# @!attribute [rw] type
|
31
24
|
# @return [String]
|
32
25
|
# The metric type, including its DNS name prefix. The type is not
|
@@ -93,8 +86,6 @@ module Google
|
|
93
86
|
#
|
94
87
|
# **Grammar**
|
95
88
|
#
|
96
|
-
# The grammar includes the dimensionless unit +1+, such as +1/s+.
|
97
|
-
#
|
98
89
|
# The grammar also includes these connectors:
|
99
90
|
#
|
100
91
|
# * +/+ division (as an infix operator, e.g. +1/s+).
|
@@ -104,7 +95,7 @@ module Google
|
|
104
95
|
#
|
105
96
|
# Expression = Component { "." Component } { "/" Component } ;
|
106
97
|
#
|
107
|
-
# Component = [ PREFIX ] UNIT [ Annotation ]
|
98
|
+
# Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ]
|
108
99
|
# | Annotation
|
109
100
|
# | "1"
|
110
101
|
# ;
|
@@ -118,6 +109,9 @@ module Google
|
|
118
109
|
# +{requests}/s == 1/s+, +By{transmitted}/s == By/s+.
|
119
110
|
# * +NAME+ is a sequence of non-blank printable ASCII characters not
|
120
111
|
# containing '{' or '}'.
|
112
|
+
# * +1+ represents dimensionless value 1, such as in +1/s+.
|
113
|
+
# * +%+ represents dimensionless value 1/100, and annotates values giving
|
114
|
+
# a percentage.
|
121
115
|
# @!attribute [rw] description
|
122
116
|
# @return [String]
|
123
117
|
# A detailed description of the metric, which can be used in documentation.
|
@@ -125,6 +119,8 @@ module Google
|
|
125
119
|
# @return [String]
|
126
120
|
# A concise name for the metric, which can be displayed in user interfaces.
|
127
121
|
# Use sentence case without an ending period, for example "Request count".
|
122
|
+
# This field is optional but it is recommended to be set for any metrics
|
123
|
+
# associated with user-visible concepts, such as Quota.
|
128
124
|
class MetricDescriptor
|
129
125
|
# The kind of measurement. It describes how the data is reported.
|
130
126
|
module MetricKind
|
@@ -70,12 +70,36 @@ module Google
|
|
70
70
|
# @return [String]
|
71
71
|
# Required. The monitored resource type. This field must match
|
72
72
|
# the +type+ field of a {Google::Api::MonitoredResourceDescriptor MonitoredResourceDescriptor} object. For
|
73
|
-
# example, the type of a
|
73
|
+
# example, the type of a Compute Engine VM instance is +gce_instance+.
|
74
74
|
# @!attribute [rw] labels
|
75
75
|
# @return [Hash{String => String}]
|
76
76
|
# Required. Values for all of the labels listed in the associated monitored
|
77
|
-
# resource descriptor. For example,
|
78
|
-
# +"
|
77
|
+
# resource descriptor. For example, Compute Engine VM instances use the
|
78
|
+
# labels +"project_id"+, +"instance_id"+, and +"zone"+.
|
79
79
|
class MonitoredResource; end
|
80
|
+
|
81
|
+
# Auxiliary metadata for a {Google::Api::MonitoredResource MonitoredResource} object.
|
82
|
+
# {Google::Api::MonitoredResource MonitoredResource} objects contain the minimum set of information to
|
83
|
+
# uniquely identify a monitored resource instance. There is some other useful
|
84
|
+
# auxiliary metadata. Google Stackdriver Monitoring & Logging uses an ingestion
|
85
|
+
# pipeline to extract metadata for cloud resources of all types , and stores
|
86
|
+
# the metadata in this message.
|
87
|
+
# @!attribute [rw] system_labels
|
88
|
+
# @return [Google::Protobuf::Struct]
|
89
|
+
# Output only. Values for predefined system metadata labels.
|
90
|
+
# System labels are a kind of metadata extracted by Google Stackdriver.
|
91
|
+
# Stackdriver determines what system labels are useful and how to obtain
|
92
|
+
# their values. Some examples: "machine_image", "vpc", "subnet_id",
|
93
|
+
# "security_group", "name", etc.
|
94
|
+
# System label values can be only strings, Boolean values, or a list of
|
95
|
+
# strings. For example:
|
96
|
+
#
|
97
|
+
# { "name": "my-test-instance",
|
98
|
+
# "security_group": ["a", "b", "c"],
|
99
|
+
# "spot_instance": false }
|
100
|
+
# @!attribute [rw] user_labels
|
101
|
+
# @return [Hash{String => String}]
|
102
|
+
# Output only. A map of user-defined metadata labels.
|
103
|
+
class MonitoredResourceMetadata; end
|
80
104
|
end
|
81
105
|
end
|
@@ -235,15 +235,14 @@ module Google
|
|
235
235
|
# @return [Google::Protobuf::Duration]
|
236
236
|
# The amount of time that a time series must violate the
|
237
237
|
# threshold to be considered failing. Currently, only values
|
238
|
-
# that are a multiple of a minute--e.g
|
238
|
+
# that are a multiple of a minute--e.g., 0, 60, 120, or 300
|
239
239
|
# seconds--are supported. If an invalid value is given, an
|
240
|
-
# error will be returned.
|
241
|
-
#
|
242
|
-
#
|
243
|
-
#
|
244
|
-
#
|
245
|
-
#
|
246
|
-
# are detected and alerted on quickly.
|
240
|
+
# error will be returned. When choosing a duration, it is useful to
|
241
|
+
# keep in mind the frequency of the underlying time series data
|
242
|
+
# (which may also be affected by any alignments specified in the
|
243
|
+
# +aggregations+ field); a good duration is long enough so that a single
|
244
|
+
# outlier does not generate spurious alerts, but short enough that
|
245
|
+
# unhealthy states are detected and alerted on quickly.
|
247
246
|
# @!attribute [rw] trigger
|
248
247
|
# @return [Google::Monitoring::V3::AlertPolicy::Condition::Trigger]
|
249
248
|
# The number/percent of time series for which the comparison must hold
|
@@ -0,0 +1,135 @@
|
|
1
|
+
# Copyright 2018 Google LLC
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Google
|
16
|
+
module Monitoring
|
17
|
+
module V3
|
18
|
+
# The protocol for the +CreateAlertPolicy+ request.
|
19
|
+
# @!attribute [rw] name
|
20
|
+
# @return [String]
|
21
|
+
# The project in which to create the alerting policy. The format is
|
22
|
+
# +projects/[PROJECT_ID]+.
|
23
|
+
#
|
24
|
+
# Note that this field names the parent container in which the alerting
|
25
|
+
# policy will be written, not the name of the created policy. The alerting
|
26
|
+
# policy that is returned will have a name that contains a normalized
|
27
|
+
# representation of this name as a prefix but adds a suffix of the form
|
28
|
+
# +/alertPolicies/[POLICY_ID]+, identifying the policy in the container.
|
29
|
+
# @!attribute [rw] alert_policy
|
30
|
+
# @return [Google::Monitoring::V3::AlertPolicy]
|
31
|
+
# The requested alerting policy. You should omit the +name+ field in this
|
32
|
+
# policy. The name will be returned in the new policy, including
|
33
|
+
# a new [ALERT_POLICY_ID] value.
|
34
|
+
class CreateAlertPolicyRequest; end
|
35
|
+
|
36
|
+
# The protocol for the +GetAlertPolicy+ request.
|
37
|
+
# @!attribute [rw] name
|
38
|
+
# @return [String]
|
39
|
+
# The alerting policy to retrieve. The format is
|
40
|
+
#
|
41
|
+
# projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
|
42
|
+
class GetAlertPolicyRequest; end
|
43
|
+
|
44
|
+
# The protocol for the +ListAlertPolicies+ request.
|
45
|
+
# @!attribute [rw] name
|
46
|
+
# @return [String]
|
47
|
+
# The project whose alert policies are to be listed. The format is
|
48
|
+
#
|
49
|
+
# projects/[PROJECT_ID]
|
50
|
+
#
|
51
|
+
# Note that this field names the parent container in which the alerting
|
52
|
+
# policies to be listed are stored. To retrieve a single alerting policy
|
53
|
+
# by name, use the
|
54
|
+
# {Google::Monitoring::V3::AlertPolicyService::GetAlertPolicy GetAlertPolicy}
|
55
|
+
# operation, instead.
|
56
|
+
# @!attribute [rw] filter
|
57
|
+
# @return [String]
|
58
|
+
# If provided, this field specifies the criteria that must be met by
|
59
|
+
# alert policies to be included in the response.
|
60
|
+
#
|
61
|
+
# For more details, see [sorting and
|
62
|
+
# filtering](/monitoring/api/v3/sorting-and-filtering).
|
63
|
+
# @!attribute [rw] order_by
|
64
|
+
# @return [String]
|
65
|
+
# A comma-separated list of fields by which to sort the result. Supports
|
66
|
+
# the same set of field references as the +filter+ field. Entries can be
|
67
|
+
# prefixed with a minus sign to sort by the field in descending order.
|
68
|
+
#
|
69
|
+
# For more details, see [sorting and
|
70
|
+
# filtering](/monitoring/api/v3/sorting-and-filtering).
|
71
|
+
# @!attribute [rw] page_size
|
72
|
+
# @return [Integer]
|
73
|
+
# The maximum number of results to return in a single response.
|
74
|
+
# @!attribute [rw] page_token
|
75
|
+
# @return [String]
|
76
|
+
# If this field is not empty then it must contain the +nextPageToken+ value
|
77
|
+
# returned by a previous call to this method. Using this field causes the
|
78
|
+
# method to return more results from the previous method call.
|
79
|
+
class ListAlertPoliciesRequest; end
|
80
|
+
|
81
|
+
# The protocol for the +ListAlertPolicies+ response.
|
82
|
+
# @!attribute [rw] alert_policies
|
83
|
+
# @return [Array<Google::Monitoring::V3::AlertPolicy>]
|
84
|
+
# The returned alert policies.
|
85
|
+
# @!attribute [rw] next_page_token
|
86
|
+
# @return [String]
|
87
|
+
# If there might be more results than were returned, then this field is set
|
88
|
+
# to a non-empty value. To see the additional results,
|
89
|
+
# use that value as +pageToken+ in the next call to this method.
|
90
|
+
class ListAlertPoliciesResponse; end
|
91
|
+
|
92
|
+
# The protocol for the +UpdateAlertPolicy+ request.
|
93
|
+
# @!attribute [rw] update_mask
|
94
|
+
# @return [Google::Protobuf::FieldMask]
|
95
|
+
# Optional. A list of alerting policy field names. If this field is not
|
96
|
+
# empty, each listed field in the existing alerting policy is set to the
|
97
|
+
# value of the corresponding field in the supplied policy (+alert_policy+),
|
98
|
+
# or to the field's default value if the field is not in the supplied
|
99
|
+
# alerting policy. Fields not listed retain their previous value.
|
100
|
+
#
|
101
|
+
# Examples of valid field masks include +display_name+, +documentation+,
|
102
|
+
# +documentation.content+, +documentation.mime_type+, +user_labels+,
|
103
|
+
# +user_label.nameofkey+, +enabled+, +conditions+, +combiner+, etc.
|
104
|
+
#
|
105
|
+
# If this field is empty, then the supplied alerting policy replaces the
|
106
|
+
# existing policy. It is the same as deleting the existing policy and
|
107
|
+
# adding the supplied policy, except for the following:
|
108
|
+
#
|
109
|
+
# * The new policy will have the same +[ALERT_POLICY_ID]+ as the former
|
110
|
+
# policy. This gives you continuity with the former policy in your
|
111
|
+
# notifications and incidents.
|
112
|
+
# * Conditions in the new policy will keep their former +[CONDITION_ID]+ if
|
113
|
+
# the supplied condition includes the +name+ field with that
|
114
|
+
# +[CONDITION_ID]+. If the supplied condition omits the +name+ field,
|
115
|
+
# then a new +[CONDITION_ID]+ is created.
|
116
|
+
# @!attribute [rw] alert_policy
|
117
|
+
# @return [Google::Monitoring::V3::AlertPolicy]
|
118
|
+
# Required. The updated alerting policy or the updated values for the
|
119
|
+
# fields listed in +update_mask+.
|
120
|
+
# If +update_mask+ is not empty, any fields in this policy that are
|
121
|
+
# not in +update_mask+ are ignored.
|
122
|
+
class UpdateAlertPolicyRequest; end
|
123
|
+
|
124
|
+
# The protocol for the +DeleteAlertPolicy+ request.
|
125
|
+
# @!attribute [rw] name
|
126
|
+
# @return [String]
|
127
|
+
# The alerting policy to delete. The format is:
|
128
|
+
#
|
129
|
+
# projects/[PROJECT_ID]/alertPolicies/[ALERT_POLICY_ID]
|
130
|
+
#
|
131
|
+
# For more information, see {Google::Monitoring::V3::AlertPolicy AlertPolicy}.
|
132
|
+
class DeleteAlertPolicyRequest; end
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|