google-cloud-monitoring 0.28.0 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +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
|