#![allow(unknown_lints)]
#![allow(clippy::all)]
#![allow(unused_attributes)]
#![cfg_attr(rustfmt, rustfmt::skip)]
#![allow(box_pointers)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unused_imports)]
#![allow(unused_results)]
#[derive(PartialEq,Clone,Default)]
pub struct ConfigChange {
pub element: ::std::string::String,
pub old_value: ::std::string::String,
pub new_value: ::std::string::String,
pub change_type: ChangeType,
pub advices: ::protobuf::RepeatedField<Advice>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a ConfigChange {
fn default() -> &'a ConfigChange {
<ConfigChange as ::protobuf::Message>::default_instance()
}
}
impl ConfigChange {
pub fn new() -> ConfigChange {
::std::default::Default::default()
}
pub fn get_element(&self) -> &str {
&self.element
}
pub fn clear_element(&mut self) {
self.element.clear();
}
pub fn set_element(&mut self, v: ::std::string::String) {
self.element = v;
}
pub fn mut_element(&mut self) -> &mut ::std::string::String {
&mut self.element
}
pub fn take_element(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.element, ::std::string::String::new())
}
pub fn get_old_value(&self) -> &str {
&self.old_value
}
pub fn clear_old_value(&mut self) {
self.old_value.clear();
}
pub fn set_old_value(&mut self, v: ::std::string::String) {
self.old_value = v;
}
pub fn mut_old_value(&mut self) -> &mut ::std::string::String {
&mut self.old_value
}
pub fn take_old_value(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.old_value, ::std::string::String::new())
}
pub fn get_new_value(&self) -> &str {
&self.new_value
}
pub fn clear_new_value(&mut self) {
self.new_value.clear();
}
pub fn set_new_value(&mut self, v: ::std::string::String) {
self.new_value = v;
}
pub fn mut_new_value(&mut self) -> &mut ::std::string::String {
&mut self.new_value
}
pub fn take_new_value(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.new_value, ::std::string::String::new())
}
pub fn get_change_type(&self) -> ChangeType {
self.change_type
}
pub fn clear_change_type(&mut self) {
self.change_type = ChangeType::CHANGE_TYPE_UNSPECIFIED;
}
pub fn set_change_type(&mut self, v: ChangeType) {
self.change_type = v;
}
pub fn get_advices(&self) -> &[Advice] {
&self.advices
}
pub fn clear_advices(&mut self) {
self.advices.clear();
}
pub fn set_advices(&mut self, v: ::protobuf::RepeatedField<Advice>) {
self.advices = v;
}
pub fn mut_advices(&mut self) -> &mut ::protobuf::RepeatedField<Advice> {
&mut self.advices
}
pub fn take_advices(&mut self) -> ::protobuf::RepeatedField<Advice> {
::std::mem::replace(&mut self.advices, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for ConfigChange {
fn is_initialized(&self) -> bool {
for v in &self.advices {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.element)?;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.old_value)?;
},
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.new_value)?;
},
4 => {
::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.change_type, 4, &mut self.unknown_fields)?
},
5 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.advices)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if !self.element.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.element);
}
if !self.old_value.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.old_value);
}
if !self.new_value.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.new_value);
}
if self.change_type != ChangeType::CHANGE_TYPE_UNSPECIFIED {
my_size += ::protobuf::rt::enum_size(4, self.change_type);
}
for value in &self.advices {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
self.cached_size.set(my_size);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
if !self.element.is_empty() {
os.write_string(1, &self.element)?;
}
if !self.old_value.is_empty() {
os.write_string(2, &self.old_value)?;
}
if !self.new_value.is_empty() {
os.write_string(3, &self.new_value)?;
}
if self.change_type != ChangeType::CHANGE_TYPE_UNSPECIFIED {
os.write_enum(4, ::protobuf::ProtobufEnum::value(&self.change_type))?;
}
for v in &self.advices {
os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> ConfigChange {
ConfigChange::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"element",
|m: &ConfigChange| { &m.element },
|m: &mut ConfigChange| { &mut m.element },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"old_value",
|m: &ConfigChange| { &m.old_value },
|m: &mut ConfigChange| { &mut m.old_value },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"new_value",
|m: &ConfigChange| { &m.new_value },
|m: &mut ConfigChange| { &mut m.new_value },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ChangeType>>(
"change_type",
|m: &ConfigChange| { &m.change_type },
|m: &mut ConfigChange| { &mut m.change_type },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Advice>>(
"advices",
|m: &ConfigChange| { &m.advices },
|m: &mut ConfigChange| { &mut m.advices },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<ConfigChange>(
"ConfigChange",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static ConfigChange {
static instance: ::protobuf::rt::LazyV2<ConfigChange> = ::protobuf::rt::LazyV2::INIT;
instance.get(ConfigChange::new)
}
}
impl ::protobuf::Clear for ConfigChange {
fn clear(&mut self) {
self.element.clear();
self.old_value.clear();
self.new_value.clear();
self.change_type = ChangeType::CHANGE_TYPE_UNSPECIFIED;
self.advices.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for ConfigChange {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ConfigChange {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Advice {
pub description: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Advice {
fn default() -> &'a Advice {
<Advice as ::protobuf::Message>::default_instance()
}
}
impl Advice {
pub fn new() -> Advice {
::std::default::Default::default()
}
pub fn get_description(&self) -> &str {
&self.description
}
pub fn clear_description(&mut self) {
self.description.clear();
}
pub fn set_description(&mut self, v: ::std::string::String) {
self.description = v;
}
pub fn mut_description(&mut self) -> &mut ::std::string::String {
&mut self.description
}
pub fn take_description(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.description, ::std::string::String::new())
}
}
impl ::protobuf::Message for Advice {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if !self.description.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.description);
}
my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
self.cached_size.set(my_size);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
if !self.description.is_empty() {
os.write_string(2, &self.description)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> Advice {
Advice::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"description",
|m: &Advice| { &m.description },
|m: &mut Advice| { &mut m.description },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Advice>(
"Advice",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Advice {
static instance: ::protobuf::rt::LazyV2<Advice> = ::protobuf::rt::LazyV2::INIT;
instance.get(Advice::new)
}
}
impl ::protobuf::Clear for Advice {
fn clear(&mut self) {
self.description.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Advice {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Advice {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum ChangeType {
CHANGE_TYPE_UNSPECIFIED = 0,
ADDED = 1,
REMOVED = 2,
MODIFIED = 3,
}
impl ::protobuf::ProtobufEnum for ChangeType {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<ChangeType> {
match value {
0 => ::std::option::Option::Some(ChangeType::CHANGE_TYPE_UNSPECIFIED),
1 => ::std::option::Option::Some(ChangeType::ADDED),
2 => ::std::option::Option::Some(ChangeType::REMOVED),
3 => ::std::option::Option::Some(ChangeType::MODIFIED),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [ChangeType] = &[
ChangeType::CHANGE_TYPE_UNSPECIFIED,
ChangeType::ADDED,
ChangeType::REMOVED,
ChangeType::MODIFIED,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<ChangeType>("ChangeType", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for ChangeType {
}
impl ::std::default::Default for ChangeType {
fn default() -> Self {
ChangeType::CHANGE_TYPE_UNSPECIFIED
}
}
impl ::protobuf::reflect::ProtobufValue for ChangeType {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x1egoogle/api/config_change.proto\x12\ngoogle.api\"\xc9\x01\n\x0cConf\
igChange\x12\x18\n\x07element\x18\x01\x20\x01(\tR\x07element\x12\x1b\n\t\
old_value\x18\x02\x20\x01(\tR\x08oldValue\x12\x1b\n\tnew_value\x18\x03\
\x20\x01(\tR\x08newValue\x127\n\x0bchange_type\x18\x04\x20\x01(\x0e2\x16\
.google.api.ChangeTypeR\nchangeType\x12,\n\x07advices\x18\x05\x20\x03(\
\x0b2\x12.google.api.AdviceR\x07advices\"*\n\x06Advice\x12\x20\n\x0bdesc\
ription\x18\x02\x20\x01(\tR\x0bdescription*O\n\nChangeType\x12\x1b\n\x17\
CHANGE_TYPE_UNSPECIFIED\x10\0\x12\t\n\x05ADDED\x10\x01\x12\x0b\n\x07REMO\
VED\x10\x02\x12\x0c\n\x08MODIFIED\x10\x03Bq\n\x0ecom.google.apiB\x11Conf\
igChangeProtoP\x01ZCgoogle.golang.org/genproto/googleapis/api/configchan\
ge;configchange\xa2\x02\x04GAPIJ\xe7\x18\n\x06\x12\x04\x0f\0T\x01\n\xbe\
\x04\n\x01\x0c\x12\x03\x0f\0\x122\xb3\x04\x20Copyright\x202019\x20Google\
\x20LLC.\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\x20Versio\
n\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20use\x20this\
\x20file\x20except\x20in\x20compliance\x20with\x20the\x20License.\n\x20Y\
ou\x20may\x20obtain\x20a\x20copy\x20of\x20the\x20License\x20at\n\n\x20\
\x20\x20\x20\x20http://www.apache.org/licenses/LICENSE-2.0\n\n\x20Unless\
\x20required\x20by\x20applicable\x20law\x20or\x20agreed\x20to\x20in\x20w\
riting,\x20software\n\x20distributed\x20under\x20the\x20License\x20is\
\x20distributed\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20WA\
RRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20express\
\x20or\x20implied.\n\x20See\x20the\x20License\x20for\x20the\x20specific\
\x20language\x20governing\x20permissions\x20and\n\x20limitations\x20unde\
r\x20the\x20License.\n\n\n\x08\n\x01\x02\x12\x03\x11\0\x13\n\x08\n\x01\
\x08\x12\x03\x13\0Z\n\t\n\x02\x08\x0b\x12\x03\x13\0Z\n\x08\n\x01\x08\x12\
\x03\x14\0\"\n\t\n\x02\x08\n\x12\x03\x14\0\"\n\x08\n\x01\x08\x12\x03\x15\
\02\n\t\n\x02\x08\x08\x12\x03\x15\02\n\x08\n\x01\x08\x12\x03\x16\0'\n\t\
\n\x02\x08\x01\x12\x03\x16\0'\n\x08\n\x01\x08\x12\x03\x17\0\"\n\t\n\x02\
\x08$\x12\x03\x17\0\"\n\x8e\x02\n\x02\x04\0\x12\x04\x1f\09\x01\x1a\x81\
\x02\x20Output\x20generated\x20from\x20semantically\x20comparing\x20two\
\x20versions\x20of\x20a\x20service\n\x20configuration.\n\n\x20Includes\
\x20detailed\x20information\x20about\x20a\x20field\x20that\x20have\x20ch\
anged\x20with\n\x20applicable\x20advice\x20about\x20potential\x20consequ\
ences\x20for\x20the\x20change,\x20such\x20as\n\x20backwards-incompatibil\
ity.\n\n\n\n\x03\x04\0\x01\x12\x03\x1f\x08\x14\n\xff\x03\n\x04\x04\0\x02\
\0\x12\x03)\x02\x15\x1a\xf1\x03\x20Object\x20hierarchy\x20path\x20to\x20\
the\x20change,\x20with\x20levels\x20separated\x20by\x20a\x20'.'\n\x20cha\
racter.\x20For\x20repeated\x20fields,\x20an\x20applicable\x20unique\x20i\
dentifier\x20field\x20is\n\x20used\x20for\x20the\x20index\x20(usually\
\x20selector,\x20name,\x20or\x20id).\x20For\x20maps,\x20the\x20term\n\
\x20'key'\x20is\x20used.\x20If\x20the\x20field\x20has\x20no\x20unique\
\x20identifier,\x20the\x20numeric\x20index\n\x20is\x20used.\n\x20Example\
s:\n\x20-\x20visibility.rules[selector==\"google.LibraryService.ListBook\
s\"].restriction\n\x20-\x20quota.metric_rules[selector==\"google\"].metr\
ic_costs[key==\"reads\"].value\n\x20-\x20logging.producer_destinations[0\
]\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03)\x02\x08\n\x0c\n\x05\x04\0\x02\0\
\x01\x12\x03)\t\x10\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03)\x13\x14\n\x97\
\x01\n\x04\x04\0\x02\x01\x12\x03-\x02\x17\x1a\x89\x01\x20Value\x20of\x20\
the\x20changed\x20object\x20in\x20the\x20old\x20Service\x20configuration\
,\n\x20in\x20JSON\x20format.\x20This\x20field\x20will\x20not\x20be\x20po\
pulated\x20if\x20ChangeType\x20==\x20ADDED.\n\n\x0c\n\x05\x04\0\x02\x01\
\x05\x12\x03-\x02\x08\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03-\t\x12\n\x0c\
\n\x05\x04\0\x02\x01\x03\x12\x03-\x15\x16\n\x99\x01\n\x04\x04\0\x02\x02\
\x12\x031\x02\x17\x1a\x8b\x01\x20Value\x20of\x20the\x20changed\x20object\
\x20in\x20the\x20new\x20Service\x20configuration,\n\x20in\x20JSON\x20for\
mat.\x20This\x20field\x20will\x20not\x20be\x20populated\x20if\x20ChangeT\
ype\x20==\x20REMOVED.\n\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x031\x02\x08\n\
\x0c\n\x05\x04\0\x02\x02\x01\x12\x031\t\x12\n\x0c\n\x05\x04\0\x02\x02\
\x03\x12\x031\x15\x16\nL\n\x04\x04\0\x02\x03\x12\x034\x02\x1d\x1a?\x20Th\
e\x20type\x20for\x20this\x20change,\x20either\x20ADDED,\x20REMOVED,\x20o\
r\x20MODIFIED.\n\n\x0c\n\x05\x04\0\x02\x03\x06\x12\x034\x02\x0c\n\x0c\n\
\x05\x04\0\x02\x03\x01\x12\x034\r\x18\n\x0c\n\x05\x04\0\x02\x03\x03\x12\
\x034\x1b\x1c\ny\n\x04\x04\0\x02\x04\x12\x038\x02\x1e\x1al\x20Collection\
\x20of\x20advice\x20provided\x20for\x20this\x20change,\x20useful\x20for\
\x20determining\x20the\n\x20possible\x20impact\x20of\x20this\x20change.\
\n\n\x0c\n\x05\x04\0\x02\x04\x04\x12\x038\x02\n\n\x0c\n\x05\x04\0\x02\
\x04\x06\x12\x038\x0b\x11\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x038\x12\x19\
\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x038\x1c\x1d\n\x8b\x01\n\x02\x04\x01\
\x12\x04=\0A\x01\x1a\x7f\x20Generated\x20advice\x20about\x20this\x20chan\
ge,\x20used\x20for\x20providing\x20more\n\x20information\x20about\x20how\
\x20a\x20change\x20will\x20affect\x20the\x20existing\x20service.\n\n\n\n\
\x03\x04\x01\x01\x12\x03=\x08\x0e\n\x82\x01\n\x04\x04\x01\x02\0\x12\x03@\
\x02\x19\x1au\x20Useful\x20description\x20for\x20why\x20this\x20advice\
\x20was\x20applied\x20and\x20what\x20actions\x20should\n\x20be\x20taken\
\x20to\x20mitigate\x20any\x20implied\x20risks.\n\n\x0c\n\x05\x04\x01\x02\
\0\x05\x12\x03@\x02\x08\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03@\t\x14\n\
\x0c\n\x05\x04\x01\x02\0\x03\x12\x03@\x17\x18\nb\n\x02\x05\0\x12\x04E\0T\
\x01\x1aV\x20Classifies\x20set\x20of\x20possible\x20modifications\x20to\
\x20an\x20object\x20in\x20the\x20service\n\x20configuration.\n\n\n\n\x03\
\x05\0\x01\x12\x03E\x05\x0f\n%\n\x04\x05\0\x02\0\x12\x03G\x02\x1e\x1a\
\x18\x20No\x20value\x20was\x20provided.\n\n\x0c\n\x05\x05\0\x02\0\x01\
\x12\x03G\x02\x19\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03G\x1c\x1d\ny\n\x04\
\x05\0\x02\x01\x12\x03K\x02\x0c\x1al\x20The\x20changed\x20object\x20exis\
ts\x20in\x20the\x20'new'\x20service\x20configuration,\x20but\x20not\n\
\x20in\x20the\x20'old'\x20service\x20configuration.\n\n\x0c\n\x05\x05\0\
\x02\x01\x01\x12\x03K\x02\x07\n\x0c\n\x05\x05\0\x02\x01\x02\x12\x03K\n\
\x0b\ny\n\x04\x05\0\x02\x02\x12\x03O\x02\x0e\x1al\x20The\x20changed\x20o\
bject\x20exists\x20in\x20the\x20'old'\x20service\x20configuration,\x20bu\
t\x20not\n\x20in\x20the\x20'new'\x20service\x20configuration.\n\n\x0c\n\
\x05\x05\0\x02\x02\x01\x12\x03O\x02\t\n\x0c\n\x05\x05\0\x02\x02\x02\x12\
\x03O\x0c\r\ne\n\x04\x05\0\x02\x03\x12\x03S\x02\x0f\x1aX\x20The\x20chang\
ed\x20object\x20exists\x20in\x20both\x20service\x20configurations,\x20bu\
t\x20its\x20value\n\x20is\x20different.\n\n\x0c\n\x05\x05\0\x02\x03\x01\
\x12\x03S\x02\n\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03S\r\x0eb\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
}
pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
file_descriptor_proto_lazy.get(|| {
parse_descriptor_proto()
})
}