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

require 'google/protobuf'


descriptor_data = "\n\x1bgoogle/api/monitoring.proto\x12\ngoogle.api\"\xec\x01\n\nMonitoring\x12K\n\x15producer_destinations\x18\x01 \x03(\x0b\x32,.google.api.Monitoring.MonitoringDestination\x12K\n\x15\x63onsumer_destinations\x18\x02 \x03(\x0b\x32,.google.api.Monitoring.MonitoringDestination\x1a\x44\n\x15MonitoringDestination\x12\x1a\n\x12monitored_resource\x18\x01 \x01(\t\x12\x0f\n\x07metrics\x18\x02 \x03(\tBq\n\x0e\x63om.google.apiB\x0fMonitoringProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIb\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 = [
  ]
  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 Api
    Monitoring = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.api.Monitoring").msgclass
    Monitoring::MonitoringDestination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.api.Monitoring.MonitoringDestination").msgclass
  end
end

#### Source proto file: google/api/monitoring.proto ####
#
# // Copyright 2024 Google LLC
# //
# // Licensed under the Apache License, Version 2.0 (the "License");
# // you may not use this file except in compliance with the License.
# // You may obtain a copy of the License at
# //
# //     http://www.apache.org/licenses/LICENSE-2.0
# //
# // Unless required by applicable law or agreed to in writing, software
# // distributed under the License is distributed on an "AS IS" BASIS,
# // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# // See the License for the specific language governing permissions and
# // limitations under the License.
#
# syntax = "proto3";
#
# package google.api;
#
# option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
# option java_multiple_files = true;
# option java_outer_classname = "MonitoringProto";
# option java_package = "com.google.api";
# option objc_class_prefix = "GAPI";
#
# // Monitoring configuration of the service.
# //
# // The example below shows how to configure monitored resources and metrics
# // for monitoring. In the example, a monitored resource and two metrics are
# // defined. The `library.googleapis.com/book/returned_count` metric is sent
# // to both producer and consumer projects, whereas the
# // `library.googleapis.com/book/num_overdue` metric is only sent to the
# // consumer project.
# //
# //     monitored_resources:
# //     - type: library.googleapis.com/Branch
# //       display_name: "Library Branch"
# //       description: "A branch of a library."
# //       launch_stage: GA
# //       labels:
# //       - key: resource_container
# //         description: "The Cloud container (ie. project id) for the Branch."
# //       - key: location
# //         description: "The location of the library branch."
# //       - key: branch_id
# //         description: "The id of the branch."
# //     metrics:
# //     - name: library.googleapis.com/book/returned_count
# //       display_name: "Books Returned"
# //       description: "The count of books that have been returned."
# //       launch_stage: GA
# //       metric_kind: DELTA
# //       value_type: INT64
# //       unit: "1"
# //       labels:
# //       - key: customer_id
# //         description: "The id of the customer."
# //     - name: library.googleapis.com/book/num_overdue
# //       display_name: "Books Overdue"
# //       description: "The current number of overdue books."
# //       launch_stage: GA
# //       metric_kind: GAUGE
# //       value_type: INT64
# //       unit: "1"
# //       labels:
# //       - key: customer_id
# //         description: "The id of the customer."
# //     monitoring:
# //       producer_destinations:
# //       - monitored_resource: library.googleapis.com/Branch
# //         metrics:
# //         - library.googleapis.com/book/returned_count
# //       consumer_destinations:
# //       - monitored_resource: library.googleapis.com/Branch
# //         metrics:
# //         - library.googleapis.com/book/returned_count
# //         - library.googleapis.com/book/num_overdue
# message Monitoring {
#   // Configuration of a specific monitoring destination (the producer project
#   // or the consumer project).
#   message MonitoringDestination {
#     // The monitored resource type. The type must be defined in
#     // [Service.monitored_resources][google.api.Service.monitored_resources]
#     // section.
#     string monitored_resource = 1;
#
#     // Types of the metrics to report to this monitoring destination.
#     // Each type must be defined in
#     // [Service.metrics][google.api.Service.metrics] section.
#     repeated string metrics = 2;
#   }
#
#   // Monitoring configurations for sending metrics to the producer project.
#   // There can be multiple producer destinations. A monitored resource type may
#   // appear in multiple monitoring destinations if different aggregations are
#   // needed for different sets of metrics associated with that monitored
#   // resource type. A monitored resource and metric pair may only be used once
#   // in the Monitoring configuration.
#   repeated MonitoringDestination producer_destinations = 1;
#
#   // Monitoring configurations for sending metrics to the consumer project.
#   // There can be multiple consumer destinations. A monitored resource type may
#   // appear in multiple monitoring destinations if different aggregations are
#   // needed for different sets of metrics associated with that monitored
#   // resource type. A monitored resource and metric pair may only be used once
#   // in the Monitoring configuration.
#   repeated MonitoringDestination consumer_destinations = 2;
# }
