Class: Google::Cloud::Monitoring::V3::Service

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/monitoring/v3/service.rb

Overview

A Service is a discrete, autonomous, and network-accessible unit, designed to solve an individual concern (Wikipedia). In Cloud Monitoring, a Service acts as the root resource under which operational aspects of the service are accessible.

Defined Under Namespace

Classes: AppEngine, BasicService, CloudEndpoints, CloudRun, ClusterIstio, Custom, GkeNamespace, GkeService, GkeWorkload, IstioCanonicalService, MeshIstio, Telemetry, UserLabelsEntry

Instance Attribute Summary collapse

Instance Attribute Details

#app_engine::Google::Cloud::Monitoring::V3::Service::AppEngine

Returns Type used for App Engine services.

Returns:



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#basic_service::Google::Cloud::Monitoring::V3::Service::BasicService

Returns Message that contains the service type and service labels of this service if it is a basic service. Documentation and examples here.

Returns:



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#cloud_endpoints::Google::Cloud::Monitoring::V3::Service::CloudEndpoints

Returns Type used for Cloud Endpoints services.

Returns:



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#cloud_run::Google::Cloud::Monitoring::V3::Service::CloudRun

Returns Type used for Cloud Run services.

Returns:



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#cluster_istio::Google::Cloud::Monitoring::V3::Service::ClusterIstio

Returns Type used for Istio services that live in a Kubernetes cluster.

Returns:



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#custom::Google::Cloud::Monitoring::V3::Service::Custom

Returns Custom service type.

Returns:



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#display_name::String

Returns Name used for UI elements listing this Service.

Returns:

  • (::String)

    Name used for UI elements listing this Service.



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#gke_namespace::Google::Cloud::Monitoring::V3::Service::GkeNamespace

Returns Type used for GKE Namespaces.

Returns:



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#gke_service::Google::Cloud::Monitoring::V3::Service::GkeService

Returns Type used for GKE Services (the Kubernetes concept of a service).

Returns:



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#gke_workload::Google::Cloud::Monitoring::V3::Service::GkeWorkload

Returns Type used for GKE Workloads.

Returns:



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#istio_canonical_service::Google::Cloud::Monitoring::V3::Service::IstioCanonicalService

Returns Type used for canonical services scoped to an Istio mesh. Metrics for Istio are documented here.

Returns:



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#mesh_istio::Google::Cloud::Monitoring::V3::Service::MeshIstio

Returns Type used for Istio services scoped to an Istio mesh.

Returns:



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#name::String

Returns Identifier. Resource name for this Service. The format is:

projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID].

Returns:

  • (::String)

    Identifier. Resource name for this Service. The format is:

    projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]
    


86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#telemetry::Google::Cloud::Monitoring::V3::Service::Telemetry

Returns Configuration for how to query telemetry on a Service.

Returns:



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end

#user_labels::Google::Protobuf::Map{::String => ::String}

Returns Labels which have been used to annotate the service. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.

Returns:

  • (::Google::Protobuf::Map{::String => ::String})

    Labels which have been used to annotate the service. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
# File 'proto_docs/google/monitoring/v3/service.rb', line 86

class Service
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Use a custom service to designate a service that you want to monitor
  # when none of the other service types (like App Engine, Cloud Run, or
  # a GKE type) matches your intended service.
  class Custom
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # App Engine service. Learn more at https://cloud.google.com/appengine.
  # @!attribute [rw] module_id
  #   @return [::String]
  #     The ID of the App Engine module underlying this service. Corresponds to
  #     the `module_id` resource label in the [`gae_app` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_gae_app).
  class AppEngine
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
  # @!attribute [rw] service
  #   @return [::String]
  #     The name of the Cloud Endpoints service underlying this service.
  #     Corresponds to the `service` resource label in the [`api` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_api).
  class CloudEndpoints
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to a single Kubernetes cluster. Learn more at
  # https://istio.io. Clusters running OSS Istio will have their services
  # ingested as this type.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `location` resource label in `k8s_cluster`
  #     resources.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the Kubernetes cluster in which this Istio service is
  #     defined. Corresponds to the `cluster_name` resource label in
  #     `k8s_cluster` resources.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class ClusterIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
  # will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the mesh in which this Istio service is defined.
  #     Corresponds to the `mesh_uid` metric label in Istio metrics.
  # @!attribute [rw] service_namespace
  #   @return [::String]
  #     The namespace of the Istio service underlying this service. Corresponds
  #     to the `destination_service_namespace` metric label in Istio metrics.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Istio service underlying this service. Corresponds to the
  #     `destination_service_name` metric label in Istio metrics.
  class MeshIstio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
  # 1.6.8 will have their services ingested as this type.
  # @!attribute [rw] mesh_uid
  #   @return [::String]
  #     Identifier for the Istio mesh in which this canonical service is defined.
  #     Corresponds to the `mesh_uid` metric label in
  #     [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service_namespace
  #   @return [::String]
  #     The namespace of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_namespace` metric
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  # @!attribute [rw] canonical_service
  #   @return [::String]
  #     The name of the canonical service underlying this service.
  #     Corresponds to the `destination_canonical_service_name` metric label in
  #     label in [Istio
  #     metrics](https://cloud.google.com/monitoring/api/metrics_istio).
  class IstioCanonicalService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Cloud Run service. Learn more at https://cloud.google.com/run.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of the Cloud Run service. Corresponds to the `service_name`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  # @!attribute [rw] location
  #   @return [::String]
  #     The location the service is run. Corresponds to the `location`
  #     resource label in the [`cloud_run_revision` monitored
  #     resource](https://cloud.google.com/monitoring/api/resources#tag_cloud_run_revision).
  class CloudRun
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Namespace. The field names correspond to the resource metadata labels
  # on monitored resources that fall under a namespace (for example,
  # `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of this namespace.
  class GkeNamespace
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A GKE Workload (Deployment, StatefulSet, etc). The field names correspond
  # to the metadata labels on monitored resources that fall under a workload
  # (for example, `k8s_container` or `k8s_pod`).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] top_level_controller_type
  #   @return [::String]
  #     The type of this workload (for example, "Deployment" or "DaemonSet")
  # @!attribute [rw] top_level_controller_name
  #   @return [::String]
  #     The name of this workload.
  class GkeWorkload
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # GKE Service. The "service" here represents a
  # [Kubernetes service
  # object](https://kubernetes.io/docs/concepts/services-networking/service).
  # The field names correspond to the resource labels on [`k8s_service`
  # monitored
  # resources](https://cloud.google.com/monitoring/api/resources#tag_k8s_service).
  # @!attribute [r] project_id
  #   @return [::String]
  #     Output only. The project this resource lives in. For legacy services
  #     migrated from the `Custom` type, this may be a distinct project from the
  #     one parenting the service itself.
  # @!attribute [rw] location
  #   @return [::String]
  #     The location of the parent cluster. This may be a zone or region.
  # @!attribute [rw] cluster_name
  #   @return [::String]
  #     The name of the parent cluster.
  # @!attribute [rw] namespace_name
  #   @return [::String]
  #     The name of the parent namespace.
  # @!attribute [rw] service_name
  #   @return [::String]
  #     The name of this service.
  class GkeService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A well-known service type, defined by its service type and service labels.
  # Documentation and examples
  # [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_type
  #   @return [::String]
  #     The type of service that this basic service defines, e.g.
  #     APP_ENGINE service type.
  #     Documentation and valid values
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  # @!attribute [rw] service_labels
  #   @return [::Google::Protobuf::Map{::String => ::String}]
  #     Labels that specify the resource that emits the monitoring data which
  #     is used for SLO reporting of this `Service`.
  #     Documentation and valid values for given service types
  #     [here](https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli).
  class BasicService
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # @!attribute [rw] key
    #   @return [::String]
    # @!attribute [rw] value
    #   @return [::String]
    class ServiceLabelsEntry
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Configuration for how to query telemetry on a Service.
  # @!attribute [rw] resource_name
  #   @return [::String]
  #     The full name of the resource that defines this service. Formatted as
  #     described in https://cloud.google.com/apis/design/resource_names.
  class Telemetry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # @!attribute [rw] key
  #   @return [::String]
  # @!attribute [rw] value
  #   @return [::String]
  class UserLabelsEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end