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.



4221
4222
4223
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4221

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



4128
4129
4130
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4128

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



4135
4136
4137
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4135

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



4140
4141
4142
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4140

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



4145
4146
4147
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4145

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



4152
4153
4154
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4152

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



4159
4160
4161
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4159

def custom
  @custom
end

#display_nameString

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

Returns:

  • (String)


4164
4165
4166
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4164

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



4171
4172
4173
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4171

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



4179
4180
4181
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4179

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



4186
4187
4188
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4186

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



4192
4193
4194
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4192

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



4198
4199
4200
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4198

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)


4204
4205
4206
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4204

def name
  @name
end

#telemetryGoogle::Apis::MonitoringV3::Telemetry

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



4209
4210
4211
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4209

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>)


4219
4220
4221
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4219

def user_labels
  @user_labels
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4226

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