google-cloud-monitoring-v3 0.16.0 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/monitoring/v3/group_service/client.rb +11 -8
  3. data/lib/google/cloud/monitoring/v3/metric_service/client.rb +45 -30
  4. data/lib/google/cloud/monitoring/v3/query_service/client.rb +5 -4
  5. data/lib/google/cloud/monitoring/v3/query_service.rb +1 -1
  6. data/lib/google/cloud/monitoring/v3/service_monitoring_service/client.rb +34 -32
  7. data/lib/google/cloud/monitoring/v3/service_monitoring_service.rb +3 -3
  8. data/lib/google/cloud/monitoring/v3/uptime_check_service/paths.rb +19 -0
  9. data/lib/google/cloud/monitoring/v3/version.rb +1 -1
  10. data/lib/google/monitoring/v3/common_pb.rb +1 -1
  11. data/lib/google/monitoring/v3/metric_service_services_pb.rb +11 -7
  12. data/lib/google/monitoring/v3/query_service_pb.rb +2 -2
  13. data/lib/google/monitoring/v3/query_service_services_pb.rb +2 -2
  14. data/lib/google/monitoring/v3/service_pb.rb +7 -1
  15. data/lib/google/monitoring/v3/service_service_services_pb.rb +4 -4
  16. data/lib/google/monitoring/v3/uptime_pb.rb +5 -1
  17. data/proto_docs/google/api/client.rb +4 -0
  18. data/proto_docs/google/api/monitored_resource.rb +1 -1
  19. data/proto_docs/google/monitoring/v3/alert.rb +4 -3
  20. data/proto_docs/google/monitoring/v3/common.rb +43 -33
  21. data/proto_docs/google/monitoring/v3/group_service.rb +11 -8
  22. data/proto_docs/google/monitoring/v3/metric_service.rb +35 -24
  23. data/proto_docs/google/monitoring/v3/service.rb +150 -8
  24. data/proto_docs/google/monitoring/v3/service_service.rb +28 -26
  25. data/proto_docs/google/monitoring/v3/uptime.rb +59 -1
  26. metadata +2 -2
@@ -28,7 +28,7 @@ module Google
28
28
  # operational aspects of the service are accessible.
29
29
  # @!attribute [rw] name
30
30
  # @return [::String]
31
- # Resource name for this Service. The format is:
31
+ # Identifier. Resource name for this Service. The format is:
32
32
  #
33
33
  # projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]
34
34
  # @!attribute [rw] display_name
@@ -54,6 +54,24 @@ module Google
54
54
  # Type used for canonical services scoped to an Istio mesh.
55
55
  # Metrics for Istio are
56
56
  # [documented here](https://istio.io/latest/docs/reference/config/metrics/)
57
+ # @!attribute [rw] cloud_run
58
+ # @return [::Google::Cloud::Monitoring::V3::Service::CloudRun]
59
+ # Type used for Cloud Run services.
60
+ # @!attribute [rw] gke_namespace
61
+ # @return [::Google::Cloud::Monitoring::V3::Service::GkeNamespace]
62
+ # Type used for GKE Namespaces.
63
+ # @!attribute [rw] gke_workload
64
+ # @return [::Google::Cloud::Monitoring::V3::Service::GkeWorkload]
65
+ # Type used for GKE Workloads.
66
+ # @!attribute [rw] gke_service
67
+ # @return [::Google::Cloud::Monitoring::V3::Service::GkeService]
68
+ # Type used for GKE Services (the Kubernetes concept of a service).
69
+ # @!attribute [rw] basic_service
70
+ # @return [::Google::Cloud::Monitoring::V3::Service::BasicService]
71
+ # Message that contains the service type and service labels of this service
72
+ # if it is a basic service.
73
+ # Documentation and examples
74
+ # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
57
75
  # @!attribute [rw] telemetry
58
76
  # @return [::Google::Cloud::Monitoring::V3::Service::Telemetry]
59
77
  # Configuration for how to query telemetry on a Service.
@@ -69,8 +87,9 @@ module Google
69
87
  include ::Google::Protobuf::MessageExts
70
88
  extend ::Google::Protobuf::MessageExts::ClassMethods
71
89
 
72
- # Custom view of service telemetry. Currently a place-holder pending final
73
- # design.
90
+ # Use a custom service to designate a service that you want to monitor
91
+ # when none of the other service types (like App Engine, Cloud Run, or
92
+ # a GKE type) matches your intended service.
74
93
  class Custom
75
94
  include ::Google::Protobuf::MessageExts
76
95
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -80,8 +99,8 @@ module Google
80
99
  # @!attribute [rw] module_id
81
100
  # @return [::String]
82
101
  # The ID of the App Engine module underlying this service. Corresponds to
83
- # the `module_id` resource label in the `gae_app` monitored resource:
84
- # https://cloud.google.com/monitoring/api/resources#tag_gae_app
102
+ # the `module_id` resource label in the [`gae_app` monitored
103
+ # resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
85
104
  class AppEngine
86
105
  include ::Google::Protobuf::MessageExts
87
106
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -91,8 +110,8 @@ module Google
91
110
  # @!attribute [rw] service
92
111
  # @return [::String]
93
112
  # The name of the Cloud Endpoints service underlying this service.
94
- # Corresponds to the `service` resource label in the `api` monitored
95
- # resource: https://cloud.google.com/monitoring/api/resources#tag_api
113
+ # Corresponds to the `service` resource label in the [`api` monitored
114
+ # resource](https://cloud.google.com/monitoring/api/resources#tag_api).
96
115
  class CloudEndpoints
97
116
  include ::Google::Protobuf::MessageExts
98
117
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -167,6 +186,129 @@ module Google
167
186
  extend ::Google::Protobuf::MessageExts::ClassMethods
168
187
  end
169
188
 
189
+ # Cloud Run service. Learn more at https://cloud.google.com/run.
190
+ # @!attribute [rw] service_name
191
+ # @return [::String]
192
+ # The name of the Cloud Run service. Corresponds to the `service_name`
193
+ # resource label in the [`cloud_run_revision` monitored
194
+ # resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
195
+ # @!attribute [rw] location
196
+ # @return [::String]
197
+ # The location the service is run. Corresponds to the `location`
198
+ # resource label in the [`cloud_run_revision` monitored
199
+ # resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
200
+ class CloudRun
201
+ include ::Google::Protobuf::MessageExts
202
+ extend ::Google::Protobuf::MessageExts::ClassMethods
203
+ end
204
+
205
+ # GKE Namespace. The field names correspond to the resource metadata labels
206
+ # on monitored resources that fall under a namespace (for example,
207
+ # `k8s_container` or `k8s_pod`).
208
+ # @!attribute [r] project_id
209
+ # @return [::String]
210
+ # Output only. The project this resource lives in. For legacy services
211
+ # migrated from the `Custom` type, this may be a distinct project from the
212
+ # one parenting the service itself.
213
+ # @!attribute [rw] location
214
+ # @return [::String]
215
+ # The location of the parent cluster. This may be a zone or region.
216
+ # @!attribute [rw] cluster_name
217
+ # @return [::String]
218
+ # The name of the parent cluster.
219
+ # @!attribute [rw] namespace_name
220
+ # @return [::String]
221
+ # The name of this namespace.
222
+ class GkeNamespace
223
+ include ::Google::Protobuf::MessageExts
224
+ extend ::Google::Protobuf::MessageExts::ClassMethods
225
+ end
226
+
227
+ # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
228
+ # to the metadata labels on monitored resources that fall under a workload
229
+ # (for example, `k8s_container` or `k8s_pod`).
230
+ # @!attribute [r] project_id
231
+ # @return [::String]
232
+ # Output only. The project this resource lives in. For legacy services
233
+ # migrated from the `Custom` type, this may be a distinct project from the
234
+ # one parenting the service itself.
235
+ # @!attribute [rw] location
236
+ # @return [::String]
237
+ # The location of the parent cluster. This may be a zone or region.
238
+ # @!attribute [rw] cluster_name
239
+ # @return [::String]
240
+ # The name of the parent cluster.
241
+ # @!attribute [rw] namespace_name
242
+ # @return [::String]
243
+ # The name of the parent namespace.
244
+ # @!attribute [rw] top_level_controller_type
245
+ # @return [::String]
246
+ # The type of this workload (for example, "Deployment" or "DaemonSet")
247
+ # @!attribute [rw] top_level_controller_name
248
+ # @return [::String]
249
+ # The name of this workload.
250
+ class GkeWorkload
251
+ include ::Google::Protobuf::MessageExts
252
+ extend ::Google::Protobuf::MessageExts::ClassMethods
253
+ end
254
+
255
+ # GKE Service. The "service" here represents a
256
+ # [Kubernetes service
257
+ # object](https://kubernetes.io/docs/concepts/services-networking/service).
258
+ # The field names correspond to the resource labels on [`k8s_service`
259
+ # monitored
260
+ # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
261
+ # @!attribute [r] project_id
262
+ # @return [::String]
263
+ # Output only. The project this resource lives in. For legacy services
264
+ # migrated from the `Custom` type, this may be a distinct project from the
265
+ # one parenting the service itself.
266
+ # @!attribute [rw] location
267
+ # @return [::String]
268
+ # The location of the parent cluster. This may be a zone or region.
269
+ # @!attribute [rw] cluster_name
270
+ # @return [::String]
271
+ # The name of the parent cluster.
272
+ # @!attribute [rw] namespace_name
273
+ # @return [::String]
274
+ # The name of the parent namespace.
275
+ # @!attribute [rw] service_name
276
+ # @return [::String]
277
+ # The name of this service.
278
+ class GkeService
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+
283
+ # A well-known service type, defined by its service type and service labels.
284
+ # Documentation and examples
285
+ # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
286
+ # @!attribute [rw] service_type
287
+ # @return [::String]
288
+ # The type of service that this basic service defines, e.g.
289
+ # APP_ENGINE service type.
290
+ # Documentation and valid values
291
+ # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
292
+ # @!attribute [rw] service_labels
293
+ # @return [::Google::Protobuf::Map{::String => ::String}]
294
+ # Labels that specify the resource that emits the monitoring data which
295
+ # is used for SLO reporting of this `Service`.
296
+ # Documentation and valid values for given service types
297
+ # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
298
+ class BasicService
299
+ include ::Google::Protobuf::MessageExts
300
+ extend ::Google::Protobuf::MessageExts::ClassMethods
301
+
302
+ # @!attribute [rw] key
303
+ # @return [::String]
304
+ # @!attribute [rw] value
305
+ # @return [::String]
306
+ class ServiceLabelsEntry
307
+ include ::Google::Protobuf::MessageExts
308
+ extend ::Google::Protobuf::MessageExts::ClassMethods
309
+ end
310
+ end
311
+
170
312
  # Configuration for how to query telemetry on a Service.
