#![allow(rustdoc::redundant_explicit_links)]
#![allow(rustdoc::broken_intra_doc_links)]
#![no_implicit_prelude]
extern crate async_trait;
extern crate bytes;
extern crate gaxi;
extern crate google_cloud_gax;
extern crate serde;
extern crate serde_json;
extern crate serde_with;
extern crate std;
extern crate tracing;
extern crate wkt;
mod debug;
mod deserialize;
mod serialize;
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct Trace {
pub project_id: std::string::String,
pub trace_id: std::string::String,
pub spans: std::vec::Vec<crate::model::TraceSpan>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl Trace {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_project_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.project_id = v.into();
self
}
pub fn set_trace_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.trace_id = v.into();
self
}
pub fn set_spans<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::TraceSpan>,
{
use std::iter::Iterator;
self.spans = v.into_iter().map(|i| i.into()).collect();
self
}
}
impl wkt::message::Message for Trace {
fn typename() -> &'static str {
"type.googleapis.com/google.devtools.cloudtrace.v1.Trace"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct Traces {
pub traces: std::vec::Vec<crate::model::Trace>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl Traces {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_traces<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::Trace>,
{
use std::iter::Iterator;
self.traces = v.into_iter().map(|i| i.into()).collect();
self
}
}
impl wkt::message::Message for Traces {
fn typename() -> &'static str {
"type.googleapis.com/google.devtools.cloudtrace.v1.Traces"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct TraceSpan {
pub span_id: u64,
pub kind: crate::model::trace_span::SpanKind,
pub name: std::string::String,
pub start_time: std::option::Option<wkt::Timestamp>,
pub end_time: std::option::Option<wkt::Timestamp>,
pub parent_span_id: u64,
pub labels: std::collections::HashMap<std::string::String, std::string::String>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl TraceSpan {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_span_id<T: std::convert::Into<u64>>(mut self, v: T) -> Self {
self.span_id = v.into();
self
}
pub fn set_kind<T: std::convert::Into<crate::model::trace_span::SpanKind>>(
mut self,
v: T,
) -> Self {
self.kind = v.into();
self
}
pub fn set_name<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.name = v.into();
self
}
pub fn set_start_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.start_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_start_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.start_time = v.map(|x| x.into());
self
}
pub fn set_end_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.end_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.end_time = v.map(|x| x.into());
self
}
pub fn set_parent_span_id<T: std::convert::Into<u64>>(mut self, v: T) -> Self {
self.parent_span_id = v.into();
self
}
pub fn set_labels<T, K, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = (K, V)>,
K: std::convert::Into<std::string::String>,
V: std::convert::Into<std::string::String>,
{
use std::iter::Iterator;
self.labels = v.into_iter().map(|(k, v)| (k.into(), v.into())).collect();
self
}
}
impl wkt::message::Message for TraceSpan {
fn typename() -> &'static str {
"type.googleapis.com/google.devtools.cloudtrace.v1.TraceSpan"
}
}
pub mod trace_span {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum SpanKind {
Unspecified,
RpcServer,
RpcClient,
UnknownValue(span_kind::UnknownValue),
}
#[doc(hidden)]
pub mod span_kind {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
}
impl SpanKind {
pub fn value(&self) -> std::option::Option<i32> {
match self {
Self::Unspecified => std::option::Option::Some(0),
Self::RpcServer => std::option::Option::Some(1),
Self::RpcClient => std::option::Option::Some(2),
Self::UnknownValue(u) => u.0.value(),
}
}
pub fn name(&self) -> std::option::Option<&str> {
match self {
Self::Unspecified => std::option::Option::Some("SPAN_KIND_UNSPECIFIED"),
Self::RpcServer => std::option::Option::Some("RPC_SERVER"),
Self::RpcClient => std::option::Option::Some("RPC_CLIENT"),
Self::UnknownValue(u) => u.0.name(),
}
}
}
impl std::default::Default for SpanKind {
fn default() -> Self {
use std::convert::From;
Self::from(0)
}
}
impl std::fmt::Display for SpanKind {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
wkt::internal::display_enum(f, self.name(), self.value())
}
}
impl std::convert::From<i32> for SpanKind {
fn from(value: i32) -> Self {
match value {
0 => Self::Unspecified,
1 => Self::RpcServer,
2 => Self::RpcClient,
_ => Self::UnknownValue(span_kind::UnknownValue(
wkt::internal::UnknownEnumValue::Integer(value),
)),
}
}
}
impl std::convert::From<&str> for SpanKind {
fn from(value: &str) -> Self {
use std::string::ToString;
match value {
"SPAN_KIND_UNSPECIFIED" => Self::Unspecified,
"RPC_SERVER" => Self::RpcServer,
"RPC_CLIENT" => Self::RpcClient,
_ => Self::UnknownValue(span_kind::UnknownValue(
wkt::internal::UnknownEnumValue::String(value.to_string()),
)),
}
}
}
impl serde::ser::Serialize for SpanKind {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
Self::Unspecified => serializer.serialize_i32(0),
Self::RpcServer => serializer.serialize_i32(1),
Self::RpcClient => serializer.serialize_i32(2),
Self::UnknownValue(u) => u.0.serialize(serializer),
}
}
}
impl<'de> serde::de::Deserialize<'de> for SpanKind {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
deserializer.deserialize_any(wkt::internal::EnumVisitor::<SpanKind>::new(
".google.devtools.cloudtrace.v1.TraceSpan.SpanKind",
))
}
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListTracesRequest {
pub project_id: std::string::String,
pub view: crate::model::list_traces_request::ViewType,
pub page_size: i32,
pub page_token: std::string::String,
pub start_time: std::option::Option<wkt::Timestamp>,
pub end_time: std::option::Option<wkt::Timestamp>,
pub filter: std::string::String,
pub order_by: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListTracesRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_project_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.project_id = v.into();
self
}
pub fn set_view<T: std::convert::Into<crate::model::list_traces_request::ViewType>>(
mut self,
v: T,
) -> Self {
self.view = v.into();
self
}
pub fn set_page_size<T: std::convert::Into<i32>>(mut self, v: T) -> Self {
self.page_size = v.into();
self
}
pub fn set_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.page_token = v.into();
self
}
pub fn set_start_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.start_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_start_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.start_time = v.map(|x| x.into());
self
}
pub fn set_end_time<T>(mut self, v: T) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.end_time = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_end_time<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<wkt::Timestamp>,
{
self.end_time = v.map(|x| x.into());
self
}
pub fn set_filter<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.filter = v.into();
self
}
pub fn set_order_by<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.order_by = v.into();
self
}
}
impl wkt::message::Message for ListTracesRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.devtools.cloudtrace.v1.ListTracesRequest"
}
}
pub mod list_traces_request {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
#[non_exhaustive]
pub enum ViewType {
Unspecified,
Minimal,
Rootspan,
Complete,
UnknownValue(view_type::UnknownValue),
}
#[doc(hidden)]
pub mod view_type {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, PartialEq)]
pub struct UnknownValue(pub(crate) wkt::internal::UnknownEnumValue);
}
impl ViewType {
pub fn value(&self) -> std::option::Option<i32> {
match self {
Self::Unspecified => std::option::Option::Some(0),
Self::Minimal => std::option::Option::Some(1),
Self::Rootspan => std::option::Option::Some(2),
Self::Complete => std::option::Option::Some(3),
Self::UnknownValue(u) => u.0.value(),
}
}
pub fn name(&self) -> std::option::Option<&str> {
match self {
Self::Unspecified => std::option::Option::Some("VIEW_TYPE_UNSPECIFIED"),
Self::Minimal => std::option::Option::Some("MINIMAL"),
Self::Rootspan => std::option::Option::Some("ROOTSPAN"),
Self::Complete => std::option::Option::Some("COMPLETE"),
Self::UnknownValue(u) => u.0.name(),
}
}
}
impl std::default::Default for ViewType {
fn default() -> Self {
use std::convert::From;
Self::from(0)
}
}
impl std::fmt::Display for ViewType {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
wkt::internal::display_enum(f, self.name(), self.value())
}
}
impl std::convert::From<i32> for ViewType {
fn from(value: i32) -> Self {
match value {
0 => Self::Unspecified,
1 => Self::Minimal,
2 => Self::Rootspan,
3 => Self::Complete,
_ => Self::UnknownValue(view_type::UnknownValue(
wkt::internal::UnknownEnumValue::Integer(value),
)),
}
}
}
impl std::convert::From<&str> for ViewType {
fn from(value: &str) -> Self {
use std::string::ToString;
match value {
"VIEW_TYPE_UNSPECIFIED" => Self::Unspecified,
"MINIMAL" => Self::Minimal,
"ROOTSPAN" => Self::Rootspan,
"COMPLETE" => Self::Complete,
_ => Self::UnknownValue(view_type::UnknownValue(
wkt::internal::UnknownEnumValue::String(value.to_string()),
)),
}
}
}
impl serde::ser::Serialize for ViewType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
match self {
Self::Unspecified => serializer.serialize_i32(0),
Self::Minimal => serializer.serialize_i32(1),
Self::Rootspan => serializer.serialize_i32(2),
Self::Complete => serializer.serialize_i32(3),
Self::UnknownValue(u) => u.0.serialize(serializer),
}
}
}
impl<'de> serde::de::Deserialize<'de> for ViewType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
deserializer.deserialize_any(wkt::internal::EnumVisitor::<ViewType>::new(
".google.devtools.cloudtrace.v1.ListTracesRequest.ViewType",
))
}
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct ListTracesResponse {
pub traces: std::vec::Vec<crate::model::Trace>,
pub next_page_token: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl ListTracesResponse {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_traces<T, V>(mut self, v: T) -> Self
where
T: std::iter::IntoIterator<Item = V>,
V: std::convert::Into<crate::model::Trace>,
{
use std::iter::Iterator;
self.traces = v.into_iter().map(|i| i.into()).collect();
self
}
pub fn set_next_page_token<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.next_page_token = v.into();
self
}
}
impl wkt::message::Message for ListTracesResponse {
fn typename() -> &'static str {
"type.googleapis.com/google.devtools.cloudtrace.v1.ListTracesResponse"
}
}
#[doc(hidden)]
impl google_cloud_gax::paginator::internal::PageableResponse for ListTracesResponse {
type PageItem = crate::model::Trace;
fn items(self) -> std::vec::Vec<Self::PageItem> {
self.traces
}
fn next_page_token(&self) -> std::string::String {
use std::clone::Clone;
self.next_page_token.clone()
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct GetTraceRequest {
pub project_id: std::string::String,
pub trace_id: std::string::String,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl GetTraceRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_project_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.project_id = v.into();
self
}
pub fn set_trace_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.trace_id = v.into();
self
}
}
impl wkt::message::Message for GetTraceRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.devtools.cloudtrace.v1.GetTraceRequest"
}
}
#[derive(Clone, Default, PartialEq)]
#[non_exhaustive]
pub struct PatchTracesRequest {
pub project_id: std::string::String,
pub traces: std::option::Option<crate::model::Traces>,
pub(crate) _unknown_fields: serde_json::Map<std::string::String, serde_json::Value>,
}
impl PatchTracesRequest {
pub fn new() -> Self {
std::default::Default::default()
}
pub fn set_project_id<T: std::convert::Into<std::string::String>>(mut self, v: T) -> Self {
self.project_id = v.into();
self
}
pub fn set_traces<T>(mut self, v: T) -> Self
where
T: std::convert::Into<crate::model::Traces>,
{
self.traces = std::option::Option::Some(v.into());
self
}
pub fn set_or_clear_traces<T>(mut self, v: std::option::Option<T>) -> Self
where
T: std::convert::Into<crate::model::Traces>,
{
self.traces = v.map(|x| x.into());
self
}
}
impl wkt::message::Message for PatchTracesRequest {
fn typename() -> &'static str {
"type.googleapis.com/google.devtools.cloudtrace.v1.PatchTracesRequest"
}
}