# frozen_string_literal: true
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/monitoring/v3/service.proto

require 'google/protobuf'

require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/protobuf/duration_pb'
require 'google/type/calendar_period_pb'


descriptor_data = "\n\"google/monitoring/v3/service.proto\x12\x14google.monitoring.v3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\x1a!google/type/calendar_period.proto\"\x94\x11\n\x07Service\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x36\n\x06\x63ustom\x18\x06 \x01(\x0b\x32$.google.monitoring.v3.Service.CustomH\x00\x12=\n\napp_engine\x18\x07 \x01(\x0b\x32\'.google.monitoring.v3.Service.AppEngineH\x00\x12G\n\x0f\x63loud_endpoints\x18\x08 \x01(\x0b\x32,.google.monitoring.v3.Service.CloudEndpointsH\x00\x12\x43\n\rcluster_istio\x18\t \x01(\x0b\x32*.google.monitoring.v3.Service.ClusterIstioH\x00\x12=\n\nmesh_istio\x18\n \x01(\x0b\x32\'.google.monitoring.v3.Service.MeshIstioH\x00\x12V\n\x17istio_canonical_service\x18\x0b \x01(\x0b\x32\x33.google.monitoring.v3.Service.IstioCanonicalServiceH\x00\x12;\n\tcloud_run\x18\x0c \x01(\x0b\x32&.google.monitoring.v3.Service.CloudRunH\x00\x12\x43\n\rgke_namespace\x18\x0f \x01(\x0b\x32*.google.monitoring.v3.Service.GkeNamespaceH\x00\x12\x41\n\x0cgke_workload\x18\x10 \x01(\x0b\x32).google.monitoring.v3.Service.GkeWorkloadH\x00\x12?\n\x0bgke_service\x18\x11 \x01(\x0b\x32(.google.monitoring.v3.Service.GkeServiceH\x00\x12\x41\n\rbasic_service\x18\x13 \x01(\x0b\x32*.google.monitoring.v3.Service.BasicService\x12:\n\ttelemetry\x18\r \x01(\x0b\x32\'.google.monitoring.v3.Service.Telemetry\x12\x42\n\x0buser_labels\x18\x0e \x03(\x0b\x32-.google.monitoring.v3.Service.UserLabelsEntry\x1a\x08\n\x06\x43ustom\x1a\x1e\n\tAppEngine\x12\x11\n\tmodule_id\x18\x01 \x01(\t\x1a!\n\x0e\x43loudEndpoints\x12\x0f\n\x07service\x18\x01 \x01(\t\x1ag\n\x0c\x43lusterIstio\x12\x10\n\x08location\x18\x01 \x01(\t\x12\x14\n\x0c\x63luster_name\x18\x02 \x01(\t\x12\x19\n\x11service_namespace\x18\x03 \x01(\t\x12\x14\n\x0cservice_name\x18\x04 \x01(\t\x1aN\n\tMeshIstio\x12\x10\n\x08mesh_uid\x18\x01 \x01(\t\x12\x19\n\x11service_namespace\x18\x03 \x01(\t\x12\x14\n\x0cservice_name\x18\x04 \x01(\t\x1ai\n\x15IstioCanonicalService\x12\x10\n\x08mesh_uid\x18\x01 \x01(\t\x12#\n\x1b\x63\x61nonical_service_namespace\x18\x03 \x01(\t\x12\x19\n\x11\x63\x61nonical_service\x18\x04 \x01(\t\x1a\x32\n\x08\x43loudRun\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12\x10\n\x08location\x18\x02 \x01(\t\x1ag\n\x0cGkeNamespace\x12\x17\n\nproject_id\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x08location\x18\x02 \x01(\t\x12\x14\n\x0c\x63luster_name\x18\x03 \x01(\t\x12\x16\n\x0enamespace_name\x18\x04 \x01(\t\x1a\xac\x01\n\x0bGkeWorkload\x12\x17\n\nproject_id\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x08location\x18\x02 \x01(\t\x12\x14\n\x0c\x63luster_name\x18\x03 \x01(\t\x12\x16\n\x0enamespace_name\x18\x04 \x01(\t\x12!\n\x19top_level_controller_type\x18\x05 \x01(\t\x12!\n\x19top_level_controller_name\x18\x06 \x01(\t\x1a{\n\nGkeService\x12\x17\n\nproject_id\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x08location\x18\x02 \x01(\t\x12\x14\n\x0c\x63luster_name\x18\x03 \x01(\t\x12\x16\n\x0enamespace_name\x18\x04 \x01(\t\x12\x14\n\x0cservice_name\x18\x05 \x01(\t\x1a\xb1\x01\n\x0c\x42\x61sicService\x12\x14\n\x0cservice_type\x18\x01 \x01(\t\x12U\n\x0eservice_labels\x18\x02 \x03(\x0b\x32=.google.monitoring.v3.Service.BasicService.ServiceLabelsEntry\x1a\x34\n\x12ServiceLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\"\n\tTelemetry\x12\x15\n\rresource_name\x18\x01 \x01(\t\x1a\x31\n\x0fUserLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\xa7\x01\xea\x41\xa3\x01\n!monitoring.googleapis.com/Service\x12%projects/{project}/services/{service}\x12/organizations/{organization}/services/{service}\x12#folders/{folder}/services/{service}\x12\x01*B\x0c\n\nidentifier\"\x9b\x06\n\x15ServiceLevelObjective\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x14\n\x0c\x64isplay_name\x18\x0b \x01(\t\x12L\n\x17service_level_indicator\x18\x03 \x01(\x0b\x32+.google.monitoring.v3.ServiceLevelIndicator\x12\x0c\n\x04goal\x18\x04 \x01(\x01\x12\x33\n\x0erolling_period\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x36\n\x0f\x63\x61lendar_period\x18\x06 \x01(\x0e\x32\x1b.google.type.CalendarPeriodH\x00\x12P\n\x0buser_labels\x18\x0c \x03(\x0b\x32;.google.monitoring.v3.ServiceLevelObjective.UserLabelsEntry\x1a\x31\n\x0fUserLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"4\n\x04View\x12\x14\n\x10VIEW_UNSPECIFIED\x10\x00\x12\x08\n\x04\x46ULL\x10\x02\x12\x0c\n\x08\x45XPLICIT\x10\x01:\xca\x02\xea\x41\xc6\x02\n/monitoring.googleapis.com/ServiceLevelObjective\x12Vprojects/{project}/services/{service}/serviceLevelObjectives/{service_level_objective}\x12`organizations/{organization}/services/{service}/serviceLevelObjectives/{service_level_objective}\x12Tfolders/{folder}/services/{service}/serviceLevelObjectives/{service_level_objective}\x12\x01* \x01\x42\x08\n\x06period\"\xd4\x01\n\x15ServiceLevelIndicator\x12\x33\n\tbasic_sli\x18\x04 \x01(\x0b\x32\x1e.google.monitoring.v3.BasicSliH\x00\x12>\n\rrequest_based\x18\x01 \x01(\x0b\x32%.google.monitoring.v3.RequestBasedSliH\x00\x12>\n\rwindows_based\x18\x02 \x01(\x0b\x32%.google.monitoring.v3.WindowsBasedSliH\x00\x42\x06\n\x04type\"\xb6\x02\n\x08\x42\x61sicSli\x12\x0e\n\x06method\x18\x07 \x03(\t\x12\x10\n\x08location\x18\x08 \x03(\t\x12\x0f\n\x07version\x18\t \x03(\t\x12K\n\x0c\x61vailability\x18\x02 \x01(\x0b\x32\x33.google.monitoring.v3.BasicSli.AvailabilityCriteriaH\x00\x12\x41\n\x07latency\x18\x03 \x01(\x0b\x32..google.monitoring.v3.BasicSli.LatencyCriteriaH\x00\x1a\x16\n\x14\x41vailabilityCriteria\x1a?\n\x0fLatencyCriteria\x12,\n\tthreshold\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0e\n\x0csli_criteria\"!\n\x05Range\x12\x0b\n\x03min\x18\x01 \x01(\x01\x12\x0b\n\x03max\x18\x02 \x01(\x01\"\xa1\x01\n\x0fRequestBasedSli\x12\x41\n\x10good_total_ratio\x18\x01 \x01(\x0b\x32%.google.monitoring.v3.TimeSeriesRatioH\x00\x12\x41\n\x10\x64istribution_cut\x18\x03 \x01(\x0b\x32%.google.monitoring.v3.DistributionCutH\x00\x42\x08\n\x06method\"h\n\x0fTimeSeriesRatio\x12\x1b\n\x13good_service_filter\x18\x04 \x01(\t\x12\x1a\n\x12\x62\x61\x64_service_filter\x18\x05 \x01(\t\x12\x1c\n\x14total_service_filter\x18\x06 \x01(\t\"Z\n\x0f\x44istributionCut\x12\x1b\n\x13\x64istribution_filter\x18\x04 \x01(\t\x12*\n\x05range\x18\x05 \x01(\x0b\x32\x1b.google.monitoring.v3.Range\"\x83\x05\n\x0fWindowsBasedSli\x12 \n\x16good_bad_metric_filter\x18\x05 \x01(\tH\x00\x12`\n\x1agood_total_ratio_threshold\x18\x02 \x01(\x0b\x32:.google.monitoring.v3.WindowsBasedSli.PerformanceThresholdH\x00\x12Q\n\x14metric_mean_in_range\x18\x06 \x01(\x0b\x32\x31.google.monitoring.v3.WindowsBasedSli.MetricRangeH\x00\x12P\n\x13metric_sum_in_range\x18\x07 \x01(\x0b\x32\x31.google.monitoring.v3.WindowsBasedSli.MetricRangeH\x00\x12\x30\n\rwindow_period\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\xb0\x01\n\x14PerformanceThreshold\x12<\n\x0bperformance\x18\x01 \x01(\x0b\x32%.google.monitoring.v3.RequestBasedSliH\x00\x12?\n\x15\x62\x61sic_sli_performance\x18\x03 \x01(\x0b\x32\x1e.google.monitoring.v3.BasicSliH\x00\x12\x11\n\tthreshold\x18\x02 \x01(\x01\x42\x06\n\x04type\x1aN\n\x0bMetricRange\x12\x13\n\x0btime_series\x18\x01 \x01(\t\x12*\n\x05range\x18\x04 \x01(\x0b\x32\x1b.google.monitoring.v3.RangeB\x12\n\x10window_criterionB\xd1\x01\n\x18\x63om.google.monitoring.v3B\x16ServiceMonitoringProtoP\x01ZAcloud.google.com/go/monitoring/apiv3/v2/monitoringpb;monitoringpb\xaa\x02\x1aGoogle.Cloud.Monitoring.V3\xca\x02\x1aGoogle\\Cloud\\Monitoring\\V3\xea\x02\x1dGoogle::Cloud::Monitoring::V3b\x06proto3"

pool = Google::Protobuf::DescriptorPool.generated_pool

begin
  pool.add_serialized_file(descriptor_data)
rescue TypeError
  # Compatibility code: will be removed in the next major version.
  require 'google/protobuf/descriptor_pb'
  parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
  parsed.clear_dependency
  serialized = parsed.class.encode(parsed)
  file = pool.add_serialized_file(serialized)
  warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
  imports = [
    ["google.protobuf.Duration", "google/protobuf/duration.proto"],
  ]
  imports.each do |type_name, expected_filename|
    import_file = pool.lookup(type_name).file_descriptor
    if import_file.name != expected_filename
      warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
    end
  end
  warn "Each proto file must use a consistent fully-qualified name."
  warn "This will become an error in the next major version."
end

module Google
  module Cloud
    module Monitoring
      module V3
        Service = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service").msgclass
        Service::Custom = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service.Custom").msgclass
        Service::AppEngine = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service.AppEngine").msgclass
        Service::CloudEndpoints = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service.CloudEndpoints").msgclass
        Service::ClusterIstio = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service.ClusterIstio").msgclass
        Service::MeshIstio = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service.MeshIstio").msgclass
        Service::IstioCanonicalService = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service.IstioCanonicalService").msgclass
        Service::CloudRun = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service.CloudRun").msgclass
        Service::GkeNamespace = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service.GkeNamespace").msgclass
        Service::GkeWorkload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service.GkeWorkload").msgclass
        Service::GkeService = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service.GkeService").msgclass
        Service::BasicService = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service.BasicService").msgclass
        Service::Telemetry = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Service.Telemetry").msgclass
        ServiceLevelObjective = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.ServiceLevelObjective").msgclass
        ServiceLevelObjective::View = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.ServiceLevelObjective.View").enummodule
        ServiceLevelIndicator = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.ServiceLevelIndicator").msgclass
        BasicSli = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.BasicSli").msgclass
        BasicSli::AvailabilityCriteria = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.BasicSli.AvailabilityCriteria").msgclass
        BasicSli::LatencyCriteria = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.BasicSli.LatencyCriteria").msgclass
        Range = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Range").msgclass
        RequestBasedSli = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.RequestBasedSli").msgclass
        TimeSeriesRatio = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.TimeSeriesRatio").msgclass
        DistributionCut = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.DistributionCut").msgclass
        WindowsBasedSli = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.WindowsBasedSli").msgclass
        WindowsBasedSli::PerformanceThreshold = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.WindowsBasedSli.PerformanceThreshold").msgclass
        WindowsBasedSli::MetricRange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.WindowsBasedSli.MetricRange").msgclass
      end
    end
  end
end
