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

require 'google/protobuf'

require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/monitoring/v3/common_pb'
require 'google/monitoring/v3/mutation_record_pb'
require 'google/protobuf/duration_pb'
require 'google/protobuf/wrappers_pb'
require 'google/rpc/status_pb'
require 'google/type/timeofday_pb'


descriptor_data = "\n google/monitoring/v3/alert.proto\x12\x14google.monitoring.v3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a!google/monitoring/v3/common.proto\x1a*google/monitoring/v3/mutation_record.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17google/rpc/status.proto\x1a\x1bgoogle/type/timeofday.proto\"\x95-\n\x0b\x41lertPolicy\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x46\n\rdocumentation\x18\r \x01(\x0b\x32/.google.monitoring.v3.AlertPolicy.Documentation\x12\x46\n\x0buser_labels\x18\x10 \x03(\x0b\x32\x31.google.monitoring.v3.AlertPolicy.UserLabelsEntry\x12?\n\nconditions\x18\x0c \x03(\x0b\x32+.google.monitoring.v3.AlertPolicy.Condition\x12I\n\x08\x63ombiner\x18\x06 \x01(\x0e\x32\x37.google.monitoring.v3.AlertPolicy.ConditionCombinerType\x12+\n\x07\x65nabled\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12$\n\x08validity\x18\x12 \x01(\x0b\x32\x12.google.rpc.Status\x12\x1d\n\x15notification_channels\x18\x0e \x03(\t\x12=\n\x0f\x63reation_record\x18\n \x01(\x0b\x32$.google.monitoring.v3.MutationRecord\x12=\n\x0fmutation_record\x18\x0b \x01(\x0b\x32$.google.monitoring.v3.MutationRecord\x12G\n\x0e\x61lert_strategy\x18\x15 \x01(\x0b\x32/.google.monitoring.v3.AlertPolicy.AlertStrategy\x12\x41\n\x08severity\x18\x16 \x01(\x0e\x32*.google.monitoring.v3.AlertPolicy.SeverityB\x03\xe0\x41\x01\x1a\xbe\x01\n\rDocumentation\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\t\x12\x11\n\tmime_type\x18\x02 \x01(\t\x12\x14\n\x07subject\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12H\n\x05links\x18\x04 \x03(\x0b\x32\x34.google.monitoring.v3.AlertPolicy.Documentation.LinkB\x03\xe0\x41\x01\x1a)\n\x04Link\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x1a\xc6\x1d\n\tCondition\x12\x0c\n\x04name\x18\x0c \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x06 \x01(\t\x12Z\n\x13\x63ondition_threshold\x18\x01 \x01(\x0b\x32;.google.monitoring.v3.AlertPolicy.Condition.MetricThresholdH\x00\x12U\n\x10\x63ondition_absent\x18\x02 \x01(\x0b\x32\x39.google.monitoring.v3.AlertPolicy.Condition.MetricAbsenceH\x00\x12U\n\x15\x63ondition_matched_log\x18\x14 \x01(\x0b\x32\x34.google.monitoring.v3.AlertPolicy.Condition.LogMatchH\x00\x12{\n#condition_monitoring_query_language\x18\x13 \x01(\x0b\x32L.google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageConditionH\x00\x12{\n#condition_prometheus_query_language\x18\x15 \x01(\x0b\x32L.google.monitoring.v3.AlertPolicy.Condition.PrometheusQueryLanguageConditionH\x00\x12Q\n\rcondition_sql\x18\x16 \x01(\x0b\x32\x38.google.monitoring.v3.AlertPolicy.Condition.SqlConditionH\x00\x1a\x35\n\x07Trigger\x12\x0f\n\x05\x63ount\x18\x01 \x01(\x05H\x00\x12\x11\n\x07percent\x18\x02 \x01(\x01H\x00\x42\x06\n\x04type\x1a\x9e\x05\n\x0fMetricThreshold\x12\x13\n\x06\x66ilter\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\x0c\x61ggregations\x18\x08 \x03(\x0b\x32!.google.monitoring.v3.Aggregation\x12\x1a\n\x12\x64\x65nominator_filter\x18\t \x01(\t\x12\x43\n\x18\x64\x65nominator_aggregations\x18\n \x03(\x0b\x32!.google.monitoring.v3.Aggregation\x12\x65\n\x10\x66orecast_options\x18\x0c \x01(\x0b\x32K.google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.ForecastOptions\x12\x38\n\ncomparison\x18\x04 \x01(\x0e\x32$.google.monitoring.v3.ComparisonType\x12\x17\n\x0fthreshold_value\x18\x05 \x01(\x01\x12+\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x44\n\x07trigger\x18\x07 \x01(\x0b\x32\x33.google.monitoring.v3.AlertPolicy.Condition.Trigger\x12\x62\n\x17\x65valuation_missing_data\x18\x0b \x01(\x0e\x32\x41.google.monitoring.v3.AlertPolicy.Condition.EvaluationMissingData\x1aK\n\x0f\x46orecastOptions\x12\x38\n\x10\x66orecast_horizon\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x02\x1a\xd0\x01\n\rMetricAbsence\x12\x13\n\x06\x66ilter\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x37\n\x0c\x61ggregations\x18\x05 \x03(\x0b\x32!.google.monitoring.v3.Aggregation\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x44\n\x07trigger\x18\x03 \x01(\x0b\x32\x33.google.monitoring.v3.AlertPolicy.Condition.Trigger\x1a\xbc\x01\n\x08LogMatch\x12\x13\n\x06\x66ilter\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x63\n\x10label_extractors\x18\x02 \x03(\x0b\x32I.google.monitoring.v3.AlertPolicy.Condition.LogMatch.LabelExtractorsEntry\x1a\x36\n\x14LabelExtractorsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x88\x02\n MonitoringQueryLanguageCondition\x12\r\n\x05query\x18\x01 \x01(\t\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x44\n\x07trigger\x18\x03 \x01(\x0b\x32\x33.google.monitoring.v3.AlertPolicy.Condition.Trigger\x12\x62\n\x17\x65valuation_missing_data\x18\x04 \x01(\x0e\x32\x41.google.monitoring.v3.AlertPolicy.Condition.EvaluationMissingData\x1a\x9d\x03\n PrometheusQueryLanguageCondition\x12\x12\n\x05query\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x30\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12;\n\x13\x65valuation_interval\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12m\n\x06labels\x18\x04 \x03(\x0b\x32X.google.monitoring.v3.AlertPolicy.Condition.PrometheusQueryLanguageCondition.LabelsEntryB\x03\xe0\x41\x01\x12\x17\n\nrule_group\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x17\n\nalert_rule\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12&\n\x19\x64isable_metric_validation\x18\x07 \x01(\x08\x42\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\xd1\x06\n\x0cSqlCondition\x12\x12\n\x05query\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12S\n\x07minutes\x18\x02 \x01(\x0b\x32@.google.monitoring.v3.AlertPolicy.Condition.SqlCondition.MinutesH\x00\x12Q\n\x06hourly\x18\x03 \x01(\x0b\x32?.google.monitoring.v3.AlertPolicy.Condition.SqlCondition.HourlyH\x00\x12O\n\x05\x64\x61ily\x18\x04 \x01(\x0b\x32>.google.monitoring.v3.AlertPolicy.Condition.SqlCondition.DailyH\x00\x12_\n\x0erow_count_test\x18\x05 \x01(\x0b\x32\x45.google.monitoring.v3.AlertPolicy.Condition.SqlCondition.RowCountTestH\x01\x12\\\n\x0c\x62oolean_test\x18\x06 \x01(\x0b\x32\x44.google.monitoring.v3.AlertPolicy.Condition.SqlCondition.BooleanTestH\x01\x1a#\n\x07Minutes\x12\x18\n\x0bperiodicity\x18\x01 \x01(\x05\x42\x03\xe0\x41\x02\x1aU\n\x06Hourly\x12\x18\n\x0bperiodicity\x18\x01 \x01(\x05\x42\x03\xe0\x41\x02\x12\x1f\n\rminute_offset\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01H\x00\x88\x01\x01\x42\x10\n\x0e_minute_offset\x1aV\n\x05\x44\x61ily\x12\x18\n\x0bperiodicity\x18\x01 \x01(\x05\x42\x03\xe0\x41\x02\x12\x33\n\x0e\x65xecution_time\x18\x02 \x01(\x0b\x32\x16.google.type.TimeOfDayB\x03\xe0\x41\x01\x1a\x65\n\x0cRowCountTest\x12=\n\ncomparison\x18\x01 \x01(\x0e\x32$.google.monitoring.v3.ComparisonTypeB\x03\xe0\x41\x02\x12\x16\n\tthreshold\x18\x02 \x01(\x03\x42\x03\xe0\x41\x02\x1a\"\n\x0b\x42ooleanTest\x12\x13\n\x06\x63olumn\x18\x01 \x01(\tB\x03\xe0\x41\x02\x42\n\n\x08scheduleB\n\n\x08\x65valuate\"\xad\x01\n\x15\x45valuationMissingData\x12\'\n#EVALUATION_MISSING_DATA_UNSPECIFIED\x10\x00\x12$\n EVALUATION_MISSING_DATA_INACTIVE\x10\x01\x12\"\n\x1e\x45VALUATION_MISSING_DATA_ACTIVE\x10\x02\x12!\n\x1d\x45VALUATION_MISSING_DATA_NO_OP\x10\x03:\x97\x02\xea\x41\x93\x02\n.monitoring.googleapis.com/AlertPolicyCondition\x12\x46projects/{project}/alertPolicies/{alert_policy}/conditions/{condition}\x12Porganizations/{organization}/alertPolicies/{alert_policy}/conditions/{condition}\x12\x44\x66olders/{folder}/alertPolicies/{alert_policy}/conditions/{condition}\x12\x01*B\x0b\n\tcondition\x1a\x8c\x05\n\rAlertStrategy\x12\x66\n\x17notification_rate_limit\x18\x01 \x01(\x0b\x32\x45.google.monitoring.v3.AlertPolicy.AlertStrategy.NotificationRateLimit\x12`\n\x14notification_prompts\x18\x02 \x03(\x0e\x32\x42.google.monitoring.v3.AlertPolicy.AlertStrategy.NotificationPrompt\x12-\n\nauto_close\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12r\n\x1dnotification_channel_strategy\x18\x04 \x03(\x0b\x32K.google.monitoring.v3.AlertPolicy.AlertStrategy.NotificationChannelStrategy\x1a\x42\n\x15NotificationRateLimit\x12)\n\x06period\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x1aw\n\x1bNotificationChannelStrategy\x12\"\n\x1anotification_channel_names\x18\x01 \x03(\t\x12\x34\n\x11renotify_interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"Q\n\x12NotificationPrompt\x12#\n\x1fNOTIFICATION_PROMPT_UNSPECIFIED\x10\x00\x12\n\n\x06OPENED\x10\x01\x12\n\n\x06\x43LOSED\x10\x03\x1a\x31\n\x0fUserLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"a\n\x15\x43onditionCombinerType\x12\x17\n\x13\x43OMBINE_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41ND\x10\x01\x12\x06\n\x02OR\x10\x02\x12\x1e\n\x1a\x41ND_WITH_MATCHING_RESOURCE\x10\x03\"J\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43RITICAL\x10\x01\x12\t\n\x05\x45RROR\x10\x02\x12\x0b\n\x07WARNING\x10\x03:\xc9\x01\xea\x41\xc5\x01\n%monitoring.googleapis.com/AlertPolicy\x12/projects/{project}/alertPolicies/{alert_policy}\x12\x39organizations/{organization}/alertPolicies/{alert_policy}\x12-folders/{folder}/alertPolicies/{alert_policy}\x12\x01*B\xc5\x01\n\x18\x63om.google.monitoring.v3B\nAlertProtoP\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.BoolValue", "google/protobuf/wrappers.proto"],
    ["google.rpc.Status", "google/rpc/status.proto"],
    ["google.monitoring.v3.MutationRecord", "google/monitoring/v3/mutation_record.proto"],
    ["google.monitoring.v3.Aggregation", "google/monitoring/v3/common.proto"],
    ["google.protobuf.Duration", "google/protobuf/duration.proto"],
    ["google.type.TimeOfDay", "google/type/timeofday.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
        AlertPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy").msgclass
        AlertPolicy::Documentation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Documentation").msgclass
        AlertPolicy::Documentation::Link = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Documentation.Link").msgclass
        AlertPolicy::Condition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition").msgclass
        AlertPolicy::Condition::Trigger = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.Trigger").msgclass
        AlertPolicy::Condition::MetricThreshold = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.MetricThreshold").msgclass
        AlertPolicy::Condition::MetricThreshold::ForecastOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.ForecastOptions").msgclass
        AlertPolicy::Condition::MetricAbsence = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.MetricAbsence").msgclass
        AlertPolicy::Condition::LogMatch = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.LogMatch").msgclass
        AlertPolicy::Condition::MonitoringQueryLanguageCondition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition").msgclass
        AlertPolicy::Condition::PrometheusQueryLanguageCondition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.PrometheusQueryLanguageCondition").msgclass
        AlertPolicy::Condition::SqlCondition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.SqlCondition").msgclass
        AlertPolicy::Condition::SqlCondition::Minutes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.SqlCondition.Minutes").msgclass
        AlertPolicy::Condition::SqlCondition::Hourly = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.SqlCondition.Hourly").msgclass
        AlertPolicy::Condition::SqlCondition::Daily = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.SqlCondition.Daily").msgclass
        AlertPolicy::Condition::SqlCondition::RowCountTest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.SqlCondition.RowCountTest").msgclass
        AlertPolicy::Condition::SqlCondition::BooleanTest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.SqlCondition.BooleanTest").msgclass
        AlertPolicy::Condition::EvaluationMissingData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Condition.EvaluationMissingData").enummodule
        AlertPolicy::AlertStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.AlertStrategy").msgclass
        AlertPolicy::AlertStrategy::NotificationRateLimit = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.AlertStrategy.NotificationRateLimit").msgclass
        AlertPolicy::AlertStrategy::NotificationChannelStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.AlertStrategy.NotificationChannelStrategy").msgclass
        AlertPolicy::AlertStrategy::NotificationPrompt = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.AlertStrategy.NotificationPrompt").enummodule
        AlertPolicy::ConditionCombinerType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.ConditionCombinerType").enummodule
        AlertPolicy::Severity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.monitoring.v3.AlertPolicy.Severity").enummodule
      end
    end
  end
end