171
313
  # @!attribute [rw] resource_name
172
314
  # @return [::String]
@@ -195,7 +337,7 @@ module Google
195
337
  # "99.5% of requests in each calendar month return successfully."
196
338
  # @!attribute [rw] name
197
339
  # @return [::String]
198
- # Resource name for this `ServiceLevelObjective`. The format is:
340
+ # Identifier. Resource name for this `ServiceLevelObjective`. The format is:
199
341
  #
200
342
  # projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
201
343
  # @!attribute [rw] display_name
@@ -24,8 +24,9 @@ module Google
24
24
  # The `CreateService` request.
25
25
  # @!attribute [rw] parent
26
26
  # @return [::String]
27
- # Required. Resource [name](https://cloud.google.com/monitoring/api/v3#project_name) of
28
- # the parent workspace. The format is:
27
+ # Required. Resource
28
+ # [name](https://cloud.google.com/monitoring/api/v3#project_name) of the
29
+ # parent Metrics Scope. The format is:
29
30
  #
30
31
  # projects/[PROJECT_ID_OR_NUMBER]
31
32
  # @!attribute [rw] service_id
@@ -54,33 +55,32 @@ module Google
54
55
  # The `ListServices` request.
55
56
  # @!attribute [rw] parent
56
57
  # @return [::String]
57
- # Required. Resource name of the parent containing the listed services, either a
58
- # [project](https://cloud.google.com/monitoring/api/v3#project_name) or a
59
- # Monitoring Workspace. The formats are:
58
+ # Required. Resource name of the parent containing the listed services,
59
+ # either a [project](https://cloud.google.com/monitoring/api/v3#project_name)
60
+ # or a Monitoring Metrics Scope. The formats are:
60
61
  #
61
62
  # projects/[PROJECT_ID_OR_NUMBER]
62
63
  # workspaces/[HOST_PROJECT_ID_OR_NUMBER]
63
64
  # @!attribute [rw] filter
64
65
  # @return [::String]
65
- # A filter specifying what `Service`s to return. The filter currently
66
- # supports the following fields:
66
+ # A filter specifying what `Service`s to return. The filter supports
67
+ # filtering on a particular service-identifier type or one of its attributes.
67
68
  #
68
- # - `identifier_case`
69
- # - `app_engine.module_id`
70
- # - `cloud_endpoints.service` (reserved for future use)
71
- # - `mesh_istio.mesh_uid`
72
- # - `mesh_istio.service_namespace`
73
- # - `mesh_istio.service_name`
74
- # - `cluster_istio.location` (deprecated)
75
- # - `cluster_istio.cluster_name` (deprecated)
76
- # - `cluster_istio.service_namespace` (deprecated)
77
- # - `cluster_istio.service_name` (deprecated)
69
+ # To filter on a particular service-identifier type, the `identifier_case`
70
+ # refers to which option in the `identifier` field is populated. For example,
71
+ # the filter `identifier_case = "CUSTOM"` would match all services with a
72
+ # value for the `custom` field. Valid options include "CUSTOM", "APP_ENGINE",
73
+ # "MESH_ISTIO", and the other options listed at
74
+ # https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services#Service
78
75
  #
79
- # `identifier_case` refers to which option in the identifier oneof is
80
- # populated. For example, the filter `identifier_case = "CUSTOM"` would match
81
- # all services with a value for the `custom` field. Valid options are
82
- # "CUSTOM", "APP_ENGINE", "MESH_ISTIO", plus "CLUSTER_ISTIO" (deprecated)
83
- # and "CLOUD_ENDPOINTS" (reserved for future use).
76
+ # To filter on an attribute of a service-identifier type, apply the filter
77
+ # name by using the snake case of the service-identifier type and the
78
+ # attribute of that service-identifier type, and join the two with a period.
79
+ # For example, to filter by the `meshUid` field of the `MeshIstio`
80
+ # service-identifier type, you must filter on `mesh_istio.mesh_uid =
81
+ # "123"` to match all services with mesh UID "123". Service-identifier types
82
+ # and their attributes are described at
83
+ # https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services#Service
84
84
  # @!attribute [rw] page_size
85
85
  # @return [::Integer]
86
86
  # A non-negative number that is the maximum number of results to return.
@@ -143,7 +143,7 @@ module Google
143
143
  # @return [::String]
144
144
  # Optional. The ServiceLevelObjective id to use for this
145
145
  # ServiceLevelObjective. If omitted, an id will be generated instead. Must
146
- # match the pattern `[a-z0-9\-]+`
146
+ # match the pattern `^[a-zA-Z0-9-_:.]+$`
147
147
  # @!attribute [rw] service_level_objective
148
148
  # @return [::Google::Cloud::Monitoring::V3::ServiceLevelObjective]
149
149
  # Required. The `ServiceLevelObjective` to create.
@@ -157,7 +157,8 @@ module Google
157
157
  # The `GetServiceLevelObjective` request.
158
158
  # @!attribute [rw] name
159
159
  # @return [::String]
160
- # Required. Resource name of the `ServiceLevelObjective` to get. The format is:
160
+ # Required. Resource name of the `ServiceLevelObjective` to get. The format
161
+ # is:
161
162
  #
162
163
  # projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
163
164
  # @!attribute [rw] view
@@ -175,7 +176,7 @@ module Google
175
176
  # @!attribute [rw] parent
176
177
  # @return [::String]
177
178
  # Required. Resource name of the parent containing the listed SLOs, either a
178
- # project or a Monitoring Workspace. The formats are:
179
+ # project or a Monitoring Metrics Scope. The formats are:
179
180
  #
180
181
  # projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]
181
182
  # workspaces/[HOST_PROJECT_ID_OR_NUMBER]/services/-
@@ -232,7 +233,8 @@ module Google
232
233
  # The `DeleteServiceLevelObjective` request.
233
234
  # @!attribute [rw] name
234
235
  # @return [::String]
235
- # Required. Resource name of the `ServiceLevelObjective` to delete. The format is:
236
+ # Required. Resource name of the `ServiceLevelObjective` to delete. The
237
+ # format is:
236
238
  #
237
239
  # projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
238
240
  class DeleteServiceLevelObjectiveRequest
@@ -79,11 +79,38 @@ module Google
79
79
  end
80
80
  end
81
81
 
82
+ # Describes a Synthetic Monitor to be invoked by Uptime.
83
+ # @!attribute [rw] cloud_function_v2
84
+ # @return [::Google::Cloud::Monitoring::V3::SyntheticMonitorTarget::CloudFunctionV2Target]
85
+ # Target a Synthetic Monitor GCFv2 instance.
86
+ class SyntheticMonitorTarget
87
+ include ::Google::Protobuf::MessageExts
88
+ extend ::Google::Protobuf::MessageExts::ClassMethods
89
+
90
+ # A Synthetic Monitor deployed to a Cloud Functions V2 instance.
91
+ # @!attribute [rw] name
92
+ # @return [::String]
93
+ # Required. Fully qualified GCFv2 resource name
94
+ # i.e. `projects/{project}/locations/{location}/functions/{function}`
95
+ # Required.
96
+ # @!attribute [r] cloud_run_revision
97
+ # @return [::Google::Api::MonitoredResource]
98
+ # Output only. The `cloud_run_revision` Monitored Resource associated with
99
+ # the GCFv2. The Synthetic Monitor execution results (metrics, logs, and
100
+ # spans) are reported against this Monitored Resource. This field is output
101
+ # only.
102
+ class CloudFunctionV2Target
103
+ include ::Google::Protobuf::MessageExts
104
+ extend ::Google::Protobuf::MessageExts::ClassMethods
105
+ end
106
+ end
107
+
82
108
  # This message configures which resources and services to monitor for
83
109
  # availability.
84
110
  # @!attribute [rw] name
85
111
  # @return [::String]
86
- # A unique resource name for this Uptime check configuration. The format is:
112
+ # Identifier. A unique resource name for this Uptime check configuration. The
113
+ # format is:
87
114
  #
88
115
  # projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID]
89
116
  #
@@ -115,6 +142,9 @@ module Google
115
142
  # @!attribute [rw] resource_group
116
143
  # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::ResourceGroup]
117
144
  # The group resource associated with the configuration.
145
+ # @!attribute [rw] synthetic_monitor
146
+ # @return [::Google::Cloud::Monitoring::V3::SyntheticMonitorTarget]
147
+ # Specifies a Synthetic Monitor to invoke.
118
148
  # @!attribute [rw] http_check
119
149
  # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::HttpCheck]
120
150
  # Contains information needed to make an HTTP or HTTPS check.
@@ -226,6 +256,7 @@ module Google
226
256
  # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::HttpCheck::BasicAuthentication]
227
257
  # The authentication information. Optional when creating an HTTP check;
228
258
  # defaults to empty.
259
+ # Do not set both `auth_method` and `auth_info`.
229
260
  # @!attribute [rw] mask_headers
230
261
  # @return [::Boolean]
231
262
  # Boolean specifying whether to encrypt the header information.
@@ -287,6 +318,11 @@ module Google
287
318
  # @!attribute [rw] ping_config
288
319
  # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::PingConfig]
289
320
  # Contains information needed to add pings to an HTTP check.
321
+ # @!attribute [rw] service_agent_authentication
322
+ # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::HttpCheck::ServiceAgentAuthentication]
323
+ # If specified, Uptime will generate and attach an OIDC JWT token for the
324
+ # Monitoring service agent service account as an `Authorization` header
325
+ # in the HTTP request when probing.
290
326
  class HttpCheck
291
327
  include ::Google::Protobuf::MessageExts
292
328
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -343,6 +379,28 @@ module Google
343
379
  end
344
380
  end
345
381
 
382
+ # Contains information needed for generating an
383
+ # [OpenID Connect
384
+ # token](https://developers.google.com/identity/protocols/OpenIDConnect).
385
+ # The OIDC token will be generated for the Monitoring service agent service
386
+ # account.
387
+ # @!attribute [rw] type
388
+ # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::HttpCheck::ServiceAgentAuthentication::ServiceAgentAuthenticationType]
389
+ # Type of authentication.
390
+ class ServiceAgentAuthentication
391
+ include ::Google::Protobuf::MessageExts
392
+ extend ::Google::Protobuf::MessageExts::ClassMethods
393
+
394
+ # Type of authentication.
395
+ module ServiceAgentAuthenticationType
396
+ # Default value, will result in OIDC Authentication.
397
+ SERVICE_AGENT_AUTHENTICATION_TYPE_UNSPECIFIED = 0
398
+
399
+ # OIDC Authentication
400
+ OIDC_TOKEN = 1
401
+ end
402
+ end
403
+
346
404
  # @!attribute [rw] key
347
405
  # @return [::String]
348
406
  # @!attribute [rw] value
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-monitoring-v3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-26 00:00:00.000000000 Z
11
+ date: 2024-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common