1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>This input determines which steps to list.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct ListStepsInput {
    /// <p>The identifier of the cluster for which to list the steps.</p>
    pub cluster_id: ::std::option::Option<::std::string::String>,
    /// <p>The filter to limit the step list based on certain states.</p>
    pub step_states: ::std::option::Option<::std::vec::Vec<crate::types::StepState>>,
    /// <p>The filter to limit the step list based on the identifier of the steps. You can specify a maximum of ten Step IDs. The character constraint applies to the overall length of the array.</p>
    pub step_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
    /// <p>The maximum number of steps that a single <code>ListSteps</code> action returns is 50. To return a longer list of steps, use multiple <code>ListSteps</code> actions along with the <code>Marker</code> parameter, which is a pagination token that indicates the next set of results to retrieve.</p>
    pub marker: ::std::option::Option<::std::string::String>,
}
impl ListStepsInput {
    /// <p>The identifier of the cluster for which to list the steps.</p>
    pub fn cluster_id(&self) -> ::std::option::Option<&str> {
        self.cluster_id.as_deref()
    }
    /// <p>The filter to limit the step list based on certain states.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.step_states.is_none()`.
    pub fn step_states(&self) -> &[crate::types::StepState] {
        self.step_states.as_deref().unwrap_or_default()
    }
    /// <p>The filter to limit the step list based on the identifier of the steps. You can specify a maximum of ten Step IDs. The character constraint applies to the overall length of the array.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.step_ids.is_none()`.
    pub fn step_ids(&self) -> &[::std::string::String] {
        self.step_ids.as_deref().unwrap_or_default()
    }
    /// <p>The maximum number of steps that a single <code>ListSteps</code> action returns is 50. To return a longer list of steps, use multiple <code>ListSteps</code> actions along with the <code>Marker</code> parameter, which is a pagination token that indicates the next set of results to retrieve.</p>
    pub fn marker(&self) -> ::std::option::Option<&str> {
        self.marker.as_deref()
    }
}
impl ListStepsInput {
    /// Creates a new builder-style object to manufacture [`ListStepsInput`](crate::operation::list_steps::ListStepsInput).
    pub fn builder() -> crate::operation::list_steps::builders::ListStepsInputBuilder {
        crate::operation::list_steps::builders::ListStepsInputBuilder::default()
    }
}

/// A builder for [`ListStepsInput`](crate::operation::list_steps::ListStepsInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct ListStepsInputBuilder {
    pub(crate) cluster_id: ::std::option::Option<::std::string::String>,
    pub(crate) step_states: ::std::option::Option<::std::vec::Vec<crate::types::StepState>>,
    pub(crate) step_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
    pub(crate) marker: ::std::option::Option<::std::string::String>,
}
impl ListStepsInputBuilder {
    /// <p>The identifier of the cluster for which to list the steps.</p>
    /// This field is required.
    pub fn cluster_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.cluster_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The identifier of the cluster for which to list the steps.</p>
    pub fn set_cluster_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.cluster_id = input;
        self
    }
    /// <p>The identifier of the cluster for which to list the steps.</p>
    pub fn get_cluster_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.cluster_id
    }
    /// Appends an item to `step_states`.
    ///
    /// To override the contents of this collection use [`set_step_states`](Self::set_step_states).
    ///
    /// <p>The filter to limit the step list based on certain states.</p>
    pub fn step_states(mut self, input: crate::types::StepState) -> Self {
        let mut v = self.step_states.unwrap_or_default();
        v.push(input);
        self.step_states = ::std::option::Option::Some(v);
        self
    }
    /// <p>The filter to limit the step list based on certain states.</p>
    pub fn set_step_states(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::StepState>>) -> Self {
        self.step_states = input;
        self
    }
    /// <p>The filter to limit the step list based on certain states.</p>
    pub fn get_step_states(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::StepState>> {
        &self.step_states
    }
    /// Appends an item to `step_ids`.
    ///
    /// To override the contents of this collection use [`set_step_ids`](Self::set_step_ids).
    ///
    /// <p>The filter to limit the step list based on the identifier of the steps. You can specify a maximum of ten Step IDs. The character constraint applies to the overall length of the array.</p>
    pub fn step_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        let mut v = self.step_ids.unwrap_or_default();
        v.push(input.into());
        self.step_ids = ::std::option::Option::Some(v);
        self
    }
    /// <p>The filter to limit the step list based on the identifier of the steps. You can specify a maximum of ten Step IDs. The character constraint applies to the overall length of the array.</p>
    pub fn set_step_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
        self.step_ids = input;
        self
    }
    /// <p>The filter to limit the step list based on the identifier of the steps. You can specify a maximum of ten Step IDs. The character constraint applies to the overall length of the array.</p>
    pub fn get_step_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
        &self.step_ids
    }
    /// <p>The maximum number of steps that a single <code>ListSteps</code> action returns is 50. To return a longer list of steps, use multiple <code>ListSteps</code> actions along with the <code>Marker</code> parameter, which is a pagination token that indicates the next set of results to retrieve.</p>
    pub fn marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.marker = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The maximum number of steps that a single <code>ListSteps</code> action returns is 50. To return a longer list of steps, use multiple <code>ListSteps</code> actions along with the <code>Marker</code> parameter, which is a pagination token that indicates the next set of results to retrieve.</p>
    pub fn set_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.marker = input;
        self
    }
    /// <p>The maximum number of steps that a single <code>ListSteps</code> action returns is 50. To return a longer list of steps, use multiple <code>ListSteps</code> actions along with the <code>Marker</code> parameter, which is a pagination token that indicates the next set of results to retrieve.</p>
    pub fn get_marker(&self) -> &::std::option::Option<::std::string::String> {
        &self.marker
    }
    /// Consumes the builder and constructs a [`ListStepsInput`](crate::operation::list_steps::ListStepsInput).
    pub fn build(self) -> ::std::result::Result<crate::operation::list_steps::ListStepsInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::list_steps::ListStepsInput {
            cluster_id: self.cluster_id,
            step_states: self.step_states,
            step_ids: self.step_ids,
            marker: self.marker,
        })
    }
}