#![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 LogMetric {
pub name: ::std::string::String,
pub description: ::std::string::String,
pub filter: ::std::string::String,
pub metric_descriptor: ::protobuf::SingularPtrField<super::super::super::api::metric::MetricDescriptor>,
pub value_extractor: ::std::string::String,
pub label_extractors: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
pub bucket_options: ::protobuf::SingularPtrField<super::super::super::api::distribution::Distribution_BucketOptions>,
pub version: LogMetric_ApiVersion,
unknown_fields: ::protobuf::UnknownFields,
cached_size: ::protobuf::CachedSize,
}
impl LogMetric {
pub fn new() -> LogMetric {
::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_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_filter(&mut self) {
self.filter.clear();
}
pub fn set_filter(&mut self, v: ::std::string::String) {
self.filter = v;
}
pub fn mut_filter(&mut self) -> &mut ::std::string::String {
&mut self.filter
}
pub fn take_filter(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.filter, ::std::string::String::new())
}
pub fn get_filter(&self) -> &str {
&self.filter
}
pub fn clear_metric_descriptor(&mut self) {
self.metric_descriptor.clear();
}
pub fn has_metric_descriptor(&self) -> bool {
self.metric_descriptor.is_some()
}
pub fn set_metric_descriptor(&mut self, v: super::super::super::api::metric::MetricDescriptor) {
self.metric_descriptor = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_metric_descriptor(&mut self) -> &mut super::super::super::api::metric::MetricDescriptor {
if self.metric_descriptor.is_none() {
self.metric_descriptor.set_default();
}
self.metric_descriptor.as_mut().unwrap()
}
pub fn take_metric_descriptor(&mut self) -> super::super::super::api::metric::MetricDescriptor {
self.metric_descriptor.take().unwrap_or_else(|| super::super::super::api::metric::MetricDescriptor::new())
}
pub fn get_metric_descriptor(&self) -> &super::super::super::api::metric::MetricDescriptor {
self.metric_descriptor.as_ref().unwrap_or_else(|| super::super::super::api::metric::MetricDescriptor::default_instance())
}
pub fn clear_value_extractor(&mut self) {
self.value_extractor.clear();
}
pub fn set_value_extractor(&mut self, v: ::std::string::String) {
self.value_extractor = v;
}
pub fn mut_value_extractor(&mut self) -> &mut ::std::string::String {
&mut self.value_extractor
}
pub fn take_value_extractor(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.value_extractor, ::std::string::String::new())
}
pub fn get_value_extractor(&self) -> &str {
&self.value_extractor
}
pub fn clear_label_extractors(&mut self) {
self.label_extractors.clear();
}
pub fn set_label_extractors(&mut self, v: ::std::collections::HashMap<::std::string::String, ::std::string::String>) {
self.label_extractors = v;
}
pub fn mut_label_extractors(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, ::std::string::String> {
&mut self.label_extractors
}
pub fn take_label_extractors(&mut self) -> ::std::collections::HashMap<::std::string::String, ::std::string::String> {
::std::mem::replace(&mut self.label_extractors, ::std::collections::HashMap::new())
}
pub fn get_label_extractors(&self) -> &::std::collections::HashMap<::std::string::String, ::std::string::String> {
&self.label_extractors
}
pub fn clear_bucket_options(&mut self) {
self.bucket_options.clear();
}
pub fn has_bucket_options(&self) -> bool {
self.bucket_options.is_some()
}
pub fn set_bucket_options(&mut self, v: super::super::super::api::distribution::Distribution_BucketOptions) {
self.bucket_options = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_bucket_options(&mut self) -> &mut super::super::super::api::distribution::Distribution_BucketOptions {
if self.bucket_options.is_none() {
self.bucket_options.set_default();
}
self.bucket_options.as_mut().unwrap()
}
pub fn take_bucket_options(&mut self) -> super::super::super::api::distribution::Distribution_BucketOptions {
self.bucket_options.take().unwrap_or_else(|| super::super::super::api::distribution::Distribution_BucketOptions::new())
}
pub fn get_bucket_options(&self) -> &super::super::super::api::distribution::Distribution_BucketOptions {
self.bucket_options.as_ref().unwrap_or_else(|| super::super::super::api::distribution::Distribution_BucketOptions::default_instance())
}
pub fn clear_version(&mut self) {
self.version = LogMetric_ApiVersion::V2;
}
pub fn set_version(&mut self, v: LogMetric_ApiVersion) {
self.version = v;
}
pub fn get_version(&self) -> LogMetric_ApiVersion {
self.version
}
}
impl ::protobuf::Message for LogMetric {
fn is_initialized(&self) -> bool {
for v in &self.metric_descriptor {
if !v.is_initialized() {
return false;
}
};
for v in &self.bucket_options {
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.description)?;
},
3 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.filter)?;
},
5 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.metric_descriptor)?;
},
6 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.value_extractor)?;
},
7 => {
::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(wire_type, is, &mut self.label_extractors)?;
},
8 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.bucket_options)?;
},
4 => {
::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.version, 4, &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.name.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.name);
}
if !self.description.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.description);
}
if !self.filter.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.filter);
}
if let Some(ref v) = self.metric_descriptor.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if !self.value_extractor.is_empty() {
my_size += ::protobuf::rt::string_size(6, &self.value_extractor);
}
my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(7, &self.label_extractors);
if let Some(ref v) = self.bucket_options.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if self.version != LogMetric_ApiVersion::V2 {
my_size += ::protobuf::rt::enum_size(4, self.version);
}
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.description.is_empty() {
os.write_string(2, &self.description)?;
}
if !self.filter.is_empty() {
os.write_string(3, &self.filter)?;
}
if let Some(ref v) = self.metric_descriptor.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)?;
}
if !self.value_extractor.is_empty() {
os.write_string(6, &self.value_extractor)?;
}
::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(7, &self.label_extractors, os)?;
if let Some(ref v) = self.bucket_options.as_ref() {
os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if self.version != LogMetric_ApiVersion::V2 {
os.write_enum(4, self.version.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) -> &::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() -> LogMetric {
LogMetric::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: &LogMetric| { &m.name },
|m: &mut LogMetric| { &mut m.name },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"description",
|m: &LogMetric| { &m.description },
|m: &mut LogMetric| { &mut m.description },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"filter",
|m: &LogMetric| { &m.filter },
|m: &mut LogMetric| { &mut m.filter },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::super::super::api::metric::MetricDescriptor>>(
"metric_descriptor",
|m: &LogMetric| { &m.metric_descriptor },
|m: &mut LogMetric| { &mut m.metric_descriptor },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"value_extractor",
|m: &LogMetric| { &m.value_extractor },
|m: &mut LogMetric| { &mut m.value_extractor },
));
fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(
"label_extractors",
|m: &LogMetric| { &m.label_extractors },
|m: &mut LogMetric| { &mut m.label_extractors },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::super::super::api::distribution::Distribution_BucketOptions>>(
"bucket_options",
|m: &LogMetric| { &m.bucket_options },
|m: &mut LogMetric| { &mut m.bucket_options },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<LogMetric_ApiVersion>>(
"version",
|m: &LogMetric| { &m.version },
|m: &mut LogMetric| { &mut m.version },
));
::protobuf::reflect::MessageDescriptor::new::<LogMetric>(
"LogMetric",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static LogMetric {
static mut instance: ::protobuf::lazy::Lazy<LogMetric> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const LogMetric,
};
unsafe {
instance.get(LogMetric::new)
}
}
}
impl ::protobuf::Clear for LogMetric {
fn clear(&mut self) {
self.clear_name();
self.clear_description();
self.clear_filter();
self.clear_metric_descriptor();
self.clear_value_extractor();
self.clear_label_extractors();
self.clear_bucket_options();
self.clear_version();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for LogMetric {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for LogMetric {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum LogMetric_ApiVersion {
V2 = 0,
V1 = 1,
}
impl ::protobuf::ProtobufEnum for LogMetric_ApiVersion {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<LogMetric_ApiVersion> {
match value {
0 => ::std::option::Option::Some(LogMetric_ApiVersion::V2),
1 => ::std::option::Option::Some(LogMetric_ApiVersion::V1),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [LogMetric_ApiVersion] = &[
LogMetric_ApiVersion::V2,
LogMetric_ApiVersion::V1,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
};
unsafe {
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new("LogMetric_ApiVersion", file_descriptor_proto())
})
}
}
}
impl ::std::marker::Copy for LogMetric_ApiVersion {
}
impl ::std::default::Default for LogMetric_ApiVersion {
fn default() -> Self {
LogMetric_ApiVersion::V2
}
}
impl ::protobuf::reflect::ProtobufValue for LogMetric_ApiVersion {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
}
}
#[derive(PartialEq,Clone,Default)]
pub struct ListLogMetricsRequest {
pub parent: ::std::string::String,
pub page_token: ::std::string::String,
pub page_size: i32,
unknown_fields: ::protobuf::UnknownFields,
cached_size: ::protobuf::CachedSize,
}
impl ListLogMetricsRequest {
pub fn new() -> ListLogMetricsRequest {
::std::default::Default::default()
}
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_parent(&self) -> &str {
&self.parent
}
pub fn clear_page_token(&mut self) {
self.page_token.clear();
}
pub fn set_page_token(&mut self, v: ::std::string::String) {
self.page_token = v;
}
pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
&mut self.page_token
}
pub fn take_page_token(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.page_token, ::std::string::String::new())
}
pub fn get_page_token(&self) -> &str {
&self.page_token
}
pub fn clear_page_size(&mut self) {
self.page_size = 0;
}
pub fn set_page_size(&mut self, v: i32) {
self.page_size = v;
}
pub fn get_page_size(&self) -> i32 {
self.page_size
}
}
impl ::protobuf::Message for ListLogMetricsRequest {
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.parent)?;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_int32()?;
self.page_size = 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.parent.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.parent);
}
if !self.page_token.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.page_token);
}
if self.page_size != 0 {
my_size += ::protobuf::rt::value_size(3, self.page_size, ::protobuf::wire_format::WireTypeVarint);
}
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.parent.is_empty() {
os.write_string(1, &self.parent)?;
}
if !self.page_token.is_empty() {
os.write_string(2, &self.page_token)?;
}
if self.page_size != 0 {
os.write_int32(3, self.page_size)?;
}
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() -> ListLogMetricsRequest {
ListLogMetricsRequest::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>(
"parent",
|m: &ListLogMetricsRequest| { &m.parent },
|m: &mut ListLogMetricsRequest| { &mut m.parent },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"page_token",
|m: &ListLogMetricsRequest| { &m.page_token },
|m: &mut ListLogMetricsRequest| { &mut m.page_token },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
"page_size",
|m: &ListLogMetricsRequest| { &m.page_size },
|m: &mut ListLogMetricsRequest| { &mut m.page_size },
));
::protobuf::reflect::MessageDescriptor::new::<ListLogMetricsRequest>(
"ListLogMetricsRequest",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static ListLogMetricsRequest {
static mut instance: ::protobuf::lazy::Lazy<ListLogMetricsRequest> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const ListLogMetricsRequest,
};
unsafe {
instance.get(ListLogMetricsRequest::new)
}
}
}
impl ::protobuf::Clear for ListLogMetricsRequest {
fn clear(&mut self) {
self.clear_parent();
self.clear_page_token();
self.clear_page_size();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for ListLogMetricsRequest {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ListLogMetricsRequest {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct ListLogMetricsResponse {
pub metrics: ::protobuf::RepeatedField<LogMetric>,
pub next_page_token: ::std::string::String,
unknown_fields: ::protobuf::UnknownFields,
cached_size: ::protobuf::CachedSize,
}
impl ListLogMetricsResponse {
pub fn new() -> ListLogMetricsResponse {
::std::default::Default::default()
}
pub fn clear_metrics(&mut self) {
self.metrics.clear();
}
pub fn set_metrics(&mut self, v: ::protobuf::RepeatedField<LogMetric>) {
self.metrics = v;
}
pub fn mut_metrics(&mut self) -> &mut ::protobuf::RepeatedField<LogMetric> {
&mut self.metrics
}
pub fn take_metrics(&mut self) -> ::protobuf::RepeatedField<LogMetric> {
::std::mem::replace(&mut self.metrics, ::protobuf::RepeatedField::new())
}
pub fn get_metrics(&self) -> &[LogMetric] {
&self.metrics
}
pub fn clear_next_page_token(&mut self) {
self.next_page_token.clear();
}
pub fn set_next_page_token(&mut self, v: ::std::string::String) {
self.next_page_token = v;
}
pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
&mut self.next_page_token
}
pub fn take_next_page_token(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
}
pub fn get_next_page_token(&self) -> &str {
&self.next_page_token
}
}
impl ::protobuf::Message for ListLogMetricsResponse {
fn is_initialized(&self) -> bool {
for v in &self.metrics {
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.metrics)?;
},
2 => {
::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
},
_ => {
::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.metrics {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if !self.next_page_token.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
}
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.metrics {
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.next_page_token.is_empty() {
os.write_string(2, &self.next_page_token)?;
}
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() -> ListLogMetricsResponse {
ListLogMetricsResponse::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_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<LogMetric>>(
"metrics",
|m: &ListLogMetricsResponse| { &m.metrics },
|m: &mut ListLogMetricsResponse| { &mut m.metrics },
));
fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"next_page_token",
|m: &ListLogMetricsResponse| { &m.next_page_token },
|m: &mut ListLogMetricsResponse| { &mut m.next_page_token },
));
::protobuf::reflect::MessageDescriptor::new::<ListLogMetricsResponse>(
"ListLogMetricsResponse",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static ListLogMetricsResponse {
static mut instance: ::protobuf::lazy::Lazy<ListLogMetricsResponse> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const ListLogMetricsResponse,
};
unsafe {
instance.get(ListLogMetricsResponse::new)
}
}
}
impl ::protobuf::Clear for ListLogMetricsResponse {
fn clear(&mut self) {
self.clear_metrics();
self.clear_next_page_token();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for ListLogMetricsResponse {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ListLogMetricsResponse {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct GetLogMetricRequest {
pub metric_name: ::std::string::String,
unknown_fields: ::protobuf::UnknownFields,
cached_size: ::protobuf::CachedSize,
}
impl GetLogMetricRequest {
pub fn new() -> GetLogMetricRequest {
::std::default::Default::default()
}
pub fn clear_metric_name(&mut self) {
self.metric_name.clear();
}
pub fn set_metric_name(&mut self, v: ::std::string::String) {
self.metric_name = v;
}
pub fn mut_metric_name(&mut self) -> &mut ::std::string::String {
&mut self.metric_name
}
pub fn take_metric_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.metric_name, ::std::string::String::new())
}
pub fn get_metric_name(&self) -> &str {
&self.metric_name
}
}
impl ::protobuf::Message for GetLogMetricRequest {
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.metric_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.metric_name.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.metric_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.metric_name.is_empty() {
os.write_string(1, &self.metric_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) -> &::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() -> GetLogMetricRequest {
GetLogMetricRequest::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>(
"metric_name",
|m: &GetLogMetricRequest| { &m.metric_name },
|m: &mut GetLogMetricRequest| { &mut m.metric_name },
));
::protobuf::reflect::MessageDescriptor::new::<GetLogMetricRequest>(
"GetLogMetricRequest",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static GetLogMetricRequest {
static mut instance: ::protobuf::lazy::Lazy<GetLogMetricRequest> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const GetLogMetricRequest,
};
unsafe {
instance.get(GetLogMetricRequest::new)
}
}
}
impl ::protobuf::Clear for GetLogMetricRequest {
fn clear(&mut self) {
self.clear_metric_name();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for GetLogMetricRequest {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for GetLogMetricRequest {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CreateLogMetricRequest {
pub parent: ::std::string::String,
pub metric: ::protobuf::SingularPtrField<LogMetric>,
unknown_fields: ::protobuf::UnknownFields,
cached_size: ::protobuf::CachedSize,
}
impl CreateLogMetricRequest {
pub fn new() -> CreateLogMetricRequest {
::std::default::Default::default()
}
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_parent(&self) -> &str {
&self.parent
}
pub fn clear_metric(&mut self) {
self.metric.clear();
}
pub fn has_metric(&self) -> bool {
self.metric.is_some()
}
pub fn set_metric(&mut self, v: LogMetric) {
self.metric = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_metric(&mut self) -> &mut LogMetric {
if self.metric.is_none() {
self.metric.set_default();
}
self.metric.as_mut().unwrap()
}
pub fn take_metric(&mut self) -> LogMetric {
self.metric.take().unwrap_or_else(|| LogMetric::new())
}
pub fn get_metric(&self) -> &LogMetric {
self.metric.as_ref().unwrap_or_else(|| LogMetric::default_instance())
}
}
impl ::protobuf::Message for CreateLogMetricRequest {
fn is_initialized(&self) -> bool {
for v in &self.metric {
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.parent)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.metric)?;
},
_ => {
::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.parent.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.parent);
}
if let Some(ref v) = self.metric.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.parent.is_empty() {
os.write_string(1, &self.parent)?;
}
if let Some(ref v) = self.metric.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) -> &::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() -> CreateLogMetricRequest {
CreateLogMetricRequest::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>(
"parent",
|m: &CreateLogMetricRequest| { &m.parent },
|m: &mut CreateLogMetricRequest| { &mut m.parent },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<LogMetric>>(
"metric",
|m: &CreateLogMetricRequest| { &m.metric },
|m: &mut CreateLogMetricRequest| { &mut m.metric },
));
::protobuf::reflect::MessageDescriptor::new::<CreateLogMetricRequest>(
"CreateLogMetricRequest",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static CreateLogMetricRequest {
static mut instance: ::protobuf::lazy::Lazy<CreateLogMetricRequest> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const CreateLogMetricRequest,
};
unsafe {
instance.get(CreateLogMetricRequest::new)
}
}
}
impl ::protobuf::Clear for CreateLogMetricRequest {
fn clear(&mut self) {
self.clear_parent();
self.clear_metric();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CreateLogMetricRequest {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CreateLogMetricRequest {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct UpdateLogMetricRequest {
pub metric_name: ::std::string::String,
pub metric: ::protobuf::SingularPtrField<LogMetric>,
unknown_fields: ::protobuf::UnknownFields,
cached_size: ::protobuf::CachedSize,
}
impl UpdateLogMetricRequest {
pub fn new() -> UpdateLogMetricRequest {
::std::default::Default::default()
}
pub fn clear_metric_name(&mut self) {
self.metric_name.clear();
}
pub fn set_metric_name(&mut self, v: ::std::string::String) {
self.metric_name = v;
}
pub fn mut_metric_name(&mut self) -> &mut ::std::string::String {
&mut self.metric_name
}
pub fn take_metric_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.metric_name, ::std::string::String::new())
}
pub fn get_metric_name(&self) -> &str {
&self.metric_name
}
pub fn clear_metric(&mut self) {
self.metric.clear();
}
pub fn has_metric(&self) -> bool {
self.metric.is_some()
}
pub fn set_metric(&mut self, v: LogMetric) {
self.metric = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_metric(&mut self) -> &mut LogMetric {
if self.metric.is_none() {
self.metric.set_default();
}
self.metric.as_mut().unwrap()
}
pub fn take_metric(&mut self) -> LogMetric {
self.metric.take().unwrap_or_else(|| LogMetric::new())
}
pub fn get_metric(&self) -> &LogMetric {
self.metric.as_ref().unwrap_or_else(|| LogMetric::default_instance())
}
}
impl ::protobuf::Message for UpdateLogMetricRequest {
fn is_initialized(&self) -> bool {
for v in &self.metric {
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.metric_name)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.metric)?;
},
_ => {
::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.metric_name.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.metric_name);
}
if let Some(ref v) = self.metric.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.metric_name.is_empty() {
os.write_string(1, &self.metric_name)?;
}
if let Some(ref v) = self.metric.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) -> &::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() -> UpdateLogMetricRequest {
UpdateLogMetricRequest::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>(
"metric_name",
|m: &UpdateLogMetricRequest| { &m.metric_name },
|m: &mut UpdateLogMetricRequest| { &mut m.metric_name },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<LogMetric>>(
"metric",
|m: &UpdateLogMetricRequest| { &m.metric },
|m: &mut UpdateLogMetricRequest| { &mut m.metric },
));
::protobuf::reflect::MessageDescriptor::new::<UpdateLogMetricRequest>(
"UpdateLogMetricRequest",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static UpdateLogMetricRequest {
static mut instance: ::protobuf::lazy::Lazy<UpdateLogMetricRequest> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const UpdateLogMetricRequest,
};
unsafe {
instance.get(UpdateLogMetricRequest::new)
}
}
}
impl ::protobuf::Clear for UpdateLogMetricRequest {
fn clear(&mut self) {
self.clear_metric_name();
self.clear_metric();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for UpdateLogMetricRequest {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for UpdateLogMetricRequest {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct DeleteLogMetricRequest {
pub metric_name: ::std::string::String,
unknown_fields: ::protobuf::UnknownFields,
cached_size: ::protobuf::CachedSize,
}
impl DeleteLogMetricRequest {
pub fn new() -> DeleteLogMetricRequest {
::std::default::Default::default()
}
pub fn clear_metric_name(&mut self) {
self.metric_name.clear();
}
pub fn set_metric_name(&mut self, v: ::std::string::String) {
self.metric_name = v;
}
pub fn mut_metric_name(&mut self) -> &mut ::std::string::String {
&mut self.metric_name
}
pub fn take_metric_name(&mut self) -> ::std::string::String {
::std::mem::replace(&mut self.metric_name, ::std::string::String::new())
}
pub fn get_metric_name(&self) -> &str {
&self.metric_name
}
}
impl ::protobuf::Message for DeleteLogMetricRequest {
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.metric_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.metric_name.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.metric_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.metric_name.is_empty() {
os.write_string(1, &self.metric_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) -> &::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() -> DeleteLogMetricRequest {
DeleteLogMetricRequest::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>(
"metric_name",
|m: &DeleteLogMetricRequest| { &m.metric_name },
|m: &mut DeleteLogMetricRequest| { &mut m.metric_name },
));
::protobuf::reflect::MessageDescriptor::new::<DeleteLogMetricRequest>(
"DeleteLogMetricRequest",
fields,
file_descriptor_proto()
)
})
}
}
fn default_instance() -> &'static DeleteLogMetricRequest {
static mut instance: ::protobuf::lazy::Lazy<DeleteLogMetricRequest> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const DeleteLogMetricRequest,
};
unsafe {
instance.get(DeleteLogMetricRequest::new)
}
}
}
impl ::protobuf::Clear for DeleteLogMetricRequest {
fn clear(&mut self) {
self.clear_metric_name();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for DeleteLogMetricRequest {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for DeleteLogMetricRequest {
fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
::protobuf::reflect::ProtobufValueRef::Message(self)
}
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n'google/logging/v2/logging_metrics.proto\x12\x11google.logging.v2\x1a\
\x1cgoogle/api/annotations.proto\x1a\x1dgoogle/api/distribution.proto\
\x1a\x17google/api/metric.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\
\x20google/protobuf/field_mask.proto\"\x9f\x04\n\tLogMetric\x12\x12\n\
\x04name\x18\x01\x20\x01(\tR\x04name\x12\x20\n\x0bdescription\x18\x02\
\x20\x01(\tR\x0bdescription\x12\x16\n\x06filter\x18\x03\x20\x01(\tR\x06f\
ilter\x12I\n\x11metric_descriptor\x18\x05\x20\x01(\x0b2\x1c.google.api.M\
etricDescriptorR\x10metricDescriptor\x12'\n\x0fvalue_extractor\x18\x06\
\x20\x01(\tR\x0evalueExtractor\x12\\\n\x10label_extractors\x18\x07\x20\
\x03(\x0b21.google.logging.v2.LogMetric.LabelExtractorsEntryR\x0flabelEx\
tractors\x12M\n\x0ebucket_options\x18\x08\x20\x01(\x0b2&.google.api.Dist\
ribution.BucketOptionsR\rbucketOptions\x12A\n\x07version\x18\x04\x20\x01\
(\x0e2'.google.logging.v2.LogMetric.ApiVersionR\x07version\x1aB\n\x14Lab\
elExtractorsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\
\x05value\x18\x02\x20\x01(\tR\x05value:\x028\x01\"\x1c\n\nApiVersion\x12\
\x06\n\x02V2\x10\0\x12\x06\n\x02V1\x10\x01\"k\n\x15ListLogMetricsRequest\
\x12\x16\n\x06parent\x18\x01\x20\x01(\tR\x06parent\x12\x1d\n\npage_token\
\x18\x02\x20\x01(\tR\tpageToken\x12\x1b\n\tpage_size\x18\x03\x20\x01(\
\x05R\x08pageSize\"x\n\x16ListLogMetricsResponse\x126\n\x07metrics\x18\
\x01\x20\x03(\x0b2\x1c.google.logging.v2.LogMetricR\x07metrics\x12&\n\
\x0fnext_page_token\x18\x02\x20\x01(\tR\rnextPageToken\"6\n\x13GetLogMet\
ricRequest\x12\x1f\n\x0bmetric_name\x18\x01\x20\x01(\tR\nmetricName\"f\n\
\x16CreateLogMetricRequest\x12\x16\n\x06parent\x18\x01\x20\x01(\tR\x06pa\
rent\x124\n\x06metric\x18\x02\x20\x01(\x0b2\x1c.google.logging.v2.LogMet\
ricR\x06metric\"o\n\x16UpdateLogMetricRequest\x12\x1f\n\x0bmetric_name\
\x18\x01\x20\x01(\tR\nmetricName\x124\n\x06metric\x18\x02\x20\x01(\x0b2\
\x1c.google.logging.v2.LogMetricR\x06metric\"9\n\x16DeleteLogMetricReque\
st\x12\x1f\n\x0bmetric_name\x18\x01\x20\x01(\tR\nmetricName2\xd4\x05\n\
\x10MetricsServiceV2\x12\x8e\x01\n\x0eListLogMetrics\x12(.google.logging\
.v2.ListLogMetricsRequest\x1a).google.logging.v2.ListLogMetricsResponse\
\"'\x82\xd3\xe4\x93\x02!\x12\x1f/v2/{parent=projects/*}/metrics\x12\x84\
\x01\n\x0cGetLogMetric\x12&.google.logging.v2.GetLogMetricRequest\x1a\
\x1c.google.logging.v2.LogMetric\".\x82\xd3\xe4\x93\x02(\x12&/v2/{metric\
_name=projects/*/metrics/*}\x12\x8b\x01\n\x0fCreateLogMetric\x12).google\
.logging.v2.CreateLogMetricRequest\x1a\x1c.google.logging.v2.LogMetric\"\
/\x82\xd3\xe4\x93\x02)\"\x1f/v2/{parent=projects/*}/metrics:\x06metric\
\x12\x92\x01\n\x0fUpdateLogMetric\x12).google.logging.v2.UpdateLogMetric\
Request\x1a\x1c.google.logging.v2.LogMetric\"6\x82\xd3\xe4\x93\x020\x1a&\
/v2/{metric_name=projects/*/metrics/*}:\x06metric\x12\x84\x01\n\x0fDelet\
eLogMetric\x12).google.logging.v2.DeleteLogMetricRequest\x1a\x16.google.\
protobuf.Empty\".\x82\xd3\xe4\x93\x02(*&/v2/{metric_name=projects/*/metr\
ics/*}B\x9f\x01\n\x15com.google.logging.v2B\x13LoggingMetricsProtoP\x01Z\
8google.golang.org/genproto/googleapis/logging/v2;logging\xf8\x01\x01\
\xaa\x02\x17Google.Cloud.Logging.V2\xca\x02\x17Google\\Cloud\\Logging\\V\
2J\x98R\n\x07\x12\x05\x0e\0\xfa\x01\x01\n\xbd\x04\n\x01\x0c\x12\x03\x0e\
\0\x122\xb2\x04\x20Copyright\x202017\x20Google\x20Inc.\n\n\x20Licensed\
\x20under\x20the\x20Apache\x20License,\x20Version\x202.0\x20(the\x20\"Li\
cense\");\n\x20you\x20may\x20not\x20use\x20this\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\x20Unless\x20required\x20by\x20appl\
icable\x20law\x20or\x20agreed\x20to\x20in\x20writing,\x20software\n\x20d\
istributed\x20under\x20the\x20License\x20is\x20distributed\x20on\x20an\
\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20WARRANTIES\x20OR\x20CONDITION\
S\x20OF\x20ANY\x20KIND,\x20either\x20express\x20or\x20implied.\n\x20See\
\x20the\x20License\x20for\x20the\x20specific\x20language\x20governing\
\x20permissions\x20and\n\x20limitations\x20under\x20the\x20License.\n\n\
\x08\n\x01\x02\x12\x03\x10\x08\x19\n\t\n\x02\x03\0\x12\x03\x12\x07%\n\t\
\n\x02\x03\x01\x12\x03\x13\x07&\n\t\n\x02\x03\x02\x12\x03\x14\x07\x20\n\
\t\n\x02\x03\x03\x12\x03\x15\x07$\n\t\n\x02\x03\x04\x12\x03\x16\x07)\n\
\x08\n\x01\x08\x12\x03\x18\0\x1f\n\x0b\n\x04\x08\xe7\x07\0\x12\x03\x18\0\
\x1f\n\x0c\n\x05\x08\xe7\x07\0\x02\x12\x03\x18\x07\x17\n\r\n\x06\x08\xe7\
\x07\0\x02\0\x12\x03\x18\x07\x17\n\x0e\n\x07\x08\xe7\x07\0\x02\0\x01\x12\
\x03\x18\x07\x17\n\x0c\n\x05\x08\xe7\x07\0\x03\x12\x03\x18\x1a\x1e\n\x08\
\n\x01\x08\x12\x03\x19\04\n\x0b\n\x04\x08\xe7\x07\x01\x12\x03\x19\04\n\
\x0c\n\x05\x08\xe7\x07\x01\x02\x12\x03\x19\x07\x17\n\r\n\x06\x08\xe7\x07\
\x01\x02\0\x12\x03\x19\x07\x17\n\x0e\n\x07\x08\xe7\x07\x01\x02\0\x01\x12\
\x03\x19\x07\x17\n\x0c\n\x05\x08\xe7\x07\x01\x07\x12\x03\x19\x1a3\n\x08\
\n\x01\x08\x12\x03\x1a\0O\n\x0b\n\x04\x08\xe7\x07\x02\x12\x03\x1a\0O\n\
\x0c\n\x05\x08\xe7\x07\x02\x02\x12\x03\x1a\x07\x11\n\r\n\x06\x08\xe7\x07\
\x02\x02\0\x12\x03\x1a\x07\x11\n\x0e\n\x07\x08\xe7\x07\x02\x02\0\x01\x12\
\x03\x1a\x07\x11\n\x0c\n\x05\x08\xe7\x07\x02\x07\x12\x03\x1a\x14N\n\x08\
\n\x01\x08\x12\x03\x1b\0\"\n\x0b\n\x04\x08\xe7\x07\x03\x12\x03\x1b\0\"\n\
\x0c\n\x05\x08\xe7\x07\x03\x02\x12\x03\x1b\x07\x1a\n\r\n\x06\x08\xe7\x07\
\x03\x02\0\x12\x03\x1b\x07\x1a\n\x0e\n\x07\x08\xe7\x07\x03\x02\0\x01\x12\
\x03\x1b\x07\x1a\n\x0c\n\x05\x08\xe7\x07\x03\x03\x12\x03\x1b\x1d!\n\x08\
\n\x01\x08\x12\x03\x1c\04\n\x0b\n\x04\x08\xe7\x07\x04\x12\x03\x1c\04\n\
\x0c\n\x05\x08\xe7\x07\x04\x02\x12\x03\x1c\x07\x1b\n\r\n\x06\x08\xe7\x07\
\x04\x02\0\x12\x03\x1c\x07\x1b\n\x0e\n\x07\x08\xe7\x07\x04\x02\0\x01\x12\
\x03\x1c\x07\x1b\n\x0c\n\x05\x08\xe7\x07\x04\x07\x12\x03\x1c\x1e3\n\x08\
\n\x01\x08\x12\x03\x1d\0.\n\x0b\n\x04\x08\xe7\x07\x05\x12\x03\x1d\0.\n\
\x0c\n\x05\x08\xe7\x07\x05\x02\x12\x03\x1d\x07\x13\n\r\n\x06\x08\xe7\x07\
\x05\x02\0\x12\x03\x1d\x07\x13\n\x0e\n\x07\x08\xe7\x07\x05\x02\0\x01\x12\
\x03\x1d\x07\x13\n\x0c\n\x05\x08\xe7\x07\x05\x07\x12\x03\x1d\x16-\n\x08\
\n\x01\x08\x12\x03\x1e\04\n\x0b\n\x04\x08\xe7\x07\x06\x12\x03\x1e\04\n\
\x0c\n\x05\x08\xe7\x07\x06\x02\x12\x03\x1e\x07\x14\n\r\n\x06\x08\xe7\x07\
\x06\x02\0\x12\x03\x1e\x07\x14\n\x0e\n\x07\x08\xe7\x07\x06\x02\0\x01\x12\
\x03\x1e\x07\x14\n\x0c\n\x05\x08\xe7\x07\x06\x07\x12\x03\x1e\x173\n9\n\
\x02\x06\0\x12\x04\"\0;\x01\x1a-\x20Service\x20for\x20configuring\x20log\
s-based\x20metrics.\n\n\n\n\x03\x06\0\x01\x12\x03\"\x08\x18\n)\n\x04\x06\
\0\x02\0\x12\x04$\x02&\x03\x1a\x1b\x20Lists\x20logs-based\x20metrics.\n\
\n\x0c\n\x05\x06\0\x02\0\x01\x12\x03$\x06\x14\n\x0c\n\x05\x06\0\x02\0\
\x02\x12\x03$\x15*\n\x0c\n\x05\x06\0\x02\0\x03\x12\x03$5K\n\x0c\n\x05\
\x06\0\x02\0\x04\x12\x03%\x04J\n\x0f\n\x08\x06\0\x02\0\x04\xe7\x07\0\x12\
\x03%\x04J\n\x10\n\t\x06\0\x02\0\x04\xe7\x07\0\x02\x12\x03%\x0b\x1c\n\
\x11\n\n\x06\0\x02\0\x04\xe7\x07\0\x02\0\x12\x03%\x0b\x1c\n\x12\n\x0b\
\x06\0\x02\0\x04\xe7\x07\0\x02\0\x01\x12\x03%\x0c\x1b\n\x10\n\t\x06\0\
\x02\0\x04\xe7\x07\0\x08\x12\x03%\x1fI\n)\n\x04\x06\0\x02\x01\x12\x04)\
\x02+\x03\x1a\x1b\x20Gets\x20a\x20logs-based\x20metric.\n\n\x0c\n\x05\
\x06\0\x02\x01\x01\x12\x03)\x06\x12\n\x0c\n\x05\x06\0\x02\x01\x02\x12\
\x03)\x13&\n\x0c\n\x05\x06\0\x02\x01\x03\x12\x03)1:\n\x0c\n\x05\x06\0\
\x02\x01\x04\x12\x03*\x04Q\n\x0f\n\x08\x06\0\x02\x01\x04\xe7\x07\0\x12\
\x03*\x04Q\n\x10\n\t\x06\0\x02\x01\x04\xe7\x07\0\x02\x12\x03*\x0b\x1c\n\
\x11\n\n\x06\0\x02\x01\x04\xe7\x07\0\x02\0\x12\x03*\x0b\x1c\n\x12\n\x0b\
\x06\0\x02\x01\x04\xe7\x07\0\x02\0\x01\x12\x03*\x0c\x1b\n\x10\n\t\x06\0\
\x02\x01\x04\xe7\x07\0\x08\x12\x03*\x1fP\n,\n\x04\x06\0\x02\x02\x12\x04.\
\x020\x03\x1a\x1e\x20Creates\x20a\x20logs-based\x20metric.\n\n\x0c\n\x05\
\x06\0\x02\x02\x01\x12\x03.\x06\x15\n\x0c\n\x05\x06\0\x02\x02\x02\x12\
\x03.\x16,\n\x0c\n\x05\x06\0\x02\x02\x03\x12\x03.7@\n\x0c\n\x05\x06\0\
\x02\x02\x04\x12\x03/\x04Z\n\x0f\n\x08\x06\0\x02\x02\x04\xe7\x07\0\x12\
\x03/\x04Z\n\x10\n\t\x06\0\x02\x02\x04\xe7\x07\0\x02\x12\x03/\x0b\x1c\n\
\x11\n\n\x06\0\x02\x02\x04\xe7\x07\0\x02\0\x12\x03/\x0b\x1c\n\x12\n\x0b\
\x06\0\x02\x02\x04\xe7\x07\0\x02\0\x01\x12\x03/\x0c\x1b\n\x10\n\t\x06\0\
\x02\x02\x04\xe7\x07\0\x08\x12\x03/\x1fY\n7\n\x04\x06\0\x02\x03\x12\x043\
\x025\x03\x1a)\x20Creates\x20or\x20updates\x20a\x20logs-based\x20metric.\
\n\n\x0c\n\x05\x06\0\x02\x03\x01\x12\x033\x06\x15\n\x0c\n\x05\x06\0\x02\
\x03\x02\x12\x033\x16,\n\x0c\n\x05\x06\0\x02\x03\x03\x12\x0337@\n\x0c\n\
\x05\x06\0\x02\x03\x04\x12\x034\x04`\n\x0f\n\x08\x06\0\x02\x03\x04\xe7\
\x07\0\x12\x034\x04`\n\x10\n\t\x06\0\x02\x03\x04\xe7\x07\0\x02\x12\x034\
\x0b\x1c\n\x11\n\n\x06\0\x02\x03\x04\xe7\x07\0\x02\0\x12\x034\x0b\x1c\n\
\x12\n\x0b\x06\0\x02\x03\x04\xe7\x07\0\x02\0\x01\x12\x034\x0c\x1b\n\x10\
\n\t\x06\0\x02\x03\x04\xe7\x07\0\x08\x12\x034\x1f_\n,\n\x04\x06\0\x02\
\x04\x12\x048\x02:\x03\x1a\x1e\x20Deletes\x20a\x20logs-based\x20metric.\
\n\n\x0c\n\x05\x06\0\x02\x04\x01\x12\x038\x06\x15\n\x0c\n\x05\x06\0\x02\
\x04\x02\x12\x038\x16,\n\x0c\n\x05\x06\0\x02\x04\x03\x12\x0387L\n\x0c\n\
\x05\x06\0\x02\x04\x04\x12\x039\x04T\n\x0f\n\x08\x06\0\x02\x04\x04\xe7\
\x07\0\x12\x039\x04T\n\x10\n\t\x06\0\x02\x04\x04\xe7\x07\0\x02\x12\x039\
\x0b\x1c\n\x11\n\n\x06\0\x02\x04\x04\xe7\x07\0\x02\0\x12\x039\x0b\x1c\n\
\x12\n\x0b\x06\0\x02\x04\x04\xe7\x07\0\x02\0\x01\x12\x039\x0c\x1b\n\x10\
\n\t\x06\0\x02\x04\x04\xe7\x07\0\x08\x12\x039\x1fS\n\x9a\x03\n\x02\x04\0\
\x12\x05D\0\xaf\x01\x01\x1a\x8c\x03\x20Describes\x20a\x20logs-based\x20m\
etric.\x20\x20The\x20value\x20of\x20the\x20metric\x20is\x20the\n\x20numb\
er\x20of\x20log\x20entries\x20that\x20match\x20a\x20logs\x20filter\x20in\
\x20a\x20given\x20time\x20interval.\n\n\x20Logs-based\x20metric\x20can\
\x20also\x20be\x20used\x20to\x20extract\x20values\x20from\x20logs\x20and\
\x20create\x20a\n\x20a\x20distribution\x20of\x20the\x20values.\x20The\
\x20distribution\x20records\x20the\x20statistics\x20of\x20the\n\x20extra\
cted\x20values\x20along\x20with\x20an\x20optional\x20histogram\x20of\x20\
the\x20values\x20as\x20specified\n\x20by\x20the\x20bucket\x20options.\n\
\n\n\n\x03\x04\0\x01\x12\x03D\x08\x11\n0\n\x04\x04\0\x04\0\x12\x04F\x02L\
\x03\x1a\"\x20Stackdriver\x20Logging\x20API\x20version.\n\n\x0c\n\x05\
\x04\0\x04\0\x01\x12\x03F\x07\x11\n,\n\x06\x04\0\x04\0\x02\0\x12\x03H\
\x04\x0b\x1a\x1d\x20Stackdriver\x20Logging\x20API\x20v2.\n\n\x0e\n\x07\
\x04\0\x04\0\x02\0\x01\x12\x03H\x04\x06\n\x0e\n\x07\x04\0\x04\0\x02\0\
\x02\x12\x03H\t\n\n,\n\x06\x04\0\x04\0\x02\x01\x12\x03K\x04\x0b\x1a\x1d\
\x20Stackdriver\x20Logging\x20API\x20v1.\n\n\x0e\n\x07\x04\0\x04\0\x02\
\x01\x01\x12\x03K\x04\x06\n\x0e\n\x07\x04\0\x04\0\x02\x01\x02\x12\x03K\t\
\n\n\xd9\x05\n\x04\x04\0\x02\0\x12\x03]\x02\x12\x1a\xcb\x05\x20Required.\
\x20The\x20client-assigned\x20metric\x20identifier.\n\x20Examples:\x20`\
\"error_count\"`,\x20`\"nginx/requests\"`.\n\n\x20Metric\x20identifiers\
\x20are\x20limited\x20to\x20100\x20characters\x20and\x20can\x20include\n\
\x20only\x20the\x20following\x20characters:\x20`A-Z`,\x20`a-z`,\x20`0-9`\
,\x20and\x20the\n\x20special\x20characters\x20`_-.,+!*',()%/`.\x20\x20Th\
e\x20forward-slash\x20character\n\x20(`/`)\x20denotes\x20a\x20hierarchy\
\x20of\x20name\x20pieces,\x20and\x20it\x20cannot\x20be\x20the\n\x20first\
\x20character\x20of\x20the\x20name.\n\n\x20The\x20metric\x20identifier\
\x20in\x20this\x20field\x20must\x20not\x20be\n\x20[URL-encoded](https://\
en.wikipedia.org/wiki/Percent-encoding).\n\x20However,\x20when\x20the\
\x20metric\x20identifier\x20appears\x20as\x20the\x20`[METRIC_ID]`\n\x20p\
art\x20of\x20a\x20`metric_name`\x20API\x20parameter,\x20then\x20the\x20m\
etric\x20identifier\n\x20must\x20be\x20URL-encoded.\x20Example:\n\x20`\"\
projects/my-project/metrics/nginx%2Frequests\"`.\n\n\r\n\x05\x04\0\x02\0\
\x04\x12\x04]\x02L\x03\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\nV\n\x04\x04\0\x02\x01\x12\x03`\x02\x19\x1aI\x20Optional.\
\x20A\x20description\x20of\x20this\x20metric,\x20which\x20is\x20used\x20\
in\x20documentation.\n\n\r\n\x05\x04\0\x02\x01\x04\x12\x04`\x02]\x12\n\
\x0c\n\x05\x04\0\x02\x01\x05\x12\x03`\x02\x08\n\x0c\n\x05\x04\0\x02\x01\
\x01\x12\x03`\t\x14\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03`\x17\x18\n\xf1\
\x01\n\x04\x04\0\x02\x02\x12\x03i\x02\x14\x1a\xe3\x01\x20Required.\x20An\
\x20[advanced\x20logs\x20filter](/logging/docs/view/advanced_filters)\n\
\x20which\x20is\x20used\x20to\x20match\x20log\x20entries.\n\x20Example:\
\n\n\x20\x20\x20\x20\x20\"resource.type=gae_app\x20AND\x20severity>=ERRO\
R\"\n\n\x20The\x20maximum\x20length\x20of\x20the\x20filter\x20is\x202000\
0\x20characters.\n\n\r\n\x05\x04\0\x02\x02\x04\x12\x04i\x02`\x19\n\x0c\n\
\x05\x04\0\x02\x02\x05\x12\x03i\x02\x08\n\x0c\n\x05\x04\0\x02\x02\x01\
\x12\x03i\t\x0f\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03i\x12\x13\n\xac\x08\
\n\x04\x04\0\x02\x03\x12\x04\x80\x01\x024\x1a\x9d\x08\x20Optional.\x20Th\
e\x20metric\x20descriptor\x20associated\x20with\x20the\x20logs-based\x20\
metric.\n\x20If\x20unspecified,\x20it\x20uses\x20a\x20default\x20metric\
\x20descriptor\x20with\x20a\x20DELTA\x20metric\n\x20kind,\x20INT64\x20va\
lue\x20type,\x20with\x20no\x20labels\x20and\x20a\x20unit\x20of\x20\"1\".\
\x20Such\x20a\x20metric\n\x20counts\x20the\x20number\x20of\x20log\x20ent\
ries\x20matching\x20the\x20`filter`\x20expression.\n\n\x20The\x20`name`,\
\x20`type`,\x20and\x20`description`\x20fields\x20in\x20the\x20`metric_de\
scriptor`\n\x20are\x20output\x20only,\x20and\x20is\x20constructed\x20usi\
ng\x20the\x20`name`\x20and\x20`description`\n\x20field\x20in\x20the\x20L\
ogMetric.\n\n\x20To\x20create\x20a\x20logs-based\x20metric\x20that\x20re\
cords\x20a\x20distribution\x20of\x20log\x20values,\x20a\n\x20DELTA\x20me\
tric\x20kind\x20with\x20a\x20DISTRIBUTION\x20value\x20type\x20must\x20be\
\x20used\x20along\x20with\n\x20a\x20`value_extractor`\x20expression\x20i\
n\x20the\x20LogMetric.\n\n\x20Each\x20label\x20in\x20the\x20metric\x20de\
scriptor\x20must\x20have\x20a\x20matching\x20label\n\x20name\x20as\x20th\
e\x20key\x20and\x20an\x20extractor\x20expression\x20as\x20the\x20value\
\x20in\x20the\n\x20`label_extractors`\x20map.\n\n\x20The\x20`metric_kind\
`\x20and\x20`value_type`\x20fields\x20in\x20the\x20`metric_descriptor`\
\x20cannot\n\x20be\x20updated\x20once\x20initially\x20configured.\x20New\
\x20labels\x20can\x20be\x20added\x20in\x20the\n\x20`metric_descriptor`,\
\x20but\x20existing\x20labels\x20cannot\x20be\x20modified\x20except\x20f\
or\n\x20their\x20description.\n\n\x0e\n\x05\x04\0\x02\x03\x04\x12\x05\
\x80\x01\x02i\x14\n\r\n\x05\x04\0\x02\x03\x06\x12\x04\x80\x01\x02\x1d\n\
\r\n\x05\x04\0\x02\x03\x01\x12\x04\x80\x01\x1e/\n\r\n\x05\x04\0\x02\x03\
\x03\x12\x04\x80\x0123\n\x9a\x08\n\x04\x04\0\x02\x04\x12\x04\x95\x01\x02\
\x1d\x1a\x8b\x08\x20Optional.\x20A\x20`value_extractor`\x20is\x20require\
d\x20when\x20using\x20a\x20distribution\n\x20logs-based\x20metric\x20to\
\x20extract\x20the\x20values\x20to\x20record\x20from\x20a\x20log\x20entr\
y.\n\x20Two\x20functions\x20are\x20supported\x20for\x20value\x20extracti\
on:\x20`EXTRACT(field)`\x20or\n\x20`REGEXP_EXTRACT(field,\x20regex)`.\
\x20The\x20argument\x20are:\n\x20\x20\x201.\x20field:\x20The\x20name\x20\
of\x20the\x20log\x20entry\x20field\x20from\x20which\x20the\x20value\x20i\
s\x20to\x20be\n\x20\x20\x20\x20\x20\x20extracted.\n\x20\x20\x202.\x20reg\
ex:\x20A\x20regular\x20expression\x20using\x20the\x20Google\x20RE2\x20sy\
ntax\n\x20\x20\x20\x20\x20\x20(https://github.com/google/re2/wiki/Syntax\
)\x20with\x20a\x20single\x20capture\n\x20\x20\x20\x20\x20\x20group\x20to\
\x20extract\x20data\x20from\x20the\x20specified\x20log\x20entry\x20field\
.\x20The\x20value\n\x20\x20\x20\x20\x20\x20of\x20the\x20field\x20is\x20c\
onverted\x20to\x20a\x20string\x20before\x20applying\x20the\x20regex.\n\
\x20\x20\x20\x20\x20\x20It\x20is\x20an\x20error\x20to\x20specify\x20a\
\x20regex\x20that\x20does\x20not\x20include\x20exactly\x20one\n\x20\x20\
\x20\x20\x20\x20capture\x20group.\n\n\x20The\x20result\x20of\x20the\x20e\
xtraction\x20must\x20be\x20convertible\x20to\x20a\x20double\x20type,\x20\
as\x20the\n\x20distribution\x20always\x20records\x20double\x20values.\
\x20If\x20either\x20the\x20extraction\x20or\n\x20the\x20conversion\x20to\
\x20double\x20fails,\x20then\x20those\x20values\x20are\x20not\x20recorde\
d\x20in\x20the\n\x20distribution.\n\n\x20Example:\x20`REGEXP_EXTRACT(jso\
nPayload.request,\x20\".*quantity=(\\d+).*\")`\n\n\x0f\n\x05\x04\0\x02\
\x04\x04\x12\x06\x95\x01\x02\x80\x014\n\r\n\x05\x04\0\x02\x04\x05\x12\
\x04\x95\x01\x02\x08\n\r\n\x05\x04\0\x02\x04\x01\x12\x04\x95\x01\t\x18\n\
\r\n\x05\x04\0\x02\x04\x03\x12\x04\x95\x01\x1b\x1c\n\xa2\x06\n\x04\x04\0\
\x02\x05\x12\x04\xa5\x01\x02+\x1a\x93\x06\x20Optional.\x20A\x20map\x20fr\
om\x20a\x20label\x20key\x20string\x20to\x20an\x20extractor\x20expression\
\x20which\x20is\n\x20used\x20to\x20extract\x20data\x20from\x20a\x20log\
\x20entry\x20field\x20and\x20assign\x20as\x20the\x20label\x20value.\n\
\x20Each\x20label\x20key\x20specified\x20in\x20the\x20LabelDescriptor\
\x20must\x20have\x20an\x20associated\n\x20extractor\x20expression\x20in\
\x20this\x20map.\x20The\x20syntax\x20of\x20the\x20extractor\x20expressio\
n\n\x20is\x20the\x20same\x20as\x20for\x20the\x20`value_extractor`\x20fie\
ld.\n\n\x20The\x20extracted\x20value\x20is\x20converted\x20to\x20the\x20\
type\x20defined\x20in\x20the\x20label\n\x20descriptor.\x20If\x20the\x20e\
ither\x20the\x20extraction\x20or\x20the\x20type\x20conversion\x20fails,\
\n\x20the\x20label\x20will\x20have\x20a\x20default\x20value.\x20The\x20d\
efault\x20value\x20for\x20a\x20string\n\x20label\x20is\x20an\x20empty\
\x20string,\x20for\x20an\x20integer\x20label\x20its\x200,\x20and\x20for\
\x20a\x20boolean\n\x20label\x20its\x20`false`.\n\n\x20Note\x20that\x20th\
ere\x20are\x20upper\x20bounds\x20on\x20the\x20maximum\x20number\x20of\
\x20labels\x20and\x20the\n\x20number\x20of\x20active\x20time\x20series\
\x20that\x20are\x20allowed\x20in\x20a\x20project.\n\n\x0f\n\x05\x04\0\
\x02\x05\x04\x12\x06\xa5\x01\x02\x95\x01\x1d\n\r\n\x05\x04\0\x02\x05\x06\
\x12\x04\xa5\x01\x02\x15\n\r\n\x05\x04\0\x02\x05\x01\x12\x04\xa5\x01\x16\
&\n\r\n\x05\x04\0\x02\x05\x03\x12\x04\xa5\x01)*\n\xd7\x01\n\x04\x04\0\
\x02\x06\x12\x04\xaa\x01\x02;\x1a\xc8\x01\x20Optional.\x20The\x20`bucket\
_options`\x20are\x20required\x20when\x20the\x20logs-based\x20metric\x20i\
s\n\x20using\x20a\x20DISTRIBUTION\x20value\x20type\x20and\x20it\x20descr\
ibes\x20the\x20bucket\x20boundaries\n\x20used\x20to\x20create\x20a\x20hi\
stogram\x20of\x20the\x20extracted\x20values.\n\n\x0f\n\x05\x04\0\x02\x06\
\x04\x12\x06\xaa\x01\x02\xa5\x01+\n\r\n\x05\x04\0\x02\x06\x06\x12\x04\
\xaa\x01\x02'\n\r\n\x05\x04\0\x02\x06\x01\x12\x04\xaa\x01(6\n\r\n\x05\
\x04\0\x02\x06\x03\x12\x04\xaa\x019:\n\x89\x01\n\x04\x04\0\x02\x07\x12\
\x04\xae\x01\x02\x19\x1a{\x20Deprecated.\x20The\x20API\x20version\x20tha\
t\x20created\x20or\x20updated\x20this\x20metric.\n\x20The\x20v2\x20forma\
t\x20is\x20used\x20by\x20default\x20and\x20cannot\x20be\x20changed.\n\n\
\x0f\n\x05\x04\0\x02\x07\x04\x12\x06\xae\x01\x02\xaa\x01;\n\r\n\x05\x04\
\0\x02\x07\x06\x12\x04\xae\x01\x02\x0c\n\r\n\x05\x04\0\x02\x07\x01\x12\
\x04\xae\x01\r\x14\n\r\n\x05\x04\0\x02\x07\x03\x12\x04\xae\x01\x17\x18\n\
1\n\x02\x04\x01\x12\x06\xb2\x01\0\xc2\x01\x01\x1a#\x20The\x20parameters\
\x20to\x20ListLogMetrics.\n\n\x0b\n\x03\x04\x01\x01\x12\x04\xb2\x01\x08\
\x1d\ng\n\x04\x04\x01\x02\0\x12\x04\xb6\x01\x02\x14\x1aY\x20Required.\
\x20The\x20name\x20of\x20the\x20project\x20containing\x20the\x20metrics:\
\n\n\x20\x20\x20\x20\x20\"projects/[PROJECT_ID]\"\n\n\x0f\n\x05\x04\x01\
\x02\0\x04\x12\x06\xb6\x01\x02\xb2\x01\x1f\n\r\n\x05\x04\x01\x02\0\x05\
\x12\x04\xb6\x01\x02\x08\n\r\n\x05\x04\x01\x02\0\x01\x12\x04\xb6\x01\t\
\x0f\n\r\n\x05\x04\x01\x02\0\x03\x12\x04\xb6\x01\x12\x13\n\xa1\x02\n\x04\
\x04\x01\x02\x01\x12\x04\xbc\x01\x02\x18\x1a\x92\x02\x20Optional.\x20If\
\x20present,\x20then\x20retrieve\x20the\x20next\x20batch\x20of\x20result\
s\x20from\x20the\n\x20preceding\x20call\x20to\x20this\x20method.\x20\x20\
`pageToken`\x20must\x20be\x20the\x20value\x20of\n\x20`nextPageToken`\x20\
from\x20the\x20previous\x20response.\x20\x20The\x20values\x20of\x20other\
\x20method\n\x20parameters\x20should\x20be\x20identical\x20to\x20those\
\x20in\x20the\x20previous\x20call.\n\n\x0f\n\x05\x04\x01\x02\x01\x04\x12\
\x06\xbc\x01\x02\xb6\x01\x14\n\r\n\x05\x04\x01\x02\x01\x05\x12\x04\xbc\
\x01\x02\x08\n\r\n\x05\x04\x01\x02\x01\x01\x12\x04\xbc\x01\t\x13\n\r\n\
\x05\x04\x01\x02\x01\x03\x12\x04\xbc\x01\x16\x17\n\xd9\x01\n\x04\x04\x01\
\x02\x02\x12\x04\xc1\x01\x02\x16\x1a\xca\x01\x20Optional.\x20The\x20maxi\
mum\x20number\x20of\x20results\x20to\x20return\x20from\x20this\x20reques\
t.\n\x20Non-positive\x20values\x20are\x20ignored.\x20\x20The\x20presence\
\x20of\x20`nextPageToken`\x20in\x20the\n\x20response\x20indicates\x20tha\
t\x20more\x20results\x20might\x20be\x20available.\n\n\x0f\n\x05\x04\x01\
\x02\x02\x04\x12\x06\xc1\x01\x02\xbc\x01\x18\n\r\n\x05\x04\x01\x02\x02\
\x05\x12\x04\xc1\x01\x02\x07\n\r\n\x05\x04\x01\x02\x02\x01\x12\x04\xc1\
\x01\x08\x11\n\r\n\x05\x04\x01\x02\x02\x03\x12\x04\xc1\x01\x14\x15\n4\n\
\x02\x04\x02\x12\x06\xc5\x01\0\xcd\x01\x01\x1a&\x20Result\x20returned\
\x20from\x20ListLogMetrics.\n\n\x0b\n\x03\x04\x02\x01\x12\x04\xc5\x01\
\x08\x1e\n-\n\x04\x04\x02\x02\0\x12\x04\xc7\x01\x02!\x1a\x1f\x20A\x20lis\
t\x20of\x20logs-based\x20metrics.\n\n\r\n\x05\x04\x02\x02\0\x04\x12\x04\
\xc7\x01\x02\n\n\r\n\x05\x04\x02\x02\0\x06\x12\x04\xc7\x01\x0b\x14\n\r\n\
\x05\x04\x02\x02\0\x01\x12\x04\xc7\x01\x15\x1c\n\r\n\x05\x04\x02\x02\0\
\x03\x12\x04\xc7\x01\x1f\x20\n\xdc\x01\n\x04\x04\x02\x02\x01\x12\x04\xcc\
\x01\x02\x1d\x1a\xcd\x01\x20If\x20there\x20might\x20be\x20more\x20result\
s\x20than\x20appear\x20in\x20this\x20response,\x20then\n\x20`nextPageTok\
en`\x20is\x20included.\x20\x20To\x20get\x20the\x20next\x20set\x20of\x20r\
esults,\x20call\x20this\n\x20method\x20again\x20using\x20the\x20value\
\x20of\x20`nextPageToken`\x20as\x20`pageToken`.\n\n\x0f\n\x05\x04\x02\
\x02\x01\x04\x12\x06\xcc\x01\x02\xc7\x01!\n\r\n\x05\x04\x02\x02\x01\x05\
\x12\x04\xcc\x01\x02\x08\n\r\n\x05\x04\x02\x02\x01\x01\x12\x04\xcc\x01\t\
\x18\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\xcc\x01\x1b\x1c\n/\n\x02\x04\
\x03\x12\x06\xd0\x01\0\xd5\x01\x01\x1a!\x20The\x20parameters\x20to\x20Ge\
tLogMetric.\n\n\x0b\n\x03\x04\x03\x01\x12\x04\xd0\x01\x08\x1b\nj\n\x04\
\x04\x03\x02\0\x12\x04\xd4\x01\x02\x19\x1a\\\x20The\x20resource\x20name\
\x20of\x20the\x20desired\x20metric:\n\n\x20\x20\x20\x20\x20\"projects/[P\
ROJECT_ID]/metrics/[METRIC_ID]\"\n\n\x0f\n\x05\x04\x03\x02\0\x04\x12\x06\
\xd4\x01\x02\xd0\x01\x1d\n\r\n\x05\x04\x03\x02\0\x05\x12\x04\xd4\x01\x02\
\x08\n\r\n\x05\x04\x03\x02\0\x01\x12\x04\xd4\x01\t\x14\n\r\n\x05\x04\x03\
\x02\0\x03\x12\x04\xd4\x01\x17\x18\n2\n\x02\x04\x04\x12\x06\xd8\x01\0\
\xe3\x01\x01\x1a$\x20The\x20parameters\x20to\x20CreateLogMetric.\n\n\x0b\
\n\x03\x04\x04\x01\x12\x04\xd8\x01\x08\x1e\n\xa0\x01\n\x04\x04\x04\x02\0\
\x12\x04\xde\x01\x02\x14\x1a\x91\x01\x20The\x20resource\x20name\x20of\
\x20the\x20project\x20in\x20which\x20to\x20create\x20the\x20metric:\n\n\
\x20\x20\x20\x20\x20\"projects/[PROJECT_ID]\"\n\n\x20The\x20new\x20metri\
c\x20must\x20be\x20provided\x20in\x20the\x20request.\n\n\x0f\n\x05\x04\
\x04\x02\0\x04\x12\x06\xde\x01\x02\xd8\x01\x20\n\r\n\x05\x04\x04\x02\0\
\x05\x12\x04\xde\x01\x02\x08\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\xde\x01\
\t\x0f\n\r\n\x05\x04\x04\x02\0\x03\x12\x04\xde\x01\x12\x13\nb\n\x04\x04\
\x04\x02\x01\x12\x04\xe2\x01\x02\x17\x1aT\x20The\x20new\x20logs-based\
\x20metric,\x20which\x20must\x20not\x20have\x20an\x20identifier\x20that\
\n\x20already\x20exists.\n\n\x0f\n\x05\x04\x04\x02\x01\x04\x12\x06\xe2\
\x01\x02\xde\x01\x14\n\r\n\x05\x04\x04\x02\x01\x06\x12\x04\xe2\x01\x02\
\x0b\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\xe2\x01\x0c\x12\n\r\n\x05\x04\
\x04\x02\x01\x03\x12\x04\xe2\x01\x15\x16\n2\n\x02\x04\x05\x12\x06\xe6\
\x01\0\xf2\x01\x01\x1a$\x20The\x20parameters\x20to\x20UpdateLogMetric.\n\
\n\x0b\n\x03\x04\x05\x01\x12\x04\xe6\x01\x08\x1e\n\xaa\x02\n\x04\x04\x05\
\x02\0\x12\x04\xee\x01\x02\x19\x1a\x9b\x02\x20The\x20resource\x20name\
\x20of\x20the\x20metric\x20to\x20update:\n\n\x20\x20\x20\x20\x20\"projec\
ts/[PROJECT_ID]/metrics/[METRIC_ID]\"\n\n\x20The\x20updated\x20metric\
\x20must\x20be\x20provided\x20in\x20the\x20request\x20and\x20it's\n\x20`\
name`\x20field\x20must\x20be\x20the\x20same\x20as\x20`[METRIC_ID]`\x20If\
\x20the\x20metric\n\x20does\x20not\x20exist\x20in\x20`[PROJECT_ID]`,\x20\
then\x20a\x20new\x20metric\x20is\x20created.\n\n\x0f\n\x05\x04\x05\x02\0\
\x04\x12\x06\xee\x01\x02\xe6\x01\x20\n\r\n\x05\x04\x05\x02\0\x05\x12\x04\
\xee\x01\x02\x08\n\r\n\x05\x04\x05\x02\0\x01\x12\x04\xee\x01\t\x14\n\r\n\
\x05\x04\x05\x02\0\x03\x12\x04\xee\x01\x17\x18\n#\n\x04\x04\x05\x02\x01\
\x12\x04\xf1\x01\x02\x17\x1a\x15\x20The\x20updated\x20metric.\n\n\x0f\n\
\x05\x04\x05\x02\x01\x04\x12\x06\xf1\x01\x02\xee\x01\x19\n\r\n\x05\x04\
\x05\x02\x01\x06\x12\x04\xf1\x01\x02\x0b\n\r\n\x05\x04\x05\x02\x01\x01\
\x12\x04\xf1\x01\x0c\x12\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xf1\x01\
\x15\x16\n2\n\x02\x04\x06\x12\x06\xf5\x01\0\xfa\x01\x01\x1a$\x20The\x20p\
arameters\x20to\x20DeleteLogMetric.\n\n\x0b\n\x03\x04\x06\x01\x12\x04\
\xf5\x01\x08\x1e\nl\n\x04\x04\x06\x02\0\x12\x04\xf9\x01\x02\x19\x1a^\x20\
The\x20resource\x20name\x20of\x20the\x20metric\x20to\x20delete:\n\n\x20\
\x20\x20\x20\x20\"projects/[PROJECT_ID]/metrics/[METRIC_ID]\"\n\n\x0f\n\
\x05\x04\x06\x02\0\x04\x12\x06\xf9\x01\x02\xf5\x01\x20\n\r\n\x05\x04\x06\
\x02\0\x05\x12\x04\xf9\x01\x02\x08\n\r\n\x05\x04\x06\x02\0\x01\x12\x04\
\xf9\x01\t\x14\n\r\n\x05\x04\x06\x02\0\x03\x12\x04\xf9\x01\x17\x18b\x06p\
roto3\
";
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()
})
}
}