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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct ListStateMachineVersionsOutput {
    /// <p>Versions for the state machine.</p>
    pub state_machine_versions: ::std::vec::Vec<crate::types::StateMachineVersionListItem>,
    /// <p>If <code>nextToken</code> is returned, there are more results available. The value of <code>nextToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an <i>HTTP 400 InvalidToken</i> error.</p>
    pub next_token: ::std::option::Option<::std::string::String>,
    _request_id: Option<String>,
}
impl ListStateMachineVersionsOutput {
    /// <p>Versions for the state machine.</p>
    pub fn state_machine_versions(&self) -> &[crate::types::StateMachineVersionListItem] {
        use std::ops::Deref;
        self.state_machine_versions.deref()
    }
    /// <p>If <code>nextToken</code> is returned, there are more results available. The value of <code>nextToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an <i>HTTP 400 InvalidToken</i> error.</p>
    pub fn next_token(&self) -> ::std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
impl ::aws_types::request_id::RequestId for ListStateMachineVersionsOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl ListStateMachineVersionsOutput {
    /// Creates a new builder-style object to manufacture [`ListStateMachineVersionsOutput`](crate::operation::list_state_machine_versions::ListStateMachineVersionsOutput).
    pub fn builder() -> crate::operation::list_state_machine_versions::builders::ListStateMachineVersionsOutputBuilder {
        crate::operation::list_state_machine_versions::builders::ListStateMachineVersionsOutputBuilder::default()
    }
}

/// A builder for [`ListStateMachineVersionsOutput`](crate::operation::list_state_machine_versions::ListStateMachineVersionsOutput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct ListStateMachineVersionsOutputBuilder {
    pub(crate) state_machine_versions: ::std::option::Option<::std::vec::Vec<crate::types::StateMachineVersionListItem>>,
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
    _request_id: Option<String>,
}
impl ListStateMachineVersionsOutputBuilder {
    /// Appends an item to `state_machine_versions`.
    ///
    /// To override the contents of this collection use [`set_state_machine_versions`](Self::set_state_machine_versions).
    ///
    /// <p>Versions for the state machine.</p>
    pub fn state_machine_versions(mut self, input: crate::types::StateMachineVersionListItem) -> Self {
        let mut v = self.state_machine_versions.unwrap_or_default();
        v.push(input);
        self.state_machine_versions = ::std::option::Option::Some(v);
        self
    }
    /// <p>Versions for the state machine.</p>
    pub fn set_state_machine_versions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::StateMachineVersionListItem>>) -> Self {
        self.state_machine_versions = input;
        self
    }
    /// <p>Versions for the state machine.</p>
    pub fn get_state_machine_versions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::StateMachineVersionListItem>> {
        &self.state_machine_versions
    }
    /// <p>If <code>nextToken</code> is returned, there are more results available. The value of <code>nextToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an <i>HTTP 400 InvalidToken</i> error.</p>
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.next_token = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>If <code>nextToken</code> is returned, there are more results available. The value of <code>nextToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an <i>HTTP 400 InvalidToken</i> error.</p>
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.next_token = input;
        self
    }
    /// <p>If <code>nextToken</code> is returned, there are more results available. The value of <code>nextToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an <i>HTTP 400 InvalidToken</i> error.</p>
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
        &self.next_token
    }
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
        self._request_id = Some(request_id.into());
        self
    }

    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
        self._request_id = request_id;
        self
    }
    /// Consumes the builder and constructs a [`ListStateMachineVersionsOutput`](crate::operation::list_state_machine_versions::ListStateMachineVersionsOutput).
    /// This method will fail if any of the following fields are not set:
    /// - [`state_machine_versions`](crate::operation::list_state_machine_versions::builders::ListStateMachineVersionsOutputBuilder::state_machine_versions)
    pub fn build(
        self,
    ) -> ::std::result::Result<
        crate::operation::list_state_machine_versions::ListStateMachineVersionsOutput,
        ::aws_smithy_types::error::operation::BuildError,
    > {
        ::std::result::Result::Ok(crate::operation::list_state_machine_versions::ListStateMachineVersionsOutput {
            state_machine_versions: self.state_machine_versions.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "state_machine_versions",
                    "state_machine_versions was not specified but it is required when building ListStateMachineVersionsOutput",
                )
            })?,
            next_token: self.next_token,
            _request_id: self._request_id,
        })
    }
}