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

require 'google/protobuf'

require 'google/api/annotations_pb'
require 'google/api/distribution_pb'
require 'google/protobuf/duration_pb'
require 'google/protobuf/timestamp_pb'
Google::Protobuf::DescriptorPool.generated_pool.build 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

module Google
  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
