1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct UpdateGenerationBody {
16 #[serde(rename = "completionStartTime", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
17 pub completion_start_time: Option<Option<String>>,
18 #[serde(rename = "model", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
19 pub model: Option<Option<String>>,
20 #[serde(rename = "modelParameters", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21 pub model_parameters: Option<Option<std::collections::HashMap<String, models::MapValue>>>,
22 #[serde(rename = "usage", skip_serializing_if = "Option::is_none")]
23 pub usage: Option<models::IngestionUsage>,
24 #[serde(rename = "promptName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25 pub prompt_name: Option<Option<String>>,
26 #[serde(rename = "usageDetails", skip_serializing_if = "Option::is_none")]
27 pub usage_details: Option<models::UsageDetails>,
28 #[serde(rename = "costDetails", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
29 pub cost_details: Option<Option<std::collections::HashMap<String, f64>>>,
30 #[serde(rename = "promptVersion", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
31 pub prompt_version: Option<Option<i32>>,
32 #[serde(rename = "endTime", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
33 pub end_time: Option<Option<String>>,
34 #[serde(rename = "id")]
35 pub id: String,
36 #[serde(rename = "traceId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
37 pub trace_id: Option<Option<String>>,
38 #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
39 pub name: Option<Option<String>>,
40 #[serde(rename = "startTime", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
41 pub start_time: Option<Option<String>>,
42 #[serde(rename = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
43 pub metadata: Option<Option<serde_json::Value>>,
44 #[serde(rename = "input", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
45 pub input: Option<Option<serde_json::Value>>,
46 #[serde(rename = "output", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
47 pub output: Option<Option<serde_json::Value>>,
48 #[serde(rename = "level", skip_serializing_if = "Option::is_none")]
49 pub level: Option<models::ObservationLevel>,
50 #[serde(rename = "statusMessage", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
51 pub status_message: Option<Option<String>>,
52 #[serde(rename = "parentObservationId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
53 pub parent_observation_id: Option<Option<String>>,
54 #[serde(rename = "version", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
55 pub version: Option<Option<String>>,
56 #[serde(rename = "environment", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
57 pub environment: Option<Option<String>>,
58}
59
60impl UpdateGenerationBody {
61 pub fn new(id: String) -> UpdateGenerationBody {
62 UpdateGenerationBody {
63 completion_start_time: None,
64 model: None,
65 model_parameters: None,
66 usage: None,
67 prompt_name: None,
68 usage_details: None,
69 cost_details: None,
70 prompt_version: None,
71 end_time: None,
72 id,
73 trace_id: None,
74 name: None,
75 start_time: None,
76 metadata: None,
77 input: None,
78 output: None,
79 level: None,
80 status_message: None,
81 parent_observation_id: None,
82 version: None,
83 environment: None,
84 }
85 }
86}
87