Skip to main content

swf_builders/services/
timeout.rs

1use swf_core::models::duration::OneOfDurationOrIso8601Expression;
2use swf_core::models::timeout::TimeoutDefinition;
3
4/// Builder for TimeoutDefinition
5pub struct TimeoutDefinitionBuilder {
6    timeout: TimeoutDefinition,
7}
8
9impl TimeoutDefinitionBuilder {
10    pub fn new() -> Self {
11        Self {
12            timeout: TimeoutDefinition::default(),
13        }
14    }
15
16    pub fn after(&mut self, duration: impl Into<OneOfDurationOrIso8601Expression>) -> &mut Self {
17        self.timeout.after = duration.into();
18        self
19    }
20
21    pub fn build(self) -> TimeoutDefinition {
22        self.timeout
23    }
24}
25
26impl Default for TimeoutDefinitionBuilder {
27    fn default() -> Self {
28        Self::new()
29    }
30}