nominal_api/conjure/objects/api/
serializable_error.rs1#[derive(
4 Debug,
5 Clone,
6 conjure_object::serde::Serialize,
7 conjure_object::serde::Deserialize,
8 PartialEq,
9 Eq,
10 PartialOrd,
11 Ord,
12 Hash
13)]
14#[serde(crate = "conjure_object::serde")]
15#[conjure_object::private::staged_builder::staged_builder]
16#[builder(crate = conjure_object::private::staged_builder, update, inline)]
17pub struct SerializableError {
18 #[builder(into)]
19 #[serde(rename = "name")]
20 name: String,
21 #[builder(default, into)]
22 #[serde(rename = "message", skip_serializing_if = "Option::is_none", default)]
23 message: Option<String>,
24 #[builder(into)]
25 #[serde(rename = "errorInstanceId")]
26 error_instance_id: String,
27 #[serde(rename = "statusCode")]
28 status_code: i32,
29 #[builder(default, map(key(type = String, into), value(type = String, into)))]
30 #[serde(
31 rename = "params",
32 skip_serializing_if = "std::collections::BTreeMap::is_empty",
33 default
34 )]
35 params: std::collections::BTreeMap<String, String>,
36}
37impl SerializableError {
38 #[inline]
40 pub fn new(
41 name: impl Into<String>,
42 error_instance_id: impl Into<String>,
43 status_code: i32,
44 ) -> Self {
45 Self::builder()
46 .name(name)
47 .error_instance_id(error_instance_id)
48 .status_code(status_code)
49 .build()
50 }
51 #[inline]
52 pub fn name(&self) -> &str {
53 &*self.name
54 }
55 #[inline]
56 pub fn message(&self) -> Option<&str> {
57 self.message.as_ref().map(|o| &**o)
58 }
59 #[inline]
60 pub fn error_instance_id(&self) -> &str {
61 &*self.error_instance_id
62 }
63 #[inline]
64 pub fn status_code(&self) -> i32 {
65 self.status_code
66 }
67 #[inline]
68 pub fn params(&self) -> &std::collections::BTreeMap<String, String> {
69 &self.params
70 }
71}