# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: circuitbreaker.proto
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from ..model import model_pb2 as model__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14\x63ircuitbreaker.proto\x12\x02v1\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x0bmodel.proto\"\x8e\x06\n\x0e\x43ircuitBreaker\x12(\n\x02id\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07version\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12*\n\x04name\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\tnamespace\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07service\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x37\n\x11service_namespace\x18\x06 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x1c\n\x08inbounds\x18\x07 \x03(\x0b\x32\n.v1.CbRule\x12\x1d\n\toutbounds\x18\x08 \x03(\x0b\x32\n.v1.CbRule\x12+\n\x05token\x18\t \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12,\n\x06owners\x18\n \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x08\x62usiness\x18\x0b \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x30\n\ndepartment\x18\x0c \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x07\x63omment\x18\r \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05\x63time\x18\x0e \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12+\n\x05mtime\x18\x0f \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12.\n\x08revision\x18\x10 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12%\n\x05rules\x18\x15 \x03(\x0b\x32\x16.v1.CircuitBreakerRuleJ\x04\x08\x11\x10\x15\"\xde\x01\n\rSourceMatcher\x12-\n\x07service\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\tnamespace\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12-\n\x06labels\x18\x03 \x03(\x0b\x32\x1d.v1.SourceMatcher.LabelsEntry\x1a>\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0f.v1.MatchString:\x02\x38\x01\"\xb3\x03\n\rRecoverConfig\x12.\n\x0bsleepWindow\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x15maxRetryAfterHalfOpen\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12>\n\x18requestRateAfterHalfOpen\x18\x03 \x03(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x38\n\x12successRateToClose\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12?\n\x19requestCountAfterHalfOpen\x18\x05 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12>\n\x11outlierDetectWhen\x18\x06 \x01(\x0e\x32#.v1.RecoverConfig.OutlierDetectWhen\":\n\x11OutlierDetectWhen\x12\t\n\x05NEVER\x10\x00\x12\x0e\n\nON_RECOVER\x10\x01\x12\n\n\x06\x41LWAYS\x10\x02\"\xb9\t\n\x08\x43\x62Policy\x12-\n\terrorRate\x18\x01 \x01(\x0b\x32\x1a.v1.CbPolicy.ErrRateConfig\x12-\n\x08slowRate\x18\x02 \x01(\x0b\x32\x1b.v1.CbPolicy.SlowRateConfig\x12\x30\n\rjudgeDuration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x12maxEjectionPercent\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x36\n\x0b\x63onsecutive\x18\x05 \x01(\x0b\x32!.v1.CbPolicy.ConsecutiveErrConfig\x1a\x8a\x04\n\rErrRateConfig\x12*\n\x06\x65nable\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12<\n\x16requestVolumeThreshold\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12:\n\x14\x65rrorRateToPreserved\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x35\n\x0f\x65rrorRateToOpen\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12:\n\x08specials\x18\x05 \x03(\x0b\x32(.v1.CbPolicy.ErrRateConfig.SpecialConfig\x1a\xdf\x01\n\rSpecialConfig\x12*\n\x04type\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\nerrorCodes\x18\x02 \x03(\x0b\x32\x1b.google.protobuf.Int64Value\x12:\n\x14\x65rrorRateToPreserved\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x35\n\x0f\x65rrorRateToOpen\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x1a\xd7\x01\n\x0eSlowRateConfig\x12*\n\x06\x65nable\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12(\n\x05maxRt\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x13slowRateToPreserved\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x34\n\x0eslowRateToOpen\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x1a\xc3\x01\n\x14\x43onsecutiveErrConfig\x12*\n\x06\x65nable\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x41\n\x1b\x63onsecutiveErrorToPreserved\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12<\n\x16\x63onsecutiveErrorToOpen\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\"\xf8\x05\n\x0e\x44\x65stinationSet\x12-\n\x07service\x18\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12/\n\tnamespace\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12\x32\n\x08metadata\x18\x03 \x03(\x0b\x32 .v1.DestinationSet.MetadataEntry\x12-\n\x08resource\x18\x04 \x01(\x0e\x32\x1b.v1.DestinationSet.Resource\x12%\n\x04type\x18\x05 \x01(\x0e\x32\x17.v1.DestinationSet.Type\x12\'\n\x05scope\x18\x06 \x01(\x0e\x32\x18.v1.DestinationSet.Scope\x12/\n\x0cmetricWindow\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x35\n\x0fmetricPrecision\x18\x08 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x31\n\x0eupdateInterval\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\"\n\x07recover\x18\n \x01(\x0b\x32\x11.v1.RecoverConfig\x12\x1c\n\x06policy\x18\x0b \x01(\x0b\x32\x0c.v1.CbPolicy\x12\x1f\n\x06method\x18\x0c \x01(\x0b\x32\x0f.v1.MatchString\x12/\n\nerrorCodes\x18\r \x03(\x0b\x32\x1b.google.protobuf.Int64Value\x1a@\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1e\n\x05value\x18\x02 \x01(\x0b\x32\x0f.v1.MatchString:\x02\x38\x01\"$\n\x08Resource\x12\n\n\x06SUBSET\x10\x00\x12\x0c\n\x08INSTANCE\x10\x01\"\x1d\n\x04Type\x12\n\n\x06GLOBAL\x10\x00\x12\t\n\x05LOCAL\x10\x01\"\x1d\n\x05Scope\x12\x07\n\x03\x41LL\x10\x00\x12\x0b\n\x07\x43URRENT\x10\x01\"V\n\x06\x43\x62Rule\x12\"\n\x07sources\x18\x01 \x03(\x0b\x32\x11.v1.SourceMatcher\x12(\n\x0c\x64\x65stinations\x18\x02 \x03(\x0b\x32\x12.v1.DestinationSet\"\x85\x02\n\x0bRuleMatcher\x12-\n\x06source\x18\x01 \x01(\x0b\x32\x1d.v1.RuleMatcher.SourceService\x12\x37\n\x0b\x64\x65stination\x18\x02 \x01(\x0b\x32\".v1.RuleMatcher.DestinationService\x1a\x33\n\rSourceService\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x1aY\n\x12\x44\x65stinationService\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x1f\n\x06method\x18\x03 \x01(\x0b\x32\x0f.v1.MatchString\"\xf7\x03\n\x12\x43ircuitBreakerRule\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tnamespace\x18\x03 \x01(\t\x12\x0e\n\x06\x65nable\x18\x04 \x01(\x08\x12\x10\n\x08revision\x18\x05 \x01(\t\x12\r\n\x05\x63time\x18\x06 \x01(\t\x12\r\n\x05mtime\x18\x07 \x01(\t\x12\r\n\x05\x65time\x18\x08 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\t \x01(\t\x12\x18\n\x05level\x18\x15 \x01(\x0e\x32\t.v1.Level\x12%\n\x0crule_matcher\x18\x16 \x01(\x0b\x32\x0f.v1.RuleMatcher\x12,\n\x10\x65rror_conditions\x18\x17 \x03(\x0b\x32\x12.v1.ErrorCondition\x12/\n\x11trigger_condition\x18\x18 \x03(\x0b\x32\x14.v1.TriggerCondition\x12\x1c\n\x14max_ejection_percent\x18\x19 \x01(\r\x12.\n\x10recoverCondition\x18\x1a \x01(\x0b\x32\x14.v1.RecoverCondition\x12\x30\n\x11\x66\x61ultDetectConfig\x18\x1b \x01(\x0b\x32\x15.v1.FaultDetectConfig\x12*\n\x0e\x66\x61llbackConfig\x18\x1c \x01(\x0b\x32\x12.v1.FallbackConfigJ\x04\x08\n\x10\x15\"\x99\x01\n\x0e\x45rrorCondition\x12\x30\n\ninput_type\x18\x01 \x01(\x0e\x32\x1c.v1.ErrorCondition.InputType\x12\"\n\tcondition\x18\x02 \x01(\x0b\x32\x0f.v1.MatchString\"1\n\tInputType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08RET_CODE\x10\x01\x12\t\n\x05\x44\x45LAY\x10\x02\"\xe4\x01\n\x10TriggerCondition\x12\x36\n\x0ctrigger_type\x18\x01 \x01(\x0e\x32 .v1.TriggerCondition.TriggerType\x12\x13\n\x0b\x65rror_count\x18\x02 \x01(\r\x12\x15\n\rerror_percent\x18\x03 \x01(\r\x12\x10\n\x08interval\x18\x04 \x01(\r\x12\x17\n\x0fminimum_request\x18\x05 \x01(\r\"A\n\x0bTriggerType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nERROR_RATE\x10\x01\x12\x15\n\x11\x43ONSECUTIVE_ERROR\x10\x02\"D\n\x10RecoverCondition\x12\x14\n\x0csleep_window\x18\x01 \x01(\r\x12\x1a\n\x12\x63onsecutiveSuccess\x18\x02 \x01(\r\"#\n\x11\x46\x61ultDetectConfig\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\"H\n\x0e\x46\x61llbackConfig\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\x12&\n\x08response\x18\x02 \x01(\x0b\x32\x14.v1.FallbackResponse\"\x90\x01\n\x10\x46\x61llbackResponse\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x33\n\x07headers\x18\x02 \x03(\x0b\x32\".v1.FallbackResponse.MessageHeader\x12\x0c\n\x04\x62ody\x18\x03 \x01(\t\x1a+\n\rMessageHeader\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t*F\n\x05Level\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07SERVICE\x10\x01\x12\n\n\x06METHOD\x10\x02\x12\t\n\x05GROUP\x10\x03\x12\x0c\n\x08INSTANCE\x10\x04\x42\x96\x01\n8com.tencent.polaris.specification.api.v1.fault.toleranceB\x13\x43ircuitBreakerProtoZEgithub.com/polarismesh/specification/source/go/api/v1/fault_toleranceb\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'circuitbreaker_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'\n8com.tencent.polaris.specification.api.v1.fault.toleranceB\023CircuitBreakerProtoZEgithub.com/polarismesh/specification/source/go/api/v1/fault_tolerance'
  _SOURCEMATCHER_LABELSENTRY._options = None
  _SOURCEMATCHER_LABELSENTRY._serialized_options = b'8\001'
  _DESTINATIONSET_METADATAENTRY._options = None
  _DESTINATIONSET_METADATAENTRY._serialized_options = b'8\001'
  _globals['_LEVEL']._serialized_start=5101
  _globals['_LEVEL']._serialized_end=5171
  _globals['_CIRCUITBREAKER']._serialized_start=106
  _globals['_CIRCUITBREAKER']._serialized_end=888
  _globals['_SOURCEMATCHER']._serialized_start=891
  _globals['_SOURCEMATCHER']._serialized_end=1113
  _globals['_SOURCEMATCHER_LABELSENTRY']._serialized_start=1051
  _globals['_SOURCEMATCHER_LABELSENTRY']._serialized_end=1113
  _globals['_RECOVERCONFIG']._serialized_start=1116
  _globals['_RECOVERCONFIG']._serialized_end=1551
  _globals['_RECOVERCONFIG_OUTLIERDETECTWHEN']._serialized_start=1493
  _globals['_RECOVERCONFIG_OUTLIERDETECTWHEN']._serialized_end=1551
  _globals['_CBPOLICY']._serialized_start=1554
  _globals['_CBPOLICY']._serialized_end=2763
  _globals['_CBPOLICY_ERRRATECONFIG']._serialized_start=1825
  _globals['_CBPOLICY_ERRRATECONFIG']._serialized_end=2347
  _globals['_CBPOLICY_ERRRATECONFIG_SPECIALCONFIG']._serialized_start=2124
  _globals['_CBPOLICY_ERRRATECONFIG_SPECIALCONFIG']._serialized_end=2347
  _globals['_CBPOLICY_SLOWRATECONFIG']._serialized_start=2350
  _globals['_CBPOLICY_SLOWRATECONFIG']._serialized_end=2565
  _globals['_CBPOLICY_CONSECUTIVEERRCONFIG']._serialized_start=2568
  _globals['_CBPOLICY_CONSECUTIVEERRCONFIG']._serialized_end=2763
  _globals['_DESTINATIONSET']._serialized_start=2766
  _globals['_DESTINATIONSET']._serialized_end=3526
  _globals['_DESTINATIONSET_METADATAENTRY']._serialized_start=3362
  _globals['_DESTINATIONSET_METADATAENTRY']._serialized_end=3426
  _globals['_DESTINATIONSET_RESOURCE']._serialized_start=3428
  _globals['_DESTINATIONSET_RESOURCE']._serialized_end=3464
  _globals['_DESTINATIONSET_TYPE']._serialized_start=3466
  _globals['_DESTINATIONSET_TYPE']._serialized_end=3495
  _globals['_DESTINATIONSET_SCOPE']._serialized_start=3497
  _globals['_DESTINATIONSET_SCOPE']._serialized_end=3526
  _globals['_CBRULE']._serialized_start=3528
  _globals['_CBRULE']._serialized_end=3614
  _globals['_RULEMATCHER']._serialized_start=3617
  _globals['_RULEMATCHER']._serialized_end=3878
  _globals['_RULEMATCHER_SOURCESERVICE']._serialized_start=3736
  _globals['_RULEMATCHER_SOURCESERVICE']._serialized_end=3787
  _globals['_RULEMATCHER_DESTINATIONSERVICE']._serialized_start=3789
  _globals['_RULEMATCHER_DESTINATIONSERVICE']._serialized_end=3878
  _globals['_CIRCUITBREAKERRULE']._serialized_start=3881
  _globals['_CIRCUITBREAKERRULE']._serialized_end=4384
  _globals['_ERRORCONDITION']._serialized_start=4387
  _globals['_ERRORCONDITION']._serialized_end=4540
  _globals['_ERRORCONDITION_INPUTTYPE']._serialized_start=4491
  _globals['_ERRORCONDITION_INPUTTYPE']._serialized_end=4540
  _globals['_TRIGGERCONDITION']._serialized_start=4543
  _globals['_TRIGGERCONDITION']._serialized_end=4771
  _globals['_TRIGGERCONDITION_TRIGGERTYPE']._serialized_start=4706
  _globals['_TRIGGERCONDITION_TRIGGERTYPE']._serialized_end=4771
  _globals['_RECOVERCONDITION']._serialized_start=4773
  _globals['_RECOVERCONDITION']._serialized_end=4841
  _globals['_FAULTDETECTCONFIG']._serialized_start=4843
  _globals['_FAULTDETECTCONFIG']._serialized_end=4878
  _globals['_FALLBACKCONFIG']._serialized_start=4880
  _globals['_FALLBACKCONFIG']._serialized_end=4952
  _globals['_FALLBACKRESPONSE']._serialized_start=4955
  _globals['_FALLBACKRESPONSE']._serialized_end=5099
  _globals['_FALLBACKRESPONSE_MESSAGEHEADER']._serialized_start=5056
  _globals['_FALLBACKRESPONSE_MESSAGEHEADER']._serialized_end=5099
# @@protoc_insertion_point(module_scope)
