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

require 'google/api/distribution_pb'
require 'google/protobuf/duration_pb'
require 'google/protobuf/timestamp_pb'
require 'google/protobuf'

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("google/monitoring/v3/common.proto", :syntax => :proto3) do
    add_message "google.monitoring.v3.TypedValue" do
      oneof :value do
        optional :bool_value, :bool, 1
        optional :int64_value, :int64, 2
        optional :double_value, :double, 3
        optional :string_value, :string, 4
        optional :distribution_value, :message, 5, "google.api.Distribution"
      end
    end
    add_message "google.monitoring.v3.TimeInterval" do
      optional :end_time, :message, 2, "google.protobuf.Timestamp"
      optional :start_time, :message, 1, "google.protobuf.Timestamp"
    end
    add_message "google.monitoring.v3.Aggregation" do
      optional :alignment_period, :message, 1, "google.protobuf.Duration"
      optional :per_series_aligner, :enum, 2, "google.monitoring.v3.Aggregation.Aligner"
      optional :cross_series_reducer, :enum, 4, "google.monitoring.v3.Aggregation.Reducer"
      repeated :group_by_fields, :string, 5
    end
    add_enum "google.monitoring.v3.Aggregation.Aligner" do
      value :ALIGN_NONE, 0
      value :ALIGN_DELTA, 1
      value :ALIGN_RATE, 2
      value :ALIGN_INTERPOLATE, 3
      value :ALIGN_NEXT_OLDER, 4
      value :ALIGN_MIN, 10
      value :ALIGN_MAX, 11
      value :ALIGN_MEAN, 12
      value :ALIGN_COUNT, 13
      value :ALIGN_SUM, 14
      value :ALIGN_STDDEV, 15
      value :ALIGN_COUNT_TRUE, 16
      value :ALIGN_COUNT_FALSE, 24
      value :ALIGN_FRACTION_TRUE, 17
      value :ALIGN_PERCENTILE_99, 18
      value :ALIGN_PERCENTILE_95, 19
      value :ALIGN_PERCENTILE_50, 20
      value :ALIGN_PERCENTILE_05, 21
      value :ALIGN_PERCENT_CHANGE, 23
    end
    add_enum "google.monitoring.v3.Aggregation.Reducer" do
      value :REDUCE_NONE, 0
      value :REDUCE_MEAN, 1
      value :REDUCE_MIN, 2
      value :REDUCE_MAX, 3
      value :REDUCE_SUM, 4
      value :REDUCE_STDDEV, 5
      value :REDUCE_COUNT, 6
      value :REDUCE_COUNT_TRUE, 7
      value :REDUCE_COUNT_FALSE, 15
      value :REDUCE_FRACTION_TRUE, 8
      value :REDUCE_PERCENTILE_99, 9
      value :REDUCE_PERCENTILE_95, 10
      value :REDUCE_PERCENTILE_50, 11
      value :REDUCE_PERCENTILE_05, 12
    end
    add_enum "google.monitoring.v3.ComparisonType" do
      value :COMPARISON_UNSPECIFIED, 0
      value :COMPARISON_GT, 1
      value :COMPARISON_GE, 2
      value :COMPARISON_LT, 3
      value :COMPARISON_LE, 4
      value :COMPARISON_EQ, 5
      value :COMPARISON_NE, 6
    end
    add_enum "google.monitoring.v3.ServiceTier" do
      value :SERVICE_TIER_UNSPECIFIED, 0
      value :SERVICE_TIER_BASIC, 1
      value :SERVICE_TIER_PREMIUM, 2
    end
  end
end

module Google
  module Cloud
    module Monitoring
      module V3
        TypedValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.TypedValue").msgclass
        TimeInterval = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.TimeInterval").msgclass
        Aggregation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Aggregation").msgclass
        Aggregation::Aligner = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Aggregation.Aligner").enummodule
        Aggregation::Reducer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.Aggregation.Reducer").enummodule
        ComparisonType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.ComparisonType").enummodule
        ServiceTier = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.ServiceTier").enummodule
      end
    end
  end
end