#![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 TemporalAsset {
pub window: ::protobuf::SingularPtrField<TimeWindow>,
pub deleted: bool,
pub asset: ::protobuf::SingularPtrField<Asset>,
pub prior_asset_state: TemporalAsset_PriorAssetState,
pub prior_asset: ::protobuf::SingularPtrField<Asset>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a TemporalAsset {
fn default() -> &'a TemporalAsset {
<TemporalAsset as ::protobuf::Message>::default_instance()
}
}
impl TemporalAsset {
pub fn new() -> TemporalAsset {
::std::default::Default::default()
}
pub fn get_window(&self) -> &TimeWindow {
self.window.as_ref().unwrap_or_else(|| <TimeWindow as ::protobuf::Message>::default_instance())
}
pub fn clear_window(&mut self) {
self.window.clear();
}
pub fn has_window(&self) -> bool {
self.window.is_some()
}
pub fn set_window(&mut self, v: TimeWindow) {
self.window = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_window(&mut self) -> &mut TimeWindow {
if self.window.is_none() {
self.window.set_default();
}
self.window.as_mut().unwrap()
}
pub fn take_window(&mut self) -> TimeWindow {
self.window.take().unwrap_or_else(|| TimeWindow::new())
}
pub fn get_deleted(&self) -> bool {
self.deleted
}
pub fn clear_deleted(&mut self) {
self.deleted = false;
}
pub fn set_deleted(&mut self, v: bool) {
self.deleted = v;
}
pub fn get_asset(&self) -> &Asset {
self.asset.as_ref().unwrap_or_else(|| <Asset as ::protobuf::Message>::default_instance())
}
pub fn clear_asset(&mut self) {
self.asset.clear();
}
pub fn has_asset(&self) -> bool {
self.asset.is_some()
}
pub fn set_asset(&mut self, v: Asset) {
self.asset = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_asset(&mut self) -> &mut Asset {
if self.asset.is_none() {
self.asset.set_default();
}
self.asset.as_mut().unwrap()
}
pub fn take_asset(&mut self) -> Asset {
self.asset.take().unwrap_or_else(|| Asset::new())
}
pub fn get_prior_asset_state(&self) -> TemporalAsset_PriorAssetState {
self.prior_asset_state
}
pub fn clear_prior_asset_state(&mut self) {
self.prior_asset_state = TemporalAsset_PriorAssetState::PRIOR_ASSET_STATE_UNSPECIFIED;
}
pub fn set_prior_asset_state(&mut self, v: TemporalAsset_PriorAssetState) {
self.prior_asset_state = v;
}
pub fn get_prior_asset(&self) -> &Asset {
self.prior_asset.as_ref().unwrap_or_else(|| <Asset as ::protobuf::Message>::default_instance())
}
pub fn clear_prior_asset(&mut self) {
self.prior_asset.clear();
}
pub fn has_prior_asset(&self) -> bool {
self.prior_asset.is_some()
}
pub fn set_prior_asset(&mut self, v: Asset) {
self.prior_asset = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_prior_asset(&mut self) -> &mut Asset {
if self.prior_asset.is_none() {
self.prior_asset.set_default();
}
self.prior_asset.as_mut().unwrap()
}
pub fn take_prior_asset(&mut self) -> Asset {
self.prior_asset.take().unwrap_or_else(|| Asset::new())
}
}
impl ::protobuf::Message for TemporalAsset {
fn is_initialized(&self) -> bool {
for v in &self.window {
if !v.is_initialized() {
return false;
}
};
for v in &self.asset {
if !v.is_initialized() {
return false;
}
};
for v in &self.prior_asset {
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.window)?;
},
2 => {
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.deleted = tmp;
},
3 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.asset)?;
},
4 => {
::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.prior_asset_state, 4, &mut self.unknown_fields)?
},
5 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.prior_asset)?;
},
_ => {
::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.window.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if self.deleted != false {
my_size += 2;
}
if let Some(ref v) = self.asset.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if self.prior_asset_state != TemporalAsset_PriorAssetState::PRIOR_ASSET_STATE_UNSPECIFIED {
my_size += ::protobuf::rt::enum_size(4, self.prior_asset_state);
}
if let Some(ref v) = self.prior_asset.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.window.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)?;
}
if self.deleted != false {
os.write_bool(2, self.deleted)?;
}
if let Some(ref v) = self.asset.as_ref() {
os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if self.prior_asset_state != TemporalAsset_PriorAssetState::PRIOR_ASSET_STATE_UNSPECIFIED {
os.write_enum(4, ::protobuf::ProtobufEnum::value(&self.prior_asset_state))?;
}
if let Some(ref v) = self.prior_asset.as_ref() {
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() -> TemporalAsset {
TemporalAsset::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<TimeWindow>>(
"window",
|m: &TemporalAsset| { &m.window },
|m: &mut TemporalAsset| { &mut m.window },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"deleted",
|m: &TemporalAsset| { &m.deleted },
|m: &mut TemporalAsset| { &mut m.deleted },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Asset>>(
"asset",
|m: &TemporalAsset| { &m.asset },
|m: &mut TemporalAsset| { &mut m.asset },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<TemporalAsset_PriorAssetState>>(
"prior_asset_state",
|m: &TemporalAsset| { &m.prior_asset_state },
|m: &mut TemporalAsset| { &mut m.prior_asset_state },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Asset>>(
"prior_asset",
|m: &TemporalAsset| { &m.prior_asset },
|m: &mut TemporalAsset| { &mut m.prior_asset },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<TemporalAsset>(
"TemporalAsset",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static TemporalAsset {
static instance: ::protobuf::rt::LazyV2<TemporalAsset> = ::protobuf::rt::LazyV2::INIT;
instance.get(TemporalAsset::new)
}
}
impl ::protobuf::Clear for TemporalAsset {
fn clear(&mut self) {
self.window.clear();
self.deleted = false;
self.asset.clear();
self.prior_asset_state = TemporalAsset_PriorAssetState::PRIOR_ASSET_STATE_UNSPECIFIED;
self.prior_asset.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for TemporalAsset {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for TemporalAsset {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum TemporalAsset_PriorAssetState {
PRIOR_ASSET_STATE_UNSPECIFIED = 0,
PRESENT = 1,
INVALID = 2,
DOES_NOT_EXIST = 3,
DELETED = 4,
}
impl ::protobuf::ProtobufEnum for TemporalAsset_PriorAssetState {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<TemporalAsset_PriorAssetState> {
match value {
0 => ::std::option::Option::Some(TemporalAsset_PriorAssetState::PRIOR_ASSET_STATE_UNSPECIFIED),
1 => ::std::option::Option::Some(TemporalAsset_PriorAssetState::PRESENT),
2 => ::std::option::Option::Some(TemporalAsset_PriorAssetState::INVALID),
3 => ::std::option::Option::Some(TemporalAsset_PriorAssetState::DOES_NOT_EXIST),
4 => ::std::option::Option::Some(TemporalAsset_PriorAssetState::DELETED),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [TemporalAsset_PriorAssetState] = &[
TemporalAsset_PriorAssetState::PRIOR_ASSET_STATE_UNSPECIFIED,
TemporalAsset_PriorAssetState::PRESENT,
TemporalAsset_PriorAssetState::INVALID,
TemporalAsset_PriorAssetState::DOES_NOT_EXIST,
TemporalAsset_PriorAssetState::DELETED,
];
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::<TemporalAsset_PriorAssetState>("TemporalAsset.PriorAssetState", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for TemporalAsset_PriorAssetState {
}
impl ::std::default::Default for TemporalAsset_PriorAssetState {
fn default() -> Self {
TemporalAsset_PriorAssetState::PRIOR_ASSET_STATE_UNSPECIFIED
}
}
impl ::protobuf::reflect::ProtobufValue for TemporalAsset_PriorAssetState {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct TimeWindow {
pub start_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub end_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a TimeWindow {
fn default() -> &'a TimeWindow {
<TimeWindow as ::protobuf::Message>::default_instance()
}
}
impl TimeWindow {
pub fn new() -> TimeWindow {
::std::default::Default::default()
}
pub fn get_start_time(&self) -> &::protobuf::well_known_types::Timestamp {
self.start_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
}
pub fn clear_start_time(&mut self) {
self.start_time.clear();
}
pub fn has_start_time(&self) -> bool {
self.start_time.is_some()
}
pub fn set_start_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
self.start_time = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_start_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
if self.start_time.is_none() {
self.start_time.set_default();
}
self.start_time.as_mut().unwrap()
}
pub fn take_start_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
self.start_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
}
pub fn get_end_time(&self) -> &::protobuf::well_known_types::Timestamp {
self.end_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
}
pub fn clear_end_time(&mut self) {
self.end_time.clear();
}
pub fn has_end_time(&self) -> bool {
self.end_time.is_some()
}
pub fn set_end_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
self.end_time = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_end_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
if self.end_time.is_none() {
self.end_time.set_default();
}
self.end_time.as_mut().unwrap()
}
pub fn take_end_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
self.end_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
}
}
impl ::protobuf::Message for TimeWindow {
fn is_initialized(&self) -> bool {
for v in &self.start_time {
if !v.is_initialized() {
return false;
}
};
for v in &self.end_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_message_into(wire_type, is, &mut self.start_time)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.end_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 let Some(ref v) = self.start_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.end_time.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.start_time.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)?;
}
if let Some(ref v) = self.end_time.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)?;
}
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() -> TimeWindow {
TimeWindow::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<::protobuf::well_known_types::Timestamp>>(
"start_time",
|m: &TimeWindow| { &m.start_time },
|m: &mut TimeWindow| { &mut m.start_time },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
"end_time",
|m: &TimeWindow| { &m.end_time },
|m: &mut TimeWindow| { &mut m.end_time },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<TimeWindow>(
"TimeWindow",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static TimeWindow {
static instance: ::protobuf::rt::LazyV2<TimeWindow> = ::protobuf::rt::LazyV2::INIT;
instance.get(TimeWindow::new)
}
}
impl ::protobuf::Clear for TimeWindow {
fn clear(&mut self) {
self.start_time.clear();
self.end_time.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for TimeWindow {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for TimeWindow {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Asset {
pub update_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub name: ::std::string::String,
pub asset_type: ::std::string::String,
pub resource: ::protobuf::SingularPtrField<Resource>,
pub iam_policy: ::protobuf::SingularPtrField<super::policy::Policy>,
pub org_policy: ::protobuf::RepeatedField<super::orgpolicy::Policy>,
pub os_inventory: ::protobuf::SingularPtrField<super::inventory::Inventory>,
pub related_assets: ::protobuf::SingularPtrField<RelatedAssets>,
pub related_asset: ::protobuf::SingularPtrField<RelatedAsset>,
pub ancestors: ::protobuf::RepeatedField<::std::string::String>,
pub access_context_policy: ::std::option::Option<Asset_oneof_access_context_policy>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Asset {
fn default() -> &'a Asset {
<Asset as ::protobuf::Message>::default_instance()
}
}
#[derive(Clone,PartialEq,Debug)]
pub enum Asset_oneof_access_context_policy {
access_policy(super::access_policy::AccessPolicy),
access_level(super::access_level::AccessLevel),
service_perimeter(super::service_perimeter::ServicePerimeter),
}
impl Asset {
pub fn new() -> Asset {
::std::default::Default::default()
}
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_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_asset_type(&self) -> &str {
&self.asset_type
}
pub fn clear_asset_type(&mut self) {
self.asset_type.clear();
}
pub fn set_asset_type(&mut self, v: ::std::string::String) {
self.asset_type = v;
}
pub fn mut_asset_type(&mut self) -> &mut ::std::string::String {
&mut self.asset_type
}
pub fn take_asset_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.asset_type, ::std::string::String::new())
}
pub fn get_resource(&self) -> &Resource {
self.resource.as_ref().unwrap_or_else(|| <Resource as ::protobuf::Message>::default_instance())
}
pub fn clear_resource(&mut self) {
self.resource.clear();
}
pub fn has_resource(&self) -> bool {
self.resource.is_some()
}
pub fn set_resource(&mut self, v: Resource) {
self.resource = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_resource(&mut self) -> &mut Resource {
if self.resource.is_none() {
self.resource.set_default();
}
self.resource.as_mut().unwrap()
}
pub fn take_resource(&mut self) -> Resource {
self.resource.take().unwrap_or_else(|| Resource::new())
}
pub fn get_iam_policy(&self) -> &super::policy::Policy {
self.iam_policy.as_ref().unwrap_or_else(|| <super::policy::Policy as ::protobuf::Message>::default_instance())
}
pub fn clear_iam_policy(&mut self) {
self.iam_policy.clear();
}
pub fn has_iam_policy(&self) -> bool {
self.iam_policy.is_some()
}
pub fn set_iam_policy(&mut self, v: super::policy::Policy) {
self.iam_policy = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_iam_policy(&mut self) -> &mut super::policy::Policy {
if self.iam_policy.is_none() {
self.iam_policy.set_default();
}
self.iam_policy.as_mut().unwrap()
}
pub fn take_iam_policy(&mut self) -> super::policy::Policy {
self.iam_policy.take().unwrap_or_else(|| super::policy::Policy::new())
}
pub fn get_org_policy(&self) -> &[super::orgpolicy::Policy] {
&self.org_policy
}
pub fn clear_org_policy(&mut self) {
self.org_policy.clear();
}
pub fn set_org_policy(&mut self, v: ::protobuf::RepeatedField<super::orgpolicy::Policy>) {
self.org_policy = v;
}
pub fn mut_org_policy(&mut self) -> &mut ::protobuf::RepeatedField<super::orgpolicy::Policy> {
&mut self.org_policy
}
pub fn take_org_policy(&mut self) -> ::protobuf::RepeatedField<super::orgpolicy::Policy> {
::std::mem::replace(&mut self.org_policy, ::protobuf::RepeatedField::new())
}
pub fn get_access_policy(&self) -> &super::access_policy::AccessPolicy {
match self.access_context_policy {
::std::option::Option::Some(Asset_oneof_access_context_policy::access_policy(ref v)) => v,
_ => <super::access_policy::AccessPolicy as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_access_policy(&mut self) {
self.access_context_policy = ::std::option::Option::None;
}
pub fn has_access_policy(&self) -> bool {
match self.access_context_policy {
::std::option::Option::Some(Asset_oneof_access_context_policy::access_policy(..)) => true,
_ => false,
}
}
pub fn set_access_policy(&mut self, v: super::access_policy::AccessPolicy) {
self.access_context_policy = ::std::option::Option::Some(Asset_oneof_access_context_policy::access_policy(v))
}
pub fn mut_access_policy(&mut self) -> &mut super::access_policy::AccessPolicy {
if let ::std::option::Option::Some(Asset_oneof_access_context_policy::access_policy(_)) = self.access_context_policy {
} else {
self.access_context_policy = ::std::option::Option::Some(Asset_oneof_access_context_policy::access_policy(super::access_policy::AccessPolicy::new()));
}
match self.access_context_policy {
::std::option::Option::Some(Asset_oneof_access_context_policy::access_policy(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_access_policy(&mut self) -> super::access_policy::AccessPolicy {
if self.has_access_policy() {
match self.access_context_policy.take() {
::std::option::Option::Some(Asset_oneof_access_context_policy::access_policy(v)) => v,
_ => panic!(),
}
} else {
super::access_policy::AccessPolicy::new()
}
}
pub fn get_access_level(&self) -> &super::access_level::AccessLevel {
match self.access_context_policy {
::std::option::Option::Some(Asset_oneof_access_context_policy::access_level(ref v)) => v,
_ => <super::access_level::AccessLevel as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_access_level(&mut self) {
self.access_context_policy = ::std::option::Option::None;
}
pub fn has_access_level(&self) -> bool {
match self.access_context_policy {
::std::option::Option::Some(Asset_oneof_access_context_policy::access_level(..)) => true,
_ => false,
}
}
pub fn set_access_level(&mut self, v: super::access_level::AccessLevel) {
self.access_context_policy = ::std::option::Option::Some(Asset_oneof_access_context_policy::access_level(v))
}
pub fn mut_access_level(&mut self) -> &mut super::access_level::AccessLevel {
if let ::std::option::Option::Some(Asset_oneof_access_context_policy::access_level(_)) = self.access_context_policy {
} else {
self.access_context_policy = ::std::option::Option::Some(Asset_oneof_access_context_policy::access_level(super::access_level::AccessLevel::new()));
}
match self.access_context_policy {
::std::option::Option::Some(Asset_oneof_access_context_policy::access_level(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_access_level(&mut self) -> super::access_level::AccessLevel {
if self.has_access_level() {
match self.access_context_policy.take() {
::std::option::Option::Some(Asset_oneof_access_context_policy::access_level(v)) => v,
_ => panic!(),
}
} else {
super::access_level::AccessLevel::new()
}
}
pub fn get_service_perimeter(&self) -> &super::service_perimeter::ServicePerimeter {
match self.access_context_policy {
::std::option::Option::Some(Asset_oneof_access_context_policy::service_perimeter(ref v)) => v,
_ => <super::service_perimeter::ServicePerimeter as ::protobuf::Message>::default_instance(),
}
}
pub fn clear_service_perimeter(&mut self) {
self.access_context_policy = ::std::option::Option::None;
}
pub fn has_service_perimeter(&self) -> bool {
match self.access_context_policy {
::std::option::Option::Some(Asset_oneof_access_context_policy::service_perimeter(..)) => true,
_ => false,
}
}
pub fn set_service_perimeter(&mut self, v: super::service_perimeter::ServicePerimeter) {
self.access_context_policy = ::std::option::Option::Some(Asset_oneof_access_context_policy::service_perimeter(v))
}
pub fn mut_service_perimeter(&mut self) -> &mut super::service_perimeter::ServicePerimeter {
if let ::std::option::Option::Some(Asset_oneof_access_context_policy::service_perimeter(_)) = self.access_context_policy {
} else {
self.access_context_policy = ::std::option::Option::Some(Asset_oneof_access_context_policy::service_perimeter(super::service_perimeter::ServicePerimeter::new()));
}
match self.access_context_policy {
::std::option::Option::Some(Asset_oneof_access_context_policy::service_perimeter(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_service_perimeter(&mut self) -> super::service_perimeter::ServicePerimeter {
if self.has_service_perimeter() {
match self.access_context_policy.take() {
::std::option::Option::Some(Asset_oneof_access_context_policy::service_perimeter(v)) => v,
_ => panic!(),
}
} else {
super::service_perimeter::ServicePerimeter::new()
}
}
pub fn get_os_inventory(&self) -> &super::inventory::Inventory {
self.os_inventory.as_ref().unwrap_or_else(|| <super::inventory::Inventory as ::protobuf::Message>::default_instance())
}
pub fn clear_os_inventory(&mut self) {
self.os_inventory.clear();
}
pub fn has_os_inventory(&self) -> bool {
self.os_inventory.is_some()
}
pub fn set_os_inventory(&mut self, v: super::inventory::Inventory) {
self.os_inventory = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_os_inventory(&mut self) -> &mut super::inventory::Inventory {
if self.os_inventory.is_none() {
self.os_inventory.set_default();
}
self.os_inventory.as_mut().unwrap()
}
pub fn take_os_inventory(&mut self) -> super::inventory::Inventory {
self.os_inventory.take().unwrap_or_else(|| super::inventory::Inventory::new())
}
pub fn get_related_assets(&self) -> &RelatedAssets {
self.related_assets.as_ref().unwrap_or_else(|| <RelatedAssets as ::protobuf::Message>::default_instance())
}
pub fn clear_related_assets(&mut self) {
self.related_assets.clear();
}
pub fn has_related_assets(&self) -> bool {
self.related_assets.is_some()
}
pub fn set_related_assets(&mut self, v: RelatedAssets) {
self.related_assets = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_related_assets(&mut self) -> &mut RelatedAssets {
if self.related_assets.is_none() {
self.related_assets.set_default();
}
self.related_assets.as_mut().unwrap()
}
pub fn take_related_assets(&mut self) -> RelatedAssets {
self.related_assets.take().unwrap_or_else(|| RelatedAssets::new())
}
pub fn get_related_asset(&self) -> &RelatedAsset {
self.related_asset.as_ref().unwrap_or_else(|| <RelatedAsset as ::protobuf::Message>::default_instance())
}
pub fn clear_related_asset(&mut self) {
self.related_asset.clear();
}
pub fn has_related_asset(&self) -> bool {
self.related_asset.is_some()
}
pub fn set_related_asset(&mut self, v: RelatedAsset) {
self.related_asset = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_related_asset(&mut self) -> &mut RelatedAsset {
if self.related_asset.is_none() {
self.related_asset.set_default();
}
self.related_asset.as_mut().unwrap()
}
pub fn take_related_asset(&mut self) -> RelatedAsset {
self.related_asset.take().unwrap_or_else(|| RelatedAsset::new())
}
pub fn get_ancestors(&self) -> &[::std::string::String] {
&self.ancestors
}
pub fn clear_ancestors(&mut self) {
self.ancestors.clear();
}
pub fn set_ancestors(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.ancestors = v;
}
pub fn mut_ancestors(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.ancestors
}
pub fn take_ancestors(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.ancestors, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for Asset {
fn is_initialized(&self) -> bool {
for v in &self.update_time {
if !v.is_initialized() {
return false;
}
};
for v in &self.resource {
if !v.is_initialized() {
return false;
}
};
for v in &self.iam_policy {
if !v.is_initialized() {
return false;
}
};
for v in &self.org_policy {
if !v.is_initialized() {
return false;
}
};
if let Some(Asset_oneof_access_context_policy::access_policy(ref v)) = self.access_context_policy {
if !v.is_initialized() {
return false;
}
}
if let Some(Asset_oneof_access_context_policy::access_level(ref v)) = self.access_context_policy {
if !v.is_initialized() {
return false;
}
}
if let Some(Asset_oneof_access_context_policy::service_perimeter(ref v)) = self.access_context_policy {
if !v.is_initialized() {
return false;
}
}
for v in &self.os_inventory {
if !v.is_initialized() {
return false;
}
};
for v in &self.related_assets {
if !v.is_initialized() {
return false;
}
};
for v in &self.related_asset {
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 {
11 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_time)?;
},
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.asset_type)?;
},
3 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.resource)?;
},
4 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.iam_policy)?;
},
6 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.org_policy)?;
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.access_context_policy = ::std::option::Option::Some(Asset_oneof_access_context_policy::access_policy(is.read_message()?));
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.access_context_policy = ::std::option::Option::Some(Asset_oneof_access_context_policy::access_level(is.read_message()?));
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.access_context_policy = ::std::option::Option::Some(Asset_oneof_access_context_policy::service_perimeter(is.read_message()?));
},
12 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.os_inventory)?;
},
13 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.related_assets)?;
},
15 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.related_asset)?;
},
10 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.ancestors)?;
},
_ => {
::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.update_time.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if !self.name.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.name);
}
if !self.asset_type.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.asset_type);
}
if let Some(ref v) = self.resource.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.iam_policy.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
for value in &self.org_policy {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if let Some(ref v) = self.os_inventory.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.related_assets.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.related_asset.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
for value in &self.ancestors {
my_size += ::protobuf::rt::string_size(10, &value);
};
if let ::std::option::Option::Some(ref v) = self.access_context_policy {
match v {
&Asset_oneof_access_context_policy::access_policy(ref v) => {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
},
&Asset_oneof_access_context_policy::access_level(ref v) => {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
},
&Asset_oneof_access_context_policy::service_perimeter(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 let Some(ref v) = self.update_time.as_ref() {
os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if !self.name.is_empty() {
os.write_string(1, &self.name)?;
}
if !self.asset_type.is_empty() {
os.write_string(2, &self.asset_type)?;
}
if let Some(ref v) = self.resource.as_ref() {
os.write_tag(3, ::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.iam_policy.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)?;
}
for v in &self.org_policy {
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.os_inventory.as_ref() {
os.write_tag(12, ::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.related_assets.as_ref() {
os.write_tag(13, ::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.related_asset.as_ref() {
os.write_tag(15, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
for v in &self.ancestors {
os.write_string(10, &v)?;
};
if let ::std::option::Option::Some(ref v) = self.access_context_policy {
match v {
&Asset_oneof_access_context_policy::access_policy(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)?;
},
&Asset_oneof_access_context_policy::access_level(ref v) => {
os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
},
&Asset_oneof_access_context_policy::service_perimeter(ref v) => {
os.write_tag(9, ::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() -> Asset {
Asset::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<::protobuf::well_known_types::Timestamp>>(
"update_time",
|m: &Asset| { &m.update_time },
|m: &mut Asset| { &mut m.update_time },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"name",
|m: &Asset| { &m.name },
|m: &mut Asset| { &mut m.name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"asset_type",
|m: &Asset| { &m.asset_type },
|m: &mut Asset| { &mut m.asset_type },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Resource>>(
"resource",
|m: &Asset| { &m.resource },
|m: &mut Asset| { &mut m.resource },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::policy::Policy>>(
"iam_policy",
|m: &Asset| { &m.iam_policy },
|m: &mut Asset| { &mut m.iam_policy },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::orgpolicy::Policy>>(
"org_policy",
|m: &Asset| { &m.org_policy },
|m: &mut Asset| { &mut m.org_policy },
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, super::access_policy::AccessPolicy>(
"access_policy",
Asset::has_access_policy,
Asset::get_access_policy,
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, super::access_level::AccessLevel>(
"access_level",
Asset::has_access_level,
Asset::get_access_level,
));
fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, super::service_perimeter::ServicePerimeter>(
"service_perimeter",
Asset::has_service_perimeter,
Asset::get_service_perimeter,
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::inventory::Inventory>>(
"os_inventory",
|m: &Asset| { &m.os_inventory },
|m: &mut Asset| { &mut m.os_inventory },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<RelatedAssets>>(
"related_assets",
|m: &Asset| { &m.related_assets },
|m: &mut Asset| { &mut m.related_assets },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<RelatedAsset>>(
"related_asset",
|m: &Asset| { &m.related_asset },
|m: &mut Asset| { &mut m.related_asset },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"ancestors",
|m: &Asset| { &m.ancestors },
|m: &mut Asset| { &mut m.ancestors },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Asset>(
"Asset",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Asset {
static instance: ::protobuf::rt::LazyV2<Asset> = ::protobuf::rt::LazyV2::INIT;
instance.get(Asset::new)
}
}
impl ::protobuf::Clear for Asset {
fn clear(&mut self) {
self.update_time.clear();
self.name.clear();
self.asset_type.clear();
self.resource.clear();
self.iam_policy.clear();
self.org_policy.clear();
self.access_context_policy = ::std::option::Option::None;
self.access_context_policy = ::std::option::Option::None;
self.access_context_policy = ::std::option::Option::None;
self.os_inventory.clear();
self.related_assets.clear();
self.related_asset.clear();
self.ancestors.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Asset {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Asset {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Resource {
pub version: ::std::string::String,
pub discovery_document_uri: ::std::string::String,
pub discovery_name: ::std::string::String,
pub resource_url: ::std::string::String,
pub parent: ::std::string::String,
pub data: ::protobuf::SingularPtrField<::protobuf::well_known_types::Struct>,
pub location: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Resource {
fn default() -> &'a Resource {
<Resource as ::protobuf::Message>::default_instance()
}
}
impl Resource {
pub fn new() -> Resource {
::std::default::Default::default()
}
pub fn get_version(&self) -> &str {
&self.version
}
pub fn clear_version(&mut self) {
self.version.clear();
}
pub fn set_version(&mut self, v: ::std::string::String) {
self.version = v;
}
pub fn mut_version(&mut self) -> &mut ::std::string::String {
&mut self.version
}
pub fn take_version(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.version, ::std::string::String::new())
}
pub fn get_discovery_document_uri(&self) -> &str {
&self.discovery_document_uri
}
pub fn clear_discovery_document_uri(&mut self) {
self.discovery_document_uri.clear();
}
pub fn set_discovery_document_uri(&mut self, v: ::std::string::String) {
self.discovery_document_uri = v;
}
pub fn mut_discovery_document_uri(&mut self) -> &mut ::std::string::String {
&mut self.discovery_document_uri
}
pub fn take_discovery_document_uri(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.discovery_document_uri, ::std::string::String::new())
}
pub fn get_discovery_name(&self) -> &str {
&self.discovery_name
}
pub fn clear_discovery_name(&mut self) {
self.discovery_name.clear();
}
pub fn set_discovery_name(&mut self, v: ::std::string::String) {
self.discovery_name = v;
}
pub fn mut_discovery_name(&mut self) -> &mut ::std::string::String {
&mut self.discovery_name
}
pub fn take_discovery_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.discovery_name, ::std::string::String::new())
}
pub fn get_resource_url(&self) -> &str {
&self.resource_url
}
pub fn clear_resource_url(&mut self) {
self.resource_url.clear();
}
pub fn set_resource_url(&mut self, v: ::std::string::String) {
self.resource_url = v;
}
pub fn mut_resource_url(&mut self) -> &mut ::std::string::String {
&mut self.resource_url
}
pub fn take_resource_url(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.resource_url, ::std::string::String::new())
}
pub fn get_parent(&self) -> &str {
&self.parent
}
pub fn clear_parent(&mut self) {
self.parent.clear();
}
pub fn set_parent(&mut self, v: ::std::string::String) {
self.parent = v;
}
pub fn mut_parent(&mut self) -> &mut ::std::string::String {
&mut self.parent
}
pub fn take_parent(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.parent, ::std::string::String::new())
}
pub fn get_data(&self) -> &::protobuf::well_known_types::Struct {
self.data.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Struct as ::protobuf::Message>::default_instance())
}
pub fn clear_data(&mut self) {
self.data.clear();
}
pub fn has_data(&self) -> bool {
self.data.is_some()
}
pub fn set_data(&mut self, v: ::protobuf::well_known_types::Struct) {
self.data = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_data(&mut self) -> &mut ::protobuf::well_known_types::Struct {
if self.data.is_none() {
self.data.set_default();
}
self.data.as_mut().unwrap()
}
pub fn take_data(&mut self) -> ::protobuf::well_known_types::Struct {
self.data.take().unwrap_or_else(|| ::protobuf::well_known_types::Struct::new())
}
pub fn get_location(&self) -> &str {
&self.location
}
pub fn clear_location(&mut self) {
self.location.clear();
}
pub fn set_location(&mut self, v: ::std::string::String) {
self.location = v;
}
pub fn mut_location(&mut self) -> &mut ::std::string::String {
&mut self.location
}
pub fn take_location(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.location, ::std::string::String::new())
}
}
impl ::protobuf::Message for Resource {
fn is_initialized(&self) -> bool {
for v in &self.data {
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.version)?;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.discovery_document_uri)?;
},
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.discovery_name)?;
},
4 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.resource_url)?;
},
5 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
},
6 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.data)?;
},
8 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.location)?;
},
_ => {
::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.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.version);
}
if !self.discovery_document_uri.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.discovery_document_uri);
}
if !self.discovery_name.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.discovery_name);
}
if !self.resource_url.is_empty() {
my_size += ::protobuf::rt::string_size(4, &self.resource_url);
}
if !self.parent.is_empty() {
my_size += ::protobuf::rt::string_size(5, &self.parent);
}
if let Some(ref v) = self.data.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if !self.location.is_empty() {
my_size += ::protobuf::rt::string_size(8, &self.location);
}
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.is_empty() {
os.write_string(1, &self.version)?;
}
if !self.discovery_document_uri.is_empty() {
os.write_string(2, &self.discovery_document_uri)?;
}
if !self.discovery_name.is_empty() {
os.write_string(3, &self.discovery_name)?;
}
if !self.resource_url.is_empty() {
os.write_string(4, &self.resource_url)?;
}
if !self.parent.is_empty() {
os.write_string(5, &self.parent)?;
}
if let Some(ref v) = self.data.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 !self.location.is_empty() {
os.write_string(8, &self.location)?;
}
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() -> Resource {
Resource::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>(
"version",
|m: &Resource| { &m.version },
|m: &mut Resource| { &mut m.version },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"discovery_document_uri",
|m: &Resource| { &m.discovery_document_uri },
|m: &mut Resource| { &mut m.discovery_document_uri },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"discovery_name",
|m: &Resource| { &m.discovery_name },
|m: &mut Resource| { &mut m.discovery_name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"resource_url",
|m: &Resource| { &m.resource_url },
|m: &mut Resource| { &mut m.resource_url },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"parent",
|m: &Resource| { &m.parent },
|m: &mut Resource| { &mut m.parent },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Struct>>(
"data",
|m: &Resource| { &m.data },
|m: &mut Resource| { &mut m.data },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"location",
|m: &Resource| { &m.location },
|m: &mut Resource| { &mut m.location },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Resource>(
"Resource",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Resource {
static instance: ::protobuf::rt::LazyV2<Resource> = ::protobuf::rt::LazyV2::INIT;
instance.get(Resource::new)
}
}
impl ::protobuf::Clear for Resource {
fn clear(&mut self) {
self.version.clear();
self.discovery_document_uri.clear();
self.discovery_name.clear();
self.resource_url.clear();
self.parent.clear();
self.data.clear();
self.location.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Resource {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Resource {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct RelatedAssets {
pub relationship_attributes: ::protobuf::SingularPtrField<RelationshipAttributes>,
pub assets: ::protobuf::RepeatedField<RelatedAsset>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a RelatedAssets {
fn default() -> &'a RelatedAssets {
<RelatedAssets as ::protobuf::Message>::default_instance()
}
}
impl RelatedAssets {
pub fn new() -> RelatedAssets {
::std::default::Default::default()
}
pub fn get_relationship_attributes(&self) -> &RelationshipAttributes {
self.relationship_attributes.as_ref().unwrap_or_else(|| <RelationshipAttributes as ::protobuf::Message>::default_instance())
}
pub fn clear_relationship_attributes(&mut self) {
self.relationship_attributes.clear();
}
pub fn has_relationship_attributes(&self) -> bool {
self.relationship_attributes.is_some()
}
pub fn set_relationship_attributes(&mut self, v: RelationshipAttributes) {
self.relationship_attributes = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_relationship_attributes(&mut self) -> &mut RelationshipAttributes {
if self.relationship_attributes.is_none() {
self.relationship_attributes.set_default();
}
self.relationship_attributes.as_mut().unwrap()
}
pub fn take_relationship_attributes(&mut self) -> RelationshipAttributes {
self.relationship_attributes.take().unwrap_or_else(|| RelationshipAttributes::new())
}
pub fn get_assets(&self) -> &[RelatedAsset] {
&self.assets
}
pub fn clear_assets(&mut self) {
self.assets.clear();
}
pub fn set_assets(&mut self, v: ::protobuf::RepeatedField<RelatedAsset>) {
self.assets = v;
}
pub fn mut_assets(&mut self) -> &mut ::protobuf::RepeatedField<RelatedAsset> {
&mut self.assets
}
pub fn take_assets(&mut self) -> ::protobuf::RepeatedField<RelatedAsset> {
::std::mem::replace(&mut self.assets, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for RelatedAssets {
fn is_initialized(&self) -> bool {
for v in &self.relationship_attributes {
if !v.is_initialized() {
return false;
}
};
for v in &self.assets {
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.relationship_attributes)?;
},
2 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.assets)?;
},
_ => {
::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.relationship_attributes.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
for value in &self.assets {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
self.cached_size.set(my_size);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
if let Some(ref v) = self.relationship_attributes.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)?;
}
for v in &self.assets {
os.write_tag(2, ::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() -> RelatedAssets {
RelatedAssets::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<RelationshipAttributes>>(
"relationship_attributes",
|m: &RelatedAssets| { &m.relationship_attributes },
|m: &mut RelatedAssets| { &mut m.relationship_attributes },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<RelatedAsset>>(
"assets",
|m: &RelatedAssets| { &m.assets },
|m: &mut RelatedAssets| { &mut m.assets },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<RelatedAssets>(
"RelatedAssets",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static RelatedAssets {
static instance: ::protobuf::rt::LazyV2<RelatedAssets> = ::protobuf::rt::LazyV2::INIT;
instance.get(RelatedAssets::new)
}
}
impl ::protobuf::Clear for RelatedAssets {
fn clear(&mut self) {
self.relationship_attributes.clear();
self.assets.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for RelatedAssets {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for RelatedAssets {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct RelationshipAttributes {
pub field_type: ::std::string::String,
pub source_resource_type: ::std::string::String,
pub target_resource_type: ::std::string::String,
pub action: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a RelationshipAttributes {
fn default() -> &'a RelationshipAttributes {
<RelationshipAttributes as ::protobuf::Message>::default_instance()
}
}
impl RelationshipAttributes {
pub fn new() -> RelationshipAttributes {
::std::default::Default::default()
}
pub fn get_field_type(&self) -> &str {
&self.field_type
}
pub fn clear_field_type(&mut self) {
self.field_type.clear();
}
pub fn set_field_type(&mut self, v: ::std::string::String) {
self.field_type = v;
}
pub fn mut_field_type(&mut self) -> &mut ::std::string::String {
&mut self.field_type
}
pub fn take_field_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.field_type, ::std::string::String::new())
}
pub fn get_source_resource_type(&self) -> &str {
&self.source_resource_type
}
pub fn clear_source_resource_type(&mut self) {
self.source_resource_type.clear();
}
pub fn set_source_resource_type(&mut self, v: ::std::string::String) {
self.source_resource_type = v;
}
pub fn mut_source_resource_type(&mut self) -> &mut ::std::string::String {
&mut self.source_resource_type
}
pub fn take_source_resource_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.source_resource_type, ::std::string::String::new())
}
pub fn get_target_resource_type(&self) -> &str {
&self.target_resource_type
}
pub fn clear_target_resource_type(&mut self) {
self.target_resource_type.clear();
}
pub fn set_target_resource_type(&mut self, v: ::std::string::String) {
self.target_resource_type = v;
}
pub fn mut_target_resource_type(&mut self) -> &mut ::std::string::String {
&mut self.target_resource_type
}
pub fn take_target_resource_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.target_resource_type, ::std::string::String::new())
}
pub fn get_action(&self) -> &str {
&self.action
}
pub fn clear_action(&mut self) {
self.action.clear();
}
pub fn set_action(&mut self, v: ::std::string::String) {
self.action = v;
}
pub fn mut_action(&mut self) -> &mut ::std::string::String {
&mut self.action
}
pub fn take_action(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.action, ::std::string::String::new())
}
}
impl ::protobuf::Message for RelationshipAttributes {
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 {
4 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.field_type)?;
},
1 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.source_resource_type)?;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.target_resource_type)?;
},
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.action)?;
},
_ => {
::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.field_type.is_empty() {
my_size += ::protobuf::rt::string_size(4, &self.field_type);
}
if !self.source_resource_type.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.source_resource_type);
}
if !self.target_resource_type.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.target_resource_type);
}
if !self.action.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.action);
}
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.field_type.is_empty() {
os.write_string(4, &self.field_type)?;
}
if !self.source_resource_type.is_empty() {
os.write_string(1, &self.source_resource_type)?;
}
if !self.target_resource_type.is_empty() {
os.write_string(2, &self.target_resource_type)?;
}
if !self.action.is_empty() {
os.write_string(3, &self.action)?;
}
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() -> RelationshipAttributes {
RelationshipAttributes::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>(
"type",
|m: &RelationshipAttributes| { &m.field_type },
|m: &mut RelationshipAttributes| { &mut m.field_type },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"source_resource_type",
|m: &RelationshipAttributes| { &m.source_resource_type },
|m: &mut RelationshipAttributes| { &mut m.source_resource_type },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"target_resource_type",
|m: &RelationshipAttributes| { &m.target_resource_type },
|m: &mut RelationshipAttributes| { &mut m.target_resource_type },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"action",
|m: &RelationshipAttributes| { &m.action },
|m: &mut RelationshipAttributes| { &mut m.action },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<RelationshipAttributes>(
"RelationshipAttributes",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static RelationshipAttributes {
static instance: ::protobuf::rt::LazyV2<RelationshipAttributes> = ::protobuf::rt::LazyV2::INIT;
instance.get(RelationshipAttributes::new)
}
}
impl ::protobuf::Clear for RelationshipAttributes {
fn clear(&mut self) {
self.field_type.clear();
self.source_resource_type.clear();
self.target_resource_type.clear();
self.action.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for RelationshipAttributes {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for RelationshipAttributes {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct RelatedAsset {
pub asset: ::std::string::String,
pub asset_type: ::std::string::String,
pub ancestors: ::protobuf::RepeatedField<::std::string::String>,
pub relationship_type: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a RelatedAsset {
fn default() -> &'a RelatedAsset {
<RelatedAsset as ::protobuf::Message>::default_instance()
}
}
impl RelatedAsset {
pub fn new() -> RelatedAsset {
::std::default::Default::default()
}
pub fn get_asset(&self) -> &str {
&self.asset
}
pub fn clear_asset(&mut self) {
self.asset.clear();
}
pub fn set_asset(&mut self, v: ::std::string::String) {
self.asset = v;
}
pub fn mut_asset(&mut self) -> &mut ::std::string::String {
&mut self.asset
}
pub fn take_asset(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.asset, ::std::string::String::new())
}
pub fn get_asset_type(&self) -> &str {
&self.asset_type
}
pub fn clear_asset_type(&mut self) {
self.asset_type.clear();
}
pub fn set_asset_type(&mut self, v: ::std::string::String) {
self.asset_type = v;
}
pub fn mut_asset_type(&mut self) -> &mut ::std::string::String {
&mut self.asset_type
}
pub fn take_asset_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.asset_type, ::std::string::String::new())
}
pub fn get_ancestors(&self) -> &[::std::string::String] {
&self.ancestors
}
pub fn clear_ancestors(&mut self) {
self.ancestors.clear();
}
pub fn set_ancestors(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.ancestors = v;
}
pub fn mut_ancestors(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.ancestors
}
pub fn take_ancestors(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.ancestors, ::protobuf::RepeatedField::new())
}
pub fn get_relationship_type(&self) -> &str {
&self.relationship_type
}
pub fn clear_relationship_type(&mut self) {
self.relationship_type.clear();
}
pub fn set_relationship_type(&mut self, v: ::std::string::String) {
self.relationship_type = v;
}
pub fn mut_relationship_type(&mut self) -> &mut ::std::string::String {
&mut self.relationship_type
}
pub fn take_relationship_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.relationship_type, ::std::string::String::new())
}
}
impl ::protobuf::Message for RelatedAsset {
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_singular_proto3_string_into(wire_type, is, &mut self.asset)?;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.asset_type)?;
},
3 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.ancestors)?;
},
4 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.relationship_type)?;
},
_ => {
::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.asset.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.asset);
}
if !self.asset_type.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.asset_type);
}
for value in &self.ancestors {
my_size += ::protobuf::rt::string_size(3, &value);
};
if !self.relationship_type.is_empty() {
my_size += ::protobuf::rt::string_size(4, &self.relationship_type);
}
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.asset.is_empty() {
os.write_string(1, &self.asset)?;
}
if !self.asset_type.is_empty() {
os.write_string(2, &self.asset_type)?;
}
for v in &self.ancestors {
os.write_string(3, &v)?;
};
if !self.relationship_type.is_empty() {
os.write_string(4, &self.relationship_type)?;
}
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() -> RelatedAsset {
RelatedAsset::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>(
"asset",
|m: &RelatedAsset| { &m.asset },
|m: &mut RelatedAsset| { &mut m.asset },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"asset_type",
|m: &RelatedAsset| { &m.asset_type },
|m: &mut RelatedAsset| { &mut m.asset_type },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"ancestors",
|m: &RelatedAsset| { &m.ancestors },
|m: &mut RelatedAsset| { &mut m.ancestors },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"relationship_type",
|m: &RelatedAsset| { &m.relationship_type },
|m: &mut RelatedAsset| { &mut m.relationship_type },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<RelatedAsset>(
"RelatedAsset",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static RelatedAsset {
static instance: ::protobuf::rt::LazyV2<RelatedAsset> = ::protobuf::rt::LazyV2::INIT;
instance.get(RelatedAsset::new)
}
}
impl ::protobuf::Clear for RelatedAsset {
fn clear(&mut self) {
self.asset.clear();
self.asset_type.clear();
self.ancestors.clear();
self.relationship_type.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for RelatedAsset {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for RelatedAsset {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct Tag {
pub _tag_key: ::std::option::Option<Tag_oneof__tag_key>,
pub _tag_value: ::std::option::Option<Tag_oneof__tag_value>,
pub _tag_value_id: ::std::option::Option<Tag_oneof__tag_value_id>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a Tag {
fn default() -> &'a Tag {
<Tag as ::protobuf::Message>::default_instance()
}
}
#[derive(Clone,PartialEq,Debug)]
pub enum Tag_oneof__tag_key {
tag_key(::std::string::String),
}
#[derive(Clone,PartialEq,Debug)]
pub enum Tag_oneof__tag_value {
tag_value(::std::string::String),
}
#[derive(Clone,PartialEq,Debug)]
pub enum Tag_oneof__tag_value_id {
tag_value_id(::std::string::String),
}
impl Tag {
pub fn new() -> Tag {
::std::default::Default::default()
}
pub fn get_tag_key(&self) -> &str {
match self._tag_key {
::std::option::Option::Some(Tag_oneof__tag_key::tag_key(ref v)) => v,
_ => "",
}
}
pub fn clear_tag_key(&mut self) {
self._tag_key = ::std::option::Option::None;
}
pub fn has_tag_key(&self) -> bool {
match self._tag_key {
::std::option::Option::Some(Tag_oneof__tag_key::tag_key(..)) => true,
_ => false,
}
}
pub fn set_tag_key(&mut self, v: ::std::string::String) {
self._tag_key = ::std::option::Option::Some(Tag_oneof__tag_key::tag_key(v))
}
pub fn mut_tag_key(&mut self) -> &mut ::std::string::String {
if let ::std::option::Option::Some(Tag_oneof__tag_key::tag_key(_)) = self._tag_key {
} else {
self._tag_key = ::std::option::Option::Some(Tag_oneof__tag_key::tag_key(::std::string::String::new()));
}
match self._tag_key {
::std::option::Option::Some(Tag_oneof__tag_key::tag_key(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_tag_key(&mut self) -> ::std::string::String {
if self.has_tag_key() {
match self._tag_key.take() {
::std::option::Option::Some(Tag_oneof__tag_key::tag_key(v)) => v,
_ => panic!(),
}
} else {
::std::string::String::new()
}
}
pub fn get_tag_value(&self) -> &str {
match self._tag_value {
::std::option::Option::Some(Tag_oneof__tag_value::tag_value(ref v)) => v,
_ => "",
}
}
pub fn clear_tag_value(&mut self) {
self._tag_value = ::std::option::Option::None;
}
pub fn has_tag_value(&self) -> bool {
match self._tag_value {
::std::option::Option::Some(Tag_oneof__tag_value::tag_value(..)) => true,
_ => false,
}
}
pub fn set_tag_value(&mut self, v: ::std::string::String) {
self._tag_value = ::std::option::Option::Some(Tag_oneof__tag_value::tag_value(v))
}
pub fn mut_tag_value(&mut self) -> &mut ::std::string::String {
if let ::std::option::Option::Some(Tag_oneof__tag_value::tag_value(_)) = self._tag_value {
} else {
self._tag_value = ::std::option::Option::Some(Tag_oneof__tag_value::tag_value(::std::string::String::new()));
}
match self._tag_value {
::std::option::Option::Some(Tag_oneof__tag_value::tag_value(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_tag_value(&mut self) -> ::std::string::String {
if self.has_tag_value() {
match self._tag_value.take() {
::std::option::Option::Some(Tag_oneof__tag_value::tag_value(v)) => v,
_ => panic!(),
}
} else {
::std::string::String::new()
}
}
pub fn get_tag_value_id(&self) -> &str {
match self._tag_value_id {
::std::option::Option::Some(Tag_oneof__tag_value_id::tag_value_id(ref v)) => v,
_ => "",
}
}
pub fn clear_tag_value_id(&mut self) {
self._tag_value_id = ::std::option::Option::None;
}
pub fn has_tag_value_id(&self) -> bool {
match self._tag_value_id {
::std::option::Option::Some(Tag_oneof__tag_value_id::tag_value_id(..)) => true,
_ => false,
}
}
pub fn set_tag_value_id(&mut self, v: ::std::string::String) {
self._tag_value_id = ::std::option::Option::Some(Tag_oneof__tag_value_id::tag_value_id(v))
}
pub fn mut_tag_value_id(&mut self) -> &mut ::std::string::String {
if let ::std::option::Option::Some(Tag_oneof__tag_value_id::tag_value_id(_)) = self._tag_value_id {
} else {
self._tag_value_id = ::std::option::Option::Some(Tag_oneof__tag_value_id::tag_value_id(::std::string::String::new()));
}
match self._tag_value_id {
::std::option::Option::Some(Tag_oneof__tag_value_id::tag_value_id(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_tag_value_id(&mut self) -> ::std::string::String {
if self.has_tag_value_id() {
match self._tag_value_id.take() {
::std::option::Option::Some(Tag_oneof__tag_value_id::tag_value_id(v)) => v,
_ => panic!(),
}
} else {
::std::string::String::new()
}
}
}
impl ::protobuf::Message for Tag {
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::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self._tag_key = ::std::option::Option::Some(Tag_oneof__tag_key::tag_key(is.read_string()?));
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self._tag_value = ::std::option::Option::Some(Tag_oneof__tag_value::tag_value(is.read_string()?));
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self._tag_value_id = ::std::option::Option::Some(Tag_oneof__tag_value_id::tag_value_id(is.read_string()?));
},
_ => {
::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 ::std::option::Option::Some(ref v) = self._tag_key {
match v {
&Tag_oneof__tag_key::tag_key(ref v) => {
my_size += ::protobuf::rt::string_size(1, &v);
},
};
}
if let ::std::option::Option::Some(ref v) = self._tag_value {
match v {
&Tag_oneof__tag_value::tag_value(ref v) => {
my_size += ::protobuf::rt::string_size(3, &v);
},
};
}
if let ::std::option::Option::Some(ref v) = self._tag_value_id {
match v {
&Tag_oneof__tag_value_id::tag_value_id(ref v) => {
my_size += ::protobuf::rt::string_size(4, &v);
},
};
}
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 ::std::option::Option::Some(ref v) = self._tag_key {
match v {
&Tag_oneof__tag_key::tag_key(ref v) => {
os.write_string(1, v)?;
},
};
}
if let ::std::option::Option::Some(ref v) = self._tag_value {
match v {
&Tag_oneof__tag_value::tag_value(ref v) => {
os.write_string(3, v)?;
},
};
}
if let ::std::option::Option::Some(ref v) = self._tag_value_id {
match v {
&Tag_oneof__tag_value_id::tag_value_id(ref v) => {
os.write_string(4, 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() -> Tag {
Tag::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_string_accessor::<_>(
"tag_key",
Tag::has_tag_key,
Tag::get_tag_key,
));
fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
"tag_value",
Tag::has_tag_value,
Tag::get_tag_value,
));
fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
"tag_value_id",
Tag::has_tag_value_id,
Tag::get_tag_value_id,
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<Tag>(
"Tag",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static Tag {
static instance: ::protobuf::rt::LazyV2<Tag> = ::protobuf::rt::LazyV2::INIT;
instance.get(Tag::new)
}
}
impl ::protobuf::Clear for Tag {
fn clear(&mut self) {
self._tag_key = ::std::option::Option::None;
self._tag_value = ::std::option::Option::None;
self._tag_value_id = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for Tag {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for Tag {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct EffectiveTagDetails {
pub effective_tags: ::protobuf::RepeatedField<Tag>,
pub _attached_resource: ::std::option::Option<EffectiveTagDetails_oneof__attached_resource>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a EffectiveTagDetails {
fn default() -> &'a EffectiveTagDetails {
<EffectiveTagDetails as ::protobuf::Message>::default_instance()
}
}
#[derive(Clone,PartialEq,Debug)]
pub enum EffectiveTagDetails_oneof__attached_resource {
attached_resource(::std::string::String),
}
impl EffectiveTagDetails {
pub fn new() -> EffectiveTagDetails {
::std::default::Default::default()
}
pub fn get_attached_resource(&self) -> &str {
match self._attached_resource {
::std::option::Option::Some(EffectiveTagDetails_oneof__attached_resource::attached_resource(ref v)) => v,
_ => "",
}
}
pub fn clear_attached_resource(&mut self) {
self._attached_resource = ::std::option::Option::None;
}
pub fn has_attached_resource(&self) -> bool {
match self._attached_resource {
::std::option::Option::Some(EffectiveTagDetails_oneof__attached_resource::attached_resource(..)) => true,
_ => false,
}
}
pub fn set_attached_resource(&mut self, v: ::std::string::String) {
self._attached_resource = ::std::option::Option::Some(EffectiveTagDetails_oneof__attached_resource::attached_resource(v))
}
pub fn mut_attached_resource(&mut self) -> &mut ::std::string::String {
if let ::std::option::Option::Some(EffectiveTagDetails_oneof__attached_resource::attached_resource(_)) = self._attached_resource {
} else {
self._attached_resource = ::std::option::Option::Some(EffectiveTagDetails_oneof__attached_resource::attached_resource(::std::string::String::new()));
}
match self._attached_resource {
::std::option::Option::Some(EffectiveTagDetails_oneof__attached_resource::attached_resource(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_attached_resource(&mut self) -> ::std::string::String {
if self.has_attached_resource() {
match self._attached_resource.take() {
::std::option::Option::Some(EffectiveTagDetails_oneof__attached_resource::attached_resource(v)) => v,
_ => panic!(),
}
} else {
::std::string::String::new()
}
}
pub fn get_effective_tags(&self) -> &[Tag] {
&self.effective_tags
}
pub fn clear_effective_tags(&mut self) {
self.effective_tags.clear();
}
pub fn set_effective_tags(&mut self, v: ::protobuf::RepeatedField<Tag>) {
self.effective_tags = v;
}
pub fn mut_effective_tags(&mut self) -> &mut ::protobuf::RepeatedField<Tag> {
&mut self.effective_tags
}
pub fn take_effective_tags(&mut self) -> ::protobuf::RepeatedField<Tag> {
::std::mem::replace(&mut self.effective_tags, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for EffectiveTagDetails {
fn is_initialized(&self) -> bool {
for v in &self.effective_tags {
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::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self._attached_resource = ::std::option::Option::Some(EffectiveTagDetails_oneof__attached_resource::attached_resource(is.read_string()?));
},
2 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.effective_tags)?;
},
_ => {
::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.effective_tags {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if let ::std::option::Option::Some(ref v) = self._attached_resource {
match v {
&EffectiveTagDetails_oneof__attached_resource::attached_resource(ref v) => {
my_size += ::protobuf::rt::string_size(1, &v);
},
};
}
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.effective_tags {
os.write_tag(2, ::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._attached_resource {
match v {
&EffectiveTagDetails_oneof__attached_resource::attached_resource(ref v) => {
os.write_string(1, 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() -> EffectiveTagDetails {
EffectiveTagDetails::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_string_accessor::<_>(
"attached_resource",
EffectiveTagDetails::has_attached_resource,
EffectiveTagDetails::get_attached_resource,
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Tag>>(
"effective_tags",
|m: &EffectiveTagDetails| { &m.effective_tags },
|m: &mut EffectiveTagDetails| { &mut m.effective_tags },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<EffectiveTagDetails>(
"EffectiveTagDetails",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static EffectiveTagDetails {
static instance: ::protobuf::rt::LazyV2<EffectiveTagDetails> = ::protobuf::rt::LazyV2::INIT;
instance.get(EffectiveTagDetails::new)
}
}
impl ::protobuf::Clear for EffectiveTagDetails {
fn clear(&mut self) {
self._attached_resource = ::std::option::Option::None;
self.effective_tags.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for EffectiveTagDetails {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for EffectiveTagDetails {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct ResourceSearchResult {
pub name: ::std::string::String,
pub asset_type: ::std::string::String,
pub project: ::std::string::String,
pub folders: ::protobuf::RepeatedField<::std::string::String>,
pub organization: ::std::string::String,
pub display_name: ::std::string::String,
pub description: ::std::string::String,
pub location: ::std::string::String,
pub labels: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
pub network_tags: ::protobuf::RepeatedField<::std::string::String>,
pub kms_key: ::std::string::String,
pub kms_keys: ::protobuf::RepeatedField<::std::string::String>,
pub create_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub update_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
pub state: ::std::string::String,
pub additional_attributes: ::protobuf::SingularPtrField<::protobuf::well_known_types::Struct>,
pub parent_full_resource_name: ::std::string::String,
pub versioned_resources: ::protobuf::RepeatedField<VersionedResource>,
pub attached_resources: ::protobuf::RepeatedField<AttachedResource>,
pub relationships: ::std::collections::HashMap<::std::string::String, RelatedResources>,
pub tag_keys: ::protobuf::RepeatedField<::std::string::String>,
pub tag_values: ::protobuf::RepeatedField<::std::string::String>,
pub tag_value_ids: ::protobuf::RepeatedField<::std::string::String>,
pub tags: ::protobuf::RepeatedField<Tag>,
pub effective_tags: ::protobuf::RepeatedField<EffectiveTagDetails>,
pub parent_asset_type: ::std::string::String,
pub scc_security_marks: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a ResourceSearchResult {
fn default() -> &'a ResourceSearchResult {
<ResourceSearchResult as ::protobuf::Message>::default_instance()
}
}
impl ResourceSearchResult {
pub fn new() -> ResourceSearchResult {
::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_asset_type(&self) -> &str {
&self.asset_type
}
pub fn clear_asset_type(&mut self) {
self.asset_type.clear();
}
pub fn set_asset_type(&mut self, v: ::std::string::String) {
self.asset_type = v;
}
pub fn mut_asset_type(&mut self) -> &mut ::std::string::String {
&mut self.asset_type
}
pub fn take_asset_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.asset_type, ::std::string::String::new())
}
pub fn get_project(&self) -> &str {
&self.project
}
pub fn clear_project(&mut self) {
self.project.clear();
}
pub fn set_project(&mut self, v: ::std::string::String) {
self.project = v;
}
pub fn mut_project(&mut self) -> &mut ::std::string::String {
&mut self.project
}
pub fn take_project(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.project, ::std::string::String::new())
}
pub fn get_folders(&self) -> &[::std::string::String] {
&self.folders
}
pub fn clear_folders(&mut self) {
self.folders.clear();
}
pub fn set_folders(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.folders = v;
}
pub fn mut_folders(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.folders
}
pub fn take_folders(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.folders, ::protobuf::RepeatedField::new())
}
pub fn get_organization(&self) -> &str {
&self.organization
}
pub fn clear_organization(&mut self) {
self.organization.clear();
}
pub fn set_organization(&mut self, v: ::std::string::String) {
self.organization = v;
}
pub fn mut_organization(&mut self) -> &mut ::std::string::String {
&mut self.organization
}
pub fn take_organization(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.organization, ::std::string::String::new())
}
pub fn get_display_name(&self) -> &str {
&self.display_name
}
pub fn clear_display_name(&mut self) {
self.display_name.clear();
}
pub fn set_display_name(&mut self, v: ::std::string::String) {
self.display_name = v;
}
pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
&mut self.display_name
}
pub fn take_display_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.display_name, ::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_location(&self) -> &str {
&self.location
}
pub fn clear_location(&mut self) {
self.location.clear();
}
pub fn set_location(&mut self, v: ::std::string::String) {
self.location = v;
}
pub fn mut_location(&mut self) -> &mut ::std::string::String {
&mut self.location
}
pub fn take_location(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.location, ::std::string::String::new())
}
pub fn get_labels(&self) -> &::std::collections::HashMap<::std::string::String, ::std::string::String> {
&self.labels
}
pub fn clear_labels(&mut self) {
self.labels.clear();
}
pub fn set_labels(&mut self, v: ::std::collections::HashMap<::std::string::String, ::std::string::String>) {
self.labels = v;
}
pub fn mut_labels(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, ::std::string::String> {
&mut self.labels
}
pub fn take_labels(&mut self) -> ::std::collections::HashMap<::std::string::String, ::std::string::String> {
::std::mem::replace(&mut self.labels, ::std::collections::HashMap::new())
}
pub fn get_network_tags(&self) -> &[::std::string::String] {
&self.network_tags
}
pub fn clear_network_tags(&mut self) {
self.network_tags.clear();
}
pub fn set_network_tags(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.network_tags = v;
}
pub fn mut_network_tags(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.network_tags
}
pub fn take_network_tags(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.network_tags, ::protobuf::RepeatedField::new())
}
pub fn get_kms_key(&self) -> &str {
&self.kms_key
}
pub fn clear_kms_key(&mut self) {
self.kms_key.clear();
}
pub fn set_kms_key(&mut self, v: ::std::string::String) {
self.kms_key = v;
}
pub fn mut_kms_key(&mut self) -> &mut ::std::string::String {
&mut self.kms_key
}
pub fn take_kms_key(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.kms_key, ::std::string::String::new())
}
pub fn get_kms_keys(&self) -> &[::std::string::String] {
&self.kms_keys
}
pub fn clear_kms_keys(&mut self) {
self.kms_keys.clear();
}
pub fn set_kms_keys(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.kms_keys = v;
}
pub fn mut_kms_keys(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.kms_keys
}
pub fn take_kms_keys(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.kms_keys, ::protobuf::RepeatedField::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())
}
pub fn get_state(&self) -> &str {
&self.state
}
pub fn clear_state(&mut self) {
self.state.clear();
}
pub fn set_state(&mut self, v: ::std::string::String) {
self.state = v;
}
pub fn mut_state(&mut self) -> &mut ::std::string::String {
&mut self.state
}
pub fn take_state(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.state, ::std::string::String::new())
}
pub fn get_additional_attributes(&self) -> &::protobuf::well_known_types::Struct {
self.additional_attributes.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Struct as ::protobuf::Message>::default_instance())
}
pub fn clear_additional_attributes(&mut self) {
self.additional_attributes.clear();
}
pub fn has_additional_attributes(&self) -> bool {
self.additional_attributes.is_some()
}
pub fn set_additional_attributes(&mut self, v: ::protobuf::well_known_types::Struct) {
self.additional_attributes = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_additional_attributes(&mut self) -> &mut ::protobuf::well_known_types::Struct {
if self.additional_attributes.is_none() {
self.additional_attributes.set_default();
}
self.additional_attributes.as_mut().unwrap()
}
pub fn take_additional_attributes(&mut self) -> ::protobuf::well_known_types::Struct {
self.additional_attributes.take().unwrap_or_else(|| ::protobuf::well_known_types::Struct::new())
}
pub fn get_parent_full_resource_name(&self) -> &str {
&self.parent_full_resource_name
}
pub fn clear_parent_full_resource_name(&mut self) {
self.parent_full_resource_name.clear();
}
pub fn set_parent_full_resource_name(&mut self, v: ::std::string::String) {
self.parent_full_resource_name = v;
}
pub fn mut_parent_full_resource_name(&mut self) -> &mut ::std::string::String {
&mut self.parent_full_resource_name
}
pub fn take_parent_full_resource_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.parent_full_resource_name, ::std::string::String::new())
}
pub fn get_versioned_resources(&self) -> &[VersionedResource] {
&self.versioned_resources
}
pub fn clear_versioned_resources(&mut self) {
self.versioned_resources.clear();
}
pub fn set_versioned_resources(&mut self, v: ::protobuf::RepeatedField<VersionedResource>) {
self.versioned_resources = v;
}
pub fn mut_versioned_resources(&mut self) -> &mut ::protobuf::RepeatedField<VersionedResource> {
&mut self.versioned_resources
}
pub fn take_versioned_resources(&mut self) -> ::protobuf::RepeatedField<VersionedResource> {
::std::mem::replace(&mut self.versioned_resources, ::protobuf::RepeatedField::new())
}
pub fn get_attached_resources(&self) -> &[AttachedResource] {
&self.attached_resources
}
pub fn clear_attached_resources(&mut self) {
self.attached_resources.clear();
}
pub fn set_attached_resources(&mut self, v: ::protobuf::RepeatedField<AttachedResource>) {
self.attached_resources = v;
}
pub fn mut_attached_resources(&mut self) -> &mut ::protobuf::RepeatedField<AttachedResource> {
&mut self.attached_resources
}
pub fn take_attached_resources(&mut self) -> ::protobuf::RepeatedField<AttachedResource> {
::std::mem::replace(&mut self.attached_resources, ::protobuf::RepeatedField::new())
}
pub fn get_relationships(&self) -> &::std::collections::HashMap<::std::string::String, RelatedResources> {
&self.relationships
}
pub fn clear_relationships(&mut self) {
self.relationships.clear();
}
pub fn set_relationships(&mut self, v: ::std::collections::HashMap<::std::string::String, RelatedResources>) {
self.relationships = v;
}
pub fn mut_relationships(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, RelatedResources> {
&mut self.relationships
}
pub fn take_relationships(&mut self) -> ::std::collections::HashMap<::std::string::String, RelatedResources> {
::std::mem::replace(&mut self.relationships, ::std::collections::HashMap::new())
}
pub fn get_tag_keys(&self) -> &[::std::string::String] {
&self.tag_keys
}
pub fn clear_tag_keys(&mut self) {
self.tag_keys.clear();
}
pub fn set_tag_keys(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.tag_keys = v;
}
pub fn mut_tag_keys(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.tag_keys
}
pub fn take_tag_keys(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.tag_keys, ::protobuf::RepeatedField::new())
}
pub fn get_tag_values(&self) -> &[::std::string::String] {
&self.tag_values
}
pub fn clear_tag_values(&mut self) {
self.tag_values.clear();
}
pub fn set_tag_values(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.tag_values = v;
}
pub fn mut_tag_values(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.tag_values
}
pub fn take_tag_values(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.tag_values, ::protobuf::RepeatedField::new())
}
pub fn get_tag_value_ids(&self) -> &[::std::string::String] {
&self.tag_value_ids
}
pub fn clear_tag_value_ids(&mut self) {
self.tag_value_ids.clear();
}
pub fn set_tag_value_ids(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.tag_value_ids = v;
}
pub fn mut_tag_value_ids(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.tag_value_ids
}
pub fn take_tag_value_ids(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.tag_value_ids, ::protobuf::RepeatedField::new())
}
pub fn get_tags(&self) -> &[Tag] {
&self.tags
}
pub fn clear_tags(&mut self) {
self.tags.clear();
}
pub fn set_tags(&mut self, v: ::protobuf::RepeatedField<Tag>) {
self.tags = v;
}
pub fn mut_tags(&mut self) -> &mut ::protobuf::RepeatedField<Tag> {
&mut self.tags
}
pub fn take_tags(&mut self) -> ::protobuf::RepeatedField<Tag> {
::std::mem::replace(&mut self.tags, ::protobuf::RepeatedField::new())
}
pub fn get_effective_tags(&self) -> &[EffectiveTagDetails] {
&self.effective_tags
}
pub fn clear_effective_tags(&mut self) {
self.effective_tags.clear();
}
pub fn set_effective_tags(&mut self, v: ::protobuf::RepeatedField<EffectiveTagDetails>) {
self.effective_tags = v;
}
pub fn mut_effective_tags(&mut self) -> &mut ::protobuf::RepeatedField<EffectiveTagDetails> {
&mut self.effective_tags
}
pub fn take_effective_tags(&mut self) -> ::protobuf::RepeatedField<EffectiveTagDetails> {
::std::mem::replace(&mut self.effective_tags, ::protobuf::RepeatedField::new())
}
pub fn get_parent_asset_type(&self) -> &str {
&self.parent_asset_type
}
pub fn clear_parent_asset_type(&mut self) {
self.parent_asset_type.clear();
}
pub fn set_parent_asset_type(&mut self, v: ::std::string::String) {
self.parent_asset_type = v;
}
pub fn mut_parent_asset_type(&mut self) -> &mut ::std::string::String {
&mut self.parent_asset_type
}
pub fn take_parent_asset_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.parent_asset_type, ::std::string::String::new())
}
pub fn get_scc_security_marks(&self) -> &::std::collections::HashMap<::std::string::String, ::std::string::String> {
&self.scc_security_marks
}
pub fn clear_scc_security_marks(&mut self) {
self.scc_security_marks.clear();
}
pub fn set_scc_security_marks(&mut self, v: ::std::collections::HashMap<::std::string::String, ::std::string::String>) {
self.scc_security_marks = v;
}
pub fn mut_scc_security_marks(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, ::std::string::String> {
&mut self.scc_security_marks
}
pub fn take_scc_security_marks(&mut self) -> ::std::collections::HashMap<::std::string::String, ::std::string::String> {
::std::mem::replace(&mut self.scc_security_marks, ::std::collections::HashMap::new())
}
}
impl ::protobuf::Message for ResourceSearchResult {
fn is_initialized(&self) -> bool {
for v in &self.create_time {
if !v.is_initialized() {
return false;
}
};
for v in &self.update_time {
if !v.is_initialized() {
return false;
}
};
for v in &self.additional_attributes {
if !v.is_initialized() {
return false;
}
};
for v in &self.versioned_resources {
if !v.is_initialized() {
return false;
}
};
for v in &self.attached_resources {
if !v.is_initialized() {
return false;
}
};
for v in &self.tags {
if !v.is_initialized() {
return false;
}
};
for v in &self.effective_tags {
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.asset_type)?;
},
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.project)?;
},
17 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.folders)?;
},
18 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.organization)?;
},
4 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_name)?;
},
5 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
},
6 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.location)?;
},
7 => {
::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(wire_type, is, &mut self.labels)?;
},
8 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.network_tags)?;
},
10 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.kms_key)?;
},
28 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.kms_keys)?;
},
11 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.create_time)?;
},
12 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_time)?;
},
13 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.state)?;
},
9 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.additional_attributes)?;
},
19 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent_full_resource_name)?;
},
16 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.versioned_resources)?;
},
20 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.attached_resources)?;
},
21 => {
::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<RelatedResources>>(wire_type, is, &mut self.relationships)?;
},
23 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.tag_keys)?;
},
25 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.tag_values)?;
},
26 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.tag_value_ids)?;
},
29 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.tags)?;
},
30 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.effective_tags)?;
},
103 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent_asset_type)?;
},
32 => {
::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(wire_type, is, &mut self.scc_security_marks)?;
},
_ => {
::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.asset_type.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.asset_type);
}
if !self.project.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.project);
}
for value in &self.folders {
my_size += ::protobuf::rt::string_size(17, &value);
};
if !self.organization.is_empty() {
my_size += ::protobuf::rt::string_size(18, &self.organization);
}
if !self.display_name.is_empty() {
my_size += ::protobuf::rt::string_size(4, &self.display_name);
}
if !self.description.is_empty() {
my_size += ::protobuf::rt::string_size(5, &self.description);
}
if !self.location.is_empty() {
my_size += ::protobuf::rt::string_size(6, &self.location);
}
my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(7, &self.labels);
for value in &self.network_tags {
my_size += ::protobuf::rt::string_size(8, &value);
};
if !self.kms_key.is_empty() {
my_size += ::protobuf::rt::string_size(10, &self.kms_key);
}
for value in &self.kms_keys {
my_size += ::protobuf::rt::string_size(28, &value);
};
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 !self.state.is_empty() {
my_size += ::protobuf::rt::string_size(13, &self.state);
}
if let Some(ref v) = self.additional_attributes.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if !self.parent_full_resource_name.is_empty() {
my_size += ::protobuf::rt::string_size(19, &self.parent_full_resource_name);
}
for value in &self.versioned_resources {
let len = value.compute_size();
my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.attached_resources {
let len = value.compute_size();
my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<RelatedResources>>(21, &self.relationships);
for value in &self.tag_keys {
my_size += ::protobuf::rt::string_size(23, &value);
};
for value in &self.tag_values {
my_size += ::protobuf::rt::string_size(25, &value);
};
for value in &self.tag_value_ids {
my_size += ::protobuf::rt::string_size(26, &value);
};
for value in &self.tags {
let len = value.compute_size();
my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.effective_tags {
let len = value.compute_size();
my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if !self.parent_asset_type.is_empty() {
my_size += ::protobuf::rt::string_size(103, &self.parent_asset_type);
}
my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(32, &self.scc_security_marks);
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.asset_type.is_empty() {
os.write_string(2, &self.asset_type)?;
}
if !self.project.is_empty() {
os.write_string(3, &self.project)?;
}
for v in &self.folders {
os.write_string(17, &v)?;
};
if !self.organization.is_empty() {
os.write_string(18, &self.organization)?;
}
if !self.display_name.is_empty() {
os.write_string(4, &self.display_name)?;
}
if !self.description.is_empty() {
os.write_string(5, &self.description)?;
}
if !self.location.is_empty() {
os.write_string(6, &self.location)?;
}
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(7, &self.labels, os)?;
for v in &self.network_tags {
os.write_string(8, &v)?;
};
if !self.kms_key.is_empty() {
os.write_string(10, &self.kms_key)?;
}
for v in &self.kms_keys {
os.write_string(28, &v)?;
};
if let Some(ref v) = self.create_time.as_ref() {
os.write_tag(11, ::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(12, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if !self.state.is_empty() {
os.write_string(13, &self.state)?;
}
if let Some(ref v) = self.additional_attributes.as_ref() {
os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if !self.parent_full_resource_name.is_empty() {
os.write_string(19, &self.parent_full_resource_name)?;
}
for v in &self.versioned_resources {
os.write_tag(16, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
for v in &self.attached_resources {
os.write_tag(20, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<RelatedResources>>(21, &self.relationships, os)?;
for v in &self.tag_keys {
os.write_string(23, &v)?;
};
for v in &self.tag_values {
os.write_string(25, &v)?;
};
for v in &self.tag_value_ids {
os.write_string(26, &v)?;
};
for v in &self.tags {
os.write_tag(29, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
for v in &self.effective_tags {
os.write_tag(30, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
if !self.parent_asset_type.is_empty() {
os.write_string(103, &self.parent_asset_type)?;
}
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(32, &self.scc_security_marks, 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() -> ResourceSearchResult {
ResourceSearchResult::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: &ResourceSearchResult| { &m.name },
|m: &mut ResourceSearchResult| { &mut m.name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"asset_type",
|m: &ResourceSearchResult| { &m.asset_type },
|m: &mut ResourceSearchResult| { &mut m.asset_type },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"project",
|m: &ResourceSearchResult| { &m.project },
|m: &mut ResourceSearchResult| { &mut m.project },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"folders",
|m: &ResourceSearchResult| { &m.folders },
|m: &mut ResourceSearchResult| { &mut m.folders },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"organization",
|m: &ResourceSearchResult| { &m.organization },
|m: &mut ResourceSearchResult| { &mut m.organization },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"display_name",
|m: &ResourceSearchResult| { &m.display_name },
|m: &mut ResourceSearchResult| { &mut m.display_name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"description",
|m: &ResourceSearchResult| { &m.description },
|m: &mut ResourceSearchResult| { &mut m.description },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"location",
|m: &ResourceSearchResult| { &m.location },
|m: &mut ResourceSearchResult| { &mut m.location },
));
fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(
"labels",
|m: &ResourceSearchResult| { &m.labels },
|m: &mut ResourceSearchResult| { &mut m.labels },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"network_tags",
|m: &ResourceSearchResult| { &m.network_tags },
|m: &mut ResourceSearchResult| { &mut m.network_tags },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"kms_key",
|m: &ResourceSearchResult| { &m.kms_key },
|m: &mut ResourceSearchResult| { &mut m.kms_key },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"kms_keys",
|m: &ResourceSearchResult| { &m.kms_keys },
|m: &mut ResourceSearchResult| { &mut m.kms_keys },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
"create_time",
|m: &ResourceSearchResult| { &m.create_time },
|m: &mut ResourceSearchResult| { &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: &ResourceSearchResult| { &m.update_time },
|m: &mut ResourceSearchResult| { &mut m.update_time },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"state",
|m: &ResourceSearchResult| { &m.state },
|m: &mut ResourceSearchResult| { &mut m.state },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Struct>>(
"additional_attributes",
|m: &ResourceSearchResult| { &m.additional_attributes },
|m: &mut ResourceSearchResult| { &mut m.additional_attributes },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"parent_full_resource_name",
|m: &ResourceSearchResult| { &m.parent_full_resource_name },
|m: &mut ResourceSearchResult| { &mut m.parent_full_resource_name },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<VersionedResource>>(
"versioned_resources",
|m: &ResourceSearchResult| { &m.versioned_resources },
|m: &mut ResourceSearchResult| { &mut m.versioned_resources },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AttachedResource>>(
"attached_resources",
|m: &ResourceSearchResult| { &m.attached_resources },
|m: &mut ResourceSearchResult| { &mut m.attached_resources },
));
fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<RelatedResources>>(
"relationships",
|m: &ResourceSearchResult| { &m.relationships },
|m: &mut ResourceSearchResult| { &mut m.relationships },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"tag_keys",
|m: &ResourceSearchResult| { &m.tag_keys },
|m: &mut ResourceSearchResult| { &mut m.tag_keys },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"tag_values",
|m: &ResourceSearchResult| { &m.tag_values },
|m: &mut ResourceSearchResult| { &mut m.tag_values },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"tag_value_ids",
|m: &ResourceSearchResult| { &m.tag_value_ids },
|m: &mut ResourceSearchResult| { &mut m.tag_value_ids },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Tag>>(
"tags",
|m: &ResourceSearchResult| { &m.tags },
|m: &mut ResourceSearchResult| { &mut m.tags },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<EffectiveTagDetails>>(
"effective_tags",
|m: &ResourceSearchResult| { &m.effective_tags },
|m: &mut ResourceSearchResult| { &mut m.effective_tags },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"parent_asset_type",
|m: &ResourceSearchResult| { &m.parent_asset_type },
|m: &mut ResourceSearchResult| { &mut m.parent_asset_type },
));
fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(
"scc_security_marks",
|m: &ResourceSearchResult| { &m.scc_security_marks },
|m: &mut ResourceSearchResult| { &mut m.scc_security_marks },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<ResourceSearchResult>(
"ResourceSearchResult",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static ResourceSearchResult {
static instance: ::protobuf::rt::LazyV2<ResourceSearchResult> = ::protobuf::rt::LazyV2::INIT;
instance.get(ResourceSearchResult::new)
}
}
impl ::protobuf::Clear for ResourceSearchResult {
fn clear(&mut self) {
self.name.clear();
self.asset_type.clear();
self.project.clear();
self.folders.clear();
self.organization.clear();
self.display_name.clear();
self.description.clear();
self.location.clear();
self.labels.clear();
self.network_tags.clear();
self.kms_key.clear();
self.kms_keys.clear();
self.create_time.clear();
self.update_time.clear();
self.state.clear();
self.additional_attributes.clear();
self.parent_full_resource_name.clear();
self.versioned_resources.clear();
self.attached_resources.clear();
self.relationships.clear();
self.tag_keys.clear();
self.tag_values.clear();
self.tag_value_ids.clear();
self.tags.clear();
self.effective_tags.clear();
self.parent_asset_type.clear();
self.scc_security_marks.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for ResourceSearchResult {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ResourceSearchResult {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct VersionedResource {
pub version: ::std::string::String,
pub resource: ::protobuf::SingularPtrField<::protobuf::well_known_types::Struct>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a VersionedResource {
fn default() -> &'a VersionedResource {
<VersionedResource as ::protobuf::Message>::default_instance()
}
}
impl VersionedResource {
pub fn new() -> VersionedResource {
::std::default::Default::default()
}
pub fn get_version(&self) -> &str {
&self.version
}
pub fn clear_version(&mut self) {
self.version.clear();
}
pub fn set_version(&mut self, v: ::std::string::String) {
self.version = v;
}
pub fn mut_version(&mut self) -> &mut ::std::string::String {
&mut self.version
}
pub fn take_version(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.version, ::std::string::String::new())
}
pub fn get_resource(&self) -> &::protobuf::well_known_types::Struct {
self.resource.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Struct as ::protobuf::Message>::default_instance())
}
pub fn clear_resource(&mut self) {
self.resource.clear();
}
pub fn has_resource(&self) -> bool {
self.resource.is_some()
}
pub fn set_resource(&mut self, v: ::protobuf::well_known_types::Struct) {
self.resource = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_resource(&mut self) -> &mut ::protobuf::well_known_types::Struct {
if self.resource.is_none() {
self.resource.set_default();
}
self.resource.as_mut().unwrap()
}
pub fn take_resource(&mut self) -> ::protobuf::well_known_types::Struct {
self.resource.take().unwrap_or_else(|| ::protobuf::well_known_types::Struct::new())
}
}
impl ::protobuf::Message for VersionedResource {
fn is_initialized(&self) -> bool {
for v in &self.resource {
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.version)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.resource)?;
},
_ => {
::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.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.version);
}
if let Some(ref v) = self.resource.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 !self.version.is_empty() {
os.write_string(1, &self.version)?;
}
if let Some(ref v) = self.resource.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)?;
}
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() -> VersionedResource {
VersionedResource::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>(
"version",
|m: &VersionedResource| { &m.version },
|m: &mut VersionedResource| { &mut m.version },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Struct>>(
"resource",
|m: &VersionedResource| { &m.resource },
|m: &mut VersionedResource| { &mut m.resource },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<VersionedResource>(
"VersionedResource",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static VersionedResource {
static instance: ::protobuf::rt::LazyV2<VersionedResource> = ::protobuf::rt::LazyV2::INIT;
instance.get(VersionedResource::new)
}
}
impl ::protobuf::Clear for VersionedResource {
fn clear(&mut self) {
self.version.clear();
self.resource.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for VersionedResource {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for VersionedResource {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct AttachedResource {
pub asset_type: ::std::string::String,
pub versioned_resources: ::protobuf::RepeatedField<VersionedResource>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a AttachedResource {
fn default() -> &'a AttachedResource {
<AttachedResource as ::protobuf::Message>::default_instance()
}
}
impl AttachedResource {
pub fn new() -> AttachedResource {
::std::default::Default::default()
}
pub fn get_asset_type(&self) -> &str {
&self.asset_type
}
pub fn clear_asset_type(&mut self) {
self.asset_type.clear();
}
pub fn set_asset_type(&mut self, v: ::std::string::String) {
self.asset_type = v;
}
pub fn mut_asset_type(&mut self) -> &mut ::std::string::String {
&mut self.asset_type
}
pub fn take_asset_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.asset_type, ::std::string::String::new())
}
pub fn get_versioned_resources(&self) -> &[VersionedResource] {
&self.versioned_resources
}
pub fn clear_versioned_resources(&mut self) {
self.versioned_resources.clear();
}
pub fn set_versioned_resources(&mut self, v: ::protobuf::RepeatedField<VersionedResource>) {
self.versioned_resources = v;
}
pub fn mut_versioned_resources(&mut self) -> &mut ::protobuf::RepeatedField<VersionedResource> {
&mut self.versioned_resources
}
pub fn take_versioned_resources(&mut self) -> ::protobuf::RepeatedField<VersionedResource> {
::std::mem::replace(&mut self.versioned_resources, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for AttachedResource {
fn is_initialized(&self) -> bool {
for v in &self.versioned_resources {
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.asset_type)?;
},
3 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.versioned_resources)?;
},
_ => {
::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.asset_type.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.asset_type);
}
for value in &self.versioned_resources {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
self.cached_size.set(my_size);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
if !self.asset_type.is_empty() {
os.write_string(1, &self.asset_type)?;
}
for v in &self.versioned_resources {
os.write_tag(3, ::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() -> AttachedResource {
AttachedResource::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>(
"asset_type",
|m: &AttachedResource| { &m.asset_type },
|m: &mut AttachedResource| { &mut m.asset_type },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<VersionedResource>>(
"versioned_resources",
|m: &AttachedResource| { &m.versioned_resources },
|m: &mut AttachedResource| { &mut m.versioned_resources },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<AttachedResource>(
"AttachedResource",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static AttachedResource {
static instance: ::protobuf::rt::LazyV2<AttachedResource> = ::protobuf::rt::LazyV2::INIT;
instance.get(AttachedResource::new)
}
}
impl ::protobuf::Clear for AttachedResource {
fn clear(&mut self) {
self.asset_type.clear();
self.versioned_resources.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for AttachedResource {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for AttachedResource {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct RelatedResources {
pub related_resources: ::protobuf::RepeatedField<RelatedResource>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a RelatedResources {
fn default() -> &'a RelatedResources {
<RelatedResources as ::protobuf::Message>::default_instance()
}
}
impl RelatedResources {
pub fn new() -> RelatedResources {
::std::default::Default::default()
}
pub fn get_related_resources(&self) -> &[RelatedResource] {
&self.related_resources
}
pub fn clear_related_resources(&mut self) {
self.related_resources.clear();
}
pub fn set_related_resources(&mut self, v: ::protobuf::RepeatedField<RelatedResource>) {
self.related_resources = v;
}
pub fn mut_related_resources(&mut self) -> &mut ::protobuf::RepeatedField<RelatedResource> {
&mut self.related_resources
}
pub fn take_related_resources(&mut self) -> ::protobuf::RepeatedField<RelatedResource> {
::std::mem::replace(&mut self.related_resources, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for RelatedResources {
fn is_initialized(&self) -> bool {
for v in &self.related_resources {
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.related_resources)?;
},
_ => {
::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.related_resources {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
self.cached_size.set(my_size);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
for v in &self.related_resources {
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() -> RelatedResources {
RelatedResources::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<RelatedResource>>(
"related_resources",
|m: &RelatedResources| { &m.related_resources },
|m: &mut RelatedResources| { &mut m.related_resources },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<RelatedResources>(
"RelatedResources",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static RelatedResources {
static instance: ::protobuf::rt::LazyV2<RelatedResources> = ::protobuf::rt::LazyV2::INIT;
instance.get(RelatedResources::new)
}
}
impl ::protobuf::Clear for RelatedResources {
fn clear(&mut self) {
self.related_resources.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for RelatedResources {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for RelatedResources {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct RelatedResource {
pub asset_type: ::std::string::String,
pub full_resource_name: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a RelatedResource {
fn default() -> &'a RelatedResource {
<RelatedResource as ::protobuf::Message>::default_instance()
}
}
impl RelatedResource {
pub fn new() -> RelatedResource {
::std::default::Default::default()
}
pub fn get_asset_type(&self) -> &str {
&self.asset_type
}
pub fn clear_asset_type(&mut self) {
self.asset_type.clear();
}
pub fn set_asset_type(&mut self, v: ::std::string::String) {
self.asset_type = v;
}
pub fn mut_asset_type(&mut self) -> &mut ::std::string::String {
&mut self.asset_type
}
pub fn take_asset_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.asset_type, ::std::string::String::new())
}
pub fn get_full_resource_name(&self) -> &str {
&self.full_resource_name
}
pub fn clear_full_resource_name(&mut self) {
self.full_resource_name.clear();
}
pub fn set_full_resource_name(&mut self, v: ::std::string::String) {
self.full_resource_name = v;
}
pub fn mut_full_resource_name(&mut self) -> &mut ::std::string::String {
&mut self.full_resource_name
}
pub fn take_full_resource_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.full_resource_name, ::std::string::String::new())
}
}
impl ::protobuf::Message for RelatedResource {
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_singular_proto3_string_into(wire_type, is, &mut self.asset_type)?;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.full_resource_name)?;
},
_ => {
::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.asset_type.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.asset_type);
}
if !self.full_resource_name.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.full_resource_name);
}
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.asset_type.is_empty() {
os.write_string(1, &self.asset_type)?;
}
if !self.full_resource_name.is_empty() {
os.write_string(2, &self.full_resource_name)?;
}
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() -> RelatedResource {
RelatedResource::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>(
"asset_type",
|m: &RelatedResource| { &m.asset_type },
|m: &mut RelatedResource| { &mut m.asset_type },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"full_resource_name",
|m: &RelatedResource| { &m.full_resource_name },
|m: &mut RelatedResource| { &mut m.full_resource_name },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<RelatedResource>(
"RelatedResource",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static RelatedResource {
static instance: ::protobuf::rt::LazyV2<RelatedResource> = ::protobuf::rt::LazyV2::INIT;
instance.get(RelatedResource::new)
}
}
impl ::protobuf::Clear for RelatedResource {
fn clear(&mut self) {
self.asset_type.clear();
self.full_resource_name.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for RelatedResource {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for RelatedResource {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct IamPolicySearchResult {
pub resource: ::std::string::String,
pub asset_type: ::std::string::String,
pub project: ::std::string::String,
pub folders: ::protobuf::RepeatedField<::std::string::String>,
pub organization: ::std::string::String,
pub policy: ::protobuf::SingularPtrField<super::policy::Policy>,
pub explanation: ::protobuf::SingularPtrField<IamPolicySearchResult_Explanation>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a IamPolicySearchResult {
fn default() -> &'a IamPolicySearchResult {
<IamPolicySearchResult as ::protobuf::Message>::default_instance()
}
}
impl IamPolicySearchResult {
pub fn new() -> IamPolicySearchResult {
::std::default::Default::default()
}
pub fn get_resource(&self) -> &str {
&self.resource
}
pub fn clear_resource(&mut self) {
self.resource.clear();
}
pub fn set_resource(&mut self, v: ::std::string::String) {
self.resource = v;
}
pub fn mut_resource(&mut self) -> &mut ::std::string::String {
&mut self.resource
}
pub fn take_resource(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.resource, ::std::string::String::new())
}
pub fn get_asset_type(&self) -> &str {
&self.asset_type
}
pub fn clear_asset_type(&mut self) {
self.asset_type.clear();
}
pub fn set_asset_type(&mut self, v: ::std::string::String) {
self.asset_type = v;
}
pub fn mut_asset_type(&mut self) -> &mut ::std::string::String {
&mut self.asset_type
}
pub fn take_asset_type(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.asset_type, ::std::string::String::new())
}
pub fn get_project(&self) -> &str {
&self.project
}
pub fn clear_project(&mut self) {
self.project.clear();
}
pub fn set_project(&mut self, v: ::std::string::String) {
self.project = v;
}
pub fn mut_project(&mut self) -> &mut ::std::string::String {
&mut self.project
}
pub fn take_project(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.project, ::std::string::String::new())
}
pub fn get_folders(&self) -> &[::std::string::String] {
&self.folders
}
pub fn clear_folders(&mut self) {
self.folders.clear();
}
pub fn set_folders(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.folders = v;
}
pub fn mut_folders(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.folders
}
pub fn take_folders(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.folders, ::protobuf::RepeatedField::new())
}
pub fn get_organization(&self) -> &str {
&self.organization
}
pub fn clear_organization(&mut self) {
self.organization.clear();
}
pub fn set_organization(&mut self, v: ::std::string::String) {
self.organization = v;
}
pub fn mut_organization(&mut self) -> &mut ::std::string::String {
&mut self.organization
}
pub fn take_organization(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.organization, ::std::string::String::new())
}
pub fn get_policy(&self) -> &super::policy::Policy {
self.policy.as_ref().unwrap_or_else(|| <super::policy::Policy as ::protobuf::Message>::default_instance())
}
pub fn clear_policy(&mut self) {
self.policy.clear();
}
pub fn has_policy(&self) -> bool {
self.policy.is_some()
}
pub fn set_policy(&mut self, v: super::policy::Policy) {
self.policy = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_policy(&mut self) -> &mut super::policy::Policy {
if self.policy.is_none() {
self.policy.set_default();
}
self.policy.as_mut().unwrap()
}
pub fn take_policy(&mut self) -> super::policy::Policy {
self.policy.take().unwrap_or_else(|| super::policy::Policy::new())
}
pub fn get_explanation(&self) -> &IamPolicySearchResult_Explanation {
self.explanation.as_ref().unwrap_or_else(|| <IamPolicySearchResult_Explanation as ::protobuf::Message>::default_instance())
}
pub fn clear_explanation(&mut self) {
self.explanation.clear();
}
pub fn has_explanation(&self) -> bool {
self.explanation.is_some()
}
pub fn set_explanation(&mut self, v: IamPolicySearchResult_Explanation) {
self.explanation = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_explanation(&mut self) -> &mut IamPolicySearchResult_Explanation {
if self.explanation.is_none() {
self.explanation.set_default();
}
self.explanation.as_mut().unwrap()
}
pub fn take_explanation(&mut self) -> IamPolicySearchResult_Explanation {
self.explanation.take().unwrap_or_else(|| IamPolicySearchResult_Explanation::new())
}
}
impl ::protobuf::Message for IamPolicySearchResult {
fn is_initialized(&self) -> bool {
for v in &self.policy {
if !v.is_initialized() {
return false;
}
};
for v in &self.explanation {
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.resource)?;
},
5 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.asset_type)?;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.project)?;
},
6 => {
::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.folders)?;
},
7 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.organization)?;
},
3 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.policy)?;
},
4 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.explanation)?;
},
_ => {
::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.resource.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.resource);
}
if !self.asset_type.is_empty() {
my_size += ::protobuf::rt::string_size(5, &self.asset_type);
}
if !self.project.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.project);
}
for value in &self.folders {
my_size += ::protobuf::rt::string_size(6, &value);
};
if !self.organization.is_empty() {
my_size += ::protobuf::rt::string_size(7, &self.organization);
}
if let Some(ref v) = self.policy.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.explanation.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 !self.resource.is_empty() {
os.write_string(1, &self.resource)?;
}
if !self.asset_type.is_empty() {
os.write_string(5, &self.asset_type)?;
}
if !self.project.is_empty() {
os.write_string(2, &self.project)?;
}
for v in &self.folders {
os.write_string(6, &v)?;
};
if !self.organization.is_empty() {
os.write_string(7, &self.organization)?;
}
if let Some(ref v) = self.policy.as_ref() {
os.write_tag(3, ::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.explanation.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)?;
}
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() -> IamPolicySearchResult {
IamPolicySearchResult::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>(
"resource",
|m: &IamPolicySearchResult| { &m.resource },
|m: &mut IamPolicySearchResult| { &mut m.resource },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"asset_type",
|m: &IamPolicySearchResult| { &m.asset_type },
|m: &mut IamPolicySearchResult| { &mut m.asset_type },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"project",
|m: &IamPolicySearchResult| { &m.project },
|m: &mut IamPolicySearchResult| { &mut m.project },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"folders",
|m: &IamPolicySearchResult| { &m.folders },
|m: &mut IamPolicySearchResult| { &mut m.folders },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"organization",
|m: &IamPolicySearchResult| { &m.organization },
|m: &mut IamPolicySearchResult| { &mut m.organization },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::policy::Policy>>(
"policy",
|m: &IamPolicySearchResult| { &m.policy },
|m: &mut IamPolicySearchResult| { &mut m.policy },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<IamPolicySearchResult_Explanation>>(
"explanation",
|m: &IamPolicySearchResult| { &m.explanation },
|m: &mut IamPolicySearchResult| { &mut m.explanation },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<IamPolicySearchResult>(
"IamPolicySearchResult",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static IamPolicySearchResult {
static instance: ::protobuf::rt::LazyV2<IamPolicySearchResult> = ::protobuf::rt::LazyV2::INIT;
instance.get(IamPolicySearchResult::new)
}
}
impl ::protobuf::Clear for IamPolicySearchResult {
fn clear(&mut self) {
self.resource.clear();
self.asset_type.clear();
self.project.clear();
self.folders.clear();
self.organization.clear();
self.policy.clear();
self.explanation.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for IamPolicySearchResult {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for IamPolicySearchResult {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct IamPolicySearchResult_Explanation {
pub matched_permissions: ::std::collections::HashMap<::std::string::String, IamPolicySearchResult_Explanation_Permissions>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a IamPolicySearchResult_Explanation {
fn default() -> &'a IamPolicySearchResult_Explanation {
<IamPolicySearchResult_Explanation as ::protobuf::Message>::default_instance()
}
}
impl IamPolicySearchResult_Explanation {
pub fn new() -> IamPolicySearchResult_Explanation {
::std::default::Default::default()
}
pub fn get_matched_permissions(&self) -> &::std::collections::HashMap<::std::string::String, IamPolicySearchResult_Explanation_Permissions> {
&self.matched_permissions
}
pub fn clear_matched_permissions(&mut self) {
self.matched_permissions.clear();
}
pub fn set_matched_permissions(&mut self, v: ::std::collections::HashMap<::std::string::String, IamPolicySearchResult_Explanation_Permissions>) {
self.matched_permissions = v;
}
pub fn mut_matched_permissions(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, IamPolicySearchResult_Explanation_Permissions> {
&mut self.matched_permissions
}
pub fn take_matched_permissions(&mut self) -> ::std::collections::HashMap<::std::string::String, IamPolicySearchResult_Explanation_Permissions> {
::std::mem::replace(&mut self.matched_permissions, ::std::collections::HashMap::new())
}
}
impl ::protobuf::Message for IamPolicySearchResult_Explanation {
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_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<IamPolicySearchResult_Explanation_Permissions>>(wire_type, is, &mut self.matched_permissions)?;
},
_ => {
::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::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<IamPolicySearchResult_Explanation_Permissions>>(1, &self.matched_permissions);
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<()> {
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<IamPolicySearchResult_Explanation_Permissions>>(1, &self.matched_permissions, 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() -> IamPolicySearchResult_Explanation {
IamPolicySearchResult_Explanation::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_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<IamPolicySearchResult_Explanation_Permissions>>(
"matched_permissions",
|m: &IamPolicySearchResult_Explanation| { &m.matched_permissions },
|m: &mut IamPolicySearchResult_Explanation| { &mut m.matched_permissions },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<IamPolicySearchResult_Explanation>(
"IamPolicySearchResult.Explanation",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static IamPolicySearchResult_Explanation {
static instance: ::protobuf::rt::LazyV2<IamPolicySearchResult_Explanation> = ::protobuf::rt::LazyV2::INIT;
instance.get(IamPolicySearchResult_Explanation::new)
}
}
impl ::protobuf::Clear for IamPolicySearchResult_Explanation {
fn clear(&mut self) {
self.matched_permissions.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for IamPolicySearchResult_Explanation {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for IamPolicySearchResult_Explanation {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct IamPolicySearchResult_Explanation_Permissions {
pub permissions: ::protobuf::RepeatedField<::std::string::String>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a IamPolicySearchResult_Explanation_Permissions {
fn default() -> &'a IamPolicySearchResult_Explanation_Permissions {
<IamPolicySearchResult_Explanation_Permissions as ::protobuf::Message>::default_instance()
}
}
impl IamPolicySearchResult_Explanation_Permissions {
pub fn new() -> IamPolicySearchResult_Explanation_Permissions {
::std::default::Default::default()
}
pub fn get_permissions(&self) -> &[::std::string::String] {
&self.permissions
}
pub fn clear_permissions(&mut self) {
self.permissions.clear();
}
pub fn set_permissions(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
self.permissions = v;
}
pub fn mut_permissions(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
&mut self.permissions
}
pub fn take_permissions(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
::std::mem::replace(&mut self.permissions, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for IamPolicySearchResult_Explanation_Permissions {
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.permissions)?;
},
_ => {
::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.permissions {
my_size += ::protobuf::rt::string_size(1, &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.permissions {
os.write_string(1, &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() -> IamPolicySearchResult_Explanation_Permissions {
IamPolicySearchResult_Explanation_Permissions::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>(
"permissions",
|m: &IamPolicySearchResult_Explanation_Permissions| { &m.permissions },
|m: &mut IamPolicySearchResult_Explanation_Permissions| { &mut m.permissions },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<IamPolicySearchResult_Explanation_Permissions>(
"IamPolicySearchResult.Explanation.Permissions",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static IamPolicySearchResult_Explanation_Permissions {
static instance: ::protobuf::rt::LazyV2<IamPolicySearchResult_Explanation_Permissions> = ::protobuf::rt::LazyV2::INIT;
instance.get(IamPolicySearchResult_Explanation_Permissions::new)
}
}
impl ::protobuf::Clear for IamPolicySearchResult_Explanation_Permissions {
fn clear(&mut self) {
self.permissions.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for IamPolicySearchResult_Explanation_Permissions {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for IamPolicySearchResult_Explanation_Permissions {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct IamPolicyAnalysisState {
pub code: super::code::Code,
pub cause: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a IamPolicyAnalysisState {
fn default() -> &'a IamPolicyAnalysisState {
<IamPolicyAnalysisState as ::protobuf::Message>::default_instance()
}
}
impl IamPolicyAnalysisState {
pub fn new() -> IamPolicyAnalysisState {
::std::default::Default::default()
}
pub fn get_code(&self) -> super::code::Code {
self.code
}
pub fn clear_code(&mut self) {
self.code = super::code::Code::OK;
}
pub fn set_code(&mut self, v: super::code::Code) {
self.code = v;
}
pub fn get_cause(&self) -> &str {
&self.cause
}
pub fn clear_cause(&mut self) {
self.cause.clear();
}
pub fn set_cause(&mut self, v: ::std::string::String) {
self.cause = v;
}
pub fn mut_cause(&mut self) -> &mut ::std::string::String {
&mut self.cause
}
pub fn take_cause(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.cause, ::std::string::String::new())
}
}
impl ::protobuf::Message for IamPolicyAnalysisState {
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.code, 1, &mut self.unknown_fields)?
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.cause)?;
},
_ => {
::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.code != super::code::Code::OK {
my_size += ::protobuf::rt::enum_size(1, self.code);
}
if !self.cause.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.cause);
}
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.code != super::code::Code::OK {
os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.code))?;
}
if !self.cause.is_empty() {
os.write_string(2, &self.cause)?;
}
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() -> IamPolicyAnalysisState {
IamPolicyAnalysisState::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::code::Code>>(
"code",
|m: &IamPolicyAnalysisState| { &m.code },
|m: &mut IamPolicyAnalysisState| { &mut m.code },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"cause",
|m: &IamPolicyAnalysisState| { &m.cause },
|m: &mut IamPolicyAnalysisState| { &mut m.cause },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<IamPolicyAnalysisState>(
"IamPolicyAnalysisState",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static IamPolicyAnalysisState {
static instance: ::protobuf::rt::LazyV2<IamPolicyAnalysisState> = ::protobuf::rt::LazyV2::INIT;
instance.get(IamPolicyAnalysisState::new)
}
}
impl ::protobuf::Clear for IamPolicyAnalysisState {
fn clear(&mut self) {
self.code = super::code::Code::OK;
self.cause.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for IamPolicyAnalysisState {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for IamPolicyAnalysisState {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct ConditionEvaluation {
pub evaluation_value: ConditionEvaluation_EvaluationValue,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a ConditionEvaluation {
fn default() -> &'a ConditionEvaluation {
<ConditionEvaluation as ::protobuf::Message>::default_instance()
}
}
impl ConditionEvaluation {
pub fn new() -> ConditionEvaluation {
::std::default::Default::default()
}
pub fn get_evaluation_value(&self) -> ConditionEvaluation_EvaluationValue {
self.evaluation_value
}
pub fn clear_evaluation_value(&mut self) {
self.evaluation_value = ConditionEvaluation_EvaluationValue::EVALUATION_VALUE_UNSPECIFIED;
}
pub fn set_evaluation_value(&mut self, v: ConditionEvaluation_EvaluationValue) {
self.evaluation_value = v;
}
}
impl ::protobuf::Message for ConditionEvaluation {
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.evaluation_value, 1, &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;
if self.evaluation_value != ConditionEvaluation_EvaluationValue::EVALUATION_VALUE_UNSPECIFIED {
my_size += ::protobuf::rt::enum_size(1, self.evaluation_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<()> {
if self.evaluation_value != ConditionEvaluation_EvaluationValue::EVALUATION_VALUE_UNSPECIFIED {
os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.evaluation_value))?;
}
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() -> ConditionEvaluation {
ConditionEvaluation::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<ConditionEvaluation_EvaluationValue>>(
"evaluation_value",
|m: &ConditionEvaluation| { &m.evaluation_value },
|m: &mut ConditionEvaluation| { &mut m.evaluation_value },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<ConditionEvaluation>(
"ConditionEvaluation",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static ConditionEvaluation {
static instance: ::protobuf::rt::LazyV2<ConditionEvaluation> = ::protobuf::rt::LazyV2::INIT;
instance.get(ConditionEvaluation::new)
}
}
impl ::protobuf::Clear for ConditionEvaluation {
fn clear(&mut self) {
self.evaluation_value = ConditionEvaluation_EvaluationValue::EVALUATION_VALUE_UNSPECIFIED;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for ConditionEvaluation {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ConditionEvaluation {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum ConditionEvaluation_EvaluationValue {
EVALUATION_VALUE_UNSPECIFIED = 0,
TRUE = 1,
FALSE = 2,
CONDITIONAL = 3,
}
impl ::protobuf::ProtobufEnum for ConditionEvaluation_EvaluationValue {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<ConditionEvaluation_EvaluationValue> {
match value {
0 => ::std::option::Option::Some(ConditionEvaluation_EvaluationValue::EVALUATION_VALUE_UNSPECIFIED),
1 => ::std::option::Option::Some(ConditionEvaluation_EvaluationValue::TRUE),
2 => ::std::option::Option::Some(ConditionEvaluation_EvaluationValue::FALSE),
3 => ::std::option::Option::Some(ConditionEvaluation_EvaluationValue::CONDITIONAL),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [ConditionEvaluation_EvaluationValue] = &[
ConditionEvaluation_EvaluationValue::EVALUATION_VALUE_UNSPECIFIED,
ConditionEvaluation_EvaluationValue::TRUE,
ConditionEvaluation_EvaluationValue::FALSE,
ConditionEvaluation_EvaluationValue::CONDITIONAL,
];
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::<ConditionEvaluation_EvaluationValue>("ConditionEvaluation.EvaluationValue", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for ConditionEvaluation_EvaluationValue {
}
impl ::std::default::Default for ConditionEvaluation_EvaluationValue {
fn default() -> Self {
ConditionEvaluation_EvaluationValue::EVALUATION_VALUE_UNSPECIFIED
}
}
impl ::protobuf::reflect::ProtobufValue for ConditionEvaluation_EvaluationValue {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct IamPolicyAnalysisResult {
pub attached_resource_full_name: ::std::string::String,
pub iam_binding: ::protobuf::SingularPtrField<super::policy::Binding>,
pub access_control_lists: ::protobuf::RepeatedField<IamPolicyAnalysisResult_AccessControlList>,
pub identity_list: ::protobuf::SingularPtrField<IamPolicyAnalysisResult_IdentityList>,
pub fully_explored: bool,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a IamPolicyAnalysisResult {
fn default() -> &'a IamPolicyAnalysisResult {
<IamPolicyAnalysisResult as ::protobuf::Message>::default_instance()
}
}
impl IamPolicyAnalysisResult {
pub fn new() -> IamPolicyAnalysisResult {
::std::default::Default::default()
}
pub fn get_attached_resource_full_name(&self) -> &str {
&self.attached_resource_full_name
}
pub fn clear_attached_resource_full_name(&mut self) {
self.attached_resource_full_name.clear();
}
pub fn set_attached_resource_full_name(&mut self, v: ::std::string::String) {
self.attached_resource_full_name = v;
}
pub fn mut_attached_resource_full_name(&mut self) -> &mut ::std::string::String {
&mut self.attached_resource_full_name
}
pub fn take_attached_resource_full_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.attached_resource_full_name, ::std::string::String::new())
}
pub fn get_iam_binding(&self) -> &super::policy::Binding {
self.iam_binding.as_ref().unwrap_or_else(|| <super::policy::Binding as ::protobuf::Message>::default_instance())
}
pub fn clear_iam_binding(&mut self) {
self.iam_binding.clear();
}
pub fn has_iam_binding(&self) -> bool {
self.iam_binding.is_some()
}
pub fn set_iam_binding(&mut self, v: super::policy::Binding) {
self.iam_binding = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_iam_binding(&mut self) -> &mut super::policy::Binding {
if self.iam_binding.is_none() {
self.iam_binding.set_default();
}
self.iam_binding.as_mut().unwrap()
}
pub fn take_iam_binding(&mut self) -> super::policy::Binding {
self.iam_binding.take().unwrap_or_else(|| super::policy::Binding::new())
}
pub fn get_access_control_lists(&self) -> &[IamPolicyAnalysisResult_AccessControlList] {
&self.access_control_lists
}
pub fn clear_access_control_lists(&mut self) {
self.access_control_lists.clear();
}
pub fn set_access_control_lists(&mut self, v: ::protobuf::RepeatedField<IamPolicyAnalysisResult_AccessControlList>) {
self.access_control_lists = v;
}
pub fn mut_access_control_lists(&mut self) -> &mut ::protobuf::RepeatedField<IamPolicyAnalysisResult_AccessControlList> {
&mut self.access_control_lists
}
pub fn take_access_control_lists(&mut self) -> ::protobuf::RepeatedField<IamPolicyAnalysisResult_AccessControlList> {
::std::mem::replace(&mut self.access_control_lists, ::protobuf::RepeatedField::new())
}
pub fn get_identity_list(&self) -> &IamPolicyAnalysisResult_IdentityList {
self.identity_list.as_ref().unwrap_or_else(|| <IamPolicyAnalysisResult_IdentityList as ::protobuf::Message>::default_instance())
}
pub fn clear_identity_list(&mut self) {
self.identity_list.clear();
}
pub fn has_identity_list(&self) -> bool {
self.identity_list.is_some()
}
pub fn set_identity_list(&mut self, v: IamPolicyAnalysisResult_IdentityList) {
self.identity_list = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_identity_list(&mut self) -> &mut IamPolicyAnalysisResult_IdentityList {
if self.identity_list.is_none() {
self.identity_list.set_default();
}
self.identity_list.as_mut().unwrap()
}
pub fn take_identity_list(&mut self) -> IamPolicyAnalysisResult_IdentityList {
self.identity_list.take().unwrap_or_else(|| IamPolicyAnalysisResult_IdentityList::new())
}
pub fn get_fully_explored(&self) -> bool {
self.fully_explored
}
pub fn clear_fully_explored(&mut self) {
self.fully_explored = false;
}
pub fn set_fully_explored(&mut self, v: bool) {
self.fully_explored = v;
}
}
impl ::protobuf::Message for IamPolicyAnalysisResult {
fn is_initialized(&self) -> bool {
for v in &self.iam_binding {
if !v.is_initialized() {
return false;
}
};
for v in &self.access_control_lists {
if !v.is_initialized() {
return false;
}
};
for v in &self.identity_list {
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.attached_resource_full_name)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.iam_binding)?;
},
3 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.access_control_lists)?;
},
4 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.identity_list)?;
},
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.fully_explored = 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.attached_resource_full_name.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.attached_resource_full_name);
}
if let Some(ref v) = self.iam_binding.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
for value in &self.access_control_lists {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if let Some(ref v) = self.identity_list.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if self.fully_explored != 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.attached_resource_full_name.is_empty() {
os.write_string(1, &self.attached_resource_full_name)?;
}
if let Some(ref v) = self.iam_binding.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.access_control_lists {
os.write_tag(3, ::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.identity_list.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 self.fully_explored != false {
os.write_bool(5, self.fully_explored)?;
}
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() -> IamPolicyAnalysisResult {
IamPolicyAnalysisResult::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>(
"attached_resource_full_name",
|m: &IamPolicyAnalysisResult| { &m.attached_resource_full_name },
|m: &mut IamPolicyAnalysisResult| { &mut m.attached_resource_full_name },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::policy::Binding>>(
"iam_binding",
|m: &IamPolicyAnalysisResult| { &m.iam_binding },
|m: &mut IamPolicyAnalysisResult| { &mut m.iam_binding },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<IamPolicyAnalysisResult_AccessControlList>>(
"access_control_lists",
|m: &IamPolicyAnalysisResult| { &m.access_control_lists },
|m: &mut IamPolicyAnalysisResult| { &mut m.access_control_lists },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<IamPolicyAnalysisResult_IdentityList>>(
"identity_list",
|m: &IamPolicyAnalysisResult| { &m.identity_list },
|m: &mut IamPolicyAnalysisResult| { &mut m.identity_list },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"fully_explored",
|m: &IamPolicyAnalysisResult| { &m.fully_explored },
|m: &mut IamPolicyAnalysisResult| { &mut m.fully_explored },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<IamPolicyAnalysisResult>(
"IamPolicyAnalysisResult",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static IamPolicyAnalysisResult {
static instance: ::protobuf::rt::LazyV2<IamPolicyAnalysisResult> = ::protobuf::rt::LazyV2::INIT;
instance.get(IamPolicyAnalysisResult::new)
}
}
impl ::protobuf::Clear for IamPolicyAnalysisResult {
fn clear(&mut self) {
self.attached_resource_full_name.clear();
self.iam_binding.clear();
self.access_control_lists.clear();
self.identity_list.clear();
self.fully_explored = false;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for IamPolicyAnalysisResult {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for IamPolicyAnalysisResult {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct IamPolicyAnalysisResult_Resource {
pub full_resource_name: ::std::string::String,
pub analysis_state: ::protobuf::SingularPtrField<IamPolicyAnalysisState>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a IamPolicyAnalysisResult_Resource {
fn default() -> &'a IamPolicyAnalysisResult_Resource {
<IamPolicyAnalysisResult_Resource as ::protobuf::Message>::default_instance()
}
}
impl IamPolicyAnalysisResult_Resource {
pub fn new() -> IamPolicyAnalysisResult_Resource {
::std::default::Default::default()
}
pub fn get_full_resource_name(&self) -> &str {
&self.full_resource_name
}
pub fn clear_full_resource_name(&mut self) {
self.full_resource_name.clear();
}
pub fn set_full_resource_name(&mut self, v: ::std::string::String) {
self.full_resource_name = v;
}
pub fn mut_full_resource_name(&mut self) -> &mut ::std::string::String {
&mut self.full_resource_name
}
pub fn take_full_resource_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.full_resource_name, ::std::string::String::new())
}
pub fn get_analysis_state(&self) -> &IamPolicyAnalysisState {
self.analysis_state.as_ref().unwrap_or_else(|| <IamPolicyAnalysisState as ::protobuf::Message>::default_instance())
}
pub fn clear_analysis_state(&mut self) {
self.analysis_state.clear();
}
pub fn has_analysis_state(&self) -> bool {
self.analysis_state.is_some()
}
pub fn set_analysis_state(&mut self, v: IamPolicyAnalysisState) {
self.analysis_state = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_analysis_state(&mut self) -> &mut IamPolicyAnalysisState {
if self.analysis_state.is_none() {
self.analysis_state.set_default();
}
self.analysis_state.as_mut().unwrap()
}
pub fn take_analysis_state(&mut self) -> IamPolicyAnalysisState {
self.analysis_state.take().unwrap_or_else(|| IamPolicyAnalysisState::new())
}
}
impl ::protobuf::Message for IamPolicyAnalysisResult_Resource {
fn is_initialized(&self) -> bool {
for v in &self.analysis_state {
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.full_resource_name)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.analysis_state)?;
},
_ => {
::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.full_resource_name.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.full_resource_name);
}
if let Some(ref v) = self.analysis_state.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 !self.full_resource_name.is_empty() {
os.write_string(1, &self.full_resource_name)?;
}
if let Some(ref v) = self.analysis_state.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)?;
}
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() -> IamPolicyAnalysisResult_Resource {
IamPolicyAnalysisResult_Resource::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>(
"full_resource_name",
|m: &IamPolicyAnalysisResult_Resource| { &m.full_resource_name },
|m: &mut IamPolicyAnalysisResult_Resource| { &mut m.full_resource_name },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<IamPolicyAnalysisState>>(
"analysis_state",
|m: &IamPolicyAnalysisResult_Resource| { &m.analysis_state },
|m: &mut IamPolicyAnalysisResult_Resource| { &mut m.analysis_state },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<IamPolicyAnalysisResult_Resource>(
"IamPolicyAnalysisResult.Resource",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static IamPolicyAnalysisResult_Resource {
static instance: ::protobuf::rt::LazyV2<IamPolicyAnalysisResult_Resource> = ::protobuf::rt::LazyV2::INIT;
instance.get(IamPolicyAnalysisResult_Resource::new)
}
}
impl ::protobuf::Clear for IamPolicyAnalysisResult_Resource {
fn clear(&mut self) {
self.full_resource_name.clear();
self.analysis_state.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for IamPolicyAnalysisResult_Resource {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for IamPolicyAnalysisResult_Resource {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct IamPolicyAnalysisResult_Access {
pub analysis_state: ::protobuf::SingularPtrField<IamPolicyAnalysisState>,
pub oneof_access: ::std::option::Option<IamPolicyAnalysisResult_Access_oneof_oneof_access>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a IamPolicyAnalysisResult_Access {
fn default() -> &'a IamPolicyAnalysisResult_Access {
<IamPolicyAnalysisResult_Access as ::protobuf::Message>::default_instance()
}
}
#[derive(Clone,PartialEq,Debug)]
pub enum IamPolicyAnalysisResult_Access_oneof_oneof_access {
role(::std::string::String),
permission(::std::string::String),
}
impl IamPolicyAnalysisResult_Access {
pub fn new() -> IamPolicyAnalysisResult_Access {
::std::default::Default::default()
}
pub fn get_role(&self) -> &str {
match self.oneof_access {
::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::role(ref v)) => v,
_ => "",
}
}
pub fn clear_role(&mut self) {
self.oneof_access = ::std::option::Option::None;
}
pub fn has_role(&self) -> bool {
match self.oneof_access {
::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::role(..)) => true,
_ => false,
}
}
pub fn set_role(&mut self, v: ::std::string::String) {
self.oneof_access = ::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::role(v))
}
pub fn mut_role(&mut self) -> &mut ::std::string::String {
if let ::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::role(_)) = self.oneof_access {
} else {
self.oneof_access = ::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::role(::std::string::String::new()));
}
match self.oneof_access {
::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::role(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_role(&mut self) -> ::std::string::String {
if self.has_role() {
match self.oneof_access.take() {
::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::role(v)) => v,
_ => panic!(),
}
} else {
::std::string::String::new()
}
}
pub fn get_permission(&self) -> &str {
match self.oneof_access {
::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::permission(ref v)) => v,
_ => "",
}
}
pub fn clear_permission(&mut self) {
self.oneof_access = ::std::option::Option::None;
}
pub fn has_permission(&self) -> bool {
match self.oneof_access {
::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::permission(..)) => true,
_ => false,
}
}
pub fn set_permission(&mut self, v: ::std::string::String) {
self.oneof_access = ::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::permission(v))
}
pub fn mut_permission(&mut self) -> &mut ::std::string::String {
if let ::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::permission(_)) = self.oneof_access {
} else {
self.oneof_access = ::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::permission(::std::string::String::new()));
}
match self.oneof_access {
::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::permission(ref mut v)) => v,
_ => panic!(),
}
}
pub fn take_permission(&mut self) -> ::std::string::String {
if self.has_permission() {
match self.oneof_access.take() {
::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::permission(v)) => v,
_ => panic!(),
}
} else {
::std::string::String::new()
}
}
pub fn get_analysis_state(&self) -> &IamPolicyAnalysisState {
self.analysis_state.as_ref().unwrap_or_else(|| <IamPolicyAnalysisState as ::protobuf::Message>::default_instance())
}
pub fn clear_analysis_state(&mut self) {
self.analysis_state.clear();
}
pub fn has_analysis_state(&self) -> bool {
self.analysis_state.is_some()
}
pub fn set_analysis_state(&mut self, v: IamPolicyAnalysisState) {
self.analysis_state = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_analysis_state(&mut self) -> &mut IamPolicyAnalysisState {
if self.analysis_state.is_none() {
self.analysis_state.set_default();
}
self.analysis_state.as_mut().unwrap()
}
pub fn take_analysis_state(&mut self) -> IamPolicyAnalysisState {
self.analysis_state.take().unwrap_or_else(|| IamPolicyAnalysisState::new())
}
}
impl ::protobuf::Message for IamPolicyAnalysisResult_Access {
fn is_initialized(&self) -> bool {
for v in &self.analysis_state {
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::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.oneof_access = ::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::role(is.read_string()?));
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
self.oneof_access = ::std::option::Option::Some(IamPolicyAnalysisResult_Access_oneof_oneof_access::permission(is.read_string()?));
},
3 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.analysis_state)?;
},
_ => {
::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.analysis_state.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.oneof_access {
match v {
&IamPolicyAnalysisResult_Access_oneof_oneof_access::role(ref v) => {
my_size += ::protobuf::rt::string_size(1, &v);
},
&IamPolicyAnalysisResult_Access_oneof_oneof_access::permission(ref v) => {
my_size += ::protobuf::rt::string_size(2, &v);
},
};
}
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.analysis_state.as_ref() {
os.write_tag(3, ::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.oneof_access {
match v {
&IamPolicyAnalysisResult_Access_oneof_oneof_access::role(ref v) => {
os.write_string(1, v)?;
},
&IamPolicyAnalysisResult_Access_oneof_oneof_access::permission(ref v) => {
os.write_string(2, 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() -> IamPolicyAnalysisResult_Access {
IamPolicyAnalysisResult_Access::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_string_accessor::<_>(
"role",
IamPolicyAnalysisResult_Access::has_role,
IamPolicyAnalysisResult_Access::get_role,
));
fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
"permission",
IamPolicyAnalysisResult_Access::has_permission,
IamPolicyAnalysisResult_Access::get_permission,
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<IamPolicyAnalysisState>>(
"analysis_state",
|m: &IamPolicyAnalysisResult_Access| { &m.analysis_state },
|m: &mut IamPolicyAnalysisResult_Access| { &mut m.analysis_state },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<IamPolicyAnalysisResult_Access>(
"IamPolicyAnalysisResult.Access",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static IamPolicyAnalysisResult_Access {
static instance: ::protobuf::rt::LazyV2<IamPolicyAnalysisResult_Access> = ::protobuf::rt::LazyV2::INIT;
instance.get(IamPolicyAnalysisResult_Access::new)
}
}
impl ::protobuf::Clear for IamPolicyAnalysisResult_Access {
fn clear(&mut self) {
self.oneof_access = ::std::option::Option::None;
self.oneof_access = ::std::option::Option::None;
self.analysis_state.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for IamPolicyAnalysisResult_Access {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for IamPolicyAnalysisResult_Access {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct IamPolicyAnalysisResult_Identity {
pub name: ::std::string::String,
pub analysis_state: ::protobuf::SingularPtrField<IamPolicyAnalysisState>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a IamPolicyAnalysisResult_Identity {
fn default() -> &'a IamPolicyAnalysisResult_Identity {
<IamPolicyAnalysisResult_Identity as ::protobuf::Message>::default_instance()
}
}
impl IamPolicyAnalysisResult_Identity {
pub fn new() -> IamPolicyAnalysisResult_Identity {
::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_analysis_state(&self) -> &IamPolicyAnalysisState {
self.analysis_state.as_ref().unwrap_or_else(|| <IamPolicyAnalysisState as ::protobuf::Message>::default_instance())
}
pub fn clear_analysis_state(&mut self) {
self.analysis_state.clear();
}
pub fn has_analysis_state(&self) -> bool {
self.analysis_state.is_some()
}
pub fn set_analysis_state(&mut self, v: IamPolicyAnalysisState) {
self.analysis_state = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_analysis_state(&mut self) -> &mut IamPolicyAnalysisState {
if self.analysis_state.is_none() {
self.analysis_state.set_default();
}
self.analysis_state.as_mut().unwrap()
}
pub fn take_analysis_state(&mut self) -> IamPolicyAnalysisState {
self.analysis_state.take().unwrap_or_else(|| IamPolicyAnalysisState::new())
}
}
impl ::protobuf::Message for IamPolicyAnalysisResult_Identity {
fn is_initialized(&self) -> bool {
for v in &self.analysis_state {
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_message_into(wire_type, is, &mut self.analysis_state)?;
},
_ => {
::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 let Some(ref v) = self.analysis_state.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 !self.name.is_empty() {
os.write_string(1, &self.name)?;
}
if let Some(ref v) = self.analysis_state.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)?;
}
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() -> IamPolicyAnalysisResult_Identity {
IamPolicyAnalysisResult_Identity::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: &IamPolicyAnalysisResult_Identity| { &m.name },
|m: &mut IamPolicyAnalysisResult_Identity| { &mut m.name },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<IamPolicyAnalysisState>>(
"analysis_state",
|m: &IamPolicyAnalysisResult_Identity| { &m.analysis_state },
|m: &mut IamPolicyAnalysisResult_Identity| { &mut m.analysis_state },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<IamPolicyAnalysisResult_Identity>(
"IamPolicyAnalysisResult.Identity",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static IamPolicyAnalysisResult_Identity {
static instance: ::protobuf::rt::LazyV2<IamPolicyAnalysisResult_Identity> = ::protobuf::rt::LazyV2::INIT;
instance.get(IamPolicyAnalysisResult_Identity::new)
}
}
impl ::protobuf::Clear for IamPolicyAnalysisResult_Identity {
fn clear(&mut self) {
self.name.clear();
self.analysis_state.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for IamPolicyAnalysisResult_Identity {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for IamPolicyAnalysisResult_Identity {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct IamPolicyAnalysisResult_Edge {
pub source_node: ::std::string::String,
pub target_node: ::std::string::String,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a IamPolicyAnalysisResult_Edge {
fn default() -> &'a IamPolicyAnalysisResult_Edge {
<IamPolicyAnalysisResult_Edge as ::protobuf::Message>::default_instance()
}
}
impl IamPolicyAnalysisResult_Edge {
pub fn new() -> IamPolicyAnalysisResult_Edge {
::std::default::Default::default()
}
pub fn get_source_node(&self) -> &str {
&self.source_node
}
pub fn clear_source_node(&mut self) {
self.source_node.clear();
}
pub fn set_source_node(&mut self, v: ::std::string::String) {
self.source_node = v;
}
pub fn mut_source_node(&mut self) -> &mut ::std::string::String {
&mut self.source_node
}
pub fn take_source_node(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.source_node, ::std::string::String::new())
}
pub fn get_target_node(&self) -> &str {
&self.target_node
}
pub fn clear_target_node(&mut self) {
self.target_node.clear();
}
pub fn set_target_node(&mut self, v: ::std::string::String) {
self.target_node = v;
}
pub fn mut_target_node(&mut self) -> &mut ::std::string::String {
&mut self.target_node
}
pub fn take_target_node(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.target_node, ::std::string::String::new())
}
}
impl ::protobuf::Message for IamPolicyAnalysisResult_Edge {
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_singular_proto3_string_into(wire_type, is, &mut self.source_node)?;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.target_node)?;
},
_ => {
::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.source_node.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.source_node);
}
if !self.target_node.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.target_node);
}
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.source_node.is_empty() {
os.write_string(1, &self.source_node)?;
}
if !self.target_node.is_empty() {
os.write_string(2, &self.target_node)?;
}
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() -> IamPolicyAnalysisResult_Edge {
IamPolicyAnalysisResult_Edge::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>(
"source_node",
|m: &IamPolicyAnalysisResult_Edge| { &m.source_node },
|m: &mut IamPolicyAnalysisResult_Edge| { &mut m.source_node },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"target_node",
|m: &IamPolicyAnalysisResult_Edge| { &m.target_node },
|m: &mut IamPolicyAnalysisResult_Edge| { &mut m.target_node },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<IamPolicyAnalysisResult_Edge>(
"IamPolicyAnalysisResult.Edge",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static IamPolicyAnalysisResult_Edge {
static instance: ::protobuf::rt::LazyV2<IamPolicyAnalysisResult_Edge> = ::protobuf::rt::LazyV2::INIT;
instance.get(IamPolicyAnalysisResult_Edge::new)
}
}
impl ::protobuf::Clear for IamPolicyAnalysisResult_Edge {
fn clear(&mut self) {
self.source_node.clear();
self.target_node.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for IamPolicyAnalysisResult_Edge {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for IamPolicyAnalysisResult_Edge {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct IamPolicyAnalysisResult_AccessControlList {
pub resources: ::protobuf::RepeatedField<IamPolicyAnalysisResult_Resource>,
pub accesses: ::protobuf::RepeatedField<IamPolicyAnalysisResult_Access>,
pub resource_edges: ::protobuf::RepeatedField<IamPolicyAnalysisResult_Edge>,
pub condition_evaluation: ::protobuf::SingularPtrField<ConditionEvaluation>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a IamPolicyAnalysisResult_AccessControlList {
fn default() -> &'a IamPolicyAnalysisResult_AccessControlList {
<IamPolicyAnalysisResult_AccessControlList as ::protobuf::Message>::default_instance()
}
}
impl IamPolicyAnalysisResult_AccessControlList {
pub fn new() -> IamPolicyAnalysisResult_AccessControlList {
::std::default::Default::default()
}
pub fn get_resources(&self) -> &[IamPolicyAnalysisResult_Resource] {
&self.resources
}
pub fn clear_resources(&mut self) {
self.resources.clear();
}
pub fn set_resources(&mut self, v: ::protobuf::RepeatedField<IamPolicyAnalysisResult_Resource>) {
self.resources = v;
}
pub fn mut_resources(&mut self) -> &mut ::protobuf::RepeatedField<IamPolicyAnalysisResult_Resource> {
&mut self.resources
}
pub fn take_resources(&mut self) -> ::protobuf::RepeatedField<IamPolicyAnalysisResult_Resource> {
::std::mem::replace(&mut self.resources, ::protobuf::RepeatedField::new())
}
pub fn get_accesses(&self) -> &[IamPolicyAnalysisResult_Access] {
&self.accesses
}
pub fn clear_accesses(&mut self) {
self.accesses.clear();
}
pub fn set_accesses(&mut self, v: ::protobuf::RepeatedField<IamPolicyAnalysisResult_Access>) {
self.accesses = v;
}
pub fn mut_accesses(&mut self) -> &mut ::protobuf::RepeatedField<IamPolicyAnalysisResult_Access> {
&mut self.accesses
}
pub fn take_accesses(&mut self) -> ::protobuf::RepeatedField<IamPolicyAnalysisResult_Access> {
::std::mem::replace(&mut self.accesses, ::protobuf::RepeatedField::new())
}
pub fn get_resource_edges(&self) -> &[IamPolicyAnalysisResult_Edge] {
&self.resource_edges
}
pub fn clear_resource_edges(&mut self) {
self.resource_edges.clear();
}
pub fn set_resource_edges(&mut self, v: ::protobuf::RepeatedField<IamPolicyAnalysisResult_Edge>) {
self.resource_edges = v;
}
pub fn mut_resource_edges(&mut self) -> &mut ::protobuf::RepeatedField<IamPolicyAnalysisResult_Edge> {
&mut self.resource_edges
}
pub fn take_resource_edges(&mut self) -> ::protobuf::RepeatedField<IamPolicyAnalysisResult_Edge> {
::std::mem::replace(&mut self.resource_edges, ::protobuf::RepeatedField::new())
}
pub fn get_condition_evaluation(&self) -> &ConditionEvaluation {
self.condition_evaluation.as_ref().unwrap_or_else(|| <ConditionEvaluation as ::protobuf::Message>::default_instance())
}
pub fn clear_condition_evaluation(&mut self) {
self.condition_evaluation.clear();
}
pub fn has_condition_evaluation(&self) -> bool {
self.condition_evaluation.is_some()
}
pub fn set_condition_evaluation(&mut self, v: ConditionEvaluation) {
self.condition_evaluation = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_condition_evaluation(&mut self) -> &mut ConditionEvaluation {
if self.condition_evaluation.is_none() {
self.condition_evaluation.set_default();
}
self.condition_evaluation.as_mut().unwrap()
}
pub fn take_condition_evaluation(&mut self) -> ConditionEvaluation {
self.condition_evaluation.take().unwrap_or_else(|| ConditionEvaluation::new())
}
}
impl ::protobuf::Message for IamPolicyAnalysisResult_AccessControlList {
fn is_initialized(&self) -> bool {
for v in &self.resources {
if !v.is_initialized() {
return false;
}
};
for v in &self.accesses {
if !v.is_initialized() {
return false;
}
};
for v in &self.resource_edges {
if !v.is_initialized() {
return false;
}
};
for v in &self.condition_evaluation {
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.resources)?;
},
2 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.accesses)?;
},
3 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.resource_edges)?;
},
4 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.condition_evaluation)?;
},
_ => {
::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.resources {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.accesses {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.resource_edges {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if let Some(ref v) = self.condition_evaluation.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<()> {
for v in &self.resources {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
for v in &self.accesses {
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.resource_edges {
os.write_tag(3, ::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.condition_evaluation.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)?;
}
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() -> IamPolicyAnalysisResult_AccessControlList {
IamPolicyAnalysisResult_AccessControlList::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<IamPolicyAnalysisResult_Resource>>(
"resources",
|m: &IamPolicyAnalysisResult_AccessControlList| { &m.resources },
|m: &mut IamPolicyAnalysisResult_AccessControlList| { &mut m.resources },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<IamPolicyAnalysisResult_Access>>(
"accesses",
|m: &IamPolicyAnalysisResult_AccessControlList| { &m.accesses },
|m: &mut IamPolicyAnalysisResult_AccessControlList| { &mut m.accesses },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<IamPolicyAnalysisResult_Edge>>(
"resource_edges",
|m: &IamPolicyAnalysisResult_AccessControlList| { &m.resource_edges },
|m: &mut IamPolicyAnalysisResult_AccessControlList| { &mut m.resource_edges },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ConditionEvaluation>>(
"condition_evaluation",
|m: &IamPolicyAnalysisResult_AccessControlList| { &m.condition_evaluation },
|m: &mut IamPolicyAnalysisResult_AccessControlList| { &mut m.condition_evaluation },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<IamPolicyAnalysisResult_AccessControlList>(
"IamPolicyAnalysisResult.AccessControlList",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static IamPolicyAnalysisResult_AccessControlList {
static instance: ::protobuf::rt::LazyV2<IamPolicyAnalysisResult_AccessControlList> = ::protobuf::rt::LazyV2::INIT;
instance.get(IamPolicyAnalysisResult_AccessControlList::new)
}
}
impl ::protobuf::Clear for IamPolicyAnalysisResult_AccessControlList {
fn clear(&mut self) {
self.resources.clear();
self.accesses.clear();
self.resource_edges.clear();
self.condition_evaluation.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for IamPolicyAnalysisResult_AccessControlList {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for IamPolicyAnalysisResult_AccessControlList {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct IamPolicyAnalysisResult_IdentityList {
pub identities: ::protobuf::RepeatedField<IamPolicyAnalysisResult_Identity>,
pub group_edges: ::protobuf::RepeatedField<IamPolicyAnalysisResult_Edge>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a IamPolicyAnalysisResult_IdentityList {
fn default() -> &'a IamPolicyAnalysisResult_IdentityList {
<IamPolicyAnalysisResult_IdentityList as ::protobuf::Message>::default_instance()
}
}
impl IamPolicyAnalysisResult_IdentityList {
pub fn new() -> IamPolicyAnalysisResult_IdentityList {
::std::default::Default::default()
}
pub fn get_identities(&self) -> &[IamPolicyAnalysisResult_Identity] {
&self.identities
}
pub fn clear_identities(&mut self) {
self.identities.clear();
}
pub fn set_identities(&mut self, v: ::protobuf::RepeatedField<IamPolicyAnalysisResult_Identity>) {
self.identities = v;
}
pub fn mut_identities(&mut self) -> &mut ::protobuf::RepeatedField<IamPolicyAnalysisResult_Identity> {
&mut self.identities
}
pub fn take_identities(&mut self) -> ::protobuf::RepeatedField<IamPolicyAnalysisResult_Identity> {
::std::mem::replace(&mut self.identities, ::protobuf::RepeatedField::new())
}
pub fn get_group_edges(&self) -> &[IamPolicyAnalysisResult_Edge] {
&self.group_edges
}
pub fn clear_group_edges(&mut self) {
self.group_edges.clear();
}
pub fn set_group_edges(&mut self, v: ::protobuf::RepeatedField<IamPolicyAnalysisResult_Edge>) {
self.group_edges = v;
}
pub fn mut_group_edges(&mut self) -> &mut ::protobuf::RepeatedField<IamPolicyAnalysisResult_Edge> {
&mut self.group_edges
}
pub fn take_group_edges(&mut self) -> ::protobuf::RepeatedField<IamPolicyAnalysisResult_Edge> {
::std::mem::replace(&mut self.group_edges, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for IamPolicyAnalysisResult_IdentityList {
fn is_initialized(&self) -> bool {
for v in &self.identities {
if !v.is_initialized() {
return false;
}
};
for v in &self.group_edges {
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.identities)?;
},
2 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.group_edges)?;
},
_ => {
::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.identities {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.group_edges {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
self.cached_size.set(my_size);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
for v in &self.identities {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
for v in &self.group_edges {
os.write_tag(2, ::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() -> IamPolicyAnalysisResult_IdentityList {
IamPolicyAnalysisResult_IdentityList::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<IamPolicyAnalysisResult_Identity>>(
"identities",
|m: &IamPolicyAnalysisResult_IdentityList| { &m.identities },
|m: &mut IamPolicyAnalysisResult_IdentityList| { &mut m.identities },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<IamPolicyAnalysisResult_Edge>>(
"group_edges",
|m: &IamPolicyAnalysisResult_IdentityList| { &m.group_edges },
|m: &mut IamPolicyAnalysisResult_IdentityList| { &mut m.group_edges },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<IamPolicyAnalysisResult_IdentityList>(
"IamPolicyAnalysisResult.IdentityList",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static IamPolicyAnalysisResult_IdentityList {
static instance: ::protobuf::rt::LazyV2<IamPolicyAnalysisResult_IdentityList> = ::protobuf::rt::LazyV2::INIT;
instance.get(IamPolicyAnalysisResult_IdentityList::new)
}
}
impl ::protobuf::Clear for IamPolicyAnalysisResult_IdentityList {
fn clear(&mut self) {
self.identities.clear();
self.group_edges.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for IamPolicyAnalysisResult_IdentityList {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for IamPolicyAnalysisResult_IdentityList {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n\"google/cloud/asset/v1/assets.proto\x12\x15google.cloud.asset.v1\x1a\
\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\
)google/cloud/orgpolicy/v1/orgpolicy.proto\x1a(google/cloud/osconfig/v1/\
inventory.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a:google/identity/ac\
cesscontextmanager/v1/access_level.proto\x1a;google/identity/accessconte\
xtmanager/v1/access_policy.proto\x1a?google/identity/accesscontextmanage\
r/v1/service_perimeter.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1f\
google/protobuf/timestamp.proto\x1a\x15google/rpc/code.proto\"\xaa\x03\n\
\rTemporalAsset\x129\n\x06window\x18\x01\x20\x01(\x0b2!.google.cloud.ass\
et.v1.TimeWindowR\x06window\x12\x18\n\x07deleted\x18\x02\x20\x01(\x08R\
\x07deleted\x122\n\x05asset\x18\x03\x20\x01(\x0b2\x1c.google.cloud.asset\
.v1.AssetR\x05asset\x12`\n\x11prior_asset_state\x18\x04\x20\x01(\x0e24.g\
oogle.cloud.asset.v1.TemporalAsset.PriorAssetStateR\x0fpriorAssetState\
\x12=\n\x0bprior_asset\x18\x05\x20\x01(\x0b2\x1c.google.cloud.asset.v1.A\
ssetR\npriorAsset\"o\n\x0fPriorAssetState\x12!\n\x1dPRIOR_ASSET_STATE_UN\
SPECIFIED\x10\0\x12\x0b\n\x07PRESENT\x10\x01\x12\x0b\n\x07INVALID\x10\
\x02\x12\x12\n\x0eDOES_NOT_EXIST\x10\x03\x12\x0b\n\x07DELETED\x10\x04\"~\
\n\nTimeWindow\x129\n\nstart_time\x18\x01\x20\x01(\x0b2\x1a.google.proto\
buf.TimestampR\tstartTime\x125\n\x08end_time\x18\x02\x20\x01(\x0b2\x1a.g\
oogle.protobuf.TimestampR\x07endTime\"\x92\x07\n\x05Asset\x12;\n\x0bupda\
te_time\x18\x0b\x20\x01(\x0b2\x1a.google.protobuf.TimestampR\nupdateTime\
\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x1d\n\nasset_type\x18\
\x02\x20\x01(\tR\tassetType\x12;\n\x08resource\x18\x03\x20\x01(\x0b2\x1f\
.google.cloud.asset.v1.ResourceR\x08resource\x124\n\niam_policy\x18\x04\
\x20\x01(\x0b2\x15.google.iam.v1.PolicyR\tiamPolicy\x12@\n\norg_policy\
\x18\x06\x20\x03(\x0b2!.google.cloud.orgpolicy.v1.PolicyR\torgPolicy\x12\
\\\n\raccess_policy\x18\x07\x20\x01(\x0b25.google.identity.accesscontext\
manager.v1.AccessPolicyH\0R\x0caccessPolicy\x12Y\n\x0caccess_level\x18\
\x08\x20\x01(\x0b24.google.identity.accesscontextmanager.v1.AccessLevelH\
\0R\x0baccessLevel\x12h\n\x11service_perimeter\x18\t\x20\x01(\x0b29.goog\
le.identity.accesscontextmanager.v1.ServicePerimeterH\0R\x10servicePerim\
eter\x12F\n\x0cos_inventory\x18\x0c\x20\x01(\x0b2#.google.cloud.osconfig\
.v1.InventoryR\x0bosInventory\x12O\n\x0erelated_assets\x18\r\x20\x01(\
\x0b2$.google.cloud.asset.v1.RelatedAssetsR\rrelatedAssetsB\x02\x18\x01\
\x12H\n\rrelated_asset\x18\x0f\x20\x01(\x0b2#.google.cloud.asset.v1.Rela\
tedAssetR\x0crelatedAsset\x12\x1c\n\tancestors\x18\n\x20\x03(\tR\tancest\
orsB\x17\n\x15access_context_policy:'\xeaA$\n\x1fcloudasset.googleapis.c\
om/Asset\x12\x01*\"\x85\x02\n\x08Resource\x12\x18\n\x07version\x18\x01\
\x20\x01(\tR\x07version\x124\n\x16discovery_document_uri\x18\x02\x20\x01\
(\tR\x14discoveryDocumentUri\x12%\n\x0ediscovery_name\x18\x03\x20\x01(\t\
R\rdiscoveryName\x12!\n\x0cresource_url\x18\x04\x20\x01(\tR\x0bresourceU\
rl\x12\x16\n\x06parent\x18\x05\x20\x01(\tR\x06parent\x12+\n\x04data\x18\
\x06\x20\x01(\x0b2\x17.google.protobuf.StructR\x04data\x12\x1a\n\x08loca\
tion\x18\x08\x20\x01(\tR\x08location\"\xb8\x01\n\rRelatedAssets\x12f\n\
\x17relationship_attributes\x18\x01\x20\x01(\x0b2-.google.cloud.asset.v1\
.RelationshipAttributesR\x16relationshipAttributes\x12;\n\x06assets\x18\
\x02\x20\x03(\x0b2#.google.cloud.asset.v1.RelatedAssetR\x06assets:\x02\
\x18\x01\"\xac\x01\n\x16RelationshipAttributes\x12\x12\n\x04type\x18\x04\
\x20\x01(\tR\x04type\x120\n\x14source_resource_type\x18\x01\x20\x01(\tR\
\x12sourceResourceType\x120\n\x14target_resource_type\x18\x02\x20\x01(\t\
R\x12targetResourceType\x12\x16\n\x06action\x18\x03\x20\x01(\tR\x06actio\
n:\x02\x18\x01\"\xb4\x01\n\x0cRelatedAsset\x12:\n\x05asset\x18\x01\x20\
\x01(\tR\x05assetB$\xfaA!\n\x1fcloudasset.googleapis.com/Asset\x12\x1d\n\
\nasset_type\x18\x02\x20\x01(\tR\tassetType\x12\x1c\n\tancestors\x18\x03\
\x20\x03(\tR\tancestors\x12+\n\x11relationship_type\x18\x04\x20\x01(\tR\
\x10relationshipType\"\x97\x01\n\x03Tag\x12\x1c\n\x07tag_key\x18\x01\x20\
\x01(\tH\0R\x06tagKey\x88\x01\x01\x12\x20\n\ttag_value\x18\x03\x20\x01(\
\tH\x01R\x08tagValue\x88\x01\x01\x12%\n\x0ctag_value_id\x18\x04\x20\x01(\
\tH\x02R\ntagValueId\x88\x01\x01B\n\n\x08_tag_keyB\x0c\n\n_tag_valueB\
\x0f\n\r_tag_value_id\"\xa0\x01\n\x13EffectiveTagDetails\x120\n\x11attac\
hed_resource\x18\x01\x20\x01(\tH\0R\x10attachedResource\x88\x01\x01\x12A\
\n\x0eeffective_tags\x18\x02\x20\x03(\x0b2\x1a.google.cloud.asset.v1.Tag\
R\reffectiveTagsB\x14\n\x12_attached_resource\"\xd5\x0c\n\x14ResourceSea\
rchResult\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x1d\n\nasset\
_type\x18\x02\x20\x01(\tR\tassetType\x12\x18\n\x07project\x18\x03\x20\
\x01(\tR\x07project\x12\x18\n\x07folders\x18\x11\x20\x03(\tR\x07folders\
\x12\"\n\x0corganization\x18\x12\x20\x01(\tR\x0corganization\x12!\n\x0cd\
isplay_name\x18\x04\x20\x01(\tR\x0bdisplayName\x12\x20\n\x0bdescription\
\x18\x05\x20\x01(\tR\x0bdescription\x12\x1a\n\x08location\x18\x06\x20\
\x01(\tR\x08location\x12O\n\x06labels\x18\x07\x20\x03(\x0b27.google.clou\
d.asset.v1.ResourceSearchResult.LabelsEntryR\x06labels\x12!\n\x0cnetwork\
_tags\x18\x08\x20\x03(\tR\x0bnetworkTags\x12\x1b\n\x07kms_key\x18\n\x20\
\x01(\tR\x06kmsKeyB\x02\x18\x01\x12\x19\n\x08kms_keys\x18\x1c\x20\x03(\t\
R\x07kmsKeys\x12;\n\x0bcreate_time\x18\x0b\x20\x01(\x0b2\x1a.google.prot\
obuf.TimestampR\ncreateTime\x12;\n\x0bupdate_time\x18\x0c\x20\x01(\x0b2\
\x1a.google.protobuf.TimestampR\nupdateTime\x12\x14\n\x05state\x18\r\x20\
\x01(\tR\x05state\x12L\n\x15additional_attributes\x18\t\x20\x01(\x0b2\
\x17.google.protobuf.StructR\x14additionalAttributes\x129\n\x19parent_fu\
ll_resource_name\x18\x13\x20\x01(\tR\x16parentFullResourceName\x12Y\n\
\x13versioned_resources\x18\x10\x20\x03(\x0b2(.google.cloud.asset.v1.Ver\
sionedResourceR\x12versionedResources\x12V\n\x12attached_resources\x18\
\x14\x20\x03(\x0b2'.google.cloud.asset.v1.AttachedResourceR\x11attachedR\
esources\x12d\n\rrelationships\x18\x15\x20\x03(\x0b2>.google.cloud.asset\
.v1.ResourceSearchResult.RelationshipsEntryR\rrelationships\x12\x1d\n\
\x08tag_keys\x18\x17\x20\x03(\tR\x07tagKeysB\x02\x18\x01\x12!\n\ntag_val\
ues\x18\x19\x20\x03(\tR\ttagValuesB\x02\x18\x01\x12&\n\rtag_value_ids\
\x18\x1a\x20\x03(\tR\x0btagValueIdsB\x02\x18\x01\x12.\n\x04tags\x18\x1d\
\x20\x03(\x0b2\x1a.google.cloud.asset.v1.TagR\x04tags\x12Q\n\x0eeffectiv\
e_tags\x18\x1e\x20\x03(\x0b2*.google.cloud.asset.v1.EffectiveTagDetailsR\
\reffectiveTags\x12*\n\x11parent_asset_type\x18g\x20\x01(\tR\x0fparentAs\
setType\x12o\n\x12scc_security_marks\x18\x20\x20\x03(\x0b2A.google.cloud\
.asset.v1.ResourceSearchResult.SccSecurityMarksEntryR\x10sccSecurityMark\
s\x1a9\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\
\x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x028\x01\x1ai\n\x12Relatio\
nshipsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12=\n\x05value\
\x18\x02\x20\x01(\x0b2'.google.cloud.asset.v1.RelatedResourcesR\x05value\
:\x028\x01\x1aC\n\x15SccSecurityMarksEntry\x12\x10\n\x03key\x18\x01\x20\
\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x028\
\x01\"b\n\x11VersionedResource\x12\x18\n\x07version\x18\x01\x20\x01(\tR\
\x07version\x123\n\x08resource\x18\x02\x20\x01(\x0b2\x17.google.protobuf\
.StructR\x08resource\"\x8c\x01\n\x10AttachedResource\x12\x1d\n\nasset_ty\
pe\x18\x01\x20\x01(\tR\tassetType\x12Y\n\x13versioned_resources\x18\x03\
\x20\x03(\x0b2(.google.cloud.asset.v1.VersionedResourceR\x12versionedRes\
ources\"g\n\x10RelatedResources\x12S\n\x11related_resources\x18\x01\x20\
\x03(\x0b2&.google.cloud.asset.v1.RelatedResourceR\x10relatedResources\"\
^\n\x0fRelatedResource\x12\x1d\n\nasset_type\x18\x01\x20\x01(\tR\tassetT\
ype\x12,\n\x12full_resource_name\x18\x02\x20\x01(\tR\x10fullResourceName\
\"\x88\x05\n\x15IamPolicySearchResult\x12\x1a\n\x08resource\x18\x01\x20\
\x01(\tR\x08resource\x12\x1d\n\nasset_type\x18\x05\x20\x01(\tR\tassetTyp\
e\x12\x18\n\x07project\x18\x02\x20\x01(\tR\x07project\x12\x18\n\x07folde\
rs\x18\x06\x20\x03(\tR\x07folders\x12\"\n\x0corganization\x18\x07\x20\
\x01(\tR\x0corganization\x12-\n\x06policy\x18\x03\x20\x01(\x0b2\x15.goog\
le.iam.v1.PolicyR\x06policy\x12Z\n\x0bexplanation\x18\x04\x20\x01(\x0b28\
.google.cloud.asset.v1.IamPolicySearchResult.ExplanationR\x0bexplanation\
\x1a\xd0\x02\n\x0bExplanation\x12\x81\x01\n\x13matched_permissions\x18\
\x01\x20\x03(\x0b2P.google.cloud.asset.v1.IamPolicySearchResult.Explanat\
ion.MatchedPermissionsEntryR\x12matchedPermissions\x1a/\n\x0bPermissions\
\x12\x20\n\x0bpermissions\x18\x01\x20\x03(\tR\x0bpermissions\x1a\x8b\x01\
\n\x17MatchedPermissionsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03ke\
y\x12Z\n\x05value\x18\x02\x20\x01(\x0b2D.google.cloud.asset.v1.IamPolicy\
SearchResult.Explanation.PermissionsR\x05value:\x028\x01\"T\n\x16IamPoli\
cyAnalysisState\x12$\n\x04code\x18\x01\x20\x01(\x0e2\x10.google.rpc.Code\
R\x04code\x12\x14\n\x05cause\x18\x02\x20\x01(\tR\x05cause\"\xd7\x01\n\
\x13ConditionEvaluation\x12e\n\x10evaluation_value\x18\x01\x20\x01(\x0e2\
:.google.cloud.asset.v1.ConditionEvaluation.EvaluationValueR\x0fevaluati\
onValue\"Y\n\x0fEvaluationValue\x12\x20\n\x1cEVALUATION_VALUE_UNSPECIFIE\
D\x10\0\x12\x08\n\x04TRUE\x10\x01\x12\t\n\x05FALSE\x10\x02\x12\x0f\n\x0b\
CONDITIONAL\x10\x03\"\xc3\x0b\n\x17IamPolicyAnalysisResult\x12=\n\x1batt\
ached_resource_full_name\x18\x01\x20\x01(\tR\x18attachedResourceFullName\
\x127\n\x0biam_binding\x18\x02\x20\x01(\x0b2\x16.google.iam.v1.BindingR\
\niamBinding\x12r\n\x14access_control_lists\x18\x03\x20\x03(\x0b2@.googl\
e.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlListR\x12accessCon\
trolLists\x12`\n\ridentity_list\x18\x04\x20\x01(\x0b2;.google.cloud.asse\
t.v1.IamPolicyAnalysisResult.IdentityListR\x0cidentityList\x12%\n\x0eful\
ly_explored\x18\x05\x20\x01(\x08R\rfullyExplored\x1a\x8e\x01\n\x08Resour\
ce\x12,\n\x12full_resource_name\x18\x01\x20\x01(\tR\x10fullResourceName\
\x12T\n\x0eanalysis_state\x18\x02\x20\x01(\x0b2-.google.cloud.asset.v1.I\
amPolicyAnalysisStateR\ranalysisState\x1a\xa6\x01\n\x06Access\x12\x14\n\
\x04role\x18\x01\x20\x01(\tH\0R\x04role\x12\x20\n\npermission\x18\x02\
\x20\x01(\tH\0R\npermission\x12T\n\x0eanalysis_state\x18\x03\x20\x01(\
\x0b2-.google.cloud.asset.v1.IamPolicyAnalysisStateR\ranalysisStateB\x0e\
\n\x0coneof_access\x1at\n\x08Identity\x12\x12\n\x04name\x18\x01\x20\x01(\
\tR\x04name\x12T\n\x0eanalysis_state\x18\x02\x20\x01(\x0b2-.google.cloud\
.asset.v1.IamPolicyAnalysisStateR\ranalysisState\x1aH\n\x04Edge\x12\x1f\
\n\x0bsource_node\x18\x01\x20\x01(\tR\nsourceNode\x12\x1f\n\x0btarget_no\
de\x18\x02\x20\x01(\tR\ntargetNode\x1a\xf8\x02\n\x11AccessControlList\
\x12U\n\tresources\x18\x01\x20\x03(\x0b27.google.cloud.asset.v1.IamPolic\
yAnalysisResult.ResourceR\tresources\x12Q\n\x08accesses\x18\x02\x20\x03(\
\x0b25.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessR\x08accesses\
\x12Z\n\x0eresource_edges\x18\x03\x20\x03(\x0b23.google.cloud.asset.v1.I\
amPolicyAnalysisResult.EdgeR\rresourceEdges\x12]\n\x14condition_evaluati\
on\x18\x04\x20\x01(\x0b2*.google.cloud.asset.v1.ConditionEvaluationR\x13\
conditionEvaluation\x1a\xbd\x01\n\x0cIdentityList\x12W\n\nidentities\x18\
\x01\x20\x03(\x0b27.google.cloud.asset.v1.IamPolicyAnalysisResult.Identi\
tyR\nidentities\x12T\n\x0bgroup_edges\x18\x02\x20\x03(\x0b23.google.clou\
d.asset.v1.IamPolicyAnalysisResult.EdgeR\ngroupEdgesB\x8d\x01\n\x19com.g\
oogle.cloud.asset.v1B\nAssetProtoP\x01Z/cloud.google.com/go/asset/apiv1/\
assetpb;assetpb\xf8\x01\x01\xaa\x02\x15Google.Cloud.Asset.V1\xca\x02\x15\
Google\\Cloud\\Asset\\V1J\x90\xc5\x02\n\x07\x12\x05\x0e\0\x89\x08\x01\n\
\xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\x04\x20Copyright\x202023\x20Go\
ogle\x20LLC\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\x20Ver\
sion\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20use\x20th\
is\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\0\x1e\n\t\n\x02\x03\0\
\x12\x03\x12\0)\n\t\n\x02\x03\x01\x12\x03\x13\0#\n\t\n\x02\x03\x02\x12\
\x03\x14\03\n\t\n\x02\x03\x03\x12\x03\x15\02\n\t\n\x02\x03\x04\x12\x03\
\x16\0$\n\t\n\x02\x03\x05\x12\x03\x17\0D\n\t\n\x02\x03\x06\x12\x03\x18\0\
E\n\t\n\x02\x03\x07\x12\x03\x19\0I\n\t\n\x02\x03\x08\x12\x03\x1a\0&\n\t\
\n\x02\x03\t\x12\x03\x1b\0)\n\t\n\x02\x03\n\x12\x03\x1c\0\x1f\n\x08\n\
\x01\x08\x12\x03\x1e\0\x1f\n\t\n\x02\x08\x1f\x12\x03\x1e\0\x1f\n\x08\n\
\x01\x08\x12\x03\x1f\02\n\t\n\x02\x08%\x12\x03\x1f\02\n\x08\n\x01\x08\
\x12\x03\x20\0F\n\t\n\x02\x08\x0b\x12\x03\x20\0F\n\x08\n\x01\x08\x12\x03\
!\0\"\n\t\n\x02\x08\n\x12\x03!\0\"\n\x08\n\x01\x08\x12\x03\"\0+\n\t\n\
\x02\x08\x08\x12\x03\"\0+\n\x08\n\x01\x08\x12\x03#\02\n\t\n\x02\x08\x01\
\x12\x03#\02\n\x08\n\x01\x08\x12\x03$\02\n\t\n\x02\x08)\x12\x03$\02\n\
\x95\x01\n\x02\x04\0\x12\x04(\0J\x01\x1a\x88\x01\x20An\x20asset\x20in\
\x20Google\x20Cloud\x20and\x20its\x20temporal\x20metadata,\x20including\
\x20the\x20time\x20window\n\x20when\x20it\x20was\x20observed\x20and\x20i\
ts\x20status\x20during\x20that\x20window.\n\n\n\n\x03\x04\0\x01\x12\x03(\
\x08\x15\n%\n\x04\x04\0\x04\0\x12\x04*\x029\x03\x1a\x17\x20State\x20of\
\x20prior\x20asset.\n\n\x0c\n\x05\x04\0\x04\0\x01\x12\x03*\x07\x16\nE\n\
\x06\x04\0\x04\0\x02\0\x12\x03,\x04&\x1a6\x20prior_asset\x20is\x20not\
\x20applicable\x20for\x20the\x20current\x20asset.\n\n\x0e\n\x07\x04\0\
\x04\0\x02\0\x01\x12\x03,\x04!\n\x0e\n\x07\x04\0\x04\0\x02\0\x02\x12\x03\
,$%\n4\n\x06\x04\0\x04\0\x02\x01\x12\x03/\x04\x10\x1a%\x20prior_asset\
\x20is\x20populated\x20correctly.\n\n\x0e\n\x07\x04\0\x04\0\x02\x01\x01\
\x12\x03/\x04\x0b\n\x0e\n\x07\x04\0\x04\0\x02\x01\x02\x12\x03/\x0e\x0f\n\
+\n\x06\x04\0\x04\0\x02\x02\x12\x032\x04\x10\x1a\x1c\x20Failed\x20to\x20\
set\x20prior_asset.\n\n\x0e\n\x07\x04\0\x04\0\x02\x02\x01\x12\x032\x04\
\x0b\n\x0e\n\x07\x04\0\x04\0\x02\x02\x02\x12\x032\x0e\x0f\n8\n\x06\x04\0\
\x04\0\x02\x03\x12\x035\x04\x17\x1a)\x20Current\x20asset\x20is\x20the\
\x20first\x20known\x20state.\n\n\x0e\n\x07\x04\0\x04\0\x02\x03\x01\x12\
\x035\x04\x12\n\x0e\n\x07\x04\0\x04\0\x02\x03\x02\x12\x035\x15\x16\n+\n\
\x06\x04\0\x04\0\x02\x04\x12\x038\x04\x10\x1a\x1c\x20prior_asset\x20is\
\x20a\x20deletion.\n\n\x0e\n\x07\x04\0\x04\0\x02\x04\x01\x12\x038\x04\
\x0b\n\x0e\n\x07\x04\0\x04\0\x02\x04\x02\x12\x038\x0e\x0f\nJ\n\x04\x04\0\
\x02\0\x12\x03<\x02\x18\x1a=\x20The\x20time\x20window\x20when\x20the\x20\
asset\x20data\x20and\x20state\x20was\x20observed.\n\n\x0c\n\x05\x04\0\
\x02\0\x06\x12\x03<\x02\x0c\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03<\r\x13\n\
\x0c\n\x05\x04\0\x02\0\x03\x12\x03<\x16\x17\n9\n\x04\x04\0\x02\x01\x12\
\x03?\x02\x13\x1a,\x20Whether\x20the\x20asset\x20has\x20been\x20deleted\
\x20or\x20not.\n\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03?\x02\x06\n\x0c\n\
\x05\x04\0\x02\x01\x01\x12\x03?\x07\x0e\n\x0c\n\x05\x04\0\x02\x01\x03\
\x12\x03?\x11\x12\n(\n\x04\x04\0\x02\x02\x12\x03B\x02\x12\x1a\x1b\x20An\
\x20asset\x20in\x20Google\x20Cloud.\n\n\x0c\n\x05\x04\0\x02\x02\x06\x12\
\x03B\x02\x07\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03B\x08\r\n\x0c\n\x05\
\x04\0\x02\x02\x03\x12\x03B\x10\x11\n$\n\x04\x04\0\x02\x03\x12\x03E\x02(\
\x1a\x17\x20State\x20of\x20prior_asset.\n\n\x0c\n\x05\x04\0\x02\x03\x06\
\x12\x03E\x02\x11\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03E\x12#\n\x0c\n\
\x05\x04\0\x02\x03\x03\x12\x03E&'\n\x90\x01\n\x04\x04\0\x02\x04\x12\x03I\
\x02\x18\x1a\x82\x01\x20Prior\x20copy\x20of\x20the\x20asset.\x20Populate\
d\x20if\x20prior_asset_state\x20is\x20PRESENT.\n\x20Currently\x20this\
\x20is\x20only\x20set\x20for\x20responses\x20in\x20Real-Time\x20Feed.\n\
\n\x0c\n\x05\x04\0\x02\x04\x06\x12\x03I\x02\x07\n\x0c\n\x05\x04\0\x02\
\x04\x01\x12\x03I\x08\x13\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03I\x16\x17\
\nI\n\x02\x04\x01\x12\x04M\0T\x01\x1a=\x20A\x20time\x20window\x20specifi\
ed\x20by\x20its\x20`start_time`\x20and\x20`end_time`.\n\n\n\n\x03\x04\
\x01\x01\x12\x03M\x08\x12\n9\n\x04\x04\x01\x02\0\x12\x03O\x02+\x1a,\x20S\
tart\x20time\x20of\x20the\x20time\x20window\x20(exclusive).\n\n\x0c\n\
\x05\x04\x01\x02\0\x06\x12\x03O\x02\x1b\n\x0c\n\x05\x04\x01\x02\0\x01\
\x12\x03O\x1c&\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03O)*\nq\n\x04\x04\x01\
\x02\x01\x12\x03S\x02)\x1ad\x20End\x20time\x20of\x20the\x20time\x20windo\
w\x20(inclusive).\x20If\x20not\x20specified,\x20the\x20current\n\x20time\
stamp\x20is\x20used\x20instead.\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\
\x03S\x02\x1b\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03S\x1c$\n\x0c\n\x05\
\x04\x01\x02\x01\x03\x12\x03S'(\n\x94\x04\n\x02\x04\x02\x12\x05_\0\xb5\
\x01\x01\x1a\x86\x04\x20An\x20asset\x20in\x20Google\x20Cloud.\x20An\x20a\
sset\x20can\x20be\x20any\x20resource\x20in\x20the\x20Google\x20Cloud\n\
\x20[resource\n\x20hierarchy](https://cloud.google.com/resource-manager/\
docs/cloud-platform-resource-hierarchy),\n\x20a\x20resource\x20outside\
\x20the\x20Google\x20Cloud\x20resource\x20hierarchy\x20(such\x20as\x20Go\
ogle\n\x20Kubernetes\x20Engine\x20clusters\x20and\x20objects),\x20or\x20\
a\x20policy\x20(e.g.\x20IAM\x20policy),\n\x20or\x20a\x20relationship\x20\
(e.g.\x20an\x20INSTANCE_TO_INSTANCEGROUP\x20relationship).\n\x20See\x20[\
Supported\x20asset\n\x20types](https://cloud.google.com/asset-inventory/\
docs/supported-asset-types)\n\x20for\x20more\x20information.\n\n\n\n\x03\
\x04\x02\x01\x12\x03_\x08\r\n\x0b\n\x03\x04\x02\x07\x12\x04`\x02c\x04\n\
\r\n\x05\x04\x02\x07\x9d\x08\x12\x04`\x02c\x04\n\x7f\n\x04\x04\x02\x02\0\
\x12\x03g\x02-\x1ar\x20The\x20last\x20update\x20timestamp\x20of\x20an\
\x20asset.\x20update_time\x20is\x20updated\x20when\n\x20create/update/de\
lete\x20operation\x20is\x20performed.\n\n\x0c\n\x05\x04\x02\x02\0\x06\
\x12\x03g\x02\x1b\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03g\x1c'\n\x0c\n\
\x05\x04\x02\x02\0\x03\x12\x03g*,\n\xff\x01\n\x04\x04\x02\x02\x01\x12\
\x03o\x02\x12\x1a\xf1\x01\x20The\x20full\x20name\x20of\x20the\x20asset.\
\x20Example:\n\x20`//compute.googleapis.com/projects/my_project_123/zone\
s/zone1/instances/instance1`\n\n\x20See\x20[Resource\n\x20names](https:/\
/cloud.google.com/apis/design/resource_names#full_resource_name)\n\x20fo\
r\x20more\x20information.\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03o\x02\
\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03o\t\r\n\x0c\n\x05\x04\x02\
\x02\x01\x03\x12\x03o\x10\x11\n\xc8\x01\n\x04\x04\x02\x02\x02\x12\x03v\
\x02\x18\x1a\xba\x01\x20The\x20type\x20of\x20the\x20asset.\x20Example:\
\x20`compute.googleapis.com/Disk`\n\n\x20See\x20[Supported\x20asset\n\
\x20types](https://cloud.google.com/asset-inventory/docs/supported-asset\
-types)\n\x20for\x20more\x20information.\n\n\x0c\n\x05\x04\x02\x02\x02\
\x05\x12\x03v\x02\x08\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03v\t\x13\n\
\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03v\x16\x17\n0\n\x04\x04\x02\x02\x03\
\x12\x03y\x02\x18\x1a#\x20A\x20representation\x20of\x20the\x20resource.\
\n\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x03y\x02\n\n\x0c\n\x05\x04\x02\
\x02\x03\x01\x12\x03y\x0b\x13\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03y\
\x16\x17\n\xb5\x04\n\x04\x04\x02\x02\x04\x12\x04\x84\x01\x02&\x1a\xa6\
\x04\x20A\x20representation\x20of\x20the\x20IAM\x20policy\x20set\x20on\
\x20a\x20Google\x20Cloud\x20resource.\n\x20There\x20can\x20be\x20a\x20ma\
ximum\x20of\x20one\x20IAM\x20policy\x20set\x20on\x20any\x20given\x20reso\
urce.\n\x20In\x20addition,\x20IAM\x20policies\x20inherit\x20their\x20gra\
nted\x20access\x20scope\x20from\x20any\n\x20policies\x20set\x20on\x20par\
ent\x20resources\x20in\x20the\x20resource\x20hierarchy.\x20Therefore,\
\x20the\n\x20effectively\x20policy\x20is\x20the\x20union\x20of\x20both\
\x20the\x20policy\x20set\x20on\x20this\x20resource\n\x20and\x20each\x20p\
olicy\x20set\x20on\x20all\x20of\x20the\x20resource's\x20ancestry\x20reso\
urce\x20levels\x20in\n\x20the\x20hierarchy.\x20See\n\x20[this\x20topic](\
https://cloud.google.com/iam/help/allow-policies/inheritance)\n\x20for\
\x20more\x20information.\n\n\r\n\x05\x04\x02\x02\x04\x06\x12\x04\x84\x01\
\x02\x16\n\r\n\x05\x04\x02\x02\x04\x01\x12\x04\x84\x01\x17!\n\r\n\x05\
\x04\x02\x02\x04\x03\x12\x04\x84\x01$%\n\x85\x02\n\x04\x04\x02\x02\x05\
\x12\x04\x8a\x01\x02;\x1a\xf6\x01\x20A\x20representation\x20of\x20an\x20\
[organization\n\x20policy](https://cloud.google.com/resource-manager/doc\
s/organization-policy/overview#organization_policy).\n\x20There\x20can\
\x20be\x20more\x20than\x20one\x20organization\x20policy\x20with\x20diffe\
rent\x20constraints\n\x20set\x20on\x20a\x20given\x20resource.\n\n\r\n\
\x05\x04\x02\x02\x05\x04\x12\x04\x8a\x01\x02\n\n\r\n\x05\x04\x02\x02\x05\
\x06\x12\x04\x8a\x01\x0b+\n\r\n\x05\x04\x02\x02\x05\x01\x12\x04\x8a\x01,\
6\n\r\n\x05\x04\x02\x02\x05\x03\x12\x04\x8a\x019:\n\x89\x01\n\x04\x04\
\x02\x08\0\x12\x06\x8e\x01\x02\x9b\x01\x03\x1ay\x20A\x20representation\
\x20of\x20an\x20[access\n\x20policy](https://cloud.google.com/access-con\
text-manager/docs/overview#access-policies).\n\n\r\n\x05\x04\x02\x08\0\
\x01\x12\x04\x8e\x01\x08\x1d\n\x95\x01\n\x04\x04\x02\x02\x06\x12\x04\x91\
\x01\x04K\x1a\x86\x01\x20Please\x20also\x20refer\x20to\x20the\x20[access\
\x20policy\x20user\n\x20guide](https://cloud.google.com/access-context-m\
anager/docs/overview#access-policies).\n\n\r\n\x05\x04\x02\x02\x06\x06\
\x12\x04\x91\x01\x048\n\r\n\x05\x04\x02\x02\x06\x01\x12\x04\x91\x019F\n\
\r\n\x05\x04\x02\x02\x06\x03\x12\x04\x91\x01IJ\n\x92\x01\n\x04\x04\x02\
\x02\x07\x12\x04\x95\x01\x04I\x1a\x83\x01\x20Please\x20also\x20refer\x20\
to\x20the\x20[access\x20level\x20user\n\x20guide](https://cloud.google.c\
om/access-context-manager/docs/overview#access-levels).\n\n\r\n\x05\x04\
\x02\x02\x07\x06\x12\x04\x95\x01\x047\n\r\n\x05\x04\x02\x02\x07\x01\x12\
\x04\x95\x018D\n\r\n\x05\x04\x02\x02\x07\x03\x12\x04\x95\x01GH\n\x88\x01\
\n\x04\x04\x02\x02\x08\x12\x06\x99\x01\x04\x9a\x01\n\x1ax\x20Please\x20a\
lso\x20refer\x20to\x20the\x20[service\x20perimeter\x20user\n\x20guide](h\
ttps://cloud.google.com/vpc-service-controls/docs/overview).\n\n\r\n\x05\
\x04\x02\x02\x08\x06\x12\x04\x99\x01\x04<\n\r\n\x05\x04\x02\x02\x08\x01\
\x12\x04\x99\x01=N\n\r\n\x05\x04\x02\x02\x08\x03\x12\x04\x9a\x01\x08\t\n\
\xb8\x01\n\x04\x04\x02\x02\t\x12\x04\xa0\x01\x027\x1a\xa9\x01\x20A\x20re\
presentation\x20of\x20runtime\x20OS\x20Inventory\x20information.\x20See\
\x20[this\n\x20topic](https://cloud.google.com/compute/docs/instances/os\
-inventory-management)\n\x20for\x20more\x20information.\n\n\r\n\x05\x04\
\x02\x02\t\x06\x12\x04\xa0\x01\x02$\n\r\n\x05\x04\x02\x02\t\x01\x12\x04\
\xa0\x01%1\n\r\n\x05\x04\x02\x02\t\x03\x12\x04\xa0\x0146\n\x8c\x02\n\x04\
\x04\x02\x02\n\x12\x04\xa7\x01\x028\x1a\xfd\x01\x20DEPRECATED.\x20This\
\x20field\x20only\x20presents\x20for\x20the\x20purpose\x20of\n\x20backwa\
rd-compatibility.\x20The\x20server\x20will\x20never\x20generate\x20respo\
nses\x20with\x20this\n\x20field.\n\x20The\x20related\x20assets\x20of\x20\
the\x20asset\x20of\x20one\x20relationship\x20type.\x20One\x20asset\n\x20\
only\x20represents\x20one\x20type\x20of\x20relationship.\n\n\r\n\x05\x04\
\x02\x02\n\x06\x12\x04\xa7\x01\x02\x0f\n\r\n\x05\x04\x02\x02\n\x01\x12\
\x04\xa7\x01\x10\x1e\n\r\n\x05\x04\x02\x02\n\x03\x12\x04\xa7\x01!#\n\r\n\
\x05\x04\x02\x02\n\x08\x12\x04\xa7\x01$7\n\x0e\n\x06\x04\x02\x02\n\x08\
\x03\x12\x04\xa7\x01%6\n7\n\x04\x04\x02\x02\x0b\x12\x04\xaa\x01\x02\"\
\x1a)\x20One\x20related\x20asset\x20of\x20the\x20current\x20asset.\n\n\r\
\n\x05\x04\x02\x02\x0b\x06\x12\x04\xaa\x01\x02\x0e\n\r\n\x05\x04\x02\x02\
\x0b\x01\x12\x04\xaa\x01\x0f\x1c\n\r\n\x05\x04\x02\x02\x0b\x03\x12\x04\
\xaa\x01\x1f!\n\xe0\x03\n\x04\x04\x02\x02\x0c\x12\x04\xb4\x01\x02!\x1a\
\xd1\x03\x20The\x20ancestry\x20path\x20of\x20an\x20asset\x20in\x20Google\
\x20Cloud\x20[resource\n\x20hierarchy](https://cloud.google.com/resource\
-manager/docs/cloud-platform-resource-hierarchy),\n\x20represented\x20as\
\x20a\x20list\x20of\x20relative\x20resource\x20names.\x20An\x20ancestry\
\x20path\x20starts\n\x20with\x20the\x20closest\x20ancestor\x20in\x20the\
\x20hierarchy\x20and\x20ends\x20at\x20root.\x20If\x20the\x20asset\n\x20i\
s\x20a\x20project,\x20folder,\x20or\x20organization,\x20the\x20ancestry\
\x20path\x20starts\x20from\x20the\n\x20asset\x20itself.\n\n\x20Example:\
\x20`[\"projects/123456789\",\x20\"folders/5432\",\x20\"organizations/12\
34\"]`\n\n\r\n\x05\x04\x02\x02\x0c\x04\x12\x04\xb4\x01\x02\n\n\r\n\x05\
\x04\x02\x02\x0c\x05\x12\x04\xb4\x01\x0b\x11\n\r\n\x05\x04\x02\x02\x0c\
\x01\x12\x04\xb4\x01\x12\x1b\n\r\n\x05\x04\x02\x02\x0c\x03\x12\x04\xb4\
\x01\x1e\x20\n<\n\x02\x04\x03\x12\x06\xb8\x01\0\xe7\x01\x01\x1a.\x20A\
\x20representation\x20of\x20a\x20Google\x20Cloud\x20resource.\n\n\x0b\n\
\x03\x04\x03\x01\x12\x04\xb8\x01\x08\x10\n.\n\x04\x04\x03\x02\0\x12\x04\
\xba\x01\x02\x15\x1a\x20\x20The\x20API\x20version.\x20Example:\x20`v1`\n\
\n\r\n\x05\x04\x03\x02\0\x05\x12\x04\xba\x01\x02\x08\n\r\n\x05\x04\x03\
\x02\0\x01\x12\x04\xba\x01\t\x10\n\r\n\x05\x04\x03\x02\0\x03\x12\x04\xba\
\x01\x13\x14\n\x9d\x02\n\x04\x04\x03\x02\x01\x12\x04\xc2\x01\x02$\x1a\
\x8e\x02\x20The\x20URL\x20of\x20the\x20discovery\x20document\x20containi\
ng\x20the\x20resource's\x20JSON\x20schema.\n\x20Example:\n\x20`https://w\
ww.googleapis.com/discovery/v1/apis/compute/v1/rest`\n\n\x20This\x20valu\
e\x20is\x20unspecified\x20for\x20resources\x20that\x20do\x20not\x20have\
\x20an\x20API\x20based\x20on\x20a\n\x20discovery\x20document,\x20such\
\x20as\x20Cloud\x20Bigtable.\n\n\r\n\x05\x04\x03\x02\x01\x05\x12\x04\xc2\
\x01\x02\x08\n\r\n\x05\x04\x03\x02\x01\x01\x12\x04\xc2\x01\t\x1f\n\r\n\
\x05\x04\x03\x02\x01\x03\x12\x04\xc2\x01\"#\n\xd5\x01\n\x04\x04\x03\x02\
\x02\x12\x04\xc9\x01\x02\x1c\x1a\xc6\x01\x20The\x20JSON\x20schema\x20nam\
e\x20listed\x20in\x20the\x20discovery\x20document.\x20Example:\n\x20`Pro\
ject`\n\n\x20This\x20value\x20is\x20unspecified\x20for\x20resources\x20t\
hat\x20do\x20not\x20have\x20an\x20API\x20based\x20on\x20a\n\x20discovery\
\x20document,\x20such\x20as\x20Cloud\x20Bigtable.\n\n\r\n\x05\x04\x03\
\x02\x02\x05\x12\x04\xc9\x01\x02\x08\n\r\n\x05\x04\x03\x02\x02\x01\x12\
\x04\xc9\x01\t\x17\n\r\n\x05\x04\x03\x02\x02\x03\x12\x04\xc9\x01\x1a\x1b\
\n\x8d\x02\n\x04\x04\x03\x02\x03\x12\x04\xd0\x01\x02\x1a\x1a\xfe\x01\x20\
The\x20REST\x20URL\x20for\x20accessing\x20the\x20resource.\x20An\x20HTTP\
\x20`GET`\x20request\x20using\x20this\n\x20URL\x20returns\x20the\x20reso\
urce\x20itself.\x20Example:\n\x20`https://cloudresourcemanager.googleapi\
s.com/v1/projects/my-project-123`\n\n\x20This\x20value\x20is\x20unspecif\
ied\x20for\x20resources\x20without\x20a\x20REST\x20API.\n\n\r\n\x05\x04\
\x03\x02\x03\x05\x12\x04\xd0\x01\x02\x08\n\r\n\x05\x04\x03\x02\x03\x01\
\x12\x04\xd0\x01\t\x15\n\r\n\x05\x04\x03\x02\x03\x03\x12\x04\xd0\x01\x18\
\x19\n\xe9\x03\n\x04\x04\x03\x02\x04\x12\x04\xde\x01\x02\x14\x1a\xda\x03\
\x20The\x20full\x20name\x20of\x20the\x20immediate\x20parent\x20of\x20thi\
s\x20resource.\x20See\n\x20[Resource\n\x20Names](https://cloud.google.co\
m/apis/design/resource_names#full_resource_name)\n\x20for\x20more\x20inf\
ormation.\n\n\x20For\x20Google\x20Cloud\x20assets,\x20this\x20value\x20i\
s\x20the\x20parent\x20resource\x20defined\x20in\x20the\n\x20[IAM\x20poli\
cy\n\x20hierarchy](https://cloud.google.com/iam/docs/overview#policy_hie\
rarchy).\n\x20Example:\n\x20`//cloudresourcemanager.googleapis.com/proje\
cts/my_project_123`\n\n\x20For\x20third-party\x20assets,\x20this\x20fiel\
d\x20may\x20be\x20set\x20differently.\n\n\r\n\x05\x04\x03\x02\x04\x05\
\x12\x04\xde\x01\x02\x08\n\r\n\x05\x04\x03\x02\x04\x01\x12\x04\xde\x01\t\
\x0f\n\r\n\x05\x04\x03\x02\x04\x03\x12\x04\xde\x01\x12\x13\np\n\x04\x04\
\x03\x02\x05\x12\x04\xe2\x01\x02\"\x1ab\x20The\x20content\x20of\x20the\
\x20resource,\x20in\x20which\x20some\x20sensitive\x20fields\x20are\x20re\
moved\n\x20and\x20may\x20not\x20be\x20present.\n\n\r\n\x05\x04\x03\x02\
\x05\x06\x12\x04\xe2\x01\x02\x18\n\r\n\x05\x04\x03\x02\x05\x01\x12\x04\
\xe2\x01\x19\x1d\n\r\n\x05\x04\x03\x02\x05\x03\x12\x04\xe2\x01\x20!\n\
\xa1\x01\n\x04\x04\x03\x02\x06\x12\x04\xe6\x01\x02\x16\x1a\x92\x01\x20Th\
e\x20location\x20of\x20the\x20resource\x20in\x20Google\x20Cloud,\x20such\
\x20as\x20its\x20zone\x20and\x20region.\n\x20For\x20more\x20information,\
\x20see\x20https://cloud.google.com/about/locations/.\n\n\r\n\x05\x04\
\x03\x02\x06\x05\x12\x04\xe6\x01\x02\x08\n\r\n\x05\x04\x03\x02\x06\x01\
\x12\x04\xe6\x01\t\x11\n\r\n\x05\x04\x03\x02\x06\x03\x12\x04\xe6\x01\x14\
\x15\n\xd9\x01\n\x02\x04\x04\x12\x06\xed\x01\0\xf5\x01\x01\x1a\xca\x01\
\x20DEPRECATED.\x20This\x20message\x20only\x20presents\x20for\x20the\x20\
purpose\x20of\n\x20backward-compatibility.\x20The\x20server\x20will\x20n\
ever\x20populate\x20this\x20message\x20in\n\x20responses.\n\x20The\x20de\
tailed\x20related\x20assets\x20with\x20the\x20`relationship_type`.\n\n\
\x0b\n\x03\x04\x04\x01\x12\x04\xed\x01\x08\x15\n\x0b\n\x03\x04\x04\x07\
\x12\x04\xee\x01\x02\x1b\n\x0c\n\x04\x04\x04\x07\x03\x12\x04\xee\x01\x02\
\x1b\n5\n\x04\x04\x04\x02\0\x12\x04\xf1\x01\x025\x1a'\x20The\x20detailed\
\x20relationship\x20attributes.\n\n\r\n\x05\x04\x04\x02\0\x06\x12\x04\
\xf1\x01\x02\x18\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\xf1\x01\x190\n\r\n\
\x05\x04\x04\x02\0\x03\x12\x04\xf1\x0134\n7\n\x04\x04\x04\x02\x01\x12\
\x04\xf4\x01\x02#\x1a)\x20The\x20peer\x20resources\x20of\x20the\x20relat\
ionship.\n\n\r\n\x05\x04\x04\x02\x01\x04\x12\x04\xf4\x01\x02\n\n\r\n\x05\
\x04\x04\x02\x01\x06\x12\x04\xf4\x01\x0b\x17\n\r\n\x05\x04\x04\x02\x01\
\x01\x12\x04\xf4\x01\x18\x1e\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\xf4\
\x01!\"\n\x90\x02\n\x02\x04\x05\x12\x06\xfc\x01\0\x8b\x02\x01\x1a\x81\
\x02\x20DEPRECATED.\x20This\x20message\x20only\x20presents\x20for\x20the\
\x20purpose\x20of\n\x20backward-compatibility.\x20The\x20server\x20will\
\x20never\x20populate\x20this\x20message\x20in\n\x20responses.\n\x20The\
\x20relationship\x20attributes\x20which\x20include\x20\x20`type`,\x20`so\
urce_resource_type`,\n\x20`target_resource_type`\x20and\x20`action`.\n\n\
\x0b\n\x03\x04\x05\x01\x12\x04\xfc\x01\x08\x1e\n\x0b\n\x03\x04\x05\x07\
\x12\x04\xfd\x01\x02\x1b\n\x0c\n\x04\x04\x05\x07\x03\x12\x04\xfd\x01\x02\
\x1b\ne\n\x04\x04\x05\x02\0\x12\x04\x81\x02\x02\x12\x1aW\x20The\x20uniqu\
e\x20identifier\x20of\x20the\x20relationship\x20type.\x20Example:\n\x20`\
INSTANCE_TO_INSTANCEGROUP`\n\n\r\n\x05\x04\x05\x02\0\x05\x12\x04\x81\x02\
\x02\x08\n\r\n\x05\x04\x05\x02\0\x01\x12\x04\x81\x02\t\r\n\r\n\x05\x04\
\x05\x02\0\x03\x12\x04\x81\x02\x10\x11\nQ\n\x04\x04\x05\x02\x01\x12\x04\
\x84\x02\x02\"\x1aC\x20The\x20source\x20asset\x20type.\x20Example:\x20`c\
ompute.googleapis.com/Instance`\n\n\r\n\x05\x04\x05\x02\x01\x05\x12\x04\
\x84\x02\x02\x08\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\x84\x02\t\x1d\n\r\
\n\x05\x04\x05\x02\x01\x03\x12\x04\x84\x02\x20!\nM\n\x04\x04\x05\x02\x02\
\x12\x04\x87\x02\x02\"\x1a?\x20The\x20target\x20asset\x20type.\x20Exampl\
e:\x20`compute.googleapis.com/Disk`\n\n\r\n\x05\x04\x05\x02\x02\x05\x12\
\x04\x87\x02\x02\x08\n\r\n\x05\x04\x05\x02\x02\x01\x12\x04\x87\x02\t\x1d\
\n\r\n\x05\x04\x05\x02\x02\x03\x12\x04\x87\x02\x20!\nK\n\x04\x04\x05\x02\
\x03\x12\x04\x8a\x02\x02\x14\x1a=\x20The\x20detail\x20of\x20the\x20relat\
ionship,\x20e.g.\x20`contains`,\x20`attaches`\n\n\r\n\x05\x04\x05\x02\
\x03\x05\x12\x04\x8a\x02\x02\x08\n\r\n\x05\x04\x05\x02\x03\x01\x12\x04\
\x8a\x02\t\x0f\n\r\n\x05\x04\x05\x02\x03\x03\x12\x04\x8a\x02\x12\x13\n\
\x87\x04\n\x02\x04\x06\x12\x06\x95\x02\0\xb2\x02\x01\x1a\xf8\x03\x20An\
\x20asset\x20identifier\x20in\x20Google\x20Cloud\x20which\x20contains\
\x20its\x20name,\x20type\x20and\n\x20ancestors.\x20An\x20asset\x20can\
\x20be\x20any\x20resource\x20in\x20the\x20Google\x20Cloud\x20[resource\n\
\x20hierarchy](https://cloud.google.com/resource-manager/docs/cloud-plat\
form-resource-hierarchy),\n\x20a\x20resource\x20outside\x20the\x20Google\
\x20Cloud\x20resource\x20hierarchy\x20(such\x20as\x20Google\n\x20Kuberne\
tes\x20Engine\x20clusters\x20and\x20objects),\x20or\x20a\x20policy\x20(e\
.g.\x20IAM\x20policy).\n\x20See\x20[Supported\x20asset\n\x20types](https\
://cloud.google.com/asset-inventory/docs/supported-asset-types)\n\x20for\
\x20more\x20information.\n\n\x0b\n\x03\x04\x06\x01\x12\x04\x95\x02\x08\
\x14\n\x82\x02\n\x04\x04\x06\x02\0\x12\x06\x9c\x02\x02\x9e\x02\x05\x1a\
\xf1\x01\x20The\x20full\x20name\x20of\x20the\x20asset.\x20Example:\n\x20\
`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/\
instance1`\n\n\x20See\x20[Resource\n\x20names](https://cloud.google.com/\
apis/design/resource_names#full_resource_name)\n\x20for\x20more\x20infor\
mation.\n\n\r\n\x05\x04\x06\x02\0\x05\x12\x04\x9c\x02\x02\x08\n\r\n\x05\
\x04\x06\x02\0\x01\x12\x04\x9c\x02\t\x0e\n\r\n\x05\x04\x06\x02\0\x03\x12\
\x04\x9c\x02\x11\x12\n\x0f\n\x05\x04\x06\x02\0\x08\x12\x06\x9c\x02\x13\
\x9e\x02\x04\n\x11\n\x07\x04\x06\x02\0\x08\x9f\x08\x12\x06\x9c\x02\x14\
\x9e\x02\x03\n\xc9\x01\n\x04\x04\x06\x02\x01\x12\x04\xa5\x02\x02\x18\x1a\
\xba\x01\x20The\x20type\x20of\x20the\x20asset.\x20Example:\x20`compute.g\
oogleapis.com/Disk`\n\n\x20See\x20[Supported\x20asset\n\x20types](https:\
//cloud.google.com/asset-inventory/docs/supported-asset-types)\n\x20for\
\x20more\x20information.\n\n\r\n\x05\x04\x06\x02\x01\x05\x12\x04\xa5\x02\
\x02\x08\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xa5\x02\t\x13\n\r\n\x05\
\x04\x06\x02\x01\x03\x12\x04\xa5\x02\x16\x17\n\xf6\x02\n\x04\x04\x06\x02\
\x02\x12\x04\xad\x02\x02\x20\x1a\xe7\x02\x20The\x20ancestors\x20of\x20an\
\x20asset\x20in\x20Google\x20Cloud\x20[resource\n\x20hierarchy](https://\
cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy\
),\n\x20represented\x20as\x20a\x20list\x20of\x20relative\x20resource\x20\
names.\x20An\x20ancestry\x20path\x20starts\n\x20with\x20the\x20closest\
\x20ancestor\x20in\x20the\x20hierarchy\x20and\x20ends\x20at\x20root.\n\n\
\x20Example:\x20`[\"projects/123456789\",\x20\"folders/5432\",\x20\"orga\
nizations/1234\"]`\n\n\r\n\x05\x04\x06\x02\x02\x04\x12\x04\xad\x02\x02\n\
\n\r\n\x05\x04\x06\x02\x02\x05\x12\x04\xad\x02\x0b\x11\n\r\n\x05\x04\x06\
\x02\x02\x01\x12\x04\xad\x02\x12\x1b\n\r\n\x05\x04\x06\x02\x02\x03\x12\
\x04\xad\x02\x1e\x1f\ne\n\x04\x04\x06\x02\x03\x12\x04\xb1\x02\x02\x1f\
\x1aW\x20The\x20unique\x20identifier\x20of\x20the\x20relationship\x20typ\
e.\x20Example:\n\x20`INSTANCE_TO_INSTANCEGROUP`\n\n\r\n\x05\x04\x06\x02\
\x03\x05\x12\x04\xb1\x02\x02\x08\n\r\n\x05\x04\x06\x02\x03\x01\x12\x04\
\xb1\x02\t\x1a\n\r\n\x05\x04\x06\x02\x03\x03\x12\x04\xb1\x02\x1d\x1e\nr\
\n\x02\x04\x07\x12\x06\xb6\x02\0\xc0\x02\x01\x1ad\x20The\x20key\x20and\
\x20value\x20for\x20a\n\x20[tag](https://cloud.google.com/resource-manag\
er/docs/tags/tags-overview),\n\n\x0b\n\x03\x04\x07\x01\x12\x04\xb6\x02\
\x08\x0b\nW\n\x04\x04\x07\x02\0\x12\x04\xb8\x02\x02\x1e\x1aI\x20TagKey\
\x20namespaced\x20name,\x20in\x20the\x20format\x20of\x20{ORG_ID}/{TAG_KE\
Y_SHORT_NAME}.\n\n\r\n\x05\x04\x07\x02\0\x04\x12\x04\xb8\x02\x02\n\n\r\n\
\x05\x04\x07\x02\0\x05\x12\x04\xb8\x02\x0b\x11\n\r\n\x05\x04\x07\x02\0\
\x01\x12\x04\xb8\x02\x12\x19\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\xb8\x02\
\x1c\x1d\nq\n\x04\x04\x07\x02\x01\x12\x04\xbc\x02\x02\x20\x1ac\x20TagVal\
ue\x20namespaced\x20name,\x20in\x20the\x20format\x20of\n\x20{ORG_ID}/{TA\
G_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.\n\n\r\n\x05\x04\x07\x02\x01\
\x04\x12\x04\xbc\x02\x02\n\n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\xbc\x02\
\x0b\x11\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xbc\x02\x12\x1b\n\r\n\x05\
\x04\x07\x02\x01\x03\x12\x04\xbc\x02\x1e\x1f\nG\n\x04\x04\x07\x02\x02\
\x12\x04\xbf\x02\x02#\x1a9\x20TagValue\x20ID,\x20in\x20the\x20format\x20\
of\x20tagValues/{TAG_VALUE_ID}.\n\n\r\n\x05\x04\x07\x02\x02\x04\x12\x04\
\xbf\x02\x02\n\n\r\n\x05\x04\x07\x02\x02\x05\x12\x04\xbf\x02\x0b\x11\n\r\
\n\x05\x04\x07\x02\x02\x01\x12\x04\xbf\x02\x12\x1e\n\r\n\x05\x04\x07\x02\
\x02\x03\x12\x04\xbf\x02!\"\n]\n\x02\x04\x08\x12\x06\xc3\x02\0\xd4\x02\
\x01\x1aO\x20The\x20effective\x20tags\x20and\x20the\x20ancestor\x20resou\
rces\x20from\x20which\x20they\x20were\x20inherited.\n\n\x0b\n\x03\x04\
\x08\x01\x12\x04\xc3\x02\x08\x1b\n\x9e\x02\n\x04\x04\x08\x02\0\x12\x04\
\xc9\x02\x02(\x1a\x8f\x02\x20The\x20[full\x20resource\n\x20name](https:/\
/cloud.google.com/asset-inventory/docs/resource-name-format)\n\x20of\x20\
the\x20ancestor\x20from\x20which\x20an\x20[effective_tag][]\x20is\x20inh\
erited,\x20according\x20to\n\x20[tag\n\x20inheritance](https://cloud.goo\
gle.com/resource-manager/docs/tags/tags-overview#inheritance).\n\n\r\n\
\x05\x04\x08\x02\0\x04\x12\x04\xc9\x02\x02\n\n\r\n\x05\x04\x08\x02\0\x05\
\x12\x04\xc9\x02\x0b\x11\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\xc9\x02\x12\
#\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\xc9\x02&'\n\xa6\x04\n\x04\x04\x08\
\x02\x01\x12\x04\xd3\x02\x02\"\x1a\x97\x04\x20The\x20effective\x20tags\
\x20inherited\x20from\x20the\n\x20[attached_resource][google.cloud.asset\
.v1.EffectiveTagDetails.attached_resource].\n\x20Note\x20that\x20tags\
\x20with\x20the\x20same\x20key\x20but\x20different\x20values\x20may\x20a\
ttach\x20to\n\x20resources\x20at\x20a\x20different\x20hierarchy\x20level\
s.\x20The\x20lower\x20hierarchy\x20tag\x20value\n\x20will\x20overwrite\
\x20the\x20higher\x20hierarchy\x20tag\x20value\x20of\x20the\x20same\x20t\
ag\x20key.\x20In\x20this\n\x20case,\x20the\x20tag\x20value\x20at\x20the\
\x20higher\x20hierarchy\x20level\x20will\x20be\x20removed.\x20For\x20mor\
e\n\x20information,\x20see\x20[tag\n\x20inheritance](https://cloud.googl\
e.com/resource-manager/docs/tags/tags-overview#inheritance).\n\n\r\n\x05\
\x04\x08\x02\x01\x04\x12\x04\xd3\x02\x02\n\n\r\n\x05\x04\x08\x02\x01\x06\
\x12\x04\xd3\x02\x0b\x0e\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\xd3\x02\
\x0f\x1d\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xd3\x02\x20!\ne\n\x02\x04\
\t\x12\x06\xd8\x02\0\xb8\x05\x01\x1aW\x20A\x20result\x20of\x20Resource\
\x20Search,\x20containing\x20information\x20of\x20a\x20cloud\x20resource\
.\n\x20Next\x20ID:\x2034\n\n\x0b\n\x03\x04\t\x01\x12\x04\xd8\x02\x08\x1c\
\n\xa5\x03\n\x04\x04\t\x02\0\x12\x04\xe3\x02\x02\x12\x1a\x96\x03\x20The\
\x20full\x20resource\x20name\x20of\x20this\x20resource.\x20Example:\n\
\x20`//compute.googleapis.com/projects/my_project_123/zones/zone1/instan\
ces/instance1`.\n\x20See\x20[Cloud\x20Asset\x20Inventory\x20Resource\x20\
Name\n\x20Format](https://cloud.google.com/asset-inventory/docs/resource\
-name-format)\n\x20for\x20more\x20information.\n\n\x20To\x20search\x20ag\
ainst\x20the\x20`name`:\n\n\x20*\x20Use\x20a\x20field\x20query.\x20Examp\
le:\x20`name:instance1`\n\x20*\x20Use\x20a\x20free\x20text\x20query.\x20\
Example:\x20`instance1`\n\n\r\n\x05\x04\t\x02\0\x05\x12\x04\xe3\x02\x02\
\x08\n\r\n\x05\x04\t\x02\0\x01\x12\x04\xe3\x02\t\r\n\r\n\x05\x04\t\x02\0\
\x03\x12\x04\xe3\x02\x10\x11\n\xb4\x01\n\x04\x04\t\x02\x01\x12\x04\xea\
\x02\x02\x18\x1a\xa5\x01\x20The\x20type\x20of\x20this\x20resource.\x20Ex\
ample:\x20`compute.googleapis.com/Disk`.\n\n\x20To\x20search\x20against\
\x20the\x20`asset_type`:\n\n\x20*\x20Specify\x20the\x20`asset_type`\x20f\
ield\x20in\x20your\x20search\x20request.\n\n\r\n\x05\x04\t\x02\x01\x05\
\x12\x04\xea\x02\x02\x08\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xea\x02\t\
\x13\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xea\x02\x16\x17\n\xe6\x02\n\x04\
\x04\t\x02\x02\x12\x04\xf5\x02\x02\x15\x1a\xd7\x02\x20The\x20project\x20\
that\x20this\x20resource\x20belongs\x20to,\x20in\x20the\x20form\x20of\n\
\x20projects/{PROJECT_NUMBER}.\x20This\x20field\x20is\x20available\x20wh\
en\x20the\x20resource\n\x20belongs\x20to\x20a\x20project.\n\n\x20To\x20s\
earch\x20against\x20`project`:\n\n\x20*\x20Use\x20a\x20field\x20query.\
\x20Example:\x20`project:12345`\n\x20*\x20Use\x20a\x20free\x20text\x20qu\
ery.\x20Example:\x20`12345`\n\x20*\x20Specify\x20the\x20`scope`\x20field\
\x20as\x20this\x20project\x20in\x20your\x20search\x20request.\n\n\r\n\
\x05\x04\t\x02\x02\x05\x12\x04\xf5\x02\x02\x08\n\r\n\x05\x04\t\x02\x02\
\x01\x12\x04\xf5\x02\t\x10\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xf5\x02\
\x13\x14\n\xf4\x02\n\x04\x04\t\x02\x03\x12\x04\x80\x03\x02\x1f\x1a\xe5\
\x02\x20The\x20folder(s)\x20that\x20this\x20resource\x20belongs\x20to,\
\x20in\x20the\x20form\x20of\n\x20folders/{FOLDER_NUMBER}.\x20This\x20fie\
ld\x20is\x20available\x20when\x20the\x20resource\n\x20belongs\x20to\x20o\
ne\x20or\x20more\x20folders.\n\n\x20To\x20search\x20against\x20`folders`\
:\n\n\x20*\x20Use\x20a\x20field\x20query.\x20Example:\x20`folders:(123\
\x20OR\x20456)`\n\x20*\x20Use\x20a\x20free\x20text\x20query.\x20Example:\
\x20`123`\n\x20*\x20Specify\x20the\x20`scope`\x20field\x20as\x20this\x20\
folder\x20in\x20your\x20search\x20request.\n\n\r\n\x05\x04\t\x02\x03\x04\
\x12\x04\x80\x03\x02\n\n\r\n\x05\x04\t\x02\x03\x05\x12\x04\x80\x03\x0b\
\x11\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\x80\x03\x12\x19\n\r\n\x05\x04\t\
\x02\x03\x03\x12\x04\x80\x03\x1c\x1e\n\x86\x03\n\x04\x04\t\x02\x04\x12\
\x04\x8b\x03\x02\x1b\x1a\xf7\x02\x20The\x20organization\x20that\x20this\
\x20resource\x20belongs\x20to,\x20in\x20the\x20form\x20of\n\x20organizat\
ions/{ORGANIZATION_NUMBER}.\x20This\x20field\x20is\x20available\x20when\
\x20the\n\x20resource\x20belongs\x20to\x20an\x20organization.\n\n\x20To\
\x20search\x20against\x20`organization`:\n\n\x20*\x20Use\x20a\x20field\
\x20query.\x20Example:\x20`organization:123`\n\x20*\x20Use\x20a\x20free\
\x20text\x20query.\x20Example:\x20`123`\n\x20*\x20Specify\x20the\x20`sco\
pe`\x20field\x20as\x20this\x20organization\x20in\x20your\x20search\x20re\
quest.\n\n\r\n\x05\x04\t\x02\x04\x05\x12\x04\x8b\x03\x02\x08\n\r\n\x05\
\x04\t\x02\x04\x01\x12\x04\x8b\x03\t\x15\n\r\n\x05\x04\t\x02\x04\x03\x12\
\x04\x8b\x03\x18\x1a\n\x92\x02\n\x04\x04\t\x02\x05\x12\x04\x94\x03\x02\
\x1a\x1a\x83\x02\x20The\x20display\x20name\x20of\x20this\x20resource.\
\x20This\x20field\x20is\x20available\x20only\x20when\x20the\n\x20resourc\
e's\x20Protobuf\x20contains\x20it.\n\n\x20To\x20search\x20against\x20the\
\x20`display_name`:\n\n\x20*\x20Use\x20a\x20field\x20query.\x20Example:\
\x20`displayName:\"My\x20Instance\"`\n\x20*\x20Use\x20a\x20free\x20text\
\x20query.\x20Example:\x20`\"My\x20Instance\"`\n\n\r\n\x05\x04\t\x02\x05\
\x05\x12\x04\x94\x03\x02\x08\n\r\n\x05\x04\t\x02\x05\x01\x12\x04\x94\x03\
\t\x15\n\r\n\x05\x04\t\x02\x05\x03\x12\x04\x94\x03\x18\x19\n\xe2\x02\n\
\x04\x04\t\x02\x06\x12\x04\x9e\x03\x02\x19\x1a\xd3\x02\x20One\x20or\x20m\
ore\x20paragraphs\x20of\x20text\x20description\x20of\x20this\x20resource\
.\x20Maximum\x20length\n\x20could\x20be\x20up\x20to\x201M\x20bytes.\x20T\
his\x20field\x20is\x20available\x20only\x20when\x20the\x20resource's\n\
\x20Protobuf\x20contains\x20it.\n\n\x20To\x20search\x20against\x20the\
\x20`description`:\n\n\x20*\x20Use\x20a\x20field\x20query.\x20Example:\
\x20`description:\"important\x20instance\"`\n\x20*\x20Use\x20a\x20free\
\x20text\x20query.\x20Example:\x20`\"important\x20instance\"`\n\n\r\n\
\x05\x04\t\x02\x06\x05\x12\x04\x9e\x03\x02\x08\n\r\n\x05\x04\t\x02\x06\
\x01\x12\x04\x9e\x03\t\x14\n\r\n\x05\x04\t\x02\x06\x03\x12\x04\x9e\x03\
\x17\x18\n\xaf\x02\n\x04\x04\t\x02\x07\x12\x04\xa8\x03\x02\x16\x1a\xa0\
\x02\x20Location\x20can\x20be\x20`global`,\x20regional\x20like\x20`us-ea\
st1`,\x20or\x20zonal\x20like\n\x20`us-west1-b`.\x20This\x20field\x20is\
\x20available\x20only\x20when\x20the\x20resource's\x20Protobuf\n\x20cont\
ains\x20it.\n\n\x20To\x20search\x20against\x20the\x20`location`:\n\n\x20\
*\x20Use\x20a\x20field\x20query.\x20Example:\x20`location:us-west*`\n\
\x20*\x20Use\x20a\x20free\x20text\x20query.\x20Example:\x20`us-west*`\n\
\n\r\n\x05\x04\t\x02\x07\x05\x12\x04\xa8\x03\x02\x08\n\r\n\x05\x04\t\x02\
\x07\x01\x12\x04\xa8\x03\t\x11\n\r\n\x05\x04\t\x02\x07\x03\x12\x04\xa8\
\x03\x14\x15\n\xd4\x04\n\x04\x04\t\x02\x08\x12\x04\xb7\x03\x02!\x1a\xc5\
\x04\x20Labels\x20associated\x20with\x20this\x20resource.\x20See\x20[Lab\
elling\x20and\x20grouping\x20Google\n\x20Cloud\n\x20resources](https://c\
loud.google.com/blog/products/gcp/labelling-and-grouping-your-google-clo\
ud-platform-resources)\n\x20for\x20more\x20information.\x20This\x20field\
\x20is\x20available\x20only\x20when\x20the\x20resource's\n\x20Protobuf\
\x20contains\x20it.\n\n\x20To\x20search\x20against\x20the\x20`labels`:\n\
\n\x20*\x20Use\x20a\x20field\x20query:\n\x20\x20\x20\x20\x20-\x20query\
\x20on\x20any\x20label's\x20key\x20or\x20value.\x20Example:\x20`labels:p\
rod`\n\x20\x20\x20\x20\x20-\x20query\x20by\x20a\x20given\x20label.\x20Ex\
ample:\x20`labels.env:prod`\n\x20\x20\x20\x20\x20-\x20query\x20by\x20a\
\x20given\x20label's\x20existence.\x20Example:\x20`labels.env:*`\n\x20*\
\x20Use\x20a\x20free\x20text\x20query.\x20Example:\x20`prod`\n\n\r\n\x05\
\x04\t\x02\x08\x06\x12\x04\xb7\x03\x02\x15\n\r\n\x05\x04\t\x02\x08\x01\
\x12\x04\xb7\x03\x16\x1c\n\r\n\x05\x04\t\x02\x08\x03\x12\x04\xb7\x03\x1f\
\x20\n\x94\x04\n\x04\x04\t\x02\t\x12\x04\xc4\x03\x02#\x1a\x85\x04\x20Net\
work\x20tags\x20associated\x20with\x20this\x20resource.\x20Like\x20label\
s,\x20network\x20tags\x20are\x20a\n\x20type\x20of\x20annotations\x20used\
\x20to\x20group\x20Google\x20Cloud\x20resources.\x20See\x20[Labelling\n\
\x20Google\x20Cloud\n\x20resources](https://cloud.google.com/blog/produc\
ts/gcp/labelling-and-grouping-your-google-cloud-platform-resources)\n\
\x20for\x20more\x20information.\x20This\x20field\x20is\x20available\x20o\
nly\x20when\x20the\x20resource's\n\x20Protobuf\x20contains\x20it.\n\n\
\x20To\x20search\x20against\x20the\x20`network_tags`:\n\n\x20*\x20Use\
\x20a\x20field\x20query.\x20Example:\x20`networkTags:internal`\n\x20*\
\x20Use\x20a\x20free\x20text\x20query.\x20Example:\x20`internal`\n\n\r\n\
\x05\x04\t\x02\t\x04\x12\x04\xc4\x03\x02\n\n\r\n\x05\x04\t\x02\t\x05\x12\
\x04\xc4\x03\x0b\x11\n\r\n\x05\x04\t\x02\t\x01\x12\x04\xc4\x03\x12\x1e\n\
\r\n\x05\x04\t\x02\t\x03\x12\x04\xc4\x03!\"\n\xba\x06\n\x04\x04\t\x02\n\
\x12\x04\xd7\x03\x02*\x1a\xab\x06\x20The\x20Cloud\x20KMS\n\x20[CryptoKey\
](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations\
.keyRings.cryptoKeys)\n\x20name\x20or\n\x20[CryptoKeyVersion](https://cl\
oud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cr\
yptoKeys.cryptoKeyVersions)\n\x20name.\n\n\x20This\x20field\x20only\x20p\
resents\x20for\x20the\x20purpose\x20of\x20backward\x20compatibility.\x20\
Please\n\x20use\x20the\x20`kms_keys`\x20field\x20to\x20retrieve\x20Cloud\
\x20KMS\x20key\x20information.\x20This\x20field\n\x20is\x20available\x20\
only\x20when\x20the\x20resource's\x20Protobuf\x20contains\x20it\x20and\
\x20will\x20only\x20be\n\x20populated\x20for\x20[these\x20resource\n\x20\
types](https://cloud.google.com/asset-inventory/docs/legacy-field-names#\
resource_types_with_the_to_be_deprecated_kmskey_field)\n\x20for\x20backw\
ard\x20compatible\x20purposes.\n\n\x20To\x20search\x20against\x20the\x20\
`kms_key`:\n\n\x20*\x20Use\x20a\x20field\x20query.\x20Example:\x20`kmsKe\
y:key`\n\x20*\x20Use\x20a\x20free\x20text\x20query.\x20Example:\x20`key`\
\n\n\r\n\x05\x04\t\x02\n\x05\x12\x04\xd7\x03\x02\x08\n\r\n\x05\x04\t\x02\
\n\x01\x12\x04\xd7\x03\t\x10\n\r\n\x05\x04\t\x02\n\x03\x12\x04\xd7\x03\
\x13\x15\n\r\n\x05\x04\t\x02\n\x08\x12\x04\xd7\x03\x16)\n\x0e\n\x06\x04\
\t\x02\n\x08\x03\x12\x04\xd7\x03\x17(\n\xde\x03\n\x04\x04\t\x02\x0b\x12\
\x04\xe4\x03\x02\x20\x1a\xcf\x03\x20The\x20Cloud\x20KMS\n\x20[CryptoKey]\
(https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.\
keyRings.cryptoKeys)\n\x20names\x20or\n\x20[CryptoKeyVersion](https://cl\
oud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cr\
yptoKeys.cryptoKeyVersions)\n\x20names.\x20This\x20field\x20is\x20availa\
ble\x20only\x20when\x20the\x20resource's\x20Protobuf\x20contains\n\x20it\
.\n\n\x20To\x20search\x20against\x20the\x20`kms_keys`:\n\n\x20*\x20Use\
\x20a\x20field\x20query.\x20Example:\x20`kmsKeys:key`\n\x20*\x20Use\x20a\
\x20free\x20text\x20query.\x20Example:\x20`key`\n\n\r\n\x05\x04\t\x02\
\x0b\x04\x12\x04\xe4\x03\x02\n\n\r\n\x05\x04\t\x02\x0b\x05\x12\x04\xe4\
\x03\x0b\x11\n\r\n\x05\x04\t\x02\x0b\x01\x12\x04\xe4\x03\x12\x1a\n\r\n\
\x05\x04\t\x02\x0b\x03\x12\x04\xe4\x03\x1d\x1f\n\x91\x04\n\x04\x04\t\x02\
\x0c\x12\x04\xf1\x03\x02-\x1a\x82\x04\x20The\x20create\x20timestamp\x20o\
f\x20this\x20resource,\x20at\x20which\x20the\x20resource\x20was\x20creat\
ed.\n\x20The\x20granularity\x20is\x20in\x20seconds.\x20Timestamp.nanos\
\x20will\x20always\x20be\x200.\x20This\x20field\n\x20is\x20available\x20\
only\x20when\x20the\x20resource's\x20Protobuf\x20contains\x20it.\n\n\x20\
To\x20search\x20against\x20`create_time`:\n\n\x20*\x20Use\x20a\x20field\
\x20query.\n\x20\x20\x20\x20\x20-\x20value\x20in\x20seconds\x20since\x20\
unix\x20epoch.\x20Example:\x20`createTime\x20>\x201609459200`\n\x20\x20\
\x20\x20\x20-\x20value\x20in\x20date\x20string.\x20Example:\x20`createTi\
me\x20>\x202021-01-01`\n\x20\x20\x20\x20\x20-\x20value\x20in\x20date-tim\
e\x20string\x20(must\x20be\x20quoted).\x20Example:\x20`createTime\x20>\n\
\x20\x20\x20\x20\x20\"2021-01-01T00:00:00\"`\n\n\r\n\x05\x04\t\x02\x0c\
\x06\x12\x04\xf1\x03\x02\x1b\n\r\n\x05\x04\t\x02\x0c\x01\x12\x04\xf1\x03\
\x1c'\n\r\n\x05\x04\t\x02\x0c\x03\x12\x04\xf1\x03*,\n\xa8\x04\n\x04\x04\
\t\x02\r\x12\x04\xff\x03\x02-\x1a\x99\x04\x20The\x20last\x20update\x20ti\
mestamp\x20of\x20this\x20resource,\x20at\x20which\x20the\x20resource\x20\
was\x20last\n\x20modified\x20or\x20deleted.\x20The\x20granularity\x20is\
\x20in\x20seconds.\x20Timestamp.nanos\x20will\n\x20always\x20be\x200.\
\x20This\x20field\x20is\x20available\x20only\x20when\x20the\x20resource'\
s\x20Protobuf\n\x20contains\x20it.\n\n\x20To\x20search\x20against\x20`up\
date_time`:\n\n\x20*\x20Use\x20a\x20field\x20query.\n\x20\x20\x20\x20\
\x20-\x20value\x20in\x20seconds\x20since\x20unix\x20epoch.\x20Example:\
\x20`updateTime\x20<\x201609459200`\n\x20\x20\x20\x20\x20-\x20value\x20i\
n\x20date\x20string.\x20Example:\x20`updateTime\x20<\x202021-01-01`\n\
\x20\x20\x20\x20\x20-\x20value\x20in\x20date-time\x20string\x20(must\x20\
be\x20quoted).\x20Example:\x20`updateTime\x20<\n\x20\x20\x20\x20\x20\"20\
21-01-01T00:00:00\"`\n\n\r\n\x05\x04\t\x02\r\x06\x12\x04\xff\x03\x02\x1b\
\n\r\n\x05\x04\t\x02\r\x01\x12\x04\xff\x03\x1c'\n\r\n\x05\x04\t\x02\r\
\x03\x12\x04\xff\x03*,\n\xbb\x07\n\x04\x04\t\x02\x0e\x12\x04\x95\x04\x02\
\x14\x1a\xac\x07\x20The\x20state\x20of\x20this\x20resource.\x20Different\
\x20resources\x20types\x20have\x20different\x20state\n\x20definitions\
\x20that\x20are\x20mapped\x20from\x20various\x20fields\x20of\x20differen\
t\x20resource\n\x20types.\x20This\x20field\x20is\x20available\x20only\
\x20when\x20the\x20resource's\x20Protobuf\x20contains\n\x20it.\n\n\x20Ex\
ample:\n\x20If\x20the\x20resource\x20is\x20an\x20instance\x20provided\
\x20by\x20Compute\x20Engine,\n\x20its\x20state\x20will\x20include\x20PRO\
VISIONING,\x20STAGING,\x20RUNNING,\x20STOPPING,\n\x20SUSPENDING,\x20SUSP\
ENDED,\x20REPAIRING,\x20and\x20TERMINATED.\x20See\x20`status`\x20definit\
ion\n\x20in\x20[API\n\x20Reference](https://cloud.google.com/compute/doc\
s/reference/rest/v1/instances).\n\x20If\x20the\x20resource\x20is\x20a\
\x20project\x20provided\x20by\x20Resource\x20Manager,\x20its\x20state\n\
\x20will\x20include\x20LIFECYCLE_STATE_UNSPECIFIED,\x20ACTIVE,\x20DELETE\
_REQUESTED\x20and\n\x20DELETE_IN_PROGRESS.\x20See\x20`lifecycleState`\
\x20definition\x20in\x20[API\n\x20Reference](https://cloud.google.com/re\
source-manager/reference/rest/v1/projects).\n\n\x20To\x20search\x20again\
st\x20the\x20`state`:\n\n\x20*\x20Use\x20a\x20field\x20query.\x20Example\
:\x20`state:RUNNING`\n\x20*\x20Use\x20a\x20free\x20text\x20query.\x20Exa\
mple:\x20`RUNNING`\n\n\r\n\x05\x04\t\x02\x0e\x05\x12\x04\x95\x04\x02\x08\
\n\r\n\x05\x04\t\x02\x0e\x01\x12\x04\x95\x04\t\x0e\n\r\n\x05\x04\t\x02\
\x0e\x03\x12\x04\x95\x04\x11\x13\n\xf6\x07\n\x04\x04\t\x02\x0f\x12\x04\
\xaa\x04\x023\x1a\xe7\x07\x20The\x20additional\x20searchable\x20attribut\
es\x20of\x20this\x20resource.\x20The\x20attributes\x20may\n\x20vary\x20f\
rom\x20one\x20resource\x20type\x20to\x20another.\x20Examples:\x20`projec\
tId`\x20for\x20Project,\n\x20`dnsName`\x20for\x20DNS\x20ManagedZone.\x20\
This\x20field\x20contains\x20a\x20subset\x20of\x20the\x20resource\n\x20m\
etadata\x20fields\x20that\x20are\x20returned\x20by\x20the\x20List\x20or\
\x20Get\x20APIs\x20provided\x20by\x20the\n\x20corresponding\x20Google\
\x20Cloud\x20service\x20(e.g.,\x20Compute\x20Engine).\x20see\x20[API\n\
\x20references\x20and\x20supported\x20searchable\n\x20attributes](https:\
//cloud.google.com/asset-inventory/docs/supported-asset-types#searchable\
_asset_types)\n\x20to\x20see\x20which\x20fields\x20are\x20included.\n\n\
\x20You\x20can\x20search\x20values\x20of\x20these\x20fields\x20through\
\x20free\x20text\x20search.\x20However,\n\x20you\x20should\x20not\x20con\
sume\x20the\x20field\x20programically\x20as\x20the\x20field\x20names\x20\
and\n\x20values\x20may\x20change\x20as\x20the\x20Google\x20Cloud\x20serv\
ice\x20updates\x20to\x20a\x20new\x20incompatible\n\x20API\x20version.\n\
\n\x20To\x20search\x20against\x20the\x20`additional_attributes`:\n\n\x20\
*\x20Use\x20a\x20free\x20text\x20query\x20to\x20match\x20the\x20attribut\
es\x20values.\x20Example:\x20to\x20search\n\x20\x20\x20`additional_attri\
butes\x20=\x20{\x20dnsName:\x20\"foobar\"\x20}`,\x20you\x20can\x20issue\
\x20a\x20query\n\x20\x20\x20`foobar`.\n\n\r\n\x05\x04\t\x02\x0f\x06\x12\
\x04\xaa\x04\x02\x18\n\r\n\x05\x04\t\x02\x0f\x01\x12\x04\xaa\x04\x19.\n\
\r\n\x05\x04\t\x02\x0f\x03\x12\x04\xaa\x0412\n\x81\x02\n\x04\x04\t\x02\
\x10\x12\x04\xb3\x04\x02(\x1a\xf2\x01\x20The\x20full\x20resource\x20name\
\x20of\x20this\x20resource's\x20parent,\x20if\x20it\x20has\x20one.\n\x20\
To\x20search\x20against\x20the\x20`parent_full_resource_name`:\n\n\x20*\
\x20Use\x20a\x20field\x20query.\x20Example:\n\x20`parentFullResourceName\
:\"project-name\"`\n\x20*\x20Use\x20a\x20free\x20text\x20query.\x20Examp\
le:\n\x20`project-name`\n\n\r\n\x05\x04\t\x02\x10\x05\x12\x04\xb3\x04\
\x02\x08\n\r\n\x05\x04\t\x02\x10\x01\x12\x04\xb3\x04\t\"\n\r\n\x05\x04\t\
\x02\x10\x03\x12\x04\xb3\x04%'\n\xf5\x02\n\x04\x04\t\x02\x11\x12\x04\xbc\
\x04\x026\x1a\xe6\x02\x20Versioned\x20resource\x20representations\x20of\
\x20this\x20resource.\x20This\x20is\x20repeated\n\x20because\x20there\
\x20could\x20be\x20multiple\x20versions\x20of\x20resource\x20representat\
ions\x20during\n\x20version\x20migration.\n\n\x20This\x20`versioned_reso\
urces`\x20field\x20is\x20not\x20searchable.\x20Some\x20attributes\x20of\
\x20the\n\x20resource\x20representations\x20are\x20exposed\x20in\x20`add\
itional_attributes`\x20field,\x20so\n\x20as\x20to\x20allow\x20users\x20t\
o\x20search\x20on\x20them.\n\n\r\n\x05\x04\t\x02\x11\x04\x12\x04\xbc\x04\
\x02\n\n\r\n\x05\x04\t\x02\x11\x06\x12\x04\xbc\x04\x0b\x1c\n\r\n\x05\x04\
\t\x02\x11\x01\x12\x04\xbc\x04\x1d0\n\r\n\x05\x04\t\x02\x11\x03\x12\x04\
\xbc\x0435\n\x92\x03\n\x04\x04\t\x02\x12\x12\x04\xc5\x04\x024\x1a\x83\
\x03\x20Attached\x20resources\x20of\x20this\x20resource.\x20For\x20examp\
le,\x20an\x20OSConfig\n\x20Inventory\x20is\x20an\x20attached\x20resource\
\x20of\x20a\x20Compute\x20Instance.\x20This\x20field\x20is\n\x20repeated\
\x20because\x20a\x20resource\x20could\x20have\x20multiple\x20attached\
\x20resources.\n\n\x20This\x20`attached_resources`\x20field\x20is\x20not\
\x20searchable.\x20Some\x20attributes\n\x20of\x20the\x20attached\x20reso\
urces\x20are\x20exposed\x20in\x20`additional_attributes`\x20field,\x20so\
\n\x20as\x20to\x20allow\x20users\x20to\x20search\x20on\x20them.\n\n\r\n\
\x05\x04\t\x02\x12\x04\x12\x04\xc5\x04\x02\n\n\r\n\x05\x04\t\x02\x12\x06\
\x12\x04\xc5\x04\x0b\x1b\n\r\n\x05\x04\t\x02\x12\x01\x12\x04\xc5\x04\x1c\
.\n\r\n\x05\x04\t\x02\x12\x03\x12\x04\xc5\x0413\n\xff\x02\n\x04\x04\t\
\x02\x13\x12\x04\xcd\x04\x023\x1a\xf0\x02\x20A\x20map\x20of\x20related\
\x20resources\x20of\x20this\x20resource,\x20keyed\x20by\x20the\n\x20rela\
tionship\x20type.\x20A\x20relationship\x20type\x20is\x20in\x20the\x20for\
mat\x20of\n\x20{SourceType}_{ACTION}_{DestType}.\x20Example:\x20`DISK_TO\
_INSTANCE`,\n\x20`DISK_TO_NETWORK`,\x20`INSTANCE_TO_INSTANCEGROUP`.\n\
\x20See\x20[supported\x20relationship\n\x20types](https://cloud.google.c\
om/asset-inventory/docs/supported-asset-types#supported_relationship_typ\
es).\n\n\r\n\x05\x04\t\x02\x13\x06\x12\x04\xcd\x04\x02\x1f\n\r\n\x05\x04\
\t\x02\x13\x01\x12\x04\xcd\x04\x20-\n\r\n\x05\x04\t\x02\x13\x03\x12\x04\
\xcd\x0402\n\x94\x03\n\x04\x04\t\x02\x14\x12\x04\xdc\x04\x024\x1a\x85\
\x03\x20This\x20field\x20is\x20only\x20present\x20for\x20the\x20purpose\
\x20of\x20backward\x20compatibility.\n\x20Please\x20use\x20the\x20`tags`\
\x20field\x20instead.\n\n\x20TagKey\x20namespaced\x20names,\x20in\x20the\
\x20format\x20of\x20{ORG_ID}/{TAG_KEY_SHORT_NAME}.\n\x20To\x20search\x20\
against\x20the\x20`tagKeys`:\n\n\x20*\x20Use\x20a\x20field\x20query.\x20\
Example:\n\x20\x20\x20\x20\x20-\x20`tagKeys:\"123456789/env*\"`\n\x20\
\x20\x20\x20\x20-\x20`tagKeys=\"123456789/env\"`\n\x20\x20\x20\x20\x20-\
\x20`tagKeys:\"env\"`\n\n\x20*\x20Use\x20a\x20free\x20text\x20query.\x20\
Example:\n\x20\x20\x20\x20\x20-\x20`env`\n\n\r\n\x05\x04\t\x02\x14\x04\
\x12\x04\xdc\x04\x02\n\n\r\n\x05\x04\t\x02\x14\x05\x12\x04\xdc\x04\x0b\
\x11\n\r\n\x05\x04\t\x02\x14\x01\x12\x04\xdc\x04\x12\x1a\n\r\n\x05\x04\t\
\x02\x14\x03\x12\x04\xdc\x04\x1d\x1f\n\r\n\x05\x04\t\x02\x14\x08\x12\x04\
\xdc\x04\x203\n\x0e\n\x06\x04\t\x02\x14\x08\x03\x12\x04\xdc\x04!2\n\xdf\
\x03\n\x04\x04\t\x02\x15\x12\x04\xed\x04\x026\x1a\xd0\x03\x20This\x20fie\
ld\x20is\x20only\x20present\x20for\x20the\x20purpose\x20of\x20backward\
\x20compatibility.\n\x20Please\x20use\x20the\x20`tags`\x20field\x20inste\
ad.\n\n\x20TagValue\x20namespaced\x20names,\x20in\x20the\x20format\x20of\
\n\x20{ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.\n\x20To\x20s\
earch\x20against\x20the\x20`tagValues`:\n\n\x20*\x20Use\x20a\x20field\
\x20query.\x20Example:\n\x20\x20\x20\x20\x20-\x20`tagValues:\"env\"`\n\
\x20\x20\x20\x20\x20-\x20`tagValues:\"env/prod\"`\n\x20\x20\x20\x20\x20-\
\x20`tagValues:\"123456789/env/prod*\"`\n\x20\x20\x20\x20\x20-\x20`tagVa\
lues=\"123456789/env/prod\"`\n\n\x20*\x20Use\x20a\x20free\x20text\x20que\
ry.\x20Example:\n\x20\x20\x20\x20\x20-\x20`prod`\n\n\r\n\x05\x04\t\x02\
\x15\x04\x12\x04\xed\x04\x02\n\n\r\n\x05\x04\t\x02\x15\x05\x12\x04\xed\
\x04\x0b\x11\n\r\n\x05\x04\t\x02\x15\x01\x12\x04\xed\x04\x12\x1c\n\r\n\
\x05\x04\t\x02\x15\x03\x12\x04\xed\x04\x1f!\n\r\n\x05\x04\t\x02\x15\x08\
\x12\x04\xed\x04\"5\n\x0e\n\x06\x04\t\x02\x15\x08\x03\x12\x04\xed\x04#4\
\n\xd3\x02\n\x04\x04\t\x02\x16\x12\x04\xfa\x04\x029\x1a\xc4\x02\x20This\
\x20field\x20is\x20only\x20present\x20for\x20the\x20purpose\x20of\x20bac\
kward\x20compatibility.\n\x20Please\x20use\x20the\x20`tags`\x20field\x20\
instead.\n\n\x20TagValue\x20IDs,\x20in\x20the\x20format\x20of\x20tagValu\
es/{TAG_VALUE_ID}.\n\x20To\x20search\x20against\x20the\x20`tagValueIds`:\
\n\n\x20*\x20Use\x20a\x20field\x20query.\x20Example:\n\x20\x20\x20\x20\
\x20-\x20`tagValueIds=\"tagValues/456\"`\n\n\x20*\x20Use\x20a\x20free\
\x20text\x20query.\x20Example:\n\x20\x20\x20\x20\x20-\x20`456`\n\n\r\n\
\x05\x04\t\x02\x16\x04\x12\x04\xfa\x04\x02\n\n\r\n\x05\x04\t\x02\x16\x05\
\x12\x04\xfa\x04\x0b\x11\n\r\n\x05\x04\t\x02\x16\x01\x12\x04\xfa\x04\x12\
\x1f\n\r\n\x05\x04\t\x02\x16\x03\x12\x04\xfa\x04\"$\n\r\n\x05\x04\t\x02\
\x16\x08\x12\x04\xfa\x04%8\n\x0e\n\x06\x04\t\x02\x16\x08\x03\x12\x04\xfa\
\x04&7\n\xba\x03\n\x04\x04\t\x02\x17\x12\x04\x8c\x05\x02\x19\x1a\xab\x03\
\x20The\x20tags\x20directly\x20attached\x20to\x20this\x20resource.\n\n\
\x20To\x20search\x20against\x20the\x20`tags`:\n\n\x20*\x20Use\x20a\x20fi\
eld\x20query.\x20Example:\n\x20\x20\x20\x20\x20-\x20`tagKeys:\"123456789\
/env*\"`\n\x20\x20\x20\x20\x20-\x20`tagKeys=\"123456789/env\"`\n\x20\x20\
\x20\x20\x20-\x20`tagKeys:\"env\"`\n\x20\x20\x20\x20\x20-\x20`tagValues:\
\"env\"`\n\x20\x20\x20\x20\x20-\x20`tagValues:\"env/prod\"`\n\x20\x20\
\x20\x20\x20-\x20`tagValues:\"123456789/env/prod*\"`\n\x20\x20\x20\x20\
\x20-\x20`tagValues=\"123456789/env/prod\"`\n\x20\x20\x20\x20\x20-\x20`t\
agValueIds=\"tagValues/456\"`\n\n\x20*\x20Use\x20a\x20free\x20text\x20qu\
ery.\x20Example:\n\x20\x20\x20\x20\x20-\x20`env/prod`\n\n\r\n\x05\x04\t\
\x02\x17\x04\x12\x04\x8c\x05\x02\n\n\r\n\x05\x04\t\x02\x17\x06\x12\x04\
\x8c\x05\x0b\x0e\n\r\n\x05\x04\t\x02\x17\x01\x12\x04\x8c\x05\x0f\x13\n\r\
\n\x05\x04\t\x02\x17\x03\x12\x04\x8c\x05\x16\x18\n\xbf\x05\n\x04\x04\t\
\x02\x18\x12\x04\x9e\x05\x023\x1a\xb0\x05\x20The\x20effective\x20tags\
\x20on\x20this\x20resource.\x20All\x20of\x20the\x20tags\x20that\x20are\
\x20both\x20attached\n\x20to\x20and\x20inherited\x20by\x20a\x20resource\
\x20are\x20collectively\x20called\x20the\x20effective\n\x20tags.\x20For\
\x20more\x20information,\x20see\x20[tag\n\x20inheritance](https://cloud.\
google.com/resource-manager/docs/tags/tags-overview#inheritance).\n\n\
\x20To\x20search\x20against\x20the\x20`effective_tags`:\n\n\x20*\x20Use\
\x20a\x20field\x20query.\x20Example:\n\x20\x20\x20\x20\x20-\x20`effectiv\
eTagKeys:\"123456789/env*\"`\n\x20\x20\x20\x20\x20-\x20`effectiveTagKeys\
=\"123456789/env\"`\n\x20\x20\x20\x20\x20-\x20`effectiveTagKeys:\"env\"`\
\n\x20\x20\x20\x20\x20-\x20`effectiveTagValues:\"env\"`\n\x20\x20\x20\
\x20\x20-\x20`effectiveTagValues:\"env/prod\"`\n\x20\x20\x20\x20\x20-\
\x20`effectiveTagValues:\"123456789/env/prod*\"`\n\x20\x20\x20\x20\x20-\
\x20`effectiveTagValues=\"123456789/env/prod\"`\n\x20\x20\x20\x20\x20-\
\x20`effectiveTagValueIds=\"tagValues/456\"`\n\n\r\n\x05\x04\t\x02\x18\
\x04\x12\x04\x9e\x05\x02\n\n\r\n\x05\x04\t\x02\x18\x06\x12\x04\x9e\x05\
\x0b\x1e\n\r\n\x05\x04\t\x02\x18\x01\x12\x04\x9e\x05\x1f-\n\r\n\x05\x04\
\t\x02\x18\x03\x12\x04\x9e\x0502\n\xaf\x02\n\x04\x04\t\x02\x19\x12\x04\
\xa8\x05\x02!\x1a\xa0\x02\x20The\x20type\x20of\x20this\x20resource's\x20\
immediate\x20parent,\x20if\x20there\x20is\x20one.\n\n\x20To\x20search\
\x20against\x20the\x20`parent_asset_type`:\n\n\x20*\x20Use\x20a\x20field\
\x20query.\x20Example:\n\x20`parentAssetType:\"cloudresourcemanager.goog\
leapis.com/Project\"`\n\x20*\x20Use\x20a\x20free\x20text\x20query.\x20Ex\
ample:\n\x20`cloudresourcemanager.googleapis.com/Project`\n\n\r\n\x05\
\x04\t\x02\x19\x05\x12\x04\xa8\x05\x02\x08\n\r\n\x05\x04\t\x02\x19\x01\
\x12\x04\xa8\x05\t\x1a\n\r\n\x05\x04\t\x02\x19\x03\x12\x04\xa8\x05\x1d\
\x20\n\xe7\x04\n\x04\x04\t\x02\x1a\x12\x04\xb7\x05\x02.\x1a\xd8\x04\x20T\
he\x20actual\x20content\x20of\x20Security\x20Command\x20Center\x20securi\
ty\x20marks\x20associated\n\x20with\x20the\x20asset.\n\n\n\x20Note\x20th\
at\x20both\x20staging\x20&\x20prod\x20SecurityMarks\x20are\x20attached\
\x20on\x20prod\x20resources.\n\x20In\x20CAS\x20preprod/prod,\x20both\x20\
staging\x20&\x20prod\x20SecurityMarks\x20are\x20ingested\x20and\n\x20ret\
urned\x20in\x20the\x20following\x20`security_marks`\x20map.\x20In\x20tha\
t\x20case,\x20the\x20prefix\n\x20\"staging.\"\x20will\x20be\x20added\x20\
to\x20the\x20keys\x20of\x20all\x20the\x20staging\x20marks.\n\x20To\x20se\
arch\x20against\x20SCC\x20SecurityMarks\x20field:\n\n\x20\x20\x20*\x20Us\
e\x20a\x20field\x20query:\n\x20\x20\x20\x20\x20-\x20query\x20by\x20a\x20\
given\x20key\x20value\x20pair.\x20Example:\x20`sccSecurityMarks.foo=bar`\
\n\x20\x20\x20\x20\x20-\x20query\x20by\x20a\x20given\x20key's\x20existen\
ce.\x20Example:\x20`sccSecurityMarks.foo:*`\n\n\r\n\x05\x04\t\x02\x1a\
\x06\x12\x04\xb7\x05\x02\x15\n\r\n\x05\x04\t\x02\x1a\x01\x12\x04\xb7\x05\
\x16(\n\r\n\x05\x04\t\x02\x1a\x03\x12\x04\xb7\x05+-\n\x80\x01\n\x02\x04\
\n\x12\x06\xbc\x05\0\xd2\x05\x01\x1ar\x20Resource\x20representation\x20a\
s\x20defined\x20by\x20the\x20corresponding\x20service\x20providing\x20th\
e\n\x20resource\x20for\x20a\x20given\x20API\x20version.\n\n\x0b\n\x03\
\x04\n\x01\x12\x04\xbc\x05\x08\x19\n\xe5\x01\n\x04\x04\n\x02\0\x12\x04\
\xc3\x05\x02\x15\x1a\xd6\x01\x20API\x20version\x20of\x20the\x20resource.\
\n\n\x20Example:\n\x20If\x20the\x20resource\x20is\x20an\x20instance\x20p\
rovided\x20by\x20Compute\x20Engine\x20v1\x20API\x20as\x20defined\n\x20in\
\x20`https://cloud.google.com/compute/docs/reference/rest/v1/instances`,\
\n\x20version\x20will\x20be\x20\"v1\".\n\n\r\n\x05\x04\n\x02\0\x05\x12\
\x04\xc3\x05\x02\x08\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xc3\x05\t\x10\n\r\
\n\x05\x04\n\x02\0\x03\x12\x04\xc3\x05\x13\x14\n\x99\x04\n\x04\x04\n\x02\
\x01\x12\x04\xd1\x05\x02&\x1a\x8a\x04\x20JSON\x20representation\x20of\
\x20the\x20resource\x20as\x20defined\x20by\x20the\x20corresponding\n\x20\
service\x20providing\x20this\x20resource.\n\n\x20Example:\n\x20If\x20the\
\x20resource\x20is\x20an\x20instance\x20provided\x20by\x20Compute\x20Eng\
ine,\x20this\x20field\x20will\n\x20contain\x20the\x20JSON\x20representat\
ion\x20of\x20the\x20instance\x20as\x20defined\x20by\x20Compute\n\x20Engi\
ne:\n\x20`https://cloud.google.com/compute/docs/reference/rest/v1/instan\
ces`.\n\n\x20You\x20can\x20find\x20the\x20resource\x20definition\x20for\
\x20each\x20supported\x20resource\x20type\x20in\n\x20this\x20table:\n\
\x20`https://cloud.google.com/asset-inventory/docs/supported-asset-types\
#searchable_asset_types`\n\n\r\n\x05\x04\n\x02\x01\x06\x12\x04\xd1\x05\
\x02\x18\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xd1\x05\x19!\n\r\n\x05\x04\
\n\x02\x01\x03\x12\x04\xd1\x05$%\n\x99\x01\n\x02\x04\x0b\x12\x06\xd6\x05\
\0\xe4\x05\x01\x1a\x8a\x01\x20Attached\x20resource\x20representation,\
\x20which\x20is\x20defined\x20by\x20the\x20corresponding\n\x20service\
\x20provider.\x20It\x20represents\x20an\x20attached\x20resource's\x20pay\
load.\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\xd6\x05\x08\x18\n\x94\x02\n\x04\
\x04\x0b\x02\0\x12\x04\xde\x05\x02\x18\x1a\x85\x02\x20The\x20type\x20of\
\x20this\x20attached\x20resource.\n\n\x20Example:\x20`osconfig.googleapi\
s.com/Inventory`\n\n\x20You\x20can\x20find\x20the\x20supported\x20attach\
ed\x20asset\x20types\x20of\x20each\x20resource\x20in\x20this\n\x20table:\
\n\x20`https://cloud.google.com/asset-inventory/docs/supported-asset-typ\
es#searchable_asset_types`\n\n\r\n\x05\x04\x0b\x02\0\x05\x12\x04\xde\x05\
\x02\x08\n\r\n\x05\x04\x0b\x02\0\x01\x12\x04\xde\x05\t\x13\n\r\n\x05\x04\
\x0b\x02\0\x03\x12\x04\xde\x05\x16\x17\n\xcd\x01\n\x04\x04\x0b\x02\x01\
\x12\x04\xe3\x05\x025\x1a\xbe\x01\x20Versioned\x20resource\x20representa\
tions\x20of\x20this\x20attached\x20resource.\x20This\x20is\n\x20repeated\
\x20because\x20there\x20could\x20be\x20multiple\x20versions\x20of\x20the\
\x20attached\x20resource\n\x20representations\x20during\x20version\x20mi\
gration.\n\n\r\n\x05\x04\x0b\x02\x01\x04\x12\x04\xe3\x05\x02\n\n\r\n\x05\
\x04\x0b\x02\x01\x06\x12\x04\xe3\x05\x0b\x1c\n\r\n\x05\x04\x0b\x02\x01\
\x01\x12\x04\xe3\x05\x1d0\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xe3\x053\
4\n>\n\x02\x04\x0c\x12\x06\xe7\x05\0\xea\x05\x01\x1a0\x20The\x20related\
\x20resources\x20of\x20the\x20primary\x20resource.\n\n\x0b\n\x03\x04\x0c\
\x01\x12\x04\xe7\x05\x08\x18\nG\n\x04\x04\x0c\x02\0\x12\x04\xe9\x05\x021\
\x1a9\x20The\x20detailed\x20related\x20resources\x20of\x20the\x20primary\
\x20resource.\n\n\r\n\x05\x04\x0c\x02\0\x04\x12\x04\xe9\x05\x02\n\n\r\n\
\x05\x04\x0c\x02\0\x06\x12\x04\xe9\x05\x0b\x1a\n\r\n\x05\x04\x0c\x02\0\
\x01\x12\x04\xe9\x05\x1b,\n\r\n\x05\x04\x0c\x02\0\x03\x12\x04\xe9\x05/0\
\n.\n\x02\x04\r\x12\x06\xed\x05\0\xf4\x05\x01\x1a\x20\x20The\x20detailed\
\x20related\x20resource.\n\n\x0b\n\x03\x04\r\x01\x12\x04\xed\x05\x08\x17\
\nQ\n\x04\x04\r\x02\0\x12\x04\xef\x05\x02\x18\x1aC\x20The\x20type\x20of\
\x20the\x20asset.\x20Example:\x20`compute.googleapis.com/Instance`\n\n\r\
\n\x05\x04\r\x02\0\x05\x12\x04\xef\x05\x02\x08\n\r\n\x05\x04\r\x02\0\x01\
\x12\x04\xef\x05\t\x13\n\r\n\x05\x04\r\x02\0\x03\x12\x04\xef\x05\x16\x17\
\n\x95\x01\n\x04\x04\r\x02\x01\x12\x04\xf3\x05\x02\x20\x1a\x86\x01\x20Th\
e\x20full\x20resource\x20name\x20of\x20the\x20related\x20resource.\x20Ex\
ample:\n\x20`//compute.googleapis.com/projects/my_proj_123/zones/instanc\
e/instance123`\n\n\r\n\x05\x04\r\x02\x01\x05\x12\x04\xf3\x05\x02\x08\n\r\
\n\x05\x04\r\x02\x01\x01\x12\x04\xf3\x05\t\x1b\n\r\n\x05\x04\r\x02\x01\
\x03\x12\x04\xf3\x05\x1e\x1f\nW\n\x02\x04\x0e\x12\x06\xf7\x05\0\xd2\x06\
\x01\x1aI\x20A\x20result\x20of\x20IAM\x20Policy\x20search,\x20containing\
\x20information\x20of\x20an\x20IAM\x20policy.\n\n\x0b\n\x03\x04\x0e\x01\
\x12\x04\xf7\x05\x08\x1d\nA\n\x04\x04\x0e\x03\0\x12\x06\xf9\x05\x02\x88\
\x06\x03\x1a1\x20Explanation\x20about\x20the\x20IAM\x20policy\x20search\
\x20result.\n\n\r\n\x05\x04\x0e\x03\0\x01\x12\x04\xf9\x05\n\x15\n#\n\x06\
\x04\x0e\x03\0\x03\0\x12\x06\xfb\x05\x04\xfe\x05\x05\x1a\x11\x20IAM\x20p\
ermissions\n\n\x0f\n\x07\x04\x0e\x03\0\x03\0\x01\x12\x04\xfb\x05\x0c\x17\
\nZ\n\x08\x04\x0e\x03\0\x03\0\x02\0\x12\x04\xfd\x05\x06&\x1aH\x20A\x20li\
st\x20of\x20permissions.\x20A\x20sample\x20permission\x20string:\x20`com\
pute.disk.get`.\n\n\x11\n\t\x04\x0e\x03\0\x03\0\x02\0\x04\x12\x04\xfd\
\x05\x06\x0e\n\x11\n\t\x04\x0e\x03\0\x03\0\x02\0\x05\x12\x04\xfd\x05\x0f\
\x15\n\x11\n\t\x04\x0e\x03\0\x03\0\x02\0\x01\x12\x04\xfd\x05\x16!\n\x11\
\n\t\x04\x0e\x03\0\x03\0\x02\0\x03\x12\x04\xfd\x05$%\n\xe2\x03\n\x06\x04\
\x0e\x03\0\x02\0\x12\x04\x87\x06\x045\x1a\xd1\x03\x20The\x20map\x20from\
\x20roles\x20to\x20their\x20included\x20permissions\x20that\x20match\x20\
the\n\x20permission\x20query\x20(i.e.,\x20a\x20query\x20containing\x20`p\
olicy.role.permissions:`).\n\x20Example:\x20if\x20query\x20`policy.role.\
permissions:compute.disk.get`\n\x20matches\x20a\x20policy\x20binding\x20\
that\x20contains\x20owner\x20role,\x20the\n\x20matched_permissions\x20wi\
ll\x20be\x20`{\"roles/owner\":\x20[\"compute.disk.get\"]}`.\x20The\n\x20\
roles\x20can\x20also\x20be\x20found\x20in\x20the\x20returned\x20`policy`\
\x20bindings.\x20Note\x20that\x20the\n\x20map\x20is\x20populated\x20only\
\x20for\x20requests\x20with\x20permission\x20queries.\n\n\x0f\n\x07\x04\
\x0e\x03\0\x02\0\x06\x12\x04\x87\x06\x04\x1c\n\x0f\n\x07\x04\x0e\x03\0\
\x02\0\x01\x12\x04\x87\x06\x1d0\n\x0f\n\x07\x04\x0e\x03\0\x02\0\x03\x12\
\x04\x87\x0634\n\xa6\x03\n\x04\x04\x0e\x02\0\x12\x04\x94\x06\x02\x16\x1a\
\x97\x03\x20The\x20full\x20resource\x20name\x20of\x20the\x20resource\x20\
associated\x20with\x20this\x20IAM\x20policy.\n\x20Example:\n\x20`//compu\
te.googleapis.com/projects/my_project_123/zones/zone1/instances/instance\
1`.\n\x20See\x20[Cloud\x20Asset\x20Inventory\x20Resource\x20Name\n\x20Fo\
rmat](https://cloud.google.com/asset-inventory/docs/resource-name-format\
)\n\x20for\x20more\x20information.\n\n\x20To\x20search\x20against\x20the\
\x20`resource`:\n\n\x20*\x20use\x20a\x20field\x20query.\x20Example:\x20`\
resource:organizations/123`\n\n\r\n\x05\x04\x0e\x02\0\x05\x12\x04\x94\
\x06\x02\x08\n\r\n\x05\x04\x0e\x02\0\x01\x12\x04\x94\x06\t\x11\n\r\n\x05\
\x04\x0e\x02\0\x03\x12\x04\x94\x06\x14\x15\n\xd5\x01\n\x04\x04\x0e\x02\
\x01\x12\x04\x9c\x06\x02\x18\x1a\xc6\x01\x20The\x20type\x20of\x20the\x20\
resource\x20associated\x20with\x20this\x20IAM\x20policy.\x20Example:\n\
\x20`compute.googleapis.com/Disk`.\n\n\x20To\x20search\x20against\x20the\
\x20`asset_type`:\n\n\x20*\x20specify\x20the\x20`asset_types`\x20field\
\x20in\x20your\x20search\x20request.\n\n\r\n\x05\x04\x0e\x02\x01\x05\x12\
\x04\x9c\x06\x02\x08\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\x9c\x06\t\x13\
\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\x9c\x06\x16\x17\n\xcf\x03\n\x04\
\x04\x0e\x02\x02\x12\x04\xa7\x06\x02\x15\x1a\xc0\x03\x20The\x20project\
\x20that\x20the\x20associated\x20Google\x20Cloud\x20resource\x20belongs\
\x20to,\x20in\x20the\n\x20form\x20of\x20projects/{PROJECT_NUMBER}.\x20If\
\x20an\x20IAM\x20policy\x20is\x20set\x20on\x20a\x20resource\n\x20(like\
\x20VM\x20instance,\x20Cloud\x20Storage\x20bucket),\x20the\x20project\
\x20field\x20will\x20indicate\n\x20the\x20project\x20that\x20contains\
\x20the\x20resource.\x20If\x20an\x20IAM\x20policy\x20is\x20set\x20on\x20\
a\x20folder\n\x20or\x20orgnization,\x20this\x20field\x20will\x20be\x20em\
pty.\n\n\x20To\x20search\x20against\x20the\x20`project`:\n\n\x20*\x20spe\
cify\x20the\x20`scope`\x20field\x20as\x20this\x20project\x20in\x20your\
\x20search\x20request.\n\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\xa7\x06\
\x02\x08\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\xa7\x06\t\x10\n\r\n\x05\
\x04\x0e\x02\x02\x03\x12\x04\xa7\x06\x13\x14\n\xf7\x02\n\x04\x04\x0e\x02\
\x03\x12\x04\xb2\x06\x02\x1e\x1a\xe8\x02\x20The\x20folder(s)\x20that\x20\
the\x20IAM\x20policy\x20belongs\x20to,\x20in\x20the\x20form\x20of\n\x20f\
olders/{FOLDER_NUMBER}.\x20This\x20field\x20is\x20available\x20when\x20t\
he\x20IAM\x20policy\n\x20belongs\x20to\x20one\x20or\x20more\x20folders.\
\n\n\x20To\x20search\x20against\x20`folders`:\n\n\x20*\x20use\x20a\x20fi\
eld\x20query.\x20Example:\x20`folders:(123\x20OR\x20456)`\n\x20*\x20use\
\x20a\x20free\x20text\x20query.\x20Example:\x20`123`\n\x20*\x20specify\
\x20the\x20`scope`\x20field\x20as\x20this\x20folder\x20in\x20your\x20sea\
rch\x20request.\n\n\r\n\x05\x04\x0e\x02\x03\x04\x12\x04\xb2\x06\x02\n\n\
\r\n\x05\x04\x0e\x02\x03\x05\x12\x04\xb2\x06\x0b\x11\n\r\n\x05\x04\x0e\
\x02\x03\x01\x12\x04\xb2\x06\x12\x19\n\r\n\x05\x04\x0e\x02\x03\x03\x12\
\x04\xb2\x06\x1c\x1d\n\x89\x03\n\x04\x04\x0e\x02\x04\x12\x04\xbd\x06\x02\
\x1a\x1a\xfa\x02\x20The\x20organization\x20that\x20the\x20IAM\x20policy\
\x20belongs\x20to,\x20in\x20the\x20form\n\x20of\x20organizations/{ORGANI\
ZATION_NUMBER}.\x20This\x20field\x20is\x20available\x20when\x20the\n\x20\
IAM\x20policy\x20belongs\x20to\x20an\x20organization.\n\n\x20To\x20searc\
h\x20against\x20`organization`:\n\n\x20*\x20use\x20a\x20field\x20query.\
\x20Example:\x20`organization:123`\n\x20*\x20use\x20a\x20free\x20text\
\x20query.\x20Example:\x20`123`\n\x20*\x20specify\x20the\x20`scope`\x20f\
ield\x20as\x20this\x20organization\x20in\x20your\x20search\x20request.\n\
\n\r\n\x05\x04\x0e\x02\x04\x05\x12\x04\xbd\x06\x02\x08\n\r\n\x05\x04\x0e\
\x02\x04\x01\x12\x04\xbd\x06\t\x15\n\r\n\x05\x04\x0e\x02\x04\x03\x12\x04\
\xbd\x06\x18\x19\n\xa7\x05\n\x04\x04\x0e\x02\x05\x12\x04\xcd\x06\x02\"\
\x1a\x98\x05\x20The\x20IAM\x20policy\x20directly\x20set\x20on\x20the\x20\
given\x20resource.\x20Note\x20that\x20the\x20original\n\x20IAM\x20policy\
\x20can\x20contain\x20multiple\x20bindings.\x20This\x20only\x20contains\
\x20the\x20bindings\n\x20that\x20match\x20the\x20given\x20query.\x20For\
\x20queries\x20that\x20don't\x20contain\x20a\x20constrain\x20on\n\x20pol\
icies\x20(e.g.,\x20an\x20empty\x20query),\x20this\x20contains\x20all\x20\
the\x20bindings.\n\n\x20To\x20search\x20against\x20the\x20`policy`\x20bi\
ndings:\n\n\x20*\x20use\x20a\x20field\x20query:\n\x20\x20\x20\x20\x20-\
\x20query\x20by\x20the\x20policy\x20contained\x20members.\x20Example:\n\
\x20\x20\x20\x20\x20\x20\x20`policy:amy@gmail.com`\n\x20\x20\x20\x20\x20\
-\x20query\x20by\x20the\x20policy\x20contained\x20roles.\x20Example:\n\
\x20\x20\x20\x20\x20\x20\x20`policy:roles/compute.admin`\n\x20\x20\x20\
\x20\x20-\x20query\x20by\x20the\x20policy\x20contained\x20roles'\x20incl\
uded\x20permissions.\x20Example:\n\x20\x20\x20\x20\x20\x20\x20`policy.ro\
le.permissions:compute.instances.create`\n\n\r\n\x05\x04\x0e\x02\x05\x06\
\x12\x04\xcd\x06\x02\x16\n\r\n\x05\x04\x0e\x02\x05\x01\x12\x04\xcd\x06\
\x17\x1d\n\r\n\x05\x04\x0e\x02\x05\x03\x12\x04\xcd\x06\x20!\n\x98\x01\n\
\x04\x04\x0e\x02\x06\x12\x04\xd1\x06\x02\x1e\x1a\x89\x01\x20Explanation\
\x20about\x20the\x20IAM\x20policy\x20search\x20result.\x20It\x20contains\
\x20additional\n\x20information\x20to\x20explain\x20why\x20the\x20search\
\x20result\x20matches\x20the\x20query.\n\n\r\n\x05\x04\x0e\x02\x06\x06\
\x12\x04\xd1\x06\x02\r\n\r\n\x05\x04\x0e\x02\x06\x01\x12\x04\xd1\x06\x0e\
\x19\n\r\n\x05\x04\x0e\x02\x06\x03\x12\x04\xd1\x06\x1c\x1d\ny\n\x02\x04\
\x0f\x12\x06\xd6\x06\0\xe1\x06\x01\x1ak\x20Represents\x20the\x20detailed\
\x20state\x20of\x20an\x20entity\x20under\x20analysis,\x20such\x20as\x20a\
\n\x20resource,\x20an\x20identity\x20or\x20an\x20access.\n\n\x0b\n\x03\
\x04\x0f\x01\x12\x04\xd6\x06\x08\x1e\n\xbb\x02\n\x04\x04\x0f\x02\0\x12\
\x04\xdd\x06\x02\x1b\x1a\xac\x02\x20The\x20Google\x20standard\x20error\
\x20code\x20that\x20best\x20describes\x20the\x20state.\n\x20For\x20examp\
le:\n\x20-\x20OK\x20means\x20the\x20analysis\x20on\x20this\x20entity\x20\
has\x20been\x20successfully\x20finished;\n\x20-\x20PERMISSION_DENIED\x20\
means\x20an\x20access\x20denied\x20error\x20is\x20encountered;\n\x20-\
\x20DEADLINE_EXCEEDED\x20means\x20the\x20analysis\x20on\x20this\x20entit\
y\x20hasn't\x20been\x20started\n\x20in\x20time;\n\n\r\n\x05\x04\x0f\x02\
\0\x06\x12\x04\xdd\x06\x02\x11\n\r\n\x05\x04\x0f\x02\0\x01\x12\x04\xdd\
\x06\x12\x16\n\r\n\x05\x04\x0f\x02\0\x03\x12\x04\xdd\x06\x19\x1a\nG\n\
\x04\x04\x0f\x02\x01\x12\x04\xe0\x06\x02\x13\x1a9\x20The\x20human-readab\
le\x20description\x20of\x20the\x20cause\x20of\x20failure.\n\n\r\n\x05\
\x04\x0f\x02\x01\x05\x12\x04\xe0\x06\x02\x08\n\r\n\x05\x04\x0f\x02\x01\
\x01\x12\x04\xe0\x06\t\x0e\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xe0\x06\
\x11\x12\n)\n\x02\x04\x10\x12\x06\xe4\x06\0\xf8\x06\x01\x1a\x1b\x20The\
\x20Condition\x20evaluation.\n\n\x0b\n\x03\x04\x10\x01\x12\x04\xe4\x06\
\x08\x1b\n+\n\x04\x04\x10\x04\0\x12\x06\xe6\x06\x02\xf4\x06\x03\x1a\x1b\
\x20Value\x20of\x20this\x20expression.\n\n\r\n\x05\x04\x10\x04\0\x01\x12\
\x04\xe6\x06\x07\x16\n*\n\x06\x04\x10\x04\0\x02\0\x12\x04\xe8\x06\x04%\
\x1a\x1a\x20Reserved\x20for\x20future\x20use.\n\n\x0f\n\x07\x04\x10\x04\
\0\x02\0\x01\x12\x04\xe8\x06\x04\x20\n\x0f\n\x07\x04\x10\x04\0\x02\0\x02\
\x12\x04\xe8\x06#$\n2\n\x06\x04\x10\x04\0\x02\x01\x12\x04\xeb\x06\x04\r\
\x1a\"\x20The\x20evaluation\x20result\x20is\x20`true`.\n\n\x0f\n\x07\x04\
\x10\x04\0\x02\x01\x01\x12\x04\xeb\x06\x04\x08\n\x0f\n\x07\x04\x10\x04\0\
\x02\x01\x02\x12\x04\xeb\x06\x0b\x0c\n3\n\x06\x04\x10\x04\0\x02\x02\x12\
\x04\xee\x06\x04\x0e\x1a#\x20The\x20evaluation\x20result\x20is\x20`false\
`.\n\n\x0f\n\x07\x04\x10\x04\0\x02\x02\x01\x12\x04\xee\x06\x04\t\n\x0f\n\
\x07\x04\x10\x04\0\x02\x02\x02\x12\x04\xee\x06\x0c\r\n\xbd\x01\n\x06\x04\
\x10\x04\0\x02\x03\x12\x04\xf3\x06\x04\x14\x1a\xac\x01\x20The\x20evaluat\
ion\x20result\x20is\x20`conditional`\x20when\x20the\x20condition\x20expr\
ession\n\x20contains\x20variables\x20that\x20are\x20either\x20missing\
\x20input\x20values\x20or\x20have\x20not\x20been\n\x20supported\x20by\
\x20Analyzer\x20yet.\n\n\x0f\n\x07\x04\x10\x04\0\x02\x03\x01\x12\x04\xf3\
\x06\x04\x0f\n\x0f\n\x07\x04\x10\x04\0\x02\x03\x02\x12\x04\xf3\x06\x12\
\x13\n&\n\x04\x04\x10\x02\0\x12\x04\xf7\x06\x02'\x1a\x18\x20The\x20evalu\
ation\x20result.\n\n\r\n\x05\x04\x10\x02\0\x06\x12\x04\xf7\x06\x02\x11\n\
\r\n\x05\x04\x10\x02\0\x01\x12\x04\xf7\x06\x12\"\n\r\n\x05\x04\x10\x02\0\
\x03\x12\x04\xf7\x06%&\ns\n\x02\x04\x11\x12\x06\xfc\x06\0\x89\x08\x01\
\x1ae\x20IAM\x20Policy\x20analysis\x20result,\x20consisting\x20of\x20one\
\x20IAM\x20policy\x20binding\x20and\x20derived\n\x20access\x20control\
\x20lists.\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xfc\x06\x08\x1f\n9\n\x04\
\x04\x11\x03\0\x12\x06\xfe\x06\x02\x85\x07\x03\x1a)\x20A\x20Google\x20Cl\
oud\x20resource\x20under\x20analysis.\n\n\r\n\x05\x04\x11\x03\0\x01\x12\
\x04\xfe\x06\n\x12\no\n\x06\x04\x11\x03\0\x02\0\x12\x04\x81\x07\x04\"\
\x1a_\x20The\x20[full\x20resource\n\x20name](https://cloud.google.com/as\
set-inventory/docs/resource-name-format)\n\n\x0f\n\x07\x04\x11\x03\0\x02\
\0\x05\x12\x04\x81\x07\x04\n\n\x0f\n\x07\x04\x11\x03\0\x02\0\x01\x12\x04\
\x81\x07\x0b\x1d\n\x0f\n\x07\x04\x11\x03\0\x02\0\x03\x12\x04\x81\x07\x20\
!\n6\n\x06\x04\x11\x03\0\x02\x01\x12\x04\x84\x07\x04.\x1a&\x20The\x20ana\
lysis\x20state\x20of\x20this\x20resource.\n\n\x0f\n\x07\x04\x11\x03\0\
\x02\x01\x06\x12\x04\x84\x07\x04\x1a\n\x0f\n\x07\x04\x11\x03\0\x02\x01\
\x01\x12\x04\x84\x07\x1b)\n\x0f\n\x07\x04\x11\x03\0\x02\x01\x03\x12\x04\
\x84\x07,-\n;\n\x04\x04\x11\x03\x01\x12\x06\x88\x07\x02\x93\x07\x03\x1a+\
\x20An\x20IAM\x20role\x20or\x20permission\x20under\x20analysis.\n\n\r\n\
\x05\x04\x11\x03\x01\x01\x12\x04\x88\x07\n\x10\n\x10\n\x06\x04\x11\x03\
\x01\x08\0\x12\x06\x89\x07\x04\x8f\x07\x05\n\x0f\n\x07\x04\x11\x03\x01\
\x08\0\x01\x12\x04\x89\x07\n\x16\n\x1b\n\x06\x04\x11\x03\x01\x02\0\x12\
\x04\x8b\x07\x06\x16\x1a\x0b\x20The\x20role.\n\n\x0f\n\x07\x04\x11\x03\
\x01\x02\0\x05\x12\x04\x8b\x07\x06\x0c\n\x0f\n\x07\x04\x11\x03\x01\x02\0\
\x01\x12\x04\x8b\x07\r\x11\n\x0f\n\x07\x04\x11\x03\x01\x02\0\x03\x12\x04\
\x8b\x07\x14\x15\n!\n\x06\x04\x11\x03\x01\x02\x01\x12\x04\x8e\x07\x06\
\x1c\x1a\x11\x20The\x20permission.\n\n\x0f\n\x07\x04\x11\x03\x01\x02\x01\
\x05\x12\x04\x8e\x07\x06\x0c\n\x0f\n\x07\x04\x11\x03\x01\x02\x01\x01\x12\
\x04\x8e\x07\r\x17\n\x0f\n\x07\x04\x11\x03\x01\x02\x01\x03\x12\x04\x8e\
\x07\x1a\x1b\n4\n\x06\x04\x11\x03\x01\x02\x02\x12\x04\x92\x07\x04.\x1a$\
\x20The\x20analysis\x20state\x20of\x20this\x20access.\n\n\x0f\n\x07\x04\
\x11\x03\x01\x02\x02\x06\x12\x04\x92\x07\x04\x1a\n\x0f\n\x07\x04\x11\x03\
\x01\x02\x02\x01\x12\x04\x92\x07\x1b)\n\x0f\n\x07\x04\x11\x03\x01\x02\
\x02\x03\x12\x04\x92\x07,-\n-\n\x04\x04\x11\x03\x02\x12\x06\x96\x07\x02\
\xa6\x07\x03\x1a\x1d\x20An\x20identity\x20under\x20analysis.\n\n\r\n\x05\
\x04\x11\x03\x02\x01\x12\x04\x96\x07\n\x12\n\xf5\x02\n\x06\x04\x11\x03\
\x02\x02\0\x12\x04\xa2\x07\x04\x14\x1a\xe4\x02\x20The\x20identity\x20of\
\x20members,\x20formatted\x20as\x20appear\x20in\x20an\n\x20[IAM\x20polic\
y\n\x20binding](https://cloud.google.com/iam/reference/rest/v1/Binding).\
\x20For\n\x20example,\x20they\x20might\x20be\x20formatted\x20like\x20the\
\x20following:\n\n\x20-\x20user:foo@google.com\n\x20-\x20group:group1@go\
ogle.com\n\x20-\x20serviceAccount:s1@prj1.iam.gserviceaccount.com\n\x20-\
\x20projectOwner:some_project_id\n\x20-\x20domain:google.com\n\x20-\x20a\
llUsers\n\n\x0f\n\x07\x04\x11\x03\x02\x02\0\x05\x12\x04\xa2\x07\x04\n\n\
\x0f\n\x07\x04\x11\x03\x02\x02\0\x01\x12\x04\xa2\x07\x0b\x0f\n\x0f\n\x07\
\x04\x11\x03\x02\x02\0\x03\x12\x04\xa2\x07\x12\x13\n6\n\x06\x04\x11\x03\
\x02\x02\x01\x12\x04\xa5\x07\x04.\x1a&\x20The\x20analysis\x20state\x20of\
\x20this\x20identity.\n\n\x0f\n\x07\x04\x11\x03\x02\x02\x01\x06\x12\x04\
\xa5\x07\x04\x1a\n\x0f\n\x07\x04\x11\x03\x02\x02\x01\x01\x12\x04\xa5\x07\
\x1b)\n\x0f\n\x07\x04\x11\x03\x02\x02\x01\x03\x12\x04\xa5\x07,-\n%\n\x04\
\x04\x11\x03\x03\x12\x06\xa9\x07\x02\xb1\x07\x03\x1a\x15\x20A\x20directi\
onal\x20edge.\n\n\r\n\x05\x04\x11\x03\x03\x01\x12\x04\xa9\x07\n\x0e\n\
\x8d\x01\n\x06\x04\x11\x03\x03\x02\0\x12\x04\xac\x07\x04\x1b\x1a}\x20The\
\x20source\x20node\x20of\x20the\x20edge.\x20For\x20example,\x20it\x20cou\
ld\x20be\x20a\x20full\x20resource\n\x20name\x20for\x20a\x20resource\x20n\
ode\x20or\x20an\x20email\x20of\x20an\x20identity.\n\n\x0f\n\x07\x04\x11\
\x03\x03\x02\0\x05\x12\x04\xac\x07\x04\n\n\x0f\n\x07\x04\x11\x03\x03\x02\
\0\x01\x12\x04\xac\x07\x0b\x16\n\x0f\n\x07\x04\x11\x03\x03\x02\0\x03\x12\
\x04\xac\x07\x19\x1a\n\x8d\x01\n\x06\x04\x11\x03\x03\x02\x01\x12\x04\xb0\
\x07\x04\x1b\x1a}\x20The\x20target\x20node\x20of\x20the\x20edge.\x20For\
\x20example,\x20it\x20could\x20be\x20a\x20full\x20resource\n\x20name\x20\
for\x20a\x20resource\x20node\x20or\x20an\x20email\x20of\x20an\x20identit\
y.\n\n\x0f\n\x07\x04\x11\x03\x03\x02\x01\x05\x12\x04\xb0\x07\x04\n\n\x0f\
\n\x07\x04\x11\x03\x03\x02\x01\x01\x12\x04\xb0\x07\x0b\x16\n\x0f\n\x07\
\x04\x11\x03\x03\x02\x01\x03\x12\x04\xb0\x07\x19\x1a\n\xb5\x05\n\x04\x04\
\x11\x03\x04\x12\x06\xc2\x07\x02\xd9\x07\x03\x1a\xa4\x05\x20An\x20access\
\x20control\x20list,\x20derived\x20from\x20the\x20above\x20IAM\x20policy\
\x20binding,\x20which\n\x20contains\x20a\x20set\x20of\x20resources\x20an\
d\x20accesses.\x20May\x20include\x20one\n\x20item\x20from\x20each\x20set\
\x20to\x20compose\x20an\x20access\x20control\x20entry.\n\n\x20NOTICE\x20\
that\x20there\x20could\x20be\x20multiple\x20access\x20control\x20lists\
\x20for\x20one\x20IAM\x20policy\n\x20binding.\x20The\x20access\x20contro\
l\x20lists\x20are\x20created\x20based\x20on\x20resource\x20and\x20access\
\n\x20combinations.\n\n\x20For\x20example,\x20assume\x20we\x20have\x20th\
e\x20following\x20cases\x20in\x20one\x20IAM\x20policy\x20binding:\n\x20-\
\x20Permission\x20P1\x20and\x20P2\x20apply\x20to\x20resource\x20R1\x20an\
d\x20R2;\n\x20-\x20Permission\x20P3\x20applies\x20to\x20resource\x20R2\
\x20and\x20R3;\n\n\x20This\x20will\x20result\x20in\x20the\x20following\
\x20access\x20control\x20lists:\n\x20-\x20AccessControlList\x201:\x20[R1\
,\x20R2],\x20[P1,\x20P2]\n\x20-\x20AccessControlList\x202:\x20[R2,\x20R3\
],\x20[P3]\n\n\r\n\x05\x04\x11\x03\x04\x01\x12\x04\xc2\x07\n\x1b\n\xca\
\x01\n\x06\x04\x11\x03\x04\x02\0\x12\x04\xc6\x07\x04$\x1a\xb9\x01\x20The\
\x20resources\x20that\x20match\x20one\x20of\x20the\x20following\x20condi\
tions:\n\x20-\x20The\x20resource_selector,\x20if\x20it\x20is\x20specifie\
d\x20in\x20request;\n\x20-\x20Otherwise,\x20resources\x20reachable\x20fr\
om\x20the\x20policy\x20attached\x20resource.\n\n\x0f\n\x07\x04\x11\x03\
\x04\x02\0\x04\x12\x04\xc6\x07\x04\x0c\n\x0f\n\x07\x04\x11\x03\x04\x02\0\
\x06\x12\x04\xc6\x07\r\x15\n\x0f\n\x07\x04\x11\x03\x04\x02\0\x01\x12\x04\
\xc6\x07\x16\x1f\n\x0f\n\x07\x04\x11\x03\x04\x02\0\x03\x12\x04\xc6\x07\"\
#\n\xcc\x01\n\x06\x04\x11\x03\x04\x02\x01\x12\x04\xcb\x07\x04!\x1a\xbb\
\x01\x20The\x20accesses\x20that\x20match\x20one\x20of\x20the\x20followin\
g\x20conditions:\n\x20-\x20The\x20access_selector,\x20if\x20it\x20is\x20\
specified\x20in\x20request;\n\x20-\x20Otherwise,\x20access\x20specifiers\
\x20reachable\x20from\x20the\x20policy\x20binding's\x20role.\n\n\x0f\n\
\x07\x04\x11\x03\x04\x02\x01\x04\x12\x04\xcb\x07\x04\x0c\n\x0f\n\x07\x04\
\x11\x03\x04\x02\x01\x06\x12\x04\xcb\x07\r\x13\n\x0f\n\x07\x04\x11\x03\
\x04\x02\x01\x01\x12\x04\xcb\x07\x14\x1c\n\x0f\n\x07\x04\x11\x03\x04\x02\
\x01\x03\x12\x04\xcb\x07\x1f\x20\n\xea\x03\n\x06\x04\x11\x03\x04\x02\x02\
\x12\x04\xd4\x07\x04%\x1a\xd9\x03\x20Resource\x20edges\x20of\x20the\x20g\
raph\x20starting\x20from\x20the\x20policy\x20attached\n\x20resource\x20t\
o\x20any\x20descendant\x20resources.\x20The\n\x20[Edge.source_node][goog\
le.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]\n\x20contain\
s\x20the\x20full\x20resource\x20name\x20of\x20a\x20parent\x20resource\
\x20and\n\x20[Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisR\
esult.Edge.target_node]\n\x20contains\x20the\x20full\x20resource\x20name\
\x20of\x20a\x20child\x20resource.\x20This\x20field\x20is\n\x20present\
\x20only\x20if\x20the\x20output_resource_edges\x20option\x20is\x20enable\
d\x20in\x20request.\n\n\x0f\n\x07\x04\x11\x03\x04\x02\x02\x04\x12\x04\
\xd4\x07\x04\x0c\n\x0f\n\x07\x04\x11\x03\x04\x02\x02\x06\x12\x04\xd4\x07\
\r\x11\n\x0f\n\x07\x04\x11\x03\x04\x02\x02\x01\x12\x04\xd4\x07\x12\x20\n\
\x0f\n\x07\x04\x11\x03\x04\x02\x02\x03\x12\x04\xd4\x07#$\n\x84\x01\n\x06\
\x04\x11\x03\x04\x02\x03\x12\x04\xd8\x07\x041\x1at\x20Condition\x20evalu\
ation\x20for\x20this\x20AccessControlList,\x20if\x20there\x20is\x20a\x20\
condition\n\x20defined\x20in\x20the\x20above\x20IAM\x20policy\x20binding\
.\n\n\x0f\n\x07\x04\x11\x03\x04\x02\x03\x06\x12\x04\xd8\x07\x04\x17\n\
\x0f\n\x07\x04\x11\x03\x04\x02\x03\x01\x12\x04\xd8\x07\x18,\n\x0f\n\x07\
\x04\x11\x03\x04\x02\x03\x03\x12\x04\xd8\x07/0\n1\n\x04\x04\x11\x03\x05\
\x12\x06\xdc\x07\x02\xee\x07\x03\x1a!\x20The\x20identities\x20and\x20gro\
up\x20edges.\n\n\r\n\x05\x04\x11\x03\x05\x01\x12\x04\xdc\x07\n\x16\n\xe4\
\x01\n\x06\x04\x11\x03\x05\x02\0\x12\x04\xe1\x07\x04%\x1a\xd3\x01\x20Onl\
y\x20the\x20identities\x20that\x20match\x20one\x20of\x20the\x20following\
\x20conditions\x20will\x20be\n\x20presented:\n\x20-\x20The\x20identity_s\
elector,\x20if\x20it\x20is\x20specified\x20in\x20request;\n\x20-\x20Othe\
rwise,\x20identities\x20reachable\x20from\x20the\x20policy\x20binding's\
\x20members.\n\n\x0f\n\x07\x04\x11\x03\x05\x02\0\x04\x12\x04\xe1\x07\x04\
\x0c\n\x0f\n\x07\x04\x11\x03\x05\x02\0\x06\x12\x04\xe1\x07\r\x15\n\x0f\n\
\x07\x04\x11\x03\x05\x02\0\x01\x12\x04\xe1\x07\x16\x20\n\x0f\n\x07\x04\
\x11\x03\x05\x02\0\x03\x12\x04\xe1\x07#$\n\xe0\x04\n\x06\x04\x11\x03\x05\
\x02\x01\x12\x04\xed\x07\x04\"\x1a\xcf\x04\x20Group\x20identity\x20edges\
\x20of\x20the\x20graph\x20starting\x20from\x20the\x20binding's\n\x20grou\
p\x20members\x20to\x20any\x20node\x20of\x20the\n\x20[identities][google.\
cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].\n\x20Th\
e\n\x20[Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.\
Edge.source_node]\n\x20contains\x20a\x20group,\x20such\x20as\x20`group:p\
arent@google.com`.\x20The\n\x20[Edge.target_node][google.cloud.asset.v1.\
IamPolicyAnalysisResult.Edge.target_node]\n\x20contains\x20a\x20member\
\x20of\x20the\x20group,\x20such\x20as\x20`group:child@google.com`\x20or\
\n\x20`user:foo@google.com`.\x20This\x20field\x20is\x20present\x20only\
\x20if\x20the\n\x20output_group_edges\x20option\x20is\x20enabled\x20in\
\x20request.\n\n\x0f\n\x07\x04\x11\x03\x05\x02\x01\x04\x12\x04\xed\x07\
\x04\x0c\n\x0f\n\x07\x04\x11\x03\x05\x02\x01\x06\x12\x04\xed\x07\r\x11\n\
\x0f\n\x07\x04\x11\x03\x05\x02\x01\x01\x12\x04\xed\x07\x12\x1d\n\x0f\n\
\x07\x04\x11\x03\x05\x02\x01\x03\x12\x04\xed\x07\x20!\n\xe8\x01\n\x04\
\x04\x11\x02\0\x12\x04\xf5\x07\x02)\x1a\xd9\x01\x20The\x20[full\x20resou\
rce\n\x20name](https://cloud.google.com/asset-inventory/docs/resource-na\
me-format)\n\x20of\x20the\x20resource\x20to\x20which\x20the\n\x20[iam_bi\
nding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]\n\x20p\
olicy\x20attaches.\n\n\r\n\x05\x04\x11\x02\0\x05\x12\x04\xf5\x07\x02\x08\
\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\xf5\x07\t$\n\r\n\x05\x04\x11\x02\0\
\x03\x12\x04\xf5\x07'(\n6\n\x04\x04\x11\x02\x01\x12\x04\xf8\x07\x02(\x1a\
(\x20The\x20IAM\x20policy\x20binding\x20under\x20analysis.\n\n\r\n\x05\
\x04\x11\x02\x01\x06\x12\x04\xf8\x07\x02\x17\n\r\n\x05\x04\x11\x02\x01\
\x01\x12\x04\xf8\x07\x18#\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xf8\x07&\
'\n\xde\x01\n\x04\x04\x11\x02\x02\x12\x04\xfe\x07\x026\x1a\xcf\x01\x20Th\
e\x20access\x20control\x20lists\x20derived\x20from\x20the\n\x20[iam_bind\
ing][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]\n\x20tha\
t\x20match\x20or\x20potentially\x20match\x20resource\x20and\x20access\
\x20selectors\x20specified\x20in\n\x20the\x20request.\n\n\r\n\x05\x04\
\x11\x02\x02\x04\x12\x04\xfe\x07\x02\n\n\r\n\x05\x04\x11\x02\x02\x06\x12\
\x04\xfe\x07\x0b\x1c\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\xfe\x07\x1d1\
\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xfe\x0745\n\xd5\x01\n\x04\x04\x11\
\x02\x03\x12\x04\x83\x08\x02!\x1a\xc6\x01\x20The\x20identity\x20list\x20\
derived\x20from\x20members\x20of\x20the\n\x20[iam_binding][google.cloud.\
asset.v1.IamPolicyAnalysisResult.iam_binding]\n\x20that\x20match\x20or\
\x20potentially\x20match\x20identity\x20selector\x20specified\x20in\x20t\
he\x20request.\n\n\r\n\x05\x04\x11\x02\x03\x06\x12\x04\x83\x08\x02\x0e\n\
\r\n\x05\x04\x11\x02\x03\x01\x12\x04\x83\x08\x0f\x1c\n\r\n\x05\x04\x11\
\x02\x03\x03\x12\x04\x83\x08\x1f\x20\n\x9e\x01\n\x04\x04\x11\x02\x04\x12\
\x04\x88\x08\x02\x1a\x1a\x8f\x01\x20Represents\x20whether\x20all\x20anal\
yses\x20on\x20the\n\x20[iam_binding][google.cloud.asset.v1.IamPolicyAnal\
ysisResult.iam_binding]\n\x20have\x20successfully\x20finished.\n\n\r\n\
\x05\x04\x11\x02\x04\x05\x12\x04\x88\x08\x02\x06\n\r\n\x05\x04\x11\x02\
\x04\x01\x12\x04\x88\x08\x07\x15\n\r\n\x05\x04\x11\x02\x04\x03\x12\x04\
\x88\x08\x18\x19b\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()
})
}