#![allow(unknown_lints)]
#![allow(clippy)]
#![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(unsafe_code)]
#![allow(unused_imports)]
#![allow(unused_results)]
use protobuf::Message as Message_imported_for_functions;
use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
#[derive(PartialEq,Clone,Default)]
pub struct MonitoredResourceDescriptor {
pub name: ::std::string::String,
pub field_type: ::std::string::String,
pub display_name: ::std::string::String,
pub description: ::std::string::String,
pub labels: ::protobuf::RepeatedField<super::label::LabelDescriptor>,
unknown_fields: ::protobuf::UnknownFields,
cached_size: ::protobuf::CachedSize,
}
impl MonitoredResourceDescriptor {
pub fn new() -> MonitoredResourceDescriptor {
::std::default::Default::default()
}
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_name(&self) -> &str {
&self.name
}
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_field_type(&self) -> &str {
&self.field_type
}
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_display_name(&self) -> &str {
&self.display_name
}
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_description(&self) -> &str {
&self.description
}
pub fn clear_labels(&mut self) {
self.labels.clear();
}
pub fn set_labels(&mut self, v: ::protobuf::RepeatedField<super::label::LabelDescriptor>) {
self.labels = v;
}
pub fn mut_labels(&mut self) -> &mut ::protobuf::RepeatedField<super::label::LabelDescriptor> {
&mut self.labels
}
pub fn take_labels(&mut self) -> ::protobuf::RepeatedField<super::label::LabelDescriptor> {
::std::mem::replace(&mut self.labels, ::protobuf::RepeatedField::new())
}
pub fn get_labels(&self) -> &[super::label::LabelDescriptor] {
&self.labels
}
}
impl ::protobuf::Message for MonitoredResourceDescriptor {
fn is_initialized(&self) -> bool {
for v in &self.labels {
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 {
5 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
},
1 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.field_type)?;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_name)?;
},
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
},
4 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.labels)?;
},
_ => {
::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(5, &self.name);
}
if !self.field_type.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.field_type);
}
if !self.display_name.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.display_name);
}
if !self.description.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.description);
}
for value in &self.labels {
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.name.is_empty() {
os.write_string(5, &self.name)?;
}
if !self.field_type.is_empty() {
os.write_string(1, &self.field_type)?;
}
if !self.display_name.is_empty() {
os.write_string(2, &self.display_name)?;
}
if !self.description.is_empty() {
os.write_string(3, &self.description)?;
}
for v in &self.labels {
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) -> &::std::any::Any {
self as &::std::any::Any
}
fn as_any_mut(&mut self) -> &mut ::std::any::Any {
self as &mut ::std::any::Any
}
fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> MonitoredResourceDescriptor {
MonitoredResourceDescriptor::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
};
unsafe {
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"name",
|m: &MonitoredResourceDescriptor| { &m.name },
|m: &mut MonitoredResourceDescriptor| { &mut m.name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"type",
|m: &MonitoredResourceDescriptor| { &m.field_type },
|m: &mut MonitoredResourceDescriptor| { &mut m.field_type },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"display_name",
|m: &MonitoredResourceDescriptor| { &m.display_name },
|m: &mut MonitoredResourceDescriptor| { &mut m.display_name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"description",
|m: &MonitoredResourceDescriptor| { &m.description },
|m: &mut MonitoredResourceDescriptor| { &mut m.description },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::label::LabelDescriptor>>(
"labels",
|m: &MonitoredResourceDescriptor| { &m.labels },
|m: &mut MonitoredResourceDescriptor| { &mut m.labels },
));
::protobuf::reflect::MessageDescriptor::new::<MonitoredResourceDescriptor>(
"MonitoredResourceDescriptor",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static MonitoredResourceDescriptor {
static mut instance: ::protobuf::lazy::Lazy<MonitoredResourceDescriptor> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const MonitoredResourceDescriptor,
};
unsafe {
instance.get(MonitoredResourceDescriptor::new)
}
}
}
impl ::protobuf::Clear for MonitoredResourceDescriptor {
fn clear(&mut self) {
self.clear_name();
self.clear_field_type();
self.clear_display_name();
self.clear_description();
self.clear_labels();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for MonitoredResourceDescriptor {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for MonitoredResourceDescriptor {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct MonitoredResource {
pub field_type: ::std::string::String,
pub labels: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
unknown_fields: ::protobuf::UnknownFields,
cached_size: ::protobuf::CachedSize,
}
impl MonitoredResource {
pub fn new() -> MonitoredResource {
::std::default::Default::default()
}
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_field_type(&self) -> &str {
&self.field_type
}
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_labels(&self) -> &::std::collections::HashMap<::std::string::String, ::std::string::String> {
&self.labels
}
}
impl ::protobuf::Message for MonitoredResource {
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.field_type)?;
},
2 => {
::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(wire_type, is, &mut self.labels)?;
},
_ => {
::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(1, &self.field_type);
}
my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(2, &self.labels);
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(1, &self.field_type)?;
}
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(2, &self.labels, 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) -> &::std::any::Any {
self as &::std::any::Any
}
fn as_any_mut(&mut self) -> &mut ::std::any::Any {
self as &mut ::std::any::Any
}
fn into_any(self: Box<Self>) -> ::std::boxed::Box<::std::any::Any> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> MonitoredResource {
MonitoredResource::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
};
unsafe {
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"type",
|m: &MonitoredResource| { &m.field_type },
|m: &mut MonitoredResource| { &mut m.field_type },
));
fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(
"labels",
|m: &MonitoredResource| { &m.labels },
|m: &mut MonitoredResource| { &mut m.labels },
));
::protobuf::reflect::MessageDescriptor::new::<MonitoredResource>(
"MonitoredResource",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static MonitoredResource {
static mut instance: ::protobuf::lazy::Lazy<MonitoredResource> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const MonitoredResource,
};
unsafe {
instance.get(MonitoredResource::new)
}
}
}
impl ::protobuf::Clear for MonitoredResource {
fn clear(&mut self) {
self.clear_field_type();
self.clear_labels();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for MonitoredResource {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for MonitoredResource {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n#google/api/monitored_resource.proto\x12\ngoogle.api\x1a\x16google/api\
/label.proto\"\xbf\x01\n\x1bMonitoredResourceDescriptor\x12\x12\n\x04nam\
e\x18\x05\x20\x01(\tR\x04name\x12\x12\n\x04type\x18\x01\x20\x01(\tR\x04t\
ype\x12!\n\x0cdisplay_name\x18\x02\x20\x01(\tR\x0bdisplayName\x12\x20\n\
\x0bdescription\x18\x03\x20\x01(\tR\x0bdescription\x123\n\x06labels\x18\
\x04\x20\x03(\x0b2\x1b.google.api.LabelDescriptorR\x06labels\"\xa5\x01\n\
\x11MonitoredResource\x12\x12\n\x04type\x18\x01\x20\x01(\tR\x04type\x12A\
\n\x06labels\x18\x02\x20\x03(\x0b2).google.api.MonitoredResource.LabelsE\
ntryR\x06labels\x1a9\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\
\tR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x028\x01By\n\
\x0ecom.google.apiB\x16MonitoredResourceProtoP\x01ZCgoogle.golang.org/ge\
nproto/googleapis/api/monitoredres;monitoredres\xf8\x01\x01\xa2\x02\x04G\
APIJ\xdb#\n\x06\x12\x04\x0e\0Z\x01\n\xbd\x04\n\x01\x0c\x12\x03\x0e\0\x12\
2\xb2\x04\x20Copyright\x202017\x20Google\x20Inc.\n\n\x20Licensed\x20unde\
r\x20the\x20Apache\x20License,\x20Version\x202.0\x20(the\x20\"License\")\
;\n\x20you\x20may\x20not\x20use\x20this\x20file\x20except\x20in\x20compl\
iance\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\x20Unless\x20required\x20by\x20applicable\
\x20law\x20or\x20agreed\x20to\x20in\x20writing,\x20software\n\x20distrib\
uted\x20under\x20the\x20License\x20is\x20distributed\x20on\x20an\x20\"AS\
\x20IS\"\x20BASIS,\n\x20WITHOUT\x20WARRANTIES\x20OR\x20CONDITIONS\x20OF\
\x20ANY\x20KIND,\x20either\x20express\x20or\x20implied.\n\x20See\x20the\
\x20License\x20for\x20the\x20specific\x20language\x20governing\x20permis\
sions\x20and\n\x20limitations\x20under\x20the\x20License.\n\n\x08\n\x01\
\x02\x12\x03\x10\x08\x12\n\t\n\x02\x03\0\x12\x03\x12\x07\x1f\n\x08\n\x01\
\x08\x12\x03\x14\0\x1f\n\x0b\n\x04\x08\xe7\x07\0\x12\x03\x14\0\x1f\n\x0c\
\n\x05\x08\xe7\x07\0\x02\x12\x03\x14\x07\x17\n\r\n\x06\x08\xe7\x07\0\x02\
\0\x12\x03\x14\x07\x17\n\x0e\n\x07\x08\xe7\x07\0\x02\0\x01\x12\x03\x14\
\x07\x17\n\x0c\n\x05\x08\xe7\x07\0\x03\x12\x03\x14\x1a\x1e\n\x08\n\x01\
\x08\x12\x03\x15\0Z\n\x0b\n\x04\x08\xe7\x07\x01\x12\x03\x15\0Z\n\x0c\n\
\x05\x08\xe7\x07\x01\x02\x12\x03\x15\x07\x11\n\r\n\x06\x08\xe7\x07\x01\
\x02\0\x12\x03\x15\x07\x11\n\x0e\n\x07\x08\xe7\x07\x01\x02\0\x01\x12\x03\
\x15\x07\x11\n\x0c\n\x05\x08\xe7\x07\x01\x07\x12\x03\x15\x14Y\n\x08\n\
\x01\x08\x12\x03\x16\0\"\n\x0b\n\x04\x08\xe7\x07\x02\x12\x03\x16\0\"\n\
\x0c\n\x05\x08\xe7\x07\x02\x02\x12\x03\x16\x07\x1a\n\r\n\x06\x08\xe7\x07\
\x02\x02\0\x12\x03\x16\x07\x1a\n\x0e\n\x07\x08\xe7\x07\x02\x02\0\x01\x12\
\x03\x16\x07\x1a\n\x0c\n\x05\x08\xe7\x07\x02\x03\x12\x03\x16\x1d!\n\x08\
\n\x01\x08\x12\x03\x17\07\n\x0b\n\x04\x08\xe7\x07\x03\x12\x03\x17\07\n\
\x0c\n\x05\x08\xe7\x07\x03\x02\x12\x03\x17\x07\x1b\n\r\n\x06\x08\xe7\x07\
\x03\x02\0\x12\x03\x17\x07\x1b\n\x0e\n\x07\x08\xe7\x07\x03\x02\0\x01\x12\
\x03\x17\x07\x1b\n\x0c\n\x05\x08\xe7\x07\x03\x07\x12\x03\x17\x1e6\n\x08\
\n\x01\x08\x12\x03\x18\0'\n\x0b\n\x04\x08\xe7\x07\x04\x12\x03\x18\0'\n\
\x0c\n\x05\x08\xe7\x07\x04\x02\x12\x03\x18\x07\x13\n\r\n\x06\x08\xe7\x07\
\x04\x02\0\x12\x03\x18\x07\x13\n\x0e\n\x07\x08\xe7\x07\x04\x02\0\x01\x12\
\x03\x18\x07\x13\n\x0c\n\x05\x08\xe7\x07\x04\x07\x12\x03\x18\x16&\n\x08\
\n\x01\x08\x12\x03\x19\0\"\n\x0b\n\x04\x08\xe7\x07\x05\x12\x03\x19\0\"\n\
\x0c\n\x05\x08\xe7\x07\x05\x02\x12\x03\x19\x07\x18\n\r\n\x06\x08\xe7\x07\
\x05\x02\0\x12\x03\x19\x07\x18\n\x0e\n\x07\x08\xe7\x07\x05\x02\0\x01\x12\
\x03\x19\x07\x18\n\x0c\n\x05\x08\xe7\x07\x05\x07\x12\x03\x19\x1b!\n\xa2\
\x04\n\x02\x04\0\x12\x04%\0A\x01\x1a\x95\x04\x20An\x20object\x20that\x20\
describes\x20the\x20schema\x20of\x20a\x20[MonitoredResource][google.api.\
MonitoredResource]\x20object\x20using\x20a\n\x20type\x20name\x20and\x20a\
\x20set\x20of\x20labels.\x20\x20For\x20example,\x20the\x20monitored\x20r\
esource\n\x20descriptor\x20for\x20Google\x20Compute\x20Engine\x20VM\x20i\
nstances\x20has\x20a\x20type\x20of\n\x20`\"gce_instance\"`\x20and\x20spe\
cifies\x20the\x20use\x20of\x20the\x20labels\x20`\"instance_id\"`\x20and\
\n\x20`\"zone\"`\x20to\x20identify\x20particular\x20VM\x20instances.\n\n\
\x20Different\x20APIs\x20can\x20support\x20different\x20monitored\x20res\
ource\x20types.\x20APIs\x20generally\n\x20provide\x20a\x20`list`\x20meth\
od\x20that\x20returns\x20the\x20monitored\x20resource\x20descriptors\x20\
used\n\x20by\x20the\x20API.\n\n\n\n\x03\x04\0\x01\x12\x03%\x08#\n\xa1\
\x03\n\x04\x04\0\x02\0\x12\x03,\x02\x12\x1a\x93\x03\x20Optional.\x20The\
\x20resource\x20name\x20of\x20the\x20monitored\x20resource\x20descriptor\
:\n\x20`\"projects/{project_id}/monitoredResourceDescriptors/{type}\"`\
\x20where\n\x20{type}\x20is\x20the\x20value\x20of\x20the\x20`type`\x20fi\
eld\x20in\x20this\x20object\x20and\n\x20{project_id}\x20is\x20a\x20proje\
ct\x20ID\x20that\x20provides\x20API-specific\x20context\x20for\n\x20acce\
ssing\x20the\x20type.\x20\x20APIs\x20that\x20do\x20not\x20use\x20project\
\x20information\x20can\x20use\x20the\n\x20resource\x20name\x20format\x20\
`\"monitoredResourceDescriptors/{type}\"`.\n\n\r\n\x05\x04\0\x02\0\x04\
\x12\x04,\x02%%\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03,\x02\x08\n\x0c\n\x05\
\x04\0\x02\0\x01\x12\x03,\t\r\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03,\x10\
\x11\n\xc2\x01\n\x04\x04\0\x02\x01\x12\x031\x02\x12\x1a\xb4\x01\x20Requi\
red.\x20The\x20monitored\x20resource\x20type.\x20For\x20example,\x20the\
\x20type\n\x20`\"cloudsql_database\"`\x20represents\x20databases\x20in\
\x20Google\x20Cloud\x20SQL.\n\x20The\x20maximum\x20length\x20of\x20this\
\x20value\x20is\x20256\x20characters.\n\n\r\n\x05\x04\0\x02\x01\x04\x12\
\x041\x02,\x12\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x031\x02\x08\n\x0c\n\
\x05\x04\0\x02\x01\x01\x12\x031\t\r\n\x0c\n\x05\x04\0\x02\x01\x03\x12\
\x031\x10\x11\n\xf5\x01\n\x04\x04\0\x02\x02\x12\x037\x02\x1a\x1a\xe7\x01\
\x20Optional.\x20A\x20concise\x20name\x20for\x20the\x20monitored\x20reso\
urce\x20type\x20that\x20might\x20be\n\x20displayed\x20in\x20user\x20inte\
rfaces.\x20It\x20should\x20be\x20a\x20Title\x20Cased\x20Noun\x20Phrase,\
\n\x20without\x20any\x20article\x20or\x20other\x20determiners.\x20For\
\x20example,\n\x20`\"Google\x20Cloud\x20SQL\x20Database\"`.\n\n\r\n\x05\
\x04\0\x02\x02\x04\x12\x047\x021\x12\n\x0c\n\x05\x04\0\x02\x02\x05\x12\
\x037\x02\x08\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x037\t\x15\n\x0c\n\x05\
\x04\0\x02\x02\x03\x12\x037\x18\x19\nt\n\x04\x04\0\x02\x03\x12\x03;\x02\
\x19\x1ag\x20Optional.\x20A\x20detailed\x20description\x20of\x20the\x20m\
onitored\x20resource\x20type\x20that\x20might\n\x20be\x20used\x20in\x20d\
ocumentation.\n\n\r\n\x05\x04\0\x02\x03\x04\x12\x04;\x027\x1a\n\x0c\n\
\x05\x04\0\x02\x03\x05\x12\x03;\x02\x08\n\x0c\n\x05\x04\0\x02\x03\x01\
\x12\x03;\t\x14\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03;\x17\x18\n\xe1\x01\
\n\x04\x04\0\x02\x04\x12\x03@\x02&\x1a\xd3\x01\x20Required.\x20A\x20set\
\x20of\x20labels\x20used\x20to\x20describe\x20instances\x20of\x20this\
\x20monitored\n\x20resource\x20type.\x20For\x20example,\x20an\x20individ\
ual\x20Google\x20Cloud\x20SQL\x20database\x20is\n\x20identified\x20by\
\x20values\x20for\x20the\x20labels\x20`\"database_id\"`\x20and\x20`\"zon\
e\"`.\n\n\x0c\n\x05\x04\0\x02\x04\x04\x12\x03@\x02\n\n\x0c\n\x05\x04\0\
\x02\x04\x06\x12\x03@\x0b\x1a\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03@\x1b\
!\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03@$%\n\xcb\x06\n\x02\x04\x01\x12\
\x04P\0Z\x01\x1a\xbe\x06\x20An\x20object\x20representing\x20a\x20resourc\
e\x20that\x20can\x20be\x20used\x20for\x20monitoring,\x20logging,\n\x20bi\
lling,\x20or\x20other\x20purposes.\x20Examples\x20include\x20virtual\x20\
machine\x20instances,\n\x20databases,\x20and\x20storage\x20devices\x20su\
ch\x20as\x20disks.\x20The\x20`type`\x20field\x20identifies\x20a\n\x20[Mo\
nitoredResourceDescriptor][google.api.MonitoredResourceDescriptor]\x20ob\
ject\x20that\x20describes\x20the\x20resource's\n\x20schema.\x20Informati\
on\x20in\x20the\x20`labels`\x20field\x20identifies\x20the\x20actual\x20r\
esource\x20and\n\x20its\x20attributes\x20according\x20to\x20the\x20schem\
a.\x20For\x20example,\x20a\x20particular\x20Compute\n\x20Engine\x20VM\
\x20instance\x20could\x20be\x20represented\x20by\x20the\x20following\x20\
object,\x20because\x20the\n\x20[MonitoredResourceDescriptor][google.api.\
MonitoredResourceDescriptor]\x20for\x20`\"gce_instance\"`\x20has\x20labe\
ls\n\x20`\"instance_id\"`\x20and\x20`\"zone\"`:\n\n\x20\x20\x20\x20\x20{\
\x20\"type\":\x20\"gce_instance\",\n\x20\x20\x20\x20\x20\x20\x20\"labels\
\":\x20{\x20\"instance_id\":\x20\"12345678901234\",\n\x20\x20\x20\x20\
\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\"zone\":\
\x20\"us-central1-a\"\x20}}\n\n\n\n\x03\x04\x01\x01\x12\x03P\x08\x19\n\
\xfa\x01\n\x04\x04\x01\x02\0\x12\x03T\x02\x12\x1a\xec\x01\x20Required.\
\x20The\x20monitored\x20resource\x20type.\x20This\x20field\x20must\x20ma\
tch\n\x20the\x20`type`\x20field\x20of\x20a\x20[MonitoredResourceDescript\
or][google.api.MonitoredResourceDescriptor]\x20object.\x20For\n\x20examp\
le,\x20the\x20type\x20of\x20a\x20Cloud\x20SQL\x20database\x20is\x20`\"cl\
oudsql_database\"`.\n\n\r\n\x05\x04\x01\x02\0\x04\x12\x04T\x02P\x1b\n\
\x0c\n\x05\x04\x01\x02\0\x05\x12\x03T\x02\x08\n\x0c\n\x05\x04\x01\x02\0\
\x01\x12\x03T\t\r\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03T\x10\x11\n\xbe\
\x01\n\x04\x04\x01\x02\x01\x12\x03Y\x02!\x1a\xb0\x01\x20Required.\x20Val\
ues\x20for\x20all\x20of\x20the\x20labels\x20listed\x20in\x20the\x20assoc\
iated\x20monitored\n\x20resource\x20descriptor.\x20For\x20example,\x20Cl\
oud\x20SQL\x20databases\x20use\x20the\x20labels\n\x20`\"database_id\"`\
\x20and\x20`\"zone\"`.\n\n\r\n\x05\x04\x01\x02\x01\x04\x12\x04Y\x02T\x12\
\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03Y\x02\x15\n\x0c\n\x05\x04\x01\
\x02\x01\x01\x12\x03Y\x16\x1c\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03Y\
\x1f\x20b\x06proto3\
";
static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto,
};
fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
}
pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
unsafe {
file_descriptor_proto_lazy.get(|| {
parse_descriptor_proto()
})
}
}