#![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 Policy {
pub version: i32,
pub constraint: ::std::string::String,
pub etag: ::std::vec::Vec<u8>,
pub update_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub policy_type: ::std::option::Option<Policy_oneof_policy_type>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Policy {
fn default() -> &'a Policy {
<Policy as ::protobuf::Message>::default_instance()
}
}
#[derive(Clone,PartialEq,Debug)]
pub enum Policy_oneof_policy_type {
list_policy(Policy_ListPolicy),
boolean_policy(Policy_BooleanPolicy),
restore_default(Policy_RestoreDefault),
}
impl Policy {
pub fn new() -> Policy {
::std::default::Default::default()
}
pub fn get_version(&self) -> i32 {
self.version
}
pub fn clear_version(&mut self) {
self.version = 0;
}
pub fn set_version(&mut self, v: i32) {
self.version = v;
}
pub fn get_constraint(&self) -> &str {
&self.constraint
}
pub fn clear_constraint(&mut self) {
self.constraint.clear();
}
pub fn set_constraint(&mut self, v: ::std::string::String) {
self.constraint = v;
}
pub fn mut_constraint(&mut self) -> &mut ::std::string::String {
&mut self.constraint
}
pub fn take_constraint(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.constraint, ::std::string::String::new())
}
pub fn get_etag(&self) -> &[u8] {
&self.etag
}
pub fn clear_etag(&mut self) {
self.etag.clear();
}
pub fn set_etag(&mut self, v: ::std::vec::Vec<u8>) {
self.etag = v;
}
pub fn mut_etag(&mut self) -> &mut ::std::vec::Vec<u8> {
&mut self.etag
}
pub fn take_etag(&mut self) -> ::std::vec::Vec<u8> {
::std::mem::replace(&mut self.etag, ::std::vec::Vec::new())
}
pub fn get_update_time(&self) -> &::protobuf::well_known_types::Timestamp {
self.update_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
}
pub fn clear_update_time(&mut self) {
self.update_time.clear();
}
pub fn has_update_time(&self) -> bool {
self.update_time.is_some()
}
pub fn set_update_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
self.update_time = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_update_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
if self.update_time.is_none() {
self.update_time.set_default();
}
self.update_time.as_mut().unwrap()
}
pub fn take_update_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
self.update_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
}
pub fn get_list_policy(&self) -> &Policy_ListPolicy {
match self.policy_type {
::std::option::Option::Some(Policy_oneof_policy_type::list_policy(ref v)) => v,
_ => <Policy_ListPolicy as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_list_policy(&mut self) {
self.policy_type = ::std::option::Option::None;
}
pub fn has_list_policy(&self) -> bool {
match self.policy_type {
::std::option::Option::Some(Policy_oneof_policy_type::list_policy(..)) => true,
_ => false,
}
}
pub fn set_list_policy(&mut self, v: Policy_ListPolicy) {
self.policy_type = ::std::option::Option::Some(Policy_oneof_policy_type::list_policy(v))
}
pub fn mut_list_policy(&mut self) -> &mut Policy_ListPolicy {
if let ::std::option::Option::Some(Policy_oneof_policy_type::list_policy(_)) = self.policy_type {
} else {
self.policy_type = ::std::option::Option::Some(Policy_oneof_policy_type::list_policy(Policy_ListPolicy::new()));
}
match self.policy_type {
::std::option::Option::Some(Policy_oneof_policy_type::list_policy(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_list_policy(&mut self) -> Policy_ListPolicy {
if self.has_list_policy() {
match self.policy_type.take() {
::std::option::Option::Some(Policy_oneof_policy_type::list_policy(v)) => v,
_ => panic!(),
}
} else {
Policy_ListPolicy::new()
}
}
pub fn get_boolean_policy(&self) -> &Policy_BooleanPolicy {
match self.policy_type {
::std::option::Option::Some(Policy_oneof_policy_type::boolean_policy(ref v)) => v,
_ => <Policy_BooleanPolicy as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_boolean_policy(&mut self) {
self.policy_type = ::std::option::Option::None;
}
pub fn has_boolean_policy(&self) -> bool {
match self.policy_type {
::std::option::Option::Some(Policy_oneof_policy_type::boolean_policy(..)) => true,
_ => false,
}
}
pub fn set_boolean_policy(&mut self, v: Policy_BooleanPolicy) {
self.policy_type = ::std::option::Option::Some(Policy_oneof_policy_type::boolean_policy(v))
}
pub fn mut_boolean_policy(&mut self) -> &mut Policy_BooleanPolicy {
if let ::std::option::Option::Some(Policy_oneof_policy_type::boolean_policy(_)) = self.policy_type {
} else {
self.policy_type = ::std::option::Option::Some(Policy_oneof_policy_type::boolean_policy(Policy_BooleanPolicy::new()));
}
match self.policy_type {
::std::option::Option::Some(Policy_oneof_policy_type::boolean_policy(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_boolean_policy(&mut self) -> Policy_BooleanPolicy {
if self.has_boolean_policy() {
match self.policy_type.take() {
::std::option::Option::Some(Policy_oneof_policy_type::boolean_policy(v)) => v,
_ => panic!(),
}
} else {
Policy_BooleanPolicy::new()
}
}
pub fn get_restore_default(&self) -> &Policy_RestoreDefault {
match self.policy_type {
::std::option::Option::Some(Policy_oneof_policy_type::restore_default(ref v)) => v,
_ => <Policy_RestoreDefault as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_restore_default(&mut self) {
self.policy_type = ::std::option::Option::None;
}
pub fn has_restore_default(&self) -> bool {
match self.policy_type {
::std::option::Option::Some(Policy_oneof_policy_type::restore_default(..)) => true,
_ => false,
}
}
pub fn set_restore_default(&mut self, v: Policy_RestoreDefault) {
self.policy_type = ::std::option::Option::Some(Policy_oneof_policy_type::restore_default(v))
}
pub fn mut_restore_default(&mut self) -> &mut Policy_RestoreDefault {
if let ::std::option::Option::Some(Policy_oneof_policy_type::restore_default(_)) = self.policy_type {
} else {
self.policy_type = ::std::option::Option::Some(Policy_oneof_policy_type::restore_default(Policy_RestoreDefault::new()));
}
match self.policy_type {
::std::option::Option::Some(Policy_oneof_policy_type::restore_default(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_restore_default(&mut self) -> Policy_RestoreDefault {
if self.has_restore_default() {
match self.policy_type.take() {
::std::option::Option::Some(Policy_oneof_policy_type::restore_default(v)) => v,
_ => panic!(),
}
} else {
Policy_RestoreDefault::new()
}
}
}
impl ::protobuf::Message for Policy {
fn is_initialized(&self) -> bool {
for v in &self.update_time {
if !v.is_initialized() {
return false;
}
};
if let Some(Policy_oneof_policy_type::list_policy(ref v)) = self.policy_type {
if !v.is_initialized() {
return false;
}
}
if let Some(Policy_oneof_policy_type::boolean_policy(ref v)) = self.policy_type {
if !v.is_initialized() {
return false;
}
}
if let Some(Policy_oneof_policy_type::restore_default(ref v)) = self.policy_type {
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 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_int32()?;
self.version = tmp;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.constraint)?;
},
3 => {
::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.etag)?;
},
4 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_time)?;
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.policy_type = ::std::option::Option::Some(Policy_oneof_policy_type::list_policy(is.read_message()?));
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.policy_type = ::std::option::Option::Some(Policy_oneof_policy_type::boolean_policy(is.read_message()?));
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.policy_type = ::std::option::Option::Some(Policy_oneof_policy_type::restore_default(is.read_message()?));
},
_ => {
::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.version != 0 {
my_size += ::protobuf::rt::value_size(1, self.version, ::protobuf::wire_format::WireTypeVarint);
}
if !self.constraint.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.constraint);
}
if !self.etag.is_empty() {
my_size += ::protobuf::rt::bytes_size(3, &self.etag);
}
if let Some(ref v) = self.update_time.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let ::std::option::Option::Some(ref v) = self.policy_type {
match v {
&Policy_oneof_policy_type::list_policy(ref v) => {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
},
&Policy_oneof_policy_type::boolean_policy(ref v) => {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
},
&Policy_oneof_policy_type::restore_default(ref v) => {
let len = v.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.version != 0 {
os.write_int32(1, self.version)?;
}
if !self.constraint.is_empty() {
os.write_string(2, &self.constraint)?;
}
if !self.etag.is_empty() {
os.write_bytes(3, &self.etag)?;
}
if let Some(ref v) = self.update_time.as_ref() {
os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let ::std::option::Option::Some(ref v) = self.policy_type {
match v {
&Policy_oneof_policy_type::list_policy(ref v) => {
os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
},
&Policy_oneof_policy_type::boolean_policy(ref v) => {
os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
},
&Policy_oneof_policy_type::restore_default(ref v) => {
os.write_tag(7, ::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() -> Policy {
Policy::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::ProtobufTypeInt32>(
"version",
|m: &Policy| { &m.version },
|m: &mut Policy| { &mut m.version },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"constraint",
|m: &Policy| { &m.constraint },
|m: &mut Policy| { &mut m.constraint },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"etag",
|m: &Policy| { &m.etag },
|m: &mut Policy| { &mut m.etag },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
"update_time",
|m: &Policy| { &m.update_time },
|m: &mut Policy| { &mut m.update_time },
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Policy_ListPolicy>(
"list_policy",
Policy::has_list_policy,
Policy::get_list_policy,
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Policy_BooleanPolicy>(
"boolean_policy",
Policy::has_boolean_policy,
Policy::get_boolean_policy,
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Policy_RestoreDefault>(
"restore_default",
Policy::has_restore_default,
Policy::get_restore_default,
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Policy>(
"Policy",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Policy {
static instance: ::protobuf::rt::LazyV2<Policy> = ::protobuf::rt::LazyV2::INIT;
instance.get(Policy::new)
}
}
impl ::protobuf::Clear for Policy {
fn clear(&mut self) {
self.version = 0;
self.constraint.clear();
self.etag.clear();
self.update_time.clear();
self.policy_type = ::std::option::Option::None;
self.policy_type = ::std::option::Option::None;
self.policy_type = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Policy {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Policy {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Policy_ListPolicy {
pub allowed_values: ::protobuf::RepeatedField<::std::string::String>,
pub denied_values: ::protobuf::RepeatedField<::std::string::String>,
pub all_values: Policy_ListPolicy_AllValues,
pub suggested_value: ::std::string::String,
pub inherit_from_parent: bool,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Policy_ListPolicy {
fn default() -> &'a Policy_ListPolicy {
<Policy_ListPolicy as ::protobuf::Message>::default_instance()
}
}
impl Policy_ListPolicy {
pub fn new() -> Policy_ListPolicy {
::std::default::Default::default()
}
pub fn get_allowed_values(&self) -> &[::std::string::String] {
&self.allowed_values
}
pub fn clear_allowed_values(&mut self) {
self.allowed_values.clear();
}
pub fn set_allowed_values(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.allowed_values = v;
}
pub fn mut_allowed_values(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.allowed_values
}
pub fn take_allowed_values(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.allowed_values, ::protobuf::RepeatedField::new())
}
pub fn get_denied_values(&self) -> &[::std::string::String] {
&self.denied_values
}
pub fn clear_denied_values(&mut self) {
self.denied_values.clear();
}
pub fn set_denied_values(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.denied_values = v;
}
pub fn mut_denied_values(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.denied_values
}
pub fn take_denied_values(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.denied_values, ::protobuf::RepeatedField::new())
}
pub fn get_all_values(&self) -> Policy_ListPolicy_AllValues {
self.all_values
}
pub fn clear_all_values(&mut self) {
self.all_values = Policy_ListPolicy_AllValues::ALL_VALUES_UNSPECIFIED;
}
pub fn set_all_values(&mut self, v: Policy_ListPolicy_AllValues) {
self.all_values = v;
}
pub fn get_suggested_value(&self) -> &str {
&self.suggested_value
}
pub fn clear_suggested_value(&mut self) {
self.suggested_value.clear();
}
pub fn set_suggested_value(&mut self, v: ::std::string::String) {
self.suggested_value = v;
}
pub fn mut_suggested_value(&mut self) -> &mut ::std::string::String {
&mut self.suggested_value
}
pub fn take_suggested_value(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.suggested_value, ::std::string::String::new())
}
pub fn get_inherit_from_parent(&self) -> bool {
self.inherit_from_parent
}
pub fn clear_inherit_from_parent(&mut self) {
self.inherit_from_parent = false;
}
pub fn set_inherit_from_parent(&mut self, v: bool) {
self.inherit_from_parent = v;
}
}
impl ::protobuf::Message for Policy_ListPolicy {
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 {
1 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.allowed_values)?;
},
2 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.denied_values)?;
},
3 => {
::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.all_values, 3, &mut self.unknown_fields)?
},
4 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.suggested_value)?;
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.inherit_from_parent = tmp;
},
_ => {
::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;
for value in &self.allowed_values {
my_size += ::protobuf::rt::string_size(1, &value);
};
for value in &self.denied_values {
my_size += ::protobuf::rt::string_size(2, &value);
};
if self.all_values != Policy_ListPolicy_AllValues::ALL_VALUES_UNSPECIFIED {
my_size += ::protobuf::rt::enum_size(3, self.all_values);
}
if !self.suggested_value.is_empty() {
my_size += ::protobuf::rt::string_size(4, &self.suggested_value);
}
if self.inherit_from_parent != false {
my_size += 2;
}
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<()> {
for v in &self.allowed_values {
os.write_string(1, &v)?;
};
for v in &self.denied_values {
os.write_string(2, &v)?;
};
if self.all_values != Policy_ListPolicy_AllValues::ALL_VALUES_UNSPECIFIED {
os.write_enum(3, ::protobuf::ProtobufEnum::value(&self.all_values))?;
}
if !self.suggested_value.is_empty() {
os.write_string(4, &self.suggested_value)?;
}
if self.inherit_from_parent != false {
os.write_bool(5, self.inherit_from_parent)?;
}
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() -> Policy_ListPolicy {
Policy_ListPolicy::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_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"allowed_values",
|m: &Policy_ListPolicy| { &m.allowed_values },
|m: &mut Policy_ListPolicy| { &mut m.allowed_values },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"denied_values",
|m: &Policy_ListPolicy| { &m.denied_values },
|m: &mut Policy_ListPolicy| { &mut m.denied_values },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Policy_ListPolicy_AllValues>>(
"all_values",
|m: &Policy_ListPolicy| { &m.all_values },
|m: &mut Policy_ListPolicy| { &mut m.all_values },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"suggested_value",
|m: &Policy_ListPolicy| { &m.suggested_value },
|m: &mut Policy_ListPolicy| { &mut m.suggested_value },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"inherit_from_parent",
|m: &Policy_ListPolicy| { &m.inherit_from_parent },
|m: &mut Policy_ListPolicy| { &mut m.inherit_from_parent },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Policy_ListPolicy>(
"Policy.ListPolicy",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Policy_ListPolicy {
static instance: ::protobuf::rt::LazyV2<Policy_ListPolicy> = ::protobuf::rt::LazyV2::INIT;
instance.get(Policy_ListPolicy::new)
}
}
impl ::protobuf::Clear for Policy_ListPolicy {
fn clear(&mut self) {
self.allowed_values.clear();
self.denied_values.clear();
self.all_values = Policy_ListPolicy_AllValues::ALL_VALUES_UNSPECIFIED;
self.suggested_value.clear();
self.inherit_from_parent = false;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Policy_ListPolicy {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Policy_ListPolicy {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum Policy_ListPolicy_AllValues {
ALL_VALUES_UNSPECIFIED = 0,
ALLOW = 1,
DENY = 2,
}
impl ::protobuf::ProtobufEnum for Policy_ListPolicy_AllValues {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<Policy_ListPolicy_AllValues> {
match value {
0 => ::std::option::Option::Some(Policy_ListPolicy_AllValues::ALL_VALUES_UNSPECIFIED),
1 => ::std::option::Option::Some(Policy_ListPolicy_AllValues::ALLOW),
2 => ::std::option::Option::Some(Policy_ListPolicy_AllValues::DENY),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [Policy_ListPolicy_AllValues] = &[
Policy_ListPolicy_AllValues::ALL_VALUES_UNSPECIFIED,
Policy_ListPolicy_AllValues::ALLOW,
Policy_ListPolicy_AllValues::DENY,
];
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::<Policy_ListPolicy_AllValues>("Policy.ListPolicy.AllValues", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for Policy_ListPolicy_AllValues {
}
impl ::std::default::Default for Policy_ListPolicy_AllValues {
fn default() -> Self {
Policy_ListPolicy_AllValues::ALL_VALUES_UNSPECIFIED
}
}
impl ::protobuf::reflect::ProtobufValue for Policy_ListPolicy_AllValues {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Policy_BooleanPolicy {
pub enforced: bool,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Policy_BooleanPolicy {
fn default() -> &'a Policy_BooleanPolicy {
<Policy_BooleanPolicy as ::protobuf::Message>::default_instance()
}
}
impl Policy_BooleanPolicy {
pub fn new() -> Policy_BooleanPolicy {
::std::default::Default::default()
}
pub fn get_enforced(&self) -> bool {
self.enforced
}
pub fn clear_enforced(&mut self) {
self.enforced = false;
}
pub fn set_enforced(&mut self, v: bool) {
self.enforced = v;
}
}
impl ::protobuf::Message for Policy_BooleanPolicy {
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 {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.enforced = tmp;
},
_ => {
::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.enforced != false {
my_size += 2;
}
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.enforced != false {
os.write_bool(1, self.enforced)?;
}
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() -> Policy_BooleanPolicy {
Policy_BooleanPolicy::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::ProtobufTypeBool>(
"enforced",
|m: &Policy_BooleanPolicy| { &m.enforced },
|m: &mut Policy_BooleanPolicy| { &mut m.enforced },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Policy_BooleanPolicy>(
"Policy.BooleanPolicy",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Policy_BooleanPolicy {
static instance: ::protobuf::rt::LazyV2<Policy_BooleanPolicy> = ::protobuf::rt::LazyV2::INIT;
instance.get(Policy_BooleanPolicy::new)
}
}
impl ::protobuf::Clear for Policy_BooleanPolicy {
fn clear(&mut self) {
self.enforced = false;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Policy_BooleanPolicy {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Policy_BooleanPolicy {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Policy_RestoreDefault {
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Policy_RestoreDefault {
fn default() -> &'a Policy_RestoreDefault {
<Policy_RestoreDefault as ::protobuf::Message>::default_instance()
}
}
impl Policy_RestoreDefault {
pub fn new() -> Policy_RestoreDefault {
::std::default::Default::default()
}
}
impl ::protobuf::Message for Policy_RestoreDefault {
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 {
_ => {
::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;
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<()> {
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() -> Policy_RestoreDefault {
Policy_RestoreDefault::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let fields = ::std::vec::Vec::new();
::protobuf::reflect::MessageDescriptor::new_pb_name::<Policy_RestoreDefault>(
"Policy.RestoreDefault",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Policy_RestoreDefault {
static instance: ::protobuf::rt::LazyV2<Policy_RestoreDefault> = ::protobuf::rt::LazyV2::INIT;
instance.get(Policy_RestoreDefault::new)
}
}
impl ::protobuf::Clear for Policy_RestoreDefault {
fn clear(&mut self) {
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Policy_RestoreDefault {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Policy_RestoreDefault {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n)google/cloud/orgpolicy/v1/orgpolicy.proto\x12\x19google.cloud.orgpoli\
cy.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb2\x06\n\x06Policy\x12\
\x18\n\x07version\x18\x01\x20\x01(\x05R\x07version\x12\x1e\n\nconstraint\
\x18\x02\x20\x01(\tR\nconstraint\x12\x12\n\x04etag\x18\x03\x20\x01(\x0cR\
\x04etag\x12;\n\x0bupdate_time\x18\x04\x20\x01(\x0b2\x1a.google.protobuf\
.TimestampR\nupdateTime\x12O\n\x0blist_policy\x18\x05\x20\x01(\x0b2,.goo\
gle.cloud.orgpolicy.v1.Policy.ListPolicyH\0R\nlistPolicy\x12X\n\x0eboole\
an_policy\x18\x06\x20\x01(\x0b2/.google.cloud.orgpolicy.v1.Policy.Boolea\
nPolicyH\0R\rbooleanPolicy\x12[\n\x0frestore_default\x18\x07\x20\x01(\
\x0b20.google.cloud.orgpolicy.v1.Policy.RestoreDefaultH\0R\x0erestoreDef\
ault\x1a\xc6\x02\n\nListPolicy\x12%\n\x0eallowed_values\x18\x01\x20\x03(\
\tR\rallowedValues\x12#\n\rdenied_values\x18\x02\x20\x03(\tR\x0cdeniedVa\
lues\x12U\n\nall_values\x18\x03\x20\x01(\x0e26.google.cloud.orgpolicy.v1\
.Policy.ListPolicy.AllValuesR\tallValues\x12'\n\x0fsuggested_value\x18\
\x04\x20\x01(\tR\x0esuggestedValue\x12.\n\x13inherit_from_parent\x18\x05\
\x20\x01(\x08R\x11inheritFromParent\"<\n\tAllValues\x12\x1a\n\x16ALL_VAL\
UES_UNSPECIFIED\x10\0\x12\t\n\x05ALLOW\x10\x01\x12\x08\n\x04DENY\x10\x02\
\x1a+\n\rBooleanPolicy\x12\x1a\n\x08enforced\x18\x01\x20\x01(\x08R\x08en\
forced\x1a\x10\n\x0eRestoreDefaultB\r\n\x0bpolicy_typeB\xc5\x01\n\x1dcom\
.google.cloud.orgpolicy.v1B\x0eOrgPolicyProtoP\x01Z;cloud.google.com/go/\
orgpolicy/apiv1/orgpolicypb;orgpolicypb\xaa\x02\x19Google.Cloud.OrgPolic\
y.V1\xca\x02\x19Google\\Cloud\\OrgPolicy\\V1\xea\x02\x1cGoogle::Cloud::O\
rgPolicy::V1J\xecg\n\x07\x12\x05\x0f\0\xb8\x02\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,\x20Version\x202.0\x20\
(the\x20\"License\");\n\x20you\x20may\x20not\x20use\x20this\x20file\x20e\
xcept\x20in\x20compliance\x20with\x20the\x20License.\n\x20You\x20may\x20\
obtain\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\x20writing,\x20s\
oftware\n\x20distributed\x20under\x20the\x20License\x20is\x20distributed\
\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20WARRANTIES\x20OR\
\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20express\x20or\x20impli\
ed.\n\x20See\x20the\x20License\x20for\x20the\x20specific\x20language\x20\
governing\x20permissions\x20and\n\x20limitations\x20under\x20the\x20Lice\
nse.\n\n\n\x08\n\x01\x02\x12\x03\x11\0\"\n\t\n\x02\x03\0\x12\x03\x13\0)\
\n\x08\n\x01\x08\x12\x03\x15\06\n\t\n\x02\x08%\x12\x03\x15\06\n\x08\n\
\x01\x08\x12\x03\x16\0R\n\t\n\x02\x08\x0b\x12\x03\x16\0R\n\x08\n\x01\x08\
\x12\x03\x17\0\"\n\t\n\x02\x08\n\x12\x03\x17\0\"\n\x08\n\x01\x08\x12\x03\
\x18\0/\n\t\n\x02\x08\x08\x12\x03\x18\0/\n\x08\n\x01\x08\x12\x03\x19\06\
\n\t\n\x02\x08\x01\x12\x03\x19\06\n\x08\n\x01\x08\x12\x03\x1a\06\n\t\n\
\x02\x08)\x12\x03\x1a\06\n\x08\n\x01\x08\x12\x03\x1b\05\n\t\n\x02\x08-\
\x12\x03\x1b\05\n\x8c\x01\n\x02\x04\0\x12\x05\x1f\0\xb8\x02\x01\x1a\x7f\
\x20Defines\x20a\x20Cloud\x20Organization\x20`Policy`\x20which\x20is\x20\
used\x20to\x20specify\x20`Constraints`\n\x20for\x20configurations\x20of\
\x20Cloud\x20Platform\x20resources.\n\n\n\n\x03\x04\0\x01\x12\x03\x1f\
\x08\x0e\n\xf1\t\n\x04\x04\0\x03\0\x12\x055\x02\xbd\x01\x03\x1a\xe1\t\
\x20Used\x20in\x20`policy_type`\x20to\x20specify\x20how\x20`list_policy`\
\x20behaves\x20at\x20this\n\x20resource.\n\n\x20`ListPolicy`\x20can\x20d\
efine\x20specific\x20values\x20and\x20subtrees\x20of\x20Cloud\x20Resourc\
e\n\x20Manager\x20resource\x20hierarchy\x20(`Organizations`,\x20`Folders\
`,\x20`Projects`)\x20that\n\x20are\x20allowed\x20or\x20denied\x20by\x20s\
etting\x20the\x20`allowed_values`\x20and\x20`denied_values`\n\x20fields.\
\x20This\x20is\x20achieved\x20by\x20using\x20the\x20`under:`\x20and\x20o\
ptional\x20`is:`\x20prefixes.\n\x20The\x20`under:`\x20prefix\x20is\x20us\
ed\x20to\x20denote\x20resource\x20subtree\x20values.\n\x20The\x20`is:`\
\x20prefix\x20is\x20used\x20to\x20denote\x20specific\x20values,\x20and\
\x20is\x20required\x20only\n\x20if\x20the\x20value\x20contains\x20a\x20\
\":\".\x20Values\x20prefixed\x20with\x20\"is:\"\x20are\x20treated\x20the\
\n\x20same\x20as\x20values\x20with\x20no\x20prefix.\n\x20Ancestry\x20sub\
trees\x20must\x20be\x20in\x20one\x20of\x20the\x20following\x20formats:\n\
\x20\x20\x20\x20\x20-\x20\"projects/<project-id>\",\x20e.g.\x20\"project\
s/tokyo-rain-123\"\n\x20\x20\x20\x20\x20-\x20\"folders/<folder-id>\",\
\x20e.g.\x20\"folders/1234\"\n\x20\x20\x20\x20\x20-\x20\"organizations/<\
organization-id>\",\x20e.g.\x20\"organizations/1234\"\n\x20The\x20`suppo\
rts_under`\x20field\x20of\x20the\x20associated\x20`Constraint`\x20\x20de\
fines\x20whether\n\x20ancestry\x20prefixes\x20can\x20be\x20used.\x20You\
\x20can\x20set\x20`allowed_values`\x20and\n\x20`denied_values`\x20in\x20\
the\x20same\x20`Policy`\x20if\x20`all_values`\x20is\n\x20`ALL_VALUES_UNS\
PECIFIED`.\x20`ALLOW`\x20or\x20`DENY`\x20are\x20used\x20to\x20allow\x20o\
r\x20deny\x20all\n\x20values.\x20If\x20`all_values`\x20is\x20set\x20to\
\x20either\x20`ALLOW`\x20or\x20`DENY`,\n\x20`allowed_values`\x20and\x20`\
denied_values`\x20must\x20be\x20unset.\n\n\x0c\n\x05\x04\0\x03\0\x01\x12\
\x035\n\x14\n\xf5\x03\n\x06\x04\0\x03\0\x04\0\x12\x04?\x04H\x05\x1a\xe4\
\x03\x20This\x20enum\x20can\x20be\x20used\x20to\x20set\x20`Policies`\x20\
that\x20apply\x20to\x20all\x20possible\n\x20configuration\x20values\x20r\
ather\x20than\x20specific\x20values\x20in\x20`allowed_values`\x20or\n\
\x20`denied_values`.\n\n\x20Settting\x20this\x20to\x20`ALLOW`\x20will\
\x20mean\x20this\x20`Policy`\x20allows\x20all\x20values.\n\x20Similarly,\
\x20setting\x20it\x20to\x20`DENY`\x20will\x20mean\x20no\x20values\x20are\
\x20allowed.\x20If\n\x20set\x20to\x20either\x20`ALLOW`\x20or\x20`DENY,\
\x20\x20`allowed_values`\x20and\x20`denied_values`\n\x20must\x20be\x20un\
set.\x20Setting\x20this\x20to\x20`ALL_VALUES_UNSPECIFIED`\x20allows\x20f\
or\n\x20setting\x20`allowed_values`\x20and\x20`denied_values`.\n\n\x0e\n\
\x07\x04\0\x03\0\x04\0\x01\x12\x03?\t\x12\nN\n\x08\x04\0\x03\0\x04\0\x02\
\0\x12\x03A\x06!\x1a=\x20Indicates\x20that\x20allowed_values\x20or\x20de\
nied_values\x20must\x20be\x20set.\n\n\x10\n\t\x04\0\x03\0\x04\0\x02\0\
\x01\x12\x03A\x06\x1c\n\x10\n\t\x04\0\x03\0\x04\0\x02\0\x02\x12\x03A\x1f\
\x20\n<\n\x08\x04\0\x03\0\x04\0\x02\x01\x12\x03D\x06\x10\x1a+\x20A\x20po\
licy\x20with\x20this\x20set\x20allows\x20all\x20values.\n\n\x10\n\t\x04\
\0\x03\0\x04\0\x02\x01\x01\x12\x03D\x06\x0b\n\x10\n\t\x04\0\x03\0\x04\0\
\x02\x01\x02\x12\x03D\x0e\x0f\n<\n\x08\x04\0\x03\0\x04\0\x02\x02\x12\x03\
G\x06\x0f\x1a+\x20A\x20policy\x20with\x20this\x20set\x20denies\x20all\
\x20values.\n\n\x10\n\t\x04\0\x03\0\x04\0\x02\x02\x01\x12\x03G\x06\n\n\
\x10\n\t\x04\0\x03\0\x04\0\x02\x02\x02\x12\x03G\r\x0e\n\x7f\n\x06\x04\0\
\x03\0\x02\0\x12\x03L\x04'\x1ap\x20List\x20of\x20values\x20allowed\x20\
\x20at\x20this\x20resource.\x20Can\x20only\x20be\x20set\x20if\x20`all_va\
lues`\n\x20is\x20set\x20to\x20`ALL_VALUES_UNSPECIFIED`.\n\n\x0e\n\x07\
\x04\0\x03\0\x02\0\x04\x12\x03L\x04\x0c\n\x0e\n\x07\x04\0\x03\0\x02\0\
\x05\x12\x03L\r\x13\n\x0e\n\x07\x04\0\x03\0\x02\0\x01\x12\x03L\x14\"\n\
\x0e\n\x07\x04\0\x03\0\x02\0\x03\x12\x03L%&\n}\n\x06\x04\0\x03\0\x02\x01\
\x12\x03P\x04&\x1an\x20List\x20of\x20values\x20denied\x20at\x20this\x20r\
esource.\x20Can\x20only\x20be\x20set\x20if\x20`all_values`\n\x20is\x20se\
t\x20to\x20`ALL_VALUES_UNSPECIFIED`.\n\n\x0e\n\x07\x04\0\x03\0\x02\x01\
\x04\x12\x03P\x04\x0c\n\x0e\n\x07\x04\0\x03\0\x02\x01\x05\x12\x03P\r\x13\
\n\x0e\n\x07\x04\0\x03\0\x02\x01\x01\x12\x03P\x14!\n\x0e\n\x07\x04\0\x03\
\0\x02\x01\x03\x12\x03P$%\n-\n\x06\x04\0\x03\0\x02\x02\x12\x03S\x04\x1d\
\x1a\x1e\x20The\x20policy\x20all_values\x20state.\n\n\x0e\n\x07\x04\0\
\x03\0\x02\x02\x06\x12\x03S\x04\r\n\x0e\n\x07\x04\0\x03\0\x02\x02\x01\
\x12\x03S\x0e\x18\n\x0e\n\x07\x04\0\x03\0\x02\x02\x03\x12\x03S\x1b\x1c\n\
\x98\x02\n\x06\x04\0\x03\0\x02\x03\x12\x03Y\x04\x1f\x1a\x88\x02\x20Optio\
nal.\x20The\x20Google\x20Cloud\x20Console\x20will\x20try\x20to\x20defaul\
t\x20to\x20a\x20configuration\n\x20that\x20matches\x20the\x20value\x20sp\
ecified\x20in\x20this\x20`Policy`.\x20If\x20`suggested_value`\n\x20is\
\x20not\x20set,\x20it\x20will\x20inherit\x20the\x20value\x20specified\
\x20higher\x20in\x20the\x20hierarchy,\n\x20unless\x20`inherit_from_paren\
t`\x20is\x20`false`.\n\n\x0e\n\x07\x04\0\x03\0\x02\x03\x05\x12\x03Y\x04\
\n\n\x0e\n\x07\x04\0\x03\0\x02\x03\x01\x12\x03Y\x0b\x1a\n\x0e\n\x07\x04\
\0\x03\0\x02\x03\x03\x12\x03Y\x1d\x1e\n\xbb\"\n\x06\x04\0\x03\0\x02\x04\
\x12\x04\xbc\x01\x04!\x1a\xaa\"\x20Determines\x20the\x20inheritance\x20b\
ehavior\x20for\x20this\x20`Policy`.\n\n\x20By\x20default,\x20a\x20`ListP\
olicy`\x20set\x20at\x20a\x20resource\x20supercedes\x20any\x20`Policy`\
\x20set\n\x20anywhere\x20up\x20the\x20resource\x20hierarchy.\x20However,\
\x20if\x20`inherit_from_parent`\x20is\n\x20set\x20to\x20`true`,\x20then\
\x20the\x20values\x20from\x20the\x20effective\x20`Policy`\x20of\x20the\
\x20parent\n\x20resource\x20are\x20inherited,\x20meaning\x20the\x20value\
s\x20set\x20in\x20this\x20`Policy`\x20are\n\x20added\x20to\x20the\x20val\
ues\x20inherited\x20up\x20the\x20hierarchy.\n\n\x20Setting\x20`Policy`\
\x20hierarchies\x20that\x20inherit\x20both\x20allowed\x20values\x20and\
\x20denied\n\x20values\x20isn't\x20recommended\x20in\x20most\x20circumst\
ances\x20to\x20keep\x20the\x20configuration\n\x20simple\x20and\x20unders\
tandable.\x20However,\x20it\x20is\x20possible\x20to\x20set\x20a\x20`Poli\
cy`\x20with\n\x20`allowed_values`\x20set\x20that\x20inherits\x20a\x20`Po\
licy`\x20with\x20`denied_values`\x20set.\n\x20In\x20this\x20case,\x20the\
\x20values\x20that\x20are\x20allowed\x20must\x20be\x20in\x20`allowed_val\
ues`\x20and\n\x20not\x20present\x20in\x20`denied_values`.\n\n\x20For\x20\
example,\x20suppose\x20you\x20have\x20a\x20`Constraint`\n\x20`constraint\
s/serviceuser.services`,\x20which\x20has\x20a\x20`constraint_type`\x20of\
\n\x20`list_constraint`,\x20and\x20with\x20`constraint_default`\x20set\
\x20to\x20`ALLOW`.\n\x20Suppose\x20that\x20at\x20the\x20Organization\x20\
level,\x20a\x20`Policy`\x20is\x20applied\x20that\n\x20restricts\x20the\
\x20allowed\x20API\x20activations\x20to\x20{`E1`,\x20`E2`}.\x20Then,\x20\
if\x20a\n\x20`Policy`\x20is\x20applied\x20to\x20a\x20project\x20below\
\x20the\x20Organization\x20that\x20has\n\x20`inherit_from_parent`\x20set\
\x20to\x20`false`\x20and\x20field\x20all_values\x20set\x20to\x20DENY,\n\
\x20then\x20an\x20attempt\x20to\x20activate\x20any\x20API\x20will\x20be\
\x20denied.\n\n\x20The\x20following\x20examples\x20demonstrate\x20differ\
ent\x20possible\x20layerings\x20for\n\x20`projects/bar`\x20parented\x20b\
y\x20`organizations/foo`:\n\n\x20Example\x201\x20(no\x20inherited\x20val\
ues):\n\x20\x20\x20`organizations/foo`\x20has\x20a\x20`Policy`\x20with\
\x20values:\n\x20\x20\x20\x20\x20{allowed_values:\x20\"E1\"\x20allowed_v\
alues:\"E2\"}\n\x20\x20\x20`projects/bar`\x20has\x20`inherit_from_parent\
`\x20`false`\x20and\x20values:\n\x20\x20\x20\x20\x20{allowed_values:\x20\
\"E3\"\x20allowed_values:\x20\"E4\"}\n\x20The\x20accepted\x20values\x20a\
t\x20`organizations/foo`\x20are\x20`E1`,\x20`E2`.\n\x20The\x20accepted\
\x20values\x20at\x20`projects/bar`\x20are\x20`E3`,\x20and\x20`E4`.\n\n\
\x20Example\x202\x20(inherited\x20values):\n\x20\x20\x20`organizations/f\
oo`\x20has\x20a\x20`Policy`\x20with\x20values:\n\x20\x20\x20\x20\x20{all\
owed_values:\x20\"E1\"\x20allowed_values:\"E2\"}\n\x20\x20\x20`projects/\
bar`\x20has\x20a\x20`Policy`\x20with\x20values:\n\x20\x20\x20\x20\x20{va\
lue:\x20\"E3\"\x20value:\x20\"E4\"\x20inherit_from_parent:\x20true}\n\
\x20The\x20accepted\x20values\x20at\x20`organizations/foo`\x20are\x20`E1\
`,\x20`E2`.\n\x20The\x20accepted\x20values\x20at\x20`projects/bar`\x20ar\
e\x20`E1`,\x20`E2`,\x20`E3`,\x20and\x20`E4`.\n\n\x20Example\x203\x20(inh\
eriting\x20both\x20allowed\x20and\x20denied\x20values):\n\x20\x20\x20`or\
ganizations/foo`\x20has\x20a\x20`Policy`\x20with\x20values:\n\x20\x20\
\x20\x20\x20{allowed_values:\x20\"E1\"\x20allowed_values:\x20\"E2\"}\n\
\x20\x20\x20`projects/bar`\x20has\x20a\x20`Policy`\x20with:\n\x20\x20\
\x20\x20\x20{denied_values:\x20\"E1\"}\n\x20The\x20accepted\x20values\
\x20at\x20`organizations/foo`\x20are\x20`E1`,\x20`E2`.\n\x20The\x20value\
\x20accepted\x20at\x20`projects/bar`\x20is\x20`E2`.\n\n\x20Example\x204\
\x20(RestoreDefault):\n\x20\x20\x20`organizations/foo`\x20has\x20a\x20`P\
olicy`\x20with\x20values:\n\x20\x20\x20\x20\x20{allowed_values:\x20\"E1\
\"\x20allowed_values:\"E2\"}\n\x20\x20\x20`projects/bar`\x20has\x20a\x20\
`Policy`\x20with\x20values:\n\x20\x20\x20\x20\x20{RestoreDefault:\x20{}}\
\n\x20The\x20accepted\x20values\x20at\x20`organizations/foo`\x20are\x20`\
E1`,\x20`E2`.\n\x20The\x20accepted\x20values\x20at\x20`projects/bar`\x20\
are\x20either\x20all\x20or\x20none\x20depending\x20on\n\x20the\x20value\
\x20of\x20`constraint_default`\x20(if\x20`ALLOW`,\x20all;\x20if\n\x20`DE\
NY`,\x20none).\n\n\x20Example\x205\x20(no\x20policy\x20inherits\x20paren\
t\x20policy):\n\x20\x20\x20`organizations/foo`\x20has\x20no\x20`Policy`\
\x20set.\n\x20\x20\x20`projects/bar`\x20has\x20no\x20`Policy`\x20set.\n\
\x20The\x20accepted\x20values\x20at\x20both\x20levels\x20are\x20either\
\x20all\x20or\x20none\x20depending\x20on\n\x20the\x20value\x20of\x20`con\
straint_default`\x20(if\x20`ALLOW`,\x20all;\x20if\n\x20`DENY`,\x20none).\
\n\n\x20Example\x206\x20(ListConstraint\x20allowing\x20all):\n\x20\x20\
\x20`organizations/foo`\x20has\x20a\x20`Policy`\x20with\x20values:\n\x20\
\x20\x20\x20\x20{allowed_values:\x20\"E1\"\x20allowed_values:\x20\"E2\"}\
\n\x20\x20\x20`projects/bar`\x20has\x20a\x20`Policy`\x20with:\n\x20\x20\
\x20\x20\x20{all:\x20ALLOW}\n\x20The\x20accepted\x20values\x20at\x20`org\
anizations/foo`\x20are\x20`E1`,\x20E2`.\n\x20Any\x20value\x20is\x20accep\
ted\x20at\x20`projects/bar`.\n\n\x20Example\x207\x20(ListConstraint\x20a\
llowing\x20none):\n\x20\x20\x20`organizations/foo`\x20has\x20a\x20`Polic\
y`\x20with\x20values:\n\x20\x20\x20\x20\x20{allowed_values:\x20\"E1\"\
\x20allowed_values:\x20\"E2\"}\n\x20\x20\x20`projects/bar`\x20has\x20a\
\x20`Policy`\x20with:\n\x20\x20\x20\x20\x20{all:\x20DENY}\n\x20The\x20ac\
cepted\x20values\x20at\x20`organizations/foo`\x20are\x20`E1`,\x20E2`.\n\
\x20No\x20value\x20is\x20accepted\x20at\x20`projects/bar`.\n\n\x20Exampl\
e\x2010\x20(allowed\x20and\x20denied\x20subtrees\x20of\x20Resource\x20Ma\
nager\x20hierarchy):\n\x20Given\x20the\x20following\x20resource\x20hiera\
rchy\n\x20\x20\x20O1->{F1,\x20F2};\x20F1->{P1};\x20F2->{P2,\x20P3},\n\
\x20\x20\x20`organizations/foo`\x20has\x20a\x20`Policy`\x20with\x20value\
s:\n\x20\x20\x20\x20\x20{allowed_values:\x20\"under:organizations/O1\"}\
\n\x20\x20\x20`projects/bar`\x20has\x20a\x20`Policy`\x20with:\n\x20\x20\
\x20\x20\x20{allowed_values:\x20\"under:projects/P3\"}\n\x20\x20\x20\x20\
\x20{denied_values:\x20\"under:folders/F2\"}\n\x20The\x20accepted\x20val\
ues\x20at\x20`organizations/foo`\x20are\x20`organizations/O1`,\n\x20\x20\
\x20`folders/F1`,\x20`folders/F2`,\x20`projects/P1`,\x20`projects/P2`,\n\
\x20\x20\x20`projects/P3`.\n\x20The\x20accepted\x20values\x20at\x20`proj\
ects/bar`\x20are\x20`organizations/O1`,\n\x20\x20\x20`folders/F1`,\x20`p\
rojects/P1`.\n\n\x0f\n\x07\x04\0\x03\0\x02\x04\x05\x12\x04\xbc\x01\x04\
\x08\n\x0f\n\x07\x04\0\x03\0\x02\x04\x01\x12\x04\xbc\x01\t\x1c\n\x0f\n\
\x07\x04\0\x03\0\x02\x04\x03\x12\x04\xbc\x01\x1f\x20\nf\n\x04\x04\0\x03\
\x01\x12\x06\xc1\x01\x02\xef\x01\x03\x1aV\x20Used\x20in\x20`policy_type`\
\x20to\x20specify\x20how\x20`boolean_policy`\x20will\x20behave\x20at\x20\
this\n\x20resource.\n\n\r\n\x05\x04\0\x03\x01\x01\x12\x04\xc1\x01\n\x17\
\n\xc7\x0e\n\x06\x04\0\x03\x01\x02\0\x12\x04\xee\x01\x04\x16\x1a\xb6\x0e\
\x20If\x20`true`,\x20then\x20the\x20`Policy`\x20is\x20enforced.\x20If\
\x20`false`,\x20then\x20any\n\x20configuration\x20is\x20acceptable.\n\n\
\x20Suppose\x20you\x20have\x20a\x20`Constraint`\n\x20`constraints/comput\
e.disableSerialPortAccess`\x20with\x20`constraint_default`\n\x20set\x20t\
o\x20`ALLOW`.\x20A\x20`Policy`\x20for\x20that\x20`Constraint`\x20exhibit\
s\x20the\x20following\n\x20behavior:\n\x20\x20\x20-\x20If\x20the\x20`Pol\
icy`\x20at\x20this\x20resource\x20has\x20enforced\x20set\x20to\x20`false\
`,\x20serial\n\x20\x20\x20\x20\x20port\x20connection\x20attempts\x20will\
\x20be\x20allowed.\n\x20\x20\x20-\x20If\x20the\x20`Policy`\x20at\x20this\
\x20resource\x20has\x20enforced\x20set\x20to\x20`true`,\x20serial\n\x20\
\x20\x20\x20\x20port\x20connection\x20attempts\x20will\x20be\x20refused.\
\n\x20\x20\x20-\x20If\x20the\x20`Policy`\x20at\x20this\x20resource\x20is\
\x20`RestoreDefault`,\x20serial\x20port\n\x20\x20\x20\x20\x20connection\
\x20attempts\x20will\x20be\x20allowed.\n\x20\x20\x20-\x20If\x20no\x20`Po\
licy`\x20is\x20set\x20at\x20this\x20resource\x20or\x20anywhere\x20higher\
\x20in\x20the\n\x20\x20\x20\x20\x20resource\x20hierarchy,\x20serial\x20p\
ort\x20connection\x20attempts\x20will\x20be\x20allowed.\n\x20\x20\x20-\
\x20If\x20no\x20`Policy`\x20is\x20set\x20at\x20this\x20resource,\x20but\
\x20one\x20exists\x20higher\x20in\x20the\n\x20\x20\x20\x20\x20resource\
\x20hierarchy,\x20the\x20behavior\x20is\x20as\x20if\x20the`Policy`\x20we\
re\x20set\x20at\n\x20\x20\x20\x20\x20this\x20resource.\n\n\x20The\x20fol\
lowing\x20examples\x20demonstrate\x20the\x20different\x20possible\x20lay\
erings:\n\n\x20Example\x201\x20(nearest\x20`Constraint`\x20wins):\n\x20\
\x20\x20`organizations/foo`\x20has\x20a\x20`Policy`\x20with:\n\x20\x20\
\x20\x20\x20{enforced:\x20false}\n\x20\x20\x20`projects/bar`\x20has\x20n\
o\x20`Policy`\x20set.\n\x20The\x20constraint\x20at\x20`projects/bar`\x20\
and\x20`organizations/foo`\x20will\x20not\x20be\n\x20enforced.\n\n\x20Ex\
ample\x202\x20(enforcement\x20gets\x20replaced):\n\x20\x20\x20`organizat\
ions/foo`\x20has\x20a\x20`Policy`\x20with:\n\x20\x20\x20\x20\x20{enforce\
d:\x20false}\n\x20\x20\x20`projects/bar`\x20has\x20a\x20`Policy`\x20with\
:\n\x20\x20\x20\x20\x20{enforced:\x20true}\n\x20The\x20constraint\x20at\
\x20`organizations/foo`\x20is\x20not\x20enforced.\n\x20The\x20constraint\
\x20at\x20`projects/bar`\x20is\x20enforced.\n\n\x20Example\x203\x20(Rest\
oreDefault):\n\x20\x20\x20`organizations/foo`\x20has\x20a\x20`Policy`\
\x20with:\n\x20\x20\x20\x20\x20{enforced:\x20true}\n\x20\x20\x20`project\
s/bar`\x20has\x20a\x20`Policy`\x20with:\n\x20\x20\x20\x20\x20{RestoreDef\
ault:\x20{}}\n\x20The\x20constraint\x20at\x20`organizations/foo`\x20is\
\x20enforced.\n\x20The\x20constraint\x20at\x20`projects/bar`\x20is\x20no\
t\x20enforced,\x20because\n\x20`constraint_default`\x20for\x20the\x20`Co\
nstraint`\x20is\x20`ALLOW`.\n\n\x0f\n\x07\x04\0\x03\x01\x02\0\x05\x12\
\x04\xee\x01\x04\x08\n\x0f\n\x07\x04\0\x03\x01\x02\0\x01\x12\x04\xee\x01\
\t\x11\n\x0f\n\x07\x04\0\x03\x01\x02\0\x03\x12\x04\xee\x01\x14\x15\n\xc1\
\x05\n\x04\x04\0\x03\x02\x12\x06\xfd\x01\x02\xff\x01\x03\x1a\xb0\x05\x20\
Ignores\x20policies\x20set\x20above\x20this\x20resource\x20and\x20restor\
es\x20the\n\x20`constraint_default`\x20enforcement\x20behavior\x20of\x20\
the\x20specific\x20`Constraint`\x20at\n\x20this\x20resource.\n\n\x20Supp\
ose\x20that\x20`constraint_default`\x20is\x20set\x20to\x20`ALLOW`\x20for\
\x20the\n\x20`Constraint`\x20`constraints/serviceuser.services`.\x20Supp\
ose\x20that\x20organization\n\x20foo.com\x20sets\x20a\x20`Policy`\x20at\
\x20their\x20Organization\x20resource\x20node\x20that\x20restricts\n\x20\
the\x20allowed\x20service\x20activations\x20to\x20deny\x20all\x20service\
\x20activations.\x20They\n\x20could\x20then\x20set\x20a\x20`Policy`\x20w\
ith\x20the\x20`policy_type`\x20`restore_default`\x20on\n\x20several\x20e\
xperimental\x20projects,\x20restoring\x20the\x20`constraint_default`\n\
\x20enforcement\x20of\x20the\x20`Constraint`\x20for\x20only\x20those\x20\
projects,\x20allowing\x20those\n\x20projects\x20to\x20have\x20all\x20ser\
vices\x20activated.\n\n\r\n\x05\x04\0\x03\x02\x01\x12\x04\xfd\x01\n\x18\
\n>\n\x04\x04\0\x02\0\x12\x04\x82\x02\x02\x14\x1a0\x20Version\x20of\x20t\
he\x20`Policy`.\x20Default\x20version\x20is\x200;\n\n\r\n\x05\x04\0\x02\
\0\x05\x12\x04\x82\x02\x02\x07\n\r\n\x05\x04\0\x02\0\x01\x12\x04\x82\x02\
\x08\x0f\n\r\n\x05\x04\0\x02\0\x03\x12\x04\x82\x02\x12\x13\n\x98\x01\n\
\x04\x04\0\x02\x01\x12\x04\x88\x02\x02\x18\x1a\x89\x01\x20The\x20name\
\x20of\x20the\x20`Constraint`\x20the\x20`Policy`\x20is\x20configuring,\
\x20for\x20example,\n\x20`constraints/serviceuser.services`.\n\n\x20Immu\
table\x20after\x20creation.\n\n\r\n\x05\x04\0\x02\x01\x05\x12\x04\x88\
\x02\x02\x08\n\r\n\x05\x04\0\x02\x01\x01\x12\x04\x88\x02\t\x13\n\r\n\x05\
\x04\0\x02\x01\x03\x12\x04\x88\x02\x16\x17\n\xb8\x05\n\x04\x04\0\x02\x02\
\x12\x04\x99\x02\x02\x11\x1a\xa9\x05\x20An\x20opaque\x20tag\x20indicatin\
g\x20the\x20current\x20version\x20of\x20the\x20`Policy`,\x20used\x20for\
\n\x20concurrency\x20control.\n\n\x20When\x20the\x20`Policy`\x20is\x20re\
turned\x20from\x20either\x20a\x20`GetPolicy`\x20or\x20a\n\x20`ListOrgPol\
icy`\x20request,\x20this\x20`etag`\x20indicates\x20the\x20version\x20of\
\x20the\x20current\n\x20`Policy`\x20to\x20use\x20when\x20executing\x20a\
\x20read-modify-write\x20loop.\n\n\x20When\x20the\x20`Policy`\x20is\x20r\
eturned\x20from\x20a\x20`GetEffectivePolicy`\x20request,\x20the\n\x20`et\
ag`\x20will\x20be\x20unset.\n\n\x20When\x20the\x20`Policy`\x20is\x20used\
\x20in\x20a\x20`SetOrgPolicy`\x20method,\x20use\x20the\x20`etag`\x20valu\
e\n\x20that\x20was\x20returned\x20from\x20a\x20`GetOrgPolicy`\x20request\
\x20as\x20part\x20of\x20a\n\x20read-modify-write\x20loop\x20for\x20concu\
rrency\x20control.\x20Not\x20setting\x20the\x20`etag`in\x20a\n\x20`SetOr\
gPolicy`\x20request\x20will\x20result\x20in\x20an\x20unconditional\x20wr\
ite\x20of\x20the\n\x20`Policy`.\n\n\r\n\x05\x04\0\x02\x02\x05\x12\x04\
\x99\x02\x02\x07\n\r\n\x05\x04\0\x02\x02\x01\x12\x04\x99\x02\x08\x0c\n\r\
\n\x05\x04\0\x02\x02\x03\x12\x04\x99\x02\x0f\x10\n\xfe\x01\n\x04\x04\0\
\x02\x03\x12\x04\x9f\x02\x02,\x1a\xef\x01\x20The\x20time\x20stamp\x20the\
\x20`Policy`\x20was\x20previously\x20updated.\x20This\x20is\x20set\x20by\
\x20the\n\x20server,\x20not\x20specified\x20by\x20the\x20caller,\x20and\
\x20represents\x20the\x20last\x20time\x20a\x20call\x20to\n\x20`SetOrgPol\
icy`\x20was\x20made\x20for\x20that\x20`Policy`.\x20Any\x20value\x20set\
\x20by\x20the\x20client\x20will\n\x20be\x20ignored.\n\n\r\n\x05\x04\0\
\x02\x03\x06\x12\x04\x9f\x02\x02\x1b\n\r\n\x05\x04\0\x02\x03\x01\x12\x04\
\x9f\x02\x1c'\n\r\n\x05\x04\0\x02\x03\x03\x12\x04\x9f\x02*+\n\xdc\x03\n\
\x04\x04\0\x08\0\x12\x06\xad\x02\x02\xb7\x02\x03\x1a\xcb\x03\x20The\x20f\
ield\x20to\x20populate\x20is\x20based\x20on\x20the\x20`constraint_type`\
\x20value\x20in\x20the\n\x20`Constraint`.\n\x20\x20\x20`list_constraint`\
\x20=>\x20`list_policy`\n\x20\x20\x20`boolean_constraint`\x20=>\x20`bool\
ean_policy`\n\n\x20\x20A\x20`restore_default`\x20message\x20may\x20be\
\x20used\x20with\x20any\x20`Constraint`\x20type.\n\n\x20Providing\x20a\
\x20*_policy\x20that\x20is\x20incompatible\x20with\x20the\x20`constraint\
_type`\x20will\n\x20result\x20in\x20an\x20`invalid_argument`\x20error.\n\
\n\x20Attempting\x20to\x20set\x20a\x20`Policy`\x20with\x20a\x20`policy_t\
ype`\x20not\x20set\x20will\x20result\x20in\x20an\n\x20`invalid_argument`\
\x20error.\n\n\r\n\x05\x04\0\x08\0\x01\x12\x04\xad\x02\x08\x13\n<\n\x04\
\x04\0\x02\x04\x12\x04\xaf\x02\x04\x1f\x1a.\x20List\x20of\x20values\x20e\
ither\x20allowed\x20or\x20disallowed.\n\n\r\n\x05\x04\0\x02\x04\x06\x12\
\x04\xaf\x02\x04\x0e\n\r\n\x05\x04\0\x02\x04\x01\x12\x04\xaf\x02\x0f\x1a\
\n\r\n\x05\x04\0\x02\x04\x03\x12\x04\xaf\x02\x1d\x1e\nV\n\x04\x04\0\x02\
\x05\x12\x04\xb2\x02\x04%\x1aH\x20For\x20boolean\x20`Constraints`,\x20wh\
ether\x20to\x20enforce\x20the\x20`Constraint`\x20or\x20not.\n\n\r\n\x05\
\x04\0\x02\x05\x06\x12\x04\xb2\x02\x04\x11\n\r\n\x05\x04\0\x02\x05\x01\
\x12\x04\xb2\x02\x12\x20\n\r\n\x05\x04\0\x02\x05\x03\x12\x04\xb2\x02#$\n\
c\n\x04\x04\0\x02\x06\x12\x04\xb6\x02\x04'\x1aU\x20Restores\x20the\x20de\
fault\x20behavior\x20of\x20the\x20constraint;\x20independent\x20of\n\x20\
`Constraint`\x20type.\n\n\r\n\x05\x04\0\x02\x06\x06\x12\x04\xb6\x02\x04\
\x12\n\r\n\x05\x04\0\x02\x06\x01\x12\x04\xb6\x02\x13\"\n\r\n\x05\x04\0\
\x02\x06\x03\x12\x04\xb6\x02%&b\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()
})
}