#![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 AccessLevel {
pub name: ::std::string::String,
pub title: ::std::string::String,
pub description: ::std::string::String,
pub create_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub update_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub level: ::std::option::Option<AccessLevel_oneof_level>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a AccessLevel {
fn default() -> &'a AccessLevel {
<AccessLevel as ::protobuf::Message>::default_instance()
}
}
#[derive(Clone,PartialEq,Debug)]
pub enum AccessLevel_oneof_level {
basic(BasicLevel),
custom(CustomLevel),
}
impl AccessLevel {
pub fn new() -> AccessLevel {
::std::default::Default::default()
}
pub fn get_name(&self) -> &str {
&self.name
}
pub fn clear_name(&mut self) {
self.name.clear();
}
pub fn set_name(&mut self, v: ::std::string::String) {
self.name = v;
}
pub fn mut_name(&mut self) -> &mut ::std::string::String {
&mut self.name
}
pub fn take_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.name, ::std::string::String::new())
}
pub fn get_title(&self) -> &str {
&self.title
}
pub fn clear_title(&mut self) {
self.title.clear();
}
pub fn set_title(&mut self, v: ::std::string::String) {
self.title = v;
}
pub fn mut_title(&mut self) -> &mut ::std::string::String {
&mut self.title
}
pub fn take_title(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.title, ::std::string::String::new())
}
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())
}
pub fn get_basic(&self) -> &BasicLevel {
match self.level {
::std::option::Option::Some(AccessLevel_oneof_level::basic(ref v)) => v,
_ => <BasicLevel as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_basic(&mut self) {
self.level = ::std::option::Option::None;
}
pub fn has_basic(&self) -> bool {
match self.level {
::std::option::Option::Some(AccessLevel_oneof_level::basic(..)) => true,
_ => false,
}
}
pub fn set_basic(&mut self, v: BasicLevel) {
self.level = ::std::option::Option::Some(AccessLevel_oneof_level::basic(v))
}
pub fn mut_basic(&mut self) -> &mut BasicLevel {
if let ::std::option::Option::Some(AccessLevel_oneof_level::basic(_)) = self.level {
} else {
self.level = ::std::option::Option::Some(AccessLevel_oneof_level::basic(BasicLevel::new()));
}
match self.level {
::std::option::Option::Some(AccessLevel_oneof_level::basic(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_basic(&mut self) -> BasicLevel {
if self.has_basic() {
match self.level.take() {
::std::option::Option::Some(AccessLevel_oneof_level::basic(v)) => v,
_ => panic!(),
}
} else {
BasicLevel::new()
}
}
pub fn get_custom(&self) -> &CustomLevel {
match self.level {
::std::option::Option::Some(AccessLevel_oneof_level::custom(ref v)) => v,
_ => <CustomLevel as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_custom(&mut self) {
self.level = ::std::option::Option::None;
}
pub fn has_custom(&self) -> bool {
match self.level {
::std::option::Option::Some(AccessLevel_oneof_level::custom(..)) => true,
_ => false,
}
}
pub fn set_custom(&mut self, v: CustomLevel) {
self.level = ::std::option::Option::Some(AccessLevel_oneof_level::custom(v))
}
pub fn mut_custom(&mut self) -> &mut CustomLevel {
if let ::std::option::Option::Some(AccessLevel_oneof_level::custom(_)) = self.level {
} else {
self.level = ::std::option::Option::Some(AccessLevel_oneof_level::custom(CustomLevel::new()));
}
match self.level {
::std::option::Option::Some(AccessLevel_oneof_level::custom(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_custom(&mut self) -> CustomLevel {
if self.has_custom() {
match self.level.take() {
::std::option::Option::Some(AccessLevel_oneof_level::custom(v)) => v,
_ => panic!(),
}
} else {
CustomLevel::new()
}
}
pub fn get_create_time(&self) -> &::protobuf::well_known_types::Timestamp {
self.create_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
}
pub fn clear_create_time(&mut self) {
self.create_time.clear();
}
pub fn has_create_time(&self) -> bool {
self.create_time.is_some()
}
pub fn set_create_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
self.create_time = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_create_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
if self.create_time.is_none() {
self.create_time.set_default();
}
self.create_time.as_mut().unwrap()
}
pub fn take_create_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
self.create_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::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())
}
}
impl ::protobuf::Message for AccessLevel {
fn is_initialized(&self) -> bool {
if let Some(AccessLevel_oneof_level::basic(ref v)) = self.level {
if !v.is_initialized() {
return false;
}
}
if let Some(AccessLevel_oneof_level::custom(ref v)) = self.level {
if !v.is_initialized() {
return false;
}
}
for v in &self.create_time {
if !v.is_initialized() {
return false;
}
};
for v in &self.update_time {
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.name)?;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.title)?;
},
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.level = ::std::option::Option::Some(AccessLevel_oneof_level::basic(is.read_message()?));
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.level = ::std::option::Option::Some(AccessLevel_oneof_level::custom(is.read_message()?));
},
6 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.create_time)?;
},
7 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_time)?;
},
_ => {
::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.name.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.name);
}
if !self.title.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.title);
}
if !self.description.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.description);
}
if let Some(ref v) = self.create_time.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
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.level {
match v {
&AccessLevel_oneof_level::basic(ref v) => {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
},
&AccessLevel_oneof_level::custom(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.name.is_empty() {
os.write_string(1, &self.name)?;
}
if !self.title.is_empty() {
os.write_string(2, &self.title)?;
}
if !self.description.is_empty() {
os.write_string(3, &self.description)?;
}
if let Some(ref v) = self.create_time.as_ref() {
os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.update_time.as_ref() {
os.write_tag(7, ::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.level {
match v {
&AccessLevel_oneof_level::basic(ref v) => {
os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
},
&AccessLevel_oneof_level::custom(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)?;
},
};
}
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() -> AccessLevel {
AccessLevel::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>(
"name",
|m: &AccessLevel| { &m.name },
|m: &mut AccessLevel| { &mut m.name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"title",
|m: &AccessLevel| { &m.title },
|m: &mut AccessLevel| { &mut m.title },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"description",
|m: &AccessLevel| { &m.description },
|m: &mut AccessLevel| { &mut m.description },
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, BasicLevel>(
"basic",
AccessLevel::has_basic,
AccessLevel::get_basic,
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, CustomLevel>(
"custom",
AccessLevel::has_custom,
AccessLevel::get_custom,
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
"create_time",
|m: &AccessLevel| { &m.create_time },
|m: &mut AccessLevel| { &mut m.create_time },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
"update_time",
|m: &AccessLevel| { &m.update_time },
|m: &mut AccessLevel| { &mut m.update_time },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<AccessLevel>(
"AccessLevel",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static AccessLevel {
static instance: ::protobuf::rt::LazyV2<AccessLevel> = ::protobuf::rt::LazyV2::INIT;
instance.get(AccessLevel::new)
}
}
impl ::protobuf::Clear for AccessLevel {
fn clear(&mut self) {
self.name.clear();
self.title.clear();
self.description.clear();
self.level = ::std::option::Option::None;
self.level = ::std::option::Option::None;
self.create_time.clear();
self.update_time.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for AccessLevel {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for AccessLevel {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct BasicLevel {
pub conditions: ::protobuf::RepeatedField<Condition>,
pub combining_function: BasicLevel_ConditionCombiningFunction,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a BasicLevel {
fn default() -> &'a BasicLevel {
<BasicLevel as ::protobuf::Message>::default_instance()
}
}
impl BasicLevel {
pub fn new() -> BasicLevel {
::std::default::Default::default()
}
pub fn get_conditions(&self) -> &[Condition] {
&self.conditions
}
pub fn clear_conditions(&mut self) {
self.conditions.clear();
}
pub fn set_conditions(&mut self, v: ::protobuf::RepeatedField<Condition>) {
self.conditions = v;
}
pub fn mut_conditions(&mut self) -> &mut ::protobuf::RepeatedField<Condition> {
&mut self.conditions
}
pub fn take_conditions(&mut self) -> ::protobuf::RepeatedField<Condition> {
::std::mem::replace(&mut self.conditions, ::protobuf::RepeatedField::new())
}
pub fn get_combining_function(&self) -> BasicLevel_ConditionCombiningFunction {
self.combining_function
}
pub fn clear_combining_function(&mut self) {
self.combining_function = BasicLevel_ConditionCombiningFunction::AND;
}
pub fn set_combining_function(&mut self, v: BasicLevel_ConditionCombiningFunction) {
self.combining_function = v;
}
}
impl ::protobuf::Message for BasicLevel {
fn is_initialized(&self) -> bool {
for v in &self.conditions {
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_repeated_message_into(wire_type, is, &mut self.conditions)?;
},
2 => {
::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.combining_function, 2, &mut self.unknown_fields)?
},
_ => {
::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.conditions {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if self.combining_function != BasicLevel_ConditionCombiningFunction::AND {
my_size += ::protobuf::rt::enum_size(2, self.combining_function);
}
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.conditions {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
if self.combining_function != BasicLevel_ConditionCombiningFunction::AND {
os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.combining_function))?;
}
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() -> BasicLevel {
BasicLevel::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::ProtobufTypeMessage<Condition>>(
"conditions",
|m: &BasicLevel| { &m.conditions },
|m: &mut BasicLevel| { &mut m.conditions },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<BasicLevel_ConditionCombiningFunction>>(
"combining_function",
|m: &BasicLevel| { &m.combining_function },
|m: &mut BasicLevel| { &mut m.combining_function },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<BasicLevel>(
"BasicLevel",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static BasicLevel {
static instance: ::protobuf::rt::LazyV2<BasicLevel> = ::protobuf::rt::LazyV2::INIT;
instance.get(BasicLevel::new)
}
}
impl ::protobuf::Clear for BasicLevel {
fn clear(&mut self) {
self.conditions.clear();
self.combining_function = BasicLevel_ConditionCombiningFunction::AND;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for BasicLevel {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for BasicLevel {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum BasicLevel_ConditionCombiningFunction {
AND = 0,
OR = 1,
}
impl ::protobuf::ProtobufEnum for BasicLevel_ConditionCombiningFunction {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<BasicLevel_ConditionCombiningFunction> {
match value {
0 => ::std::option::Option::Some(BasicLevel_ConditionCombiningFunction::AND),
1 => ::std::option::Option::Some(BasicLevel_ConditionCombiningFunction::OR),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [BasicLevel_ConditionCombiningFunction] = &[
BasicLevel_ConditionCombiningFunction::AND,
BasicLevel_ConditionCombiningFunction::OR,
];
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::<BasicLevel_ConditionCombiningFunction>("BasicLevel.ConditionCombiningFunction", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for BasicLevel_ConditionCombiningFunction {
}
impl ::std::default::Default for BasicLevel_ConditionCombiningFunction {
fn default() -> Self {
BasicLevel_ConditionCombiningFunction::AND
}
}
impl ::protobuf::reflect::ProtobufValue for BasicLevel_ConditionCombiningFunction {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Condition {
pub ip_subnetworks: ::protobuf::RepeatedField<::std::string::String>,
pub device_policy: ::protobuf::SingularPtrField<DevicePolicy>,
pub required_access_levels: ::protobuf::RepeatedField<::std::string::String>,
pub negate: bool,
pub members: ::protobuf::RepeatedField<::std::string::String>,
pub regions: ::protobuf::RepeatedField<::std::string::String>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Condition {
fn default() -> &'a Condition {
<Condition as ::protobuf::Message>::default_instance()
}
}
impl Condition {
pub fn new() -> Condition {
::std::default::Default::default()
}
pub fn get_ip_subnetworks(&self) -> &[::std::string::String] {
&self.ip_subnetworks
}
pub fn clear_ip_subnetworks(&mut self) {
self.ip_subnetworks.clear();
}
pub fn set_ip_subnetworks(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.ip_subnetworks = v;
}
pub fn mut_ip_subnetworks(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.ip_subnetworks
}
pub fn take_ip_subnetworks(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.ip_subnetworks, ::protobuf::RepeatedField::new())
}
pub fn get_device_policy(&self) -> &DevicePolicy {
self.device_policy.as_ref().unwrap_or_else(|| <DevicePolicy as ::protobuf::Message>::default_instance())
}
pub fn clear_device_policy(&mut self) {
self.device_policy.clear();
}
pub fn has_device_policy(&self) -> bool {
self.device_policy.is_some()
}
pub fn set_device_policy(&mut self, v: DevicePolicy) {
self.device_policy = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_device_policy(&mut self) -> &mut DevicePolicy {
if self.device_policy.is_none() {
self.device_policy.set_default();
}
self.device_policy.as_mut().unwrap()
}
pub fn take_device_policy(&mut self) -> DevicePolicy {
self.device_policy.take().unwrap_or_else(|| DevicePolicy::new())
}
pub fn get_required_access_levels(&self) -> &[::std::string::String] {
&self.required_access_levels
}
pub fn clear_required_access_levels(&mut self) {
self.required_access_levels.clear();
}
pub fn set_required_access_levels(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.required_access_levels = v;
}
pub fn mut_required_access_levels(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.required_access_levels
}
pub fn take_required_access_levels(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.required_access_levels, ::protobuf::RepeatedField::new())
}
pub fn get_negate(&self) -> bool {
self.negate
}
pub fn clear_negate(&mut self) {
self.negate = false;
}
pub fn set_negate(&mut self, v: bool) {
self.negate = v;
}
pub fn get_members(&self) -> &[::std::string::String] {
&self.members
}
pub fn clear_members(&mut self) {
self.members.clear();
}
pub fn set_members(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.members = v;
}
pub fn mut_members(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.members
}
pub fn take_members(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.members, ::protobuf::RepeatedField::new())
}
pub fn get_regions(&self) -> &[::std::string::String] {
&self.regions
}
pub fn clear_regions(&mut self) {
self.regions.clear();
}
pub fn set_regions(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.regions = v;
}
pub fn mut_regions(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.regions
}
pub fn take_regions(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.regions, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for Condition {
fn is_initialized(&self) -> bool {
for v in &self.device_policy {
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_repeated_string_into(wire_type, is, &mut self.ip_subnetworks)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.device_policy)?;
},
3 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.required_access_levels)?;
},
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.negate = tmp;
},
6 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.members)?;
},
7 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.regions)?;
},
_ => {
::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.ip_subnetworks {
my_size += ::protobuf::rt::string_size(1, &value);
};
if let Some(ref v) = self.device_policy.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
for value in &self.required_access_levels {
my_size += ::protobuf::rt::string_size(3, &value);
};
if self.negate != false {
my_size += 2;
}
for value in &self.members {
my_size += ::protobuf::rt::string_size(6, &value);
};
for value in &self.regions {
my_size += ::protobuf::rt::string_size(7, &value);
};
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.ip_subnetworks {
os.write_string(1, &v)?;
};
if let Some(ref v) = self.device_policy.as_ref() {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
for v in &self.required_access_levels {
os.write_string(3, &v)?;
};
if self.negate != false {
os.write_bool(5, self.negate)?;
}
for v in &self.members {
os.write_string(6, &v)?;
};
for v in &self.regions {
os.write_string(7, &v)?;
};
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() -> Condition {
Condition::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>(
"ip_subnetworks",
|m: &Condition| { &m.ip_subnetworks },
|m: &mut Condition| { &mut m.ip_subnetworks },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<DevicePolicy>>(
"device_policy",
|m: &Condition| { &m.device_policy },
|m: &mut Condition| { &mut m.device_policy },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"required_access_levels",
|m: &Condition| { &m.required_access_levels },
|m: &mut Condition| { &mut m.required_access_levels },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"negate",
|m: &Condition| { &m.negate },
|m: &mut Condition| { &mut m.negate },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"members",
|m: &Condition| { &m.members },
|m: &mut Condition| { &mut m.members },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"regions",
|m: &Condition| { &m.regions },
|m: &mut Condition| { &mut m.regions },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Condition>(
"Condition",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Condition {
static instance: ::protobuf::rt::LazyV2<Condition> = ::protobuf::rt::LazyV2::INIT;
instance.get(Condition::new)
}
}
impl ::protobuf::Clear for Condition {
fn clear(&mut self) {
self.ip_subnetworks.clear();
self.device_policy.clear();
self.required_access_levels.clear();
self.negate = false;
self.members.clear();
self.regions.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Condition {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Condition {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CustomLevel {
pub expr: ::protobuf::SingularPtrField<super::expr::Expr>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CustomLevel {
fn default() -> &'a CustomLevel {
<CustomLevel as ::protobuf::Message>::default_instance()
}
}
impl CustomLevel {
pub fn new() -> CustomLevel {
::std::default::Default::default()
}
pub fn get_expr(&self) -> &super::expr::Expr {
self.expr.as_ref().unwrap_or_else(|| <super::expr::Expr as ::protobuf::Message>::default_instance())
}
pub fn clear_expr(&mut self) {
self.expr.clear();
}
pub fn has_expr(&self) -> bool {
self.expr.is_some()
}
pub fn set_expr(&mut self, v: super::expr::Expr) {
self.expr = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_expr(&mut self) -> &mut super::expr::Expr {
if self.expr.is_none() {
self.expr.set_default();
}
self.expr.as_mut().unwrap()
}
pub fn take_expr(&mut self) -> super::expr::Expr {
self.expr.take().unwrap_or_else(|| super::expr::Expr::new())
}
}
impl ::protobuf::Message for CustomLevel {
fn is_initialized(&self) -> bool {
for v in &self.expr {
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_message_into(wire_type, is, &mut self.expr)?;
},
_ => {
::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 let Some(ref v) = self.expr.as_ref() {
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 let Some(ref v) = self.expr.as_ref() {
os.write_tag(1, ::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() -> CustomLevel {
CustomLevel::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_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::expr::Expr>>(
"expr",
|m: &CustomLevel| { &m.expr },
|m: &mut CustomLevel| { &mut m.expr },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CustomLevel>(
"CustomLevel",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CustomLevel {
static instance: ::protobuf::rt::LazyV2<CustomLevel> = ::protobuf::rt::LazyV2::INIT;
instance.get(CustomLevel::new)
}
}
impl ::protobuf::Clear for CustomLevel {
fn clear(&mut self) {
self.expr.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CustomLevel {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CustomLevel {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct DevicePolicy {
pub require_screenlock: bool,
pub allowed_encryption_statuses: ::std::vec::Vec<super::device_resources::DeviceEncryptionStatus>,
pub os_constraints: ::protobuf::RepeatedField<OsConstraint>,
pub allowed_device_management_levels: ::std::vec::Vec<super::device_resources::DeviceManagementLevel>,
pub require_admin_approval: bool,
pub require_corp_owned: bool,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a DevicePolicy {
fn default() -> &'a DevicePolicy {
<DevicePolicy as ::protobuf::Message>::default_instance()
}
}
impl DevicePolicy {
pub fn new() -> DevicePolicy {
::std::default::Default::default()
}
pub fn get_require_screenlock(&self) -> bool {
self.require_screenlock
}
pub fn clear_require_screenlock(&mut self) {
self.require_screenlock = false;
}
pub fn set_require_screenlock(&mut self, v: bool) {
self.require_screenlock = v;
}
pub fn get_allowed_encryption_statuses(&self) -> &[super::device_resources::DeviceEncryptionStatus] {
&self.allowed_encryption_statuses
}
pub fn clear_allowed_encryption_statuses(&mut self) {
self.allowed_encryption_statuses.clear();
}
pub fn set_allowed_encryption_statuses(&mut self, v: ::std::vec::Vec<super::device_resources::DeviceEncryptionStatus>) {
self.allowed_encryption_statuses = v;
}
pub fn mut_allowed_encryption_statuses(&mut self) -> &mut ::std::vec::Vec<super::device_resources::DeviceEncryptionStatus> {
&mut self.allowed_encryption_statuses
}
pub fn take_allowed_encryption_statuses(&mut self) -> ::std::vec::Vec<super::device_resources::DeviceEncryptionStatus> {
::std::mem::replace(&mut self.allowed_encryption_statuses, ::std::vec::Vec::new())
}
pub fn get_os_constraints(&self) -> &[OsConstraint] {
&self.os_constraints
}
pub fn clear_os_constraints(&mut self) {
self.os_constraints.clear();
}
pub fn set_os_constraints(&mut self, v: ::protobuf::RepeatedField<OsConstraint>) {
self.os_constraints = v;
}
pub fn mut_os_constraints(&mut self) -> &mut ::protobuf::RepeatedField<OsConstraint> {
&mut self.os_constraints
}
pub fn take_os_constraints(&mut self) -> ::protobuf::RepeatedField<OsConstraint> {
::std::mem::replace(&mut self.os_constraints, ::protobuf::RepeatedField::new())
}
pub fn get_allowed_device_management_levels(&self) -> &[super::device_resources::DeviceManagementLevel] {
&self.allowed_device_management_levels
}
pub fn clear_allowed_device_management_levels(&mut self) {
self.allowed_device_management_levels.clear();
}
pub fn set_allowed_device_management_levels(&mut self, v: ::std::vec::Vec<super::device_resources::DeviceManagementLevel>) {
self.allowed_device_management_levels = v;
}
pub fn mut_allowed_device_management_levels(&mut self) -> &mut ::std::vec::Vec<super::device_resources::DeviceManagementLevel> {
&mut self.allowed_device_management_levels
}
pub fn take_allowed_device_management_levels(&mut self) -> ::std::vec::Vec<super::device_resources::DeviceManagementLevel> {
::std::mem::replace(&mut self.allowed_device_management_levels, ::std::vec::Vec::new())
}
pub fn get_require_admin_approval(&self) -> bool {
self.require_admin_approval
}
pub fn clear_require_admin_approval(&mut self) {
self.require_admin_approval = false;
}
pub fn set_require_admin_approval(&mut self, v: bool) {
self.require_admin_approval = v;
}
pub fn get_require_corp_owned(&self) -> bool {
self.require_corp_owned
}
pub fn clear_require_corp_owned(&mut self) {
self.require_corp_owned = false;
}
pub fn set_require_corp_owned(&mut self, v: bool) {
self.require_corp_owned = v;
}
}
impl ::protobuf::Message for DevicePolicy {
fn is_initialized(&self) -> bool {
for v in &self.os_constraints {
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_bool()?;
self.require_screenlock = tmp;
},
2 => {
::protobuf::rt::read_repeated_enum_with_unknown_fields_into(wire_type, is, &mut self.allowed_encryption_statuses, 2, &mut self.unknown_fields)?
},
3 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.os_constraints)?;
},
6 => {
::protobuf::rt::read_repeated_enum_with_unknown_fields_into(wire_type, is, &mut self.allowed_device_management_levels, 6, &mut self.unknown_fields)?
},
7 => {
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.require_admin_approval = tmp;
},
8 => {
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.require_corp_owned = 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.require_screenlock != false {
my_size += 2;
}
for value in &self.allowed_encryption_statuses {
my_size += ::protobuf::rt::enum_size(2, *value);
};
for value in &self.os_constraints {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.allowed_device_management_levels {
my_size += ::protobuf::rt::enum_size(6, *value);
};
if self.require_admin_approval != false {
my_size += 2;
}
if self.require_corp_owned != 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.require_screenlock != false {
os.write_bool(1, self.require_screenlock)?;
}
for v in &self.allowed_encryption_statuses {
os.write_enum(2, ::protobuf::ProtobufEnum::value(v))?;
};
for v in &self.os_constraints {
os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
for v in &self.allowed_device_management_levels {
os.write_enum(6, ::protobuf::ProtobufEnum::value(v))?;
};
if self.require_admin_approval != false {
os.write_bool(7, self.require_admin_approval)?;
}
if self.require_corp_owned != false {
os.write_bool(8, self.require_corp_owned)?;
}
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() -> DevicePolicy {
DevicePolicy::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>(
"require_screenlock",
|m: &DevicePolicy| { &m.require_screenlock },
|m: &mut DevicePolicy| { &mut m.require_screenlock },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeEnum<super::device_resources::DeviceEncryptionStatus>>(
"allowed_encryption_statuses",
|m: &DevicePolicy| { &m.allowed_encryption_statuses },
|m: &mut DevicePolicy| { &mut m.allowed_encryption_statuses },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OsConstraint>>(
"os_constraints",
|m: &DevicePolicy| { &m.os_constraints },
|m: &mut DevicePolicy| { &mut m.os_constraints },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeEnum<super::device_resources::DeviceManagementLevel>>(
"allowed_device_management_levels",
|m: &DevicePolicy| { &m.allowed_device_management_levels },
|m: &mut DevicePolicy| { &mut m.allowed_device_management_levels },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"require_admin_approval",
|m: &DevicePolicy| { &m.require_admin_approval },
|m: &mut DevicePolicy| { &mut m.require_admin_approval },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"require_corp_owned",
|m: &DevicePolicy| { &m.require_corp_owned },
|m: &mut DevicePolicy| { &mut m.require_corp_owned },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<DevicePolicy>(
"DevicePolicy",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static DevicePolicy {
static instance: ::protobuf::rt::LazyV2<DevicePolicy> = ::protobuf::rt::LazyV2::INIT;
instance.get(DevicePolicy::new)
}
}
impl ::protobuf::Clear for DevicePolicy {
fn clear(&mut self) {
self.require_screenlock = false;
self.allowed_encryption_statuses.clear();
self.os_constraints.clear();
self.allowed_device_management_levels.clear();
self.require_admin_approval = false;
self.require_corp_owned = false;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for DevicePolicy {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for DevicePolicy {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct OsConstraint {
pub os_type: super::device_resources::OsType,
pub minimum_version: ::std::string::String,
pub require_verified_chrome_os: bool,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a OsConstraint {
fn default() -> &'a OsConstraint {
<OsConstraint as ::protobuf::Message>::default_instance()
}
}
impl OsConstraint {
pub fn new() -> OsConstraint {
::std::default::Default::default()
}
pub fn get_os_type(&self) -> super::device_resources::OsType {
self.os_type
}
pub fn clear_os_type(&mut self) {
self.os_type = super::device_resources::OsType::OS_UNSPECIFIED;
}
pub fn set_os_type(&mut self, v: super::device_resources::OsType) {
self.os_type = v;
}
pub fn get_minimum_version(&self) -> &str {
&self.minimum_version
}
pub fn clear_minimum_version(&mut self) {
self.minimum_version.clear();
}
pub fn set_minimum_version(&mut self, v: ::std::string::String) {
self.minimum_version = v;
}
pub fn mut_minimum_version(&mut self) -> &mut ::std::string::String {
&mut self.minimum_version
}
pub fn take_minimum_version(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.minimum_version, ::std::string::String::new())
}
pub fn get_require_verified_chrome_os(&self) -> bool {
self.require_verified_chrome_os
}
pub fn clear_require_verified_chrome_os(&mut self) {
self.require_verified_chrome_os = false;
}
pub fn set_require_verified_chrome_os(&mut self, v: bool) {
self.require_verified_chrome_os = v;
}
}
impl ::protobuf::Message for OsConstraint {
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_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.os_type, 1, &mut self.unknown_fields)?
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.minimum_version)?;
},
3 => {
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.require_verified_chrome_os = 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.os_type != super::device_resources::OsType::OS_UNSPECIFIED {
my_size += ::protobuf::rt::enum_size(1, self.os_type);
}
if !self.minimum_version.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.minimum_version);
}
if self.require_verified_chrome_os != 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.os_type != super::device_resources::OsType::OS_UNSPECIFIED {
os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.os_type))?;
}
if !self.minimum_version.is_empty() {
os.write_string(2, &self.minimum_version)?;
}
if self.require_verified_chrome_os != false {
os.write_bool(3, self.require_verified_chrome_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() -> OsConstraint {
OsConstraint::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::ProtobufTypeEnum<super::device_resources::OsType>>(
"os_type",
|m: &OsConstraint| { &m.os_type },
|m: &mut OsConstraint| { &mut m.os_type },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"minimum_version",
|m: &OsConstraint| { &m.minimum_version },
|m: &mut OsConstraint| { &mut m.minimum_version },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"require_verified_chrome_os",
|m: &OsConstraint| { &m.require_verified_chrome_os },
|m: &mut OsConstraint| { &mut m.require_verified_chrome_os },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<OsConstraint>(
"OsConstraint",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static OsConstraint {
static instance: ::protobuf::rt::LazyV2<OsConstraint> = ::protobuf::rt::LazyV2::INIT;
instance.get(OsConstraint::new)
}
}
impl ::protobuf::Clear for OsConstraint {
fn clear(&mut self) {
self.os_type = super::device_resources::OsType::OS_UNSPECIFIED;
self.minimum_version.clear();
self.require_verified_chrome_os = false;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for OsConstraint {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for OsConstraint {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n:google/identity/accesscontextmanager/v1/access_level.proto\x12'google\
.identity.accesscontextmanager.v1\x1a\x19google/api/resource.proto\x1a@g\
oogle/identity/accesscontextmanager/type/device_resources.proto\x1a\x1fg\
oogle/protobuf/timestamp.proto\x1a\x16google/type/expr.proto\"\xeb\x03\n\
\x0bAccessLevel\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x14\n\
\x05title\x18\x02\x20\x01(\tR\x05title\x12\x20\n\x0bdescription\x18\x03\
\x20\x01(\tR\x0bdescription\x12K\n\x05basic\x18\x04\x20\x01(\x0b23.googl\
e.identity.accesscontextmanager.v1.BasicLevelH\0R\x05basic\x12N\n\x06cus\
tom\x18\x05\x20\x01(\x0b24.google.identity.accesscontextmanager.v1.Custo\
mLevelH\0R\x06custom\x12;\n\x0bcreate_time\x18\x06\x20\x01(\x0b2\x1a.goo\
gle.protobuf.TimestampR\ncreateTime\x12;\n\x0bupdate_time\x18\x07\x20\
\x01(\x0b2\x1a.google.protobuf.TimestampR\nupdateTimeB\x07\n\x05level:p\
\xeaAm\n/accesscontextmanager.googleapis.com/AccessLevel\x12:accessPolic\
ies/{access_policy}/accessLevels/{access_level}\"\x8e\x02\n\nBasicLevel\
\x12R\n\nconditions\x18\x01\x20\x03(\x0b22.google.identity.accesscontext\
manager.v1.ConditionR\nconditions\x12}\n\x12combining_function\x18\x02\
\x20\x01(\x0e2N.google.identity.accesscontextmanager.v1.BasicLevel.Condi\
tionCombiningFunctionR\x11combiningFunction\"-\n\x1aConditionCombiningFu\
nction\x12\x07\n\x03AND\x10\0\x12\x06\n\x02OR\x10\x01\"\x90\x02\n\tCondi\
tion\x12%\n\x0eip_subnetworks\x18\x01\x20\x03(\tR\ripSubnetworks\x12Z\n\
\rdevice_policy\x18\x02\x20\x01(\x0b25.google.identity.accesscontextmana\
ger.v1.DevicePolicyR\x0cdevicePolicy\x124\n\x16required_access_levels\
\x18\x03\x20\x03(\tR\x14requiredAccessLevels\x12\x16\n\x06negate\x18\x05\
\x20\x01(\x08R\x06negate\x12\x18\n\x07members\x18\x06\x20\x03(\tR\x07mem\
bers\x12\x18\n\x07regions\x18\x07\x20\x03(\tR\x07regions\"4\n\x0bCustomL\
evel\x12%\n\x04expr\x18\x01\x20\x01(\x0b2\x11.google.type.ExprR\x04expr\
\"\x8f\x04\n\x0cDevicePolicy\x12-\n\x12require_screenlock\x18\x01\x20\
\x01(\x08R\x11requireScreenlock\x12\x81\x01\n\x1ballowed_encryption_stat\
uses\x18\x02\x20\x03(\x0e2A.google.identity.accesscontextmanager.type.De\
viceEncryptionStatusR\x19allowedEncryptionStatuses\x12\\\n\x0eos_constra\
ints\x18\x03\x20\x03(\x0b25.google.identity.accesscontextmanager.v1.OsCo\
nstraintR\rosConstraints\x12\x89\x01\n\x20allowed_device_management_leve\
ls\x18\x06\x20\x03(\x0e2@.google.identity.accesscontextmanager.type.Devi\
ceManagementLevelR\x1dallowedDeviceManagementLevels\x124\n\x16require_ad\
min_approval\x18\x07\x20\x01(\x08R\x14requireAdminApproval\x12,\n\x12req\
uire_corp_owned\x18\x08\x20\x01(\x08R\x10requireCorpOwned\"\xc0\x01\n\
\x0cOsConstraint\x12J\n\x07os_type\x18\x01\x20\x01(\x0e21.google.identit\
y.accesscontextmanager.type.OsTypeR\x06osType\x12'\n\x0fminimum_version\
\x18\x02\x20\x01(\tR\x0eminimumVersion\x12;\n\x1arequire_verified_chrome\
_os\x18\x03\x20\x01(\x08R\x17requireVerifiedChromeOsB\xa7\x02\n+com.goog\
le.identity.accesscontextmanager.v1B\x10AccessLevelProtoP\x01Z\\cloud.go\
ogle.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb;accesscont\
extmanagerpb\xa2\x02\x04GACM\xaa\x02'Google.Identity.AccessContextManage\
r.V1\xca\x02'Google\\Identity\\AccessContextManager\\V1\xea\x02*Google::\
Identity::AccessContextManager::V1J\xe7>\n\x07\x12\x05\x0e\0\xbf\x01\x01\
\n\xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\x04\x20Copyright\x202022\x20\
Google\x20LLC\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\x20V\
ersion\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20use\x20\
this\x20file\x20except\x20in\x20compliance\x20with\x20the\x20License.\n\
\x20You\x20may\x20obtain\x20a\x20copy\x20of\x20the\x20License\x20at\n\n\
\x20\x20\x20\x20\x20http://www.apache.org/licenses/LICENSE-2.0\n\n\x20Un\
less\x20required\x20by\x20applicable\x20law\x20or\x20agreed\x20to\x20in\
\x20writing,\x20software\n\x20distributed\x20under\x20the\x20License\x20\
is\x20distributed\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20\
WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20expres\
s\x20or\x20implied.\n\x20See\x20the\x20License\x20for\x20the\x20specific\
\x20language\x20governing\x20permissions\x20and\n\x20limitations\x20unde\
r\x20the\x20License.\n\n\x08\n\x01\x02\x12\x03\x10\00\n\t\n\x02\x03\0\
\x12\x03\x12\0#\n\t\n\x02\x03\x01\x12\x03\x13\0J\n\t\n\x02\x03\x02\x12\
\x03\x14\0)\n\t\n\x02\x03\x03\x12\x03\x15\0\x20\n\x08\n\x01\x08\x12\x03\
\x17\0D\n\t\n\x02\x08%\x12\x03\x17\0D\n\x08\n\x01\x08\x12\x03\x18\0s\n\t\
\n\x02\x08\x0b\x12\x03\x18\0s\n\x08\n\x01\x08\x12\x03\x19\0\"\n\t\n\x02\
\x08\n\x12\x03\x19\0\"\n\x08\n\x01\x08\x12\x03\x1a\01\n\t\n\x02\x08\x08\
\x12\x03\x1a\01\n\x08\n\x01\x08\x12\x03\x1b\0D\n\t\n\x02\x08\x01\x12\x03\
\x1b\0D\n\x08\n\x01\x08\x12\x03\x1c\0\"\n\t\n\x02\x08$\x12\x03\x1c\0\"\n\
\x08\n\x01\x08\x12\x03\x1d\0D\n\t\n\x02\x08)\x12\x03\x1d\0D\n\x08\n\x01\
\x08\x12\x03\x1e\0C\n\t\n\x02\x08-\x12\x03\x1e\0C\n\xaf\x01\n\x02\x04\0\
\x12\x04#\0C\x01\x1a\xa2\x01\x20An\x20`AccessLevel`\x20is\x20a\x20label\
\x20that\x20can\x20be\x20applied\x20to\x20requests\x20to\x20Google\x20Cl\
oud\n\x20services,\x20along\x20with\x20a\x20list\x20of\x20requirements\
\x20necessary\x20for\x20the\x20label\x20to\x20be\n\x20applied.\n\n\n\n\
\x03\x04\0\x01\x12\x03#\x08\x13\n\x0b\n\x03\x04\0\x07\x12\x04$\x02'\x04\
\n\r\n\x05\x04\0\x07\x9d\x08\x12\x04$\x02'\x04\n\xa6\x02\n\x04\x04\0\x02\
\0\x12\x03-\x02\x12\x1a\x98\x02\x20Required.\x20Resource\x20name\x20for\
\x20the\x20Access\x20Level.\x20The\x20`short_name`\x20component\n\x20mus\
t\x20begin\x20with\x20a\x20letter\x20and\x20only\x20include\x20alphanume\
ric\x20and\x20'_'.\x20Format:\n\x20`accessPolicies/{access_policy}/acces\
sLevels/{access_level}`.\x20The\x20maximum\n\x20length\x20of\x20the\x20`\
access_level`\x20component\x20is\x2050\x20characters.\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\r\n\
\x0c\n\x05\x04\0\x02\0\x03\x12\x03-\x10\x11\nF\n\x04\x04\0\x02\x01\x12\
\x030\x02\x13\x1a9\x20Human\x20readable\x20title.\x20Must\x20be\x20uniqu\
e\x20within\x20the\x20Policy.\n\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x030\
\x02\x08\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x030\t\x0e\n\x0c\n\x05\x04\0\
\x02\x01\x03\x12\x030\x11\x12\nV\n\x04\x04\0\x02\x02\x12\x033\x02\x19\
\x1aI\x20Description\x20of\x20the\x20`AccessLevel`\x20and\x20its\x20use.\
\x20Does\x20not\x20affect\x20behavior.\n\n\x0c\n\x05\x04\0\x02\x02\x05\
\x12\x033\x02\x08\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x033\t\x14\n\x0c\n\
\x05\x04\0\x02\x02\x03\x12\x033\x17\x18\nT\n\x04\x04\0\x08\0\x12\x046\
\x02<\x03\x1aF\x20Required.\x20Describes\x20the\x20necessary\x20conditio\
ns\x20for\x20the\x20level\x20to\x20apply.\n\n\x0c\n\x05\x04\0\x08\0\x01\
\x12\x036\x08\r\n7\n\x04\x04\0\x02\x03\x12\x038\x04\x19\x1a*\x20A\x20`Ba\
sicLevel`\x20composed\x20of\x20`Conditions`.\n\n\x0c\n\x05\x04\0\x02\x03\
\x06\x12\x038\x04\x0e\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x038\x0f\x14\n\
\x0c\n\x05\x04\0\x02\x03\x03\x12\x038\x17\x18\nI\n\x04\x04\0\x02\x04\x12\
\x03;\x04\x1b\x1a<\x20A\x20`CustomLevel`\x20written\x20in\x20the\x20Comm\
on\x20Expression\x20Language.\n\n\x0c\n\x05\x04\0\x02\x04\x06\x12\x03;\
\x04\x0f\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03;\x10\x16\n\x0c\n\x05\x04\
\0\x02\x04\x03\x12\x03;\x19\x1a\nF\n\x04\x04\0\x02\x05\x12\x03?\x02,\x1a\
9\x20Output\x20only.\x20Time\x20the\x20`AccessLevel`\x20was\x20created\
\x20in\x20UTC.\n\n\x0c\n\x05\x04\0\x02\x05\x06\x12\x03?\x02\x1b\n\x0c\n\
\x05\x04\0\x02\x05\x01\x12\x03?\x1c'\n\x0c\n\x05\x04\0\x02\x05\x03\x12\
\x03?*+\nF\n\x04\x04\0\x02\x06\x12\x03B\x02,\x1a9\x20Output\x20only.\x20\
Time\x20the\x20`AccessLevel`\x20was\x20updated\x20in\x20UTC.\n\n\x0c\n\
\x05\x04\0\x02\x06\x06\x12\x03B\x02\x1b\n\x0c\n\x05\x04\0\x02\x06\x01\
\x12\x03B\x1c'\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x03B*+\nS\n\x02\x04\x01\
\x12\x04F\0Z\x01\x1aG\x20`BasicLevel`\x20is\x20an\x20`AccessLevel`\x20us\
ing\x20a\x20set\x20of\x20recommended\x20features.\n\n\n\n\x03\x04\x01\
\x01\x12\x03F\x08\x12\n\x88\x01\n\x04\x04\x01\x04\0\x12\x04I\x02O\x03\
\x1az\x20Options\x20for\x20how\x20the\x20`conditions`\x20list\x20should\
\x20be\x20combined\x20to\x20determine\x20if\n\x20this\x20`AccessLevel`\
\x20is\x20applied.\x20Default\x20is\x20AND.\n\n\x0c\n\x05\x04\x01\x04\0\
\x01\x12\x03I\x07!\nO\n\x06\x04\x01\x04\0\x02\0\x12\x03K\x04\x0c\x1a@\
\x20All\x20`Conditions`\x20must\x20be\x20true\x20for\x20the\x20`BasicLev\
el`\x20to\x20be\x20true.\n\n\x0e\n\x07\x04\x01\x04\0\x02\0\x01\x12\x03K\
\x04\x07\n\x0e\n\x07\x04\x01\x04\0\x02\0\x02\x12\x03K\n\x0b\nT\n\x06\x04\
\x01\x04\0\x02\x01\x12\x03N\x04\x0b\x1aE\x20If\x20at\x20least\x20one\x20\
`Condition`\x20is\x20true,\x20then\x20the\x20`BasicLevel`\x20is\x20true.\
\n\n\x0e\n\x07\x04\x01\x04\0\x02\x01\x01\x12\x03N\x04\x06\n\x0e\n\x07\
\x04\x01\x04\0\x02\x01\x02\x12\x03N\t\n\nT\n\x04\x04\x01\x02\0\x12\x03R\
\x02$\x1aG\x20Required.\x20A\x20list\x20of\x20requirements\x20for\x20the\
\x20`AccessLevel`\x20to\x20be\x20granted.\n\n\x0c\n\x05\x04\x01\x02\0\
\x04\x12\x03R\x02\n\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03R\x0b\x14\n\x0c\
\n\x05\x04\x01\x02\0\x01\x12\x03R\x15\x1f\n\x0c\n\x05\x04\x01\x02\0\x03\
\x12\x03R\"#\n\xe9\x02\n\x04\x04\x01\x02\x01\x12\x03Y\x024\x1a\xdb\x02\
\x20How\x20the\x20`conditions`\x20list\x20should\x20be\x20combined\x20to\
\x20determine\x20if\x20a\x20request\x20is\n\x20granted\x20this\x20`Acces\
sLevel`.\x20If\x20AND\x20is\x20used,\x20each\x20`Condition`\x20in\n\x20`\
conditions`\x20must\x20be\x20satisfied\x20for\x20the\x20`AccessLevel`\
\x20to\x20be\x20applied.\x20If\x20OR\n\x20is\x20used,\x20at\x20least\x20\
one\x20`Condition`\x20in\x20`conditions`\x20must\x20be\x20satisfied\x20f\
or\x20the\n\x20`AccessLevel`\x20to\x20be\x20applied.\x20Default\x20behav\
ior\x20is\x20AND.\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03Y\x02\x1c\n\
\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03Y\x1d/\n\x0c\n\x05\x04\x01\x02\x01\
\x03\x12\x03Y23\n\x84\x03\n\x02\x04\x02\x12\x05a\0\x87\x01\x01\x1a\xf6\
\x02\x20A\x20condition\x20necessary\x20for\x20an\x20`AccessLevel`\x20to\
\x20be\x20granted.\x20The\x20Condition\x20is\x20an\n\x20AND\x20over\x20i\
ts\x20fields.\x20So\x20a\x20Condition\x20is\x20true\x20if:\x201)\x20the\
\x20request\x20IP\x20is\x20from\x20one\n\x20of\x20the\x20listed\x20subne\
tworks\x20AND\x202)\x20the\x20originating\x20device\x20complies\x20with\
\x20the\n\x20listed\x20device\x20policy\x20AND\x203)\x20all\x20listed\
\x20access\x20levels\x20are\x20granted\x20AND\x204)\x20the\n\x20request\
\x20was\x20sent\x20at\x20a\x20time\x20allowed\x20by\x20the\x20DateTimeRe\
striction.\n\n\n\n\x03\x04\x02\x01\x12\x03a\x08\x11\n\xac\x04\n\x04\x04\
\x02\x02\0\x12\x03j\x02%\x1a\x9e\x04\x20CIDR\x20block\x20IP\x20subnetwor\
k\x20specification.\x20May\x20be\x20IPv4\x20or\x20IPv6.\x20Note\x20that\
\x20for\n\x20a\x20CIDR\x20IP\x20address\x20block,\x20the\x20specified\
\x20IP\x20address\x20portion\x20must\x20be\x20properly\n\x20truncated\
\x20(i.e.\x20all\x20the\x20host\x20bits\x20must\x20be\x20zero)\x20or\x20\
the\x20input\x20is\x20considered\n\x20malformed.\x20For\x20example,\x20\
\"192.0.2.0/24\"\x20is\x20accepted\x20but\x20\"192.0.2.1/24\"\x20is\n\
\x20not.\x20Similarly,\x20for\x20IPv6,\x20\"2001:db8::/32\"\x20is\x20acc\
epted\x20whereas\n\x20\"2001:db8::1/32\"\x20is\x20not.\x20The\x20origina\
ting\x20IP\x20of\x20a\x20request\x20must\x20be\x20in\x20one\x20of\n\x20t\
he\x20listed\x20subnets\x20in\x20order\x20for\x20this\x20Condition\x20to\
\x20be\x20true.\x20If\x20empty,\x20all\x20IP\n\x20addresses\x20are\x20al\
lowed.\n\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x03j\x02\n\n\x0c\n\x05\x04\
\x02\x02\0\x05\x12\x03j\x0b\x11\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03j\
\x12\x20\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03j#$\n\x92\x01\n\x04\x04\
\x02\x02\x01\x12\x03n\x02!\x1a\x84\x01\x20Device\x20specific\x20restrict\
ions,\x20all\x20restrictions\x20must\x20hold\x20for\x20the\n\x20Conditio\
n\x20to\x20be\x20true.\x20If\x20not\x20specified,\x20all\x20devices\x20a\
re\x20allowed.\n\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03n\x02\x0e\n\x0c\
\n\x05\x04\x02\x02\x01\x01\x12\x03n\x0f\x1c\n\x0c\n\x05\x04\x02\x02\x01\
\x03\x12\x03n\x1f\x20\n\xb0\x02\n\x04\x04\x02\x02\x02\x12\x03u\x02-\x1a\
\xa2\x02\x20A\x20list\x20of\x20other\x20access\x20levels\x20defined\x20i\
n\x20the\x20same\x20`Policy`,\x20referenced\x20by\n\x20resource\x20name.\
\x20Referencing\x20an\x20`AccessLevel`\x20which\x20does\x20not\x20exist\
\x20is\x20an\n\x20error.\x20All\x20access\x20levels\x20listed\x20must\
\x20be\x20granted\x20for\x20the\x20Condition\n\x20to\x20be\x20true.\x20E\
xample:\n\x20\"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`\n\n\
\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03u\x02\n\n\x0c\n\x05\x04\x02\x02\
\x02\x05\x12\x03u\x0b\x11\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03u\x12(\
\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03u+,\n\xca\x01\n\x04\x04\x02\x02\
\x03\x12\x03z\x02\x12\x1a\xbc\x01\x20Whether\x20to\x20negate\x20the\x20C\
ondition.\x20If\x20true,\x20the\x20Condition\x20becomes\x20a\x20NAND\x20\
over\n\x20its\x20non-empty\x20fields,\x20each\x20field\x20must\x20be\x20\
false\x20for\x20the\x20Condition\x20overall\x20to\n\x20be\x20satisfied.\
\x20Defaults\x20to\x20false.\n\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03z\
\x02\x06\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03z\x07\r\n\x0c\n\x05\x04\
\x02\x02\x03\x03\x12\x03z\x10\x11\n\xe1\x01\n\x04\x04\x02\x02\x04\x12\
\x04\x82\x01\x02\x1e\x1a\xd2\x01\x20The\x20request\x20must\x20be\x20made\
\x20by\x20one\x20of\x20the\x20provided\x20user\x20or\x20service\n\x20acc\
ounts.\x20Groups\x20are\x20not\x20supported.\n\x20Syntax:\n\x20`user:{em\
ailid}`\n\x20`serviceAccount:{emailid}`\n\x20If\x20not\x20specified,\x20\
a\x20request\x20may\x20come\x20from\x20any\x20user.\n\n\r\n\x05\x04\x02\
\x02\x04\x04\x12\x04\x82\x01\x02\n\n\r\n\x05\x04\x02\x02\x04\x05\x12\x04\
\x82\x01\x0b\x11\n\r\n\x05\x04\x02\x02\x04\x01\x12\x04\x82\x01\x12\x19\n\
\r\n\x05\x04\x02\x02\x04\x03\x12\x04\x82\x01\x1c\x1d\n\x7f\n\x04\x04\x02\
\x02\x05\x12\x04\x86\x01\x02\x1e\x1aq\x20The\x20request\x20must\x20origi\
nate\x20from\x20one\x20of\x20the\x20provided\x20countries/regions.\n\x20\
Must\x20be\x20valid\x20ISO\x203166-1\x20alpha-2\x20codes.\n\n\r\n\x05\
\x04\x02\x02\x05\x04\x12\x04\x86\x01\x02\n\n\r\n\x05\x04\x02\x02\x05\x05\
\x12\x04\x86\x01\x0b\x11\n\r\n\x05\x04\x02\x02\x05\x01\x12\x04\x86\x01\
\x12\x19\n\r\n\x05\x04\x02\x02\x05\x03\x12\x04\x86\x01\x1c\x1d\n\xde\x01\
\n\x02\x04\x03\x12\x06\x8c\x01\0\x8f\x01\x01\x1a\xcf\x01\x20`CustomLevel\
`\x20is\x20an\x20`AccessLevel`\x20using\x20the\x20Cloud\x20Common\x20Exp\
ression\x20Language\n\x20to\x20represent\x20the\x20necessary\x20conditio\
ns\x20for\x20the\x20level\x20to\x20apply\x20to\x20a\x20request.\n\x20See\
\x20CEL\x20spec\x20at:\x20https://github.com/google/cel-spec\n\n\x0b\n\
\x03\x04\x03\x01\x12\x04\x8c\x01\x08\x13\nI\n\x04\x04\x03\x02\0\x12\x04\
\x8e\x01\x02\x1c\x1a;\x20Required.\x20A\x20Cloud\x20CEL\x20expression\
\x20evaluating\x20to\x20a\x20boolean.\n\n\r\n\x05\x04\x03\x02\0\x06\x12\
\x04\x8e\x01\x02\x12\n\r\n\x05\x04\x03\x02\0\x01\x12\x04\x8e\x01\x13\x17\
\n\r\n\x05\x04\x03\x02\0\x03\x12\x04\x8e\x01\x1a\x1b\n\xfd\x04\n\x02\x04\
\x04\x12\x06\x9a\x01\0\xae\x01\x01\x1a\xee\x04\x20`DevicePolicy`\x20spec\
ifies\x20device\x20specific\x20restrictions\x20necessary\x20to\x20acquir\
e\x20a\n\x20given\x20access\x20level.\x20A\x20`DevicePolicy`\x20specifie\
s\x20requirements\x20for\x20requests\x20from\n\x20devices\x20to\x20be\
\x20granted\x20access\x20levels,\x20it\x20does\x20not\x20do\x20any\x20en\
forcement\x20on\x20the\n\x20device.\x20`DevicePolicy`\x20acts\x20as\x20a\
n\x20AND\x20over\x20all\x20specified\x20fields,\x20and\x20each\n\x20repe\
ated\x20field\x20is\x20an\x20OR\x20over\x20its\x20elements.\x20Any\x20un\
set\x20fields\x20are\x20ignored.\x20For\n\x20example,\x20if\x20the\x20pr\
oto\x20is\x20{\x20os_type\x20:\x20DESKTOP_WINDOWS,\x20os_type\x20:\n\x20\
DESKTOP_LINUX,\x20encryption_status:\x20ENCRYPTED},\x20then\x20the\x20De\
vicePolicy\x20will\x20be\n\x20true\x20for\x20requests\x20originating\x20\
from\x20encrypted\x20Linux\x20desktops\x20and\x20encrypted\n\x20Windows\
\x20desktops.\n\n\x0b\n\x03\x04\x04\x01\x12\x04\x9a\x01\x08\x14\nl\n\x04\
\x04\x04\x02\0\x12\x04\x9d\x01\x02\x1e\x1a^\x20Whether\x20or\x20not\x20s\
creenlock\x20is\x20required\x20for\x20the\x20DevicePolicy\x20to\x20be\
\x20true.\n\x20Defaults\x20to\x20`false`.\n\n\r\n\x05\x04\x04\x02\0\x05\
\x12\x04\x9d\x01\x02\x06\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\x9d\x01\x07\
\x19\n\r\n\x05\x04\x04\x02\0\x03\x12\x04\x9d\x01\x1c\x1d\nP\n\x04\x04\
\x04\x02\x01\x12\x04\xa0\x01\x02l\x1aB\x20Allowed\x20encryptions\x20stat\
uses,\x20an\x20empty\x20list\x20allows\x20all\x20statuses.\n\n\r\n\x05\
\x04\x04\x02\x01\x04\x12\x04\xa0\x01\x02\n\n\r\n\x05\x04\x04\x02\x01\x06\
\x12\x04\xa0\x01\x0bK\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\xa0\x01Lg\n\
\r\n\x05\x04\x04\x02\x01\x03\x12\x04\xa0\x01jk\nU\n\x04\x04\x04\x02\x02\
\x12\x04\xa3\x01\x02+\x1aG\x20Allowed\x20OS\x20versions,\x20an\x20empty\
\x20list\x20allows\x20all\x20types\x20and\x20all\x20versions.\n\n\r\n\
\x05\x04\x04\x02\x02\x04\x12\x04\xa3\x01\x02\n\n\r\n\x05\x04\x04\x02\x02\
\x06\x12\x04\xa3\x01\x0b\x17\n\r\n\x05\x04\x04\x02\x02\x01\x12\x04\xa3\
\x01\x18&\n\r\n\x05\x04\x04\x02\x02\x03\x12\x04\xa3\x01)*\n^\n\x04\x04\
\x04\x02\x03\x12\x04\xa7\x01\x02p\x1aP\x20Allowed\x20device\x20managemen\
t\x20levels,\x20an\x20empty\x20list\x20allows\x20all\x20management\n\x20\
levels.\n\n\r\n\x05\x04\x04\x02\x03\x04\x12\x04\xa7\x01\x02\n\n\r\n\x05\
\x04\x04\x02\x03\x06\x12\x04\xa7\x01\x0bJ\n\r\n\x05\x04\x04\x02\x03\x01\
\x12\x04\xa7\x01Kk\n\r\n\x05\x04\x04\x02\x03\x03\x12\x04\xa7\x01no\nN\n\
\x04\x04\x04\x02\x04\x12\x04\xaa\x01\x02\"\x1a@\x20Whether\x20the\x20dev\
ice\x20needs\x20to\x20be\x20approved\x20by\x20the\x20customer\x20admin.\
\n\n\r\n\x05\x04\x04\x02\x04\x05\x12\x04\xaa\x01\x02\x06\n\r\n\x05\x04\
\x04\x02\x04\x01\x12\x04\xaa\x01\x07\x1d\n\r\n\x05\x04\x04\x02\x04\x03\
\x12\x04\xaa\x01\x20!\n:\n\x04\x04\x04\x02\x05\x12\x04\xad\x01\x02\x1e\
\x1a,\x20Whether\x20the\x20device\x20needs\x20to\x20be\x20corp\x20owned.\
\n\n\r\n\x05\x04\x04\x02\x05\x05\x12\x04\xad\x01\x02\x06\n\r\n\x05\x04\
\x04\x02\x05\x01\x12\x04\xad\x01\x07\x19\n\r\n\x05\x04\x04\x02\x05\x03\
\x12\x04\xad\x01\x1c\x1d\nT\n\x02\x04\x05\x12\x06\xb1\x01\0\xbf\x01\x01\
\x1aF\x20A\x20restriction\x20on\x20the\x20OS\x20type\x20and\x20version\
\x20of\x20devices\x20making\x20requests.\n\n\x0b\n\x03\x04\x05\x01\x12\
\x04\xb1\x01\x08\x14\n.\n\x04\x04\x05\x02\0\x12\x04\xb3\x01\x02?\x1a\x20\
\x20Required.\x20The\x20allowed\x20OS\x20type.\n\n\r\n\x05\x04\x05\x02\0\
\x06\x12\x04\xb3\x01\x022\n\r\n\x05\x04\x05\x02\0\x01\x12\x04\xb3\x013:\
\n\r\n\x05\x04\x05\x02\0\x03\x12\x04\xb3\x01=>\n\xb1\x01\n\x04\x04\x05\
\x02\x01\x12\x04\xb8\x01\x02\x1d\x1a\xa2\x01\x20The\x20minimum\x20allowe\
d\x20OS\x20version.\x20If\x20not\x20set,\x20any\x20version\x20of\x20this\
\x20OS\n\x20satisfies\x20the\x20constraint.\x20Format:\x20`\"major.minor\
.patch\"`.\n\x20Examples:\x20`\"10.5.301\"`,\x20`\"9.2.1\"`.\n\n\r\n\x05\
\x04\x05\x02\x01\x05\x12\x04\xb8\x01\x02\x08\n\r\n\x05\x04\x05\x02\x01\
\x01\x12\x04\xb8\x01\t\x18\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xb8\x01\
\x1b\x1c\n\x81\x02\n\x04\x04\x05\x02\x02\x12\x04\xbe\x01\x02&\x1a\xf2\
\x01\x20Only\x20allows\x20requests\x20from\x20devices\x20with\x20a\x20ve\
rified\x20Chrome\x20OS.\n\x20Verifications\x20includes\x20requirements\
\x20that\x20the\x20device\x20is\x20enterprise-managed,\n\x20conformant\
\x20to\x20domain\x20policies,\x20and\x20the\x20caller\x20has\x20permissi\
on\x20to\x20call\n\x20the\x20API\x20targeted\x20by\x20the\x20request.\n\
\n\r\n\x05\x04\x05\x02\x02\x05\x12\x04\xbe\x01\x02\x06\n\r\n\x05\x04\x05\
\x02\x02\x01\x12\x04\xbe\x01\x07!\n\r\n\x05\x04\x05\x02\x02\x03\x12\x04\
\xbe\x01$%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()
})
}