stcloud/models/
charges_details_response_dto.rs

1/* 
2 * Sematext Cloud API
3 *
4 * API Explorer provides access and documentation for Sematext REST API. The REST API requires the API Key to be sent as part of `Authorization` header. E.g.: `Authorization : apiKey e5f18450-205a-48eb-8589-7d49edaea813`.
5 *
6 * OpenAPI spec version: v3
7 * 
8 * Generated by: https://github.com/swagger-api/swagger-codegen.git
9 */
10#![allow(unused_imports)]
11
12use serde_json::Value;
13use bigdecimal::BigDecimal;
14use chrono::{Date, NaiveDateTime, NaiveDate, DateTime, FixedOffset, Utc};
15
16use crate::models::*;
17use crate::date_serializer;
18use crate::date_serializer_opt;
19use crate::serialize_quoted_numbers;
20use crate::serialize_quoted_numbers_opt;
21//Uncomment this to deal with limited rfc support on server side
22//use crate::datetime_serializer::*;
23
24#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
25pub struct ChargesDetailsResponseDto {
26  #[serde(rename = "app")]
27  #[serde(default)]
28  app: Option<App>, 
29  #[serde(rename = "chargeBase")]
30  #[serde(default)]
31  charge_base: Option<String>, 
32  #[serde(rename = "dayUsageData")]
33  #[serde(default)]
34  day_usage_data: Option<Vec<DayUsageData>>, 
35  #[serde(rename = "monthlyFeeAmount")]
36  #[serde(default)]
37  monthly_fee_amount: Option<f32>, 
38  #[serde(rename = "periodFeePeriods")]
39  #[serde(default)]
40  period_fee_periods: Option<Vec<MinPeriodFeePeriod>>, 
41  #[serde(rename = "totalAmount")]
42  #[serde(default)]
43  total_amount: Option<f32>, 
44  #[serde(rename = "usageAmount")]
45  #[serde(default)]
46  usage_amount: Option<f32> 
47}
48
49impl ChargesDetailsResponseDto {
50  pub fn new() -> ChargesDetailsResponseDto {
51    ChargesDetailsResponseDto {
52      app: None,
53      charge_base: None,
54      day_usage_data: None,
55      monthly_fee_amount: None,
56      period_fee_periods: None,
57      total_amount: None,
58      usage_amount: None
59    }
60  }
61
62  pub fn set_app(&mut self, app: App) {
63    self.app = Some(app);
64  }
65
66  pub fn with_app(mut self, app: App) -> ChargesDetailsResponseDto {
67    self.app = Some(app);
68    self
69  }
70
71  pub fn app(&self) -> Option<&App> {
72    self.app.as_ref()
73  }
74
75  pub fn reset_app(&mut self) {
76    self.app = None;
77  }
78
79  pub fn set_charge_base(&mut self, charge_base: String) {
80    self.charge_base = Some(charge_base);
81  }
82
83  pub fn with_charge_base(mut self, charge_base: String) -> ChargesDetailsResponseDto {
84    self.charge_base = Some(charge_base);
85    self
86  }
87
88  pub fn charge_base(&self) -> Option<&String> {
89    self.charge_base.as_ref()
90  }
91
92  pub fn reset_charge_base(&mut self) {
93    self.charge_base = None;
94  }
95
96  pub fn set_day_usage_data(&mut self, day_usage_data: Vec<DayUsageData>) {
97    self.day_usage_data = Some(day_usage_data);
98  }
99
100  pub fn with_day_usage_data(mut self, day_usage_data: Vec<DayUsageData>) -> ChargesDetailsResponseDto {
101    self.day_usage_data = Some(day_usage_data);
102    self
103  }
104
105  pub fn day_usage_data(&self) -> Option<&Vec<DayUsageData>> {
106    self.day_usage_data.as_ref()
107  }
108
109  pub fn reset_day_usage_data(&mut self) {
110    self.day_usage_data = None;
111  }
112
113  pub fn set_monthly_fee_amount(&mut self, monthly_fee_amount: f32) {
114    self.monthly_fee_amount = Some(monthly_fee_amount);
115  }
116
117  pub fn with_monthly_fee_amount(mut self, monthly_fee_amount: f32) -> ChargesDetailsResponseDto {
118    self.monthly_fee_amount = Some(monthly_fee_amount);
119    self
120  }
121
122  pub fn monthly_fee_amount(&self) -> Option<&f32> {
123    self.monthly_fee_amount.as_ref()
124  }
125
126  pub fn reset_monthly_fee_amount(&mut self) {
127    self.monthly_fee_amount = None;
128  }
129
130  pub fn set_period_fee_periods(&mut self, period_fee_periods: Vec<MinPeriodFeePeriod>) {
131    self.period_fee_periods = Some(period_fee_periods);
132  }
133
134  pub fn with_period_fee_periods(mut self, period_fee_periods: Vec<MinPeriodFeePeriod>) -> ChargesDetailsResponseDto {
135    self.period_fee_periods = Some(period_fee_periods);
136    self
137  }
138
139  pub fn period_fee_periods(&self) -> Option<&Vec<MinPeriodFeePeriod>> {
140    self.period_fee_periods.as_ref()
141  }
142
143  pub fn reset_period_fee_periods(&mut self) {
144    self.period_fee_periods = None;
145  }
146
147  pub fn set_total_amount(&mut self, total_amount: f32) {
148    self.total_amount = Some(total_amount);
149  }
150
151  pub fn with_total_amount(mut self, total_amount: f32) -> ChargesDetailsResponseDto {
152    self.total_amount = Some(total_amount);
153    self
154  }
155
156  pub fn total_amount(&self) -> Option<&f32> {
157    self.total_amount.as_ref()
158  }
159
160  pub fn reset_total_amount(&mut self) {
161    self.total_amount = None;
162  }
163
164  pub fn set_usage_amount(&mut self, usage_amount: f32) {
165    self.usage_amount = Some(usage_amount);
166  }
167
168  pub fn with_usage_amount(mut self, usage_amount: f32) -> ChargesDetailsResponseDto {
169    self.usage_amount = Some(usage_amount);
170    self
171  }
172
173  pub fn usage_amount(&self) -> Option<&f32> {
174    self.usage_amount.as_ref()
175  }
176
177  pub fn reset_usage_amount(&mut self) {
178    self.usage_amount = None;
179  }
180
181
182  pub fn validate(&self) {
183  }
184
185}
186
187