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.



3772
3773
3774
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3772

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



3687
3688
3689
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3687

def app_engine
  @app_engine
end

#cloud_endpointsGoogle::Apis::MonitoringV3::CloudEndpoints

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



3692
3693
3694
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3692

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



3697
3698
3699
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3697

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



3704
3705
3706
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3704

def cluster_istio
  @cluster_istio
end

#customGoogle::Apis::MonitoringV3::Custom

Custom view of service telemetry. Currently a place-holder pending final design. Corresponds to the JSON property custom



3710
3711
3712
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3710

def custom
  @custom
end

#display_nameString

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

Returns:

  • (String)


3715
3716
3717
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3715

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



3722
3723
3724
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3722

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



3730
3731
3732
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3730

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



3737
3738
3739
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3737

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



3743
3744
3745
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3743

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



3749
3750
3751
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3749

def mesh_istio
  @mesh_istio
end

#nameString

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

Returns:

  • (String)


3755
3756
3757
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3755

def name
  @name
end

#telemetryGoogle::Apis::MonitoringV3::Telemetry

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



3760
3761
3762
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3760

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


3770
3771
3772
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3770

def user_labels
  @user_labels
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3777

def update!(**args)
  @app_engine = args[:app_engine] if args.key?(:app_engine)
  @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