Class: Google::Apis::MonitoringV3::Service

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/monitoring_v3/classes.rb,
lib/google/apis/monitoring_v3/representations.rb,
lib/google/apis/monitoring_v3/representations.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Service

Returns a new instance of Service.



4361
4362
4363
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4361

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#app_engineGoogle::Apis::MonitoringV3::AppEngine

App Engine service. Learn more at https://cloud.google.com/appengine. Corresponds to the JSON property appEngine



4268
4269
4270
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4268

def app_engine
  @app_engine
end

#basic_serviceGoogle::Apis::MonitoringV3::BasicService

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). Corresponds to the JSON property basicService



4275
4276
4277
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4275

def basic_service
  @basic_service
end

#cloud_endpointsGoogle::Apis::MonitoringV3::CloudEndpoints

Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints. Corresponds to the JSON property cloudEndpoints



4280
4281
4282
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4280

def cloud_endpoints
  @cloud_endpoints
end

#cloud_runGoogle::Apis::MonitoringV3::CloudRun

Cloud Run service. Learn more at https://cloud.google.com/run. Corresponds to the JSON property cloudRun



4285
4286
4287
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4285

def cloud_run
  @cloud_run
end

#cluster_istioGoogle::Apis::MonitoringV3::ClusterIstio

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. Corresponds to the JSON property clusterIstio



4292
4293
4294
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4292

def cluster_istio
  @cluster_istio
end

#customGoogle::Apis::MonitoringV3::Custom

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. Corresponds to the JSON property custom



4299
4300
4301
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4299

def custom
  @custom
end

#display_nameString

Name used for UI elements listing this Service. Corresponds to the JSON property displayName

Returns:

  • (String)


4304
4305
4306
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4304

def display_name
  @display_name
end

#gke_namespaceGoogle::Apis::MonitoringV3::GkeNamespace

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). Corresponds to the JSON property gkeNamespace



4311
4312
4313
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4311

def gke_namespace
  @gke_namespace
end

#gke_serviceGoogle::Apis::MonitoringV3::GkeService

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). Corresponds to the JSON property gkeService



4319
4320
4321
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4319

def gke_service
  @gke_service
end

#gke_workloadGoogle::Apis::MonitoringV3::GkeWorkload

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). Corresponds to the JSON property gkeWorkload



4326
4327
4328
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4326

def gke_workload
  @gke_workload
end

#istio_canonical_serviceGoogle::Apis::MonitoringV3::IstioCanonicalService

Canonical service scoped to an Istio mesh. Anthos clusters running ASM >= 1.6. 8 will have their services ingested as this type. Corresponds to the JSON property istioCanonicalService



4332
4333
4334
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4332

def istio_canonical_service
  @istio_canonical_service
end

#mesh_istioGoogle::Apis::MonitoringV3::MeshIstio

Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8 will have their services ingested as this type. Corresponds to the JSON property meshIstio



4338
4339
4340
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4338

def mesh_istio
  @mesh_istio
end

#nameString

Identifier. Resource name for this Service. The format is: projects/[ PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID] Corresponds to the JSON property name

Returns:

  • (String)


4344
4345
4346
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4344

def name
  @name
end

#telemetryGoogle::Apis::MonitoringV3::Telemetry

Configuration for how to query telemetry on a Service. Corresponds to the JSON property telemetry



4349
4350
4351
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4349

def telemetry
  @telemetry
end

#user_labelsHash<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. Corresponds to the JSON property userLabels

Returns:

  • (Hash<String,String>)


4359
4360
4361
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4359

def user_labels
  @user_labels
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4366

def update!(**args)
  @app_engine = args[:app_engine] if args.key?(:app_engine)
  @basic_service = args[:basic_service] if args.key?(:basic_service)
  @cloud_endpoints = args[:cloud_endpoints] if args.key?(:cloud_endpoints)
  @cloud_run = args[:cloud_run] if args.key?(:cloud_run)
  @cluster_istio = args[:cluster_istio] if args.key?(:cluster_istio)
  @custom = args[:custom] if args.key?(:custom)
  @display_name = args[:display_name] if args.key?(:display_name)
  @gke_namespace = args[:gke_namespace] if args.key?(:gke_namespace)
  @gke_service = args[:gke_service] if args.key?(:gke_service)
  @gke_workload = args[:gke_workload] if args.key?(:gke_workload)
  @istio_canonical_service = args[:istio_canonical_service] if args.key?(:istio_canonical_service)
  @mesh_istio = args[:mesh_istio] if args.key?(:mesh_istio)
  @name = args[:name] if args.key?(:name)
  @telemetry = args[:telemetry] if args.key?(:telemetry)
  @user_labels = args[:user_labels] if args.key?(:user_labels)
end