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
// 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 ListModelVersionsOutput {
    /// <p>If the total number of results exceeds the limit that the response can display, the response returns an opaque pagination token indicating where to continue the listing of machine learning model versions. Use this token in the <code>NextToken</code> field in the request to list the next page of results.</p>
    pub next_token: ::std::option::Option<::std::string::String>,
    /// <p>Provides information on the specified model version, including the created time, model and dataset ARNs, and status.</p>
    pub model_version_summaries: ::std::option::Option<::std::vec::Vec<crate::types::ModelVersionSummary>>,
    _request_id: Option<String>,
}
impl ListModelVersionsOutput {
    /// <p>If the total number of results exceeds the limit that the response can display, the response returns an opaque pagination token indicating where to continue the listing of machine learning model versions. Use this token in the <code>NextToken</code> field in the request to list the next page of results.</p>
    pub fn next_token(&self) -> ::std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>Provides information on the specified model version, including the created time, model and dataset ARNs, and status.</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 `.model_version_summaries.is_none()`.
    pub fn model_version_summaries(&self) -> &[crate::types::ModelVersionSummary] {
        self.model_version_summaries.as_deref().unwrap_or_default()
    }
}
impl ::aws_types::request_id::RequestId for ListModelVersionsOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl ListModelVersionsOutput {
    /// Creates a new builder-style object to manufacture [`ListModelVersionsOutput`](crate::operation::list_model_versions::ListModelVersionsOutput).
    pub fn builder() -> crate::operation::list_model_versions::builders::ListModelVersionsOutputBuilder {
        crate::operation::list_model_versions::builders::ListModelVersionsOutputBuilder::default()
    }
}

/// A builder for [`ListModelVersionsOutput`](crate::operation::list_model_versions::ListModelVersionsOutput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct ListModelVersionsOutputBuilder {
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
    pub(crate) model_version_summaries: ::std::option::Option<::std::vec::Vec<crate::types::ModelVersionSummary>>,
    _request_id: Option<String>,
}
impl ListModelVersionsOutputBuilder {
    /// <p>If the total number of results exceeds the limit that the response can display, the response returns an opaque pagination token indicating where to continue the listing of machine learning model versions. Use this token in the <code>NextToken</code> field in the request to list the next page of results.</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 the total number of results exceeds the limit that the response can display, the response returns an opaque pagination token indicating where to continue the listing of machine learning model versions. Use this token in the <code>NextToken</code> field in the request to list the next page of results.</p>
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.next_token = input;
        self
    }
    /// <p>If the total number of results exceeds the limit that the response can display, the response returns an opaque pagination token indicating where to continue the listing of machine learning model versions. Use this token in the <code>NextToken</code> field in the request to list the next page of results.</p>
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
        &self.next_token
    }
    /// Appends an item to `model_version_summaries`.
    ///
    /// To override the contents of this collection use [`set_model_version_summaries`](Self::set_model_version_summaries).
    ///
    /// <p>Provides information on the specified model version, including the created time, model and dataset ARNs, and status.</p>
    pub fn model_version_summaries(mut self, input: crate::types::ModelVersionSummary) -> Self {
        let mut v = self.model_version_summaries.unwrap_or_default();
        v.push(input);
        self.model_version_summaries = ::std::option::Option::Some(v);
        self
    }
    /// <p>Provides information on the specified model version, including the created time, model and dataset ARNs, and status.</p>
    pub fn set_model_version_summaries(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ModelVersionSummary>>) -> Self {
        self.model_version_summaries = input;
        self
    }
    /// <p>Provides information on the specified model version, including the created time, model and dataset ARNs, and status.</p>
    pub fn get_model_version_summaries(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ModelVersionSummary>> {
        &self.model_version_summaries
    }
    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 [`ListModelVersionsOutput`](crate::operation::list_model_versions::ListModelVersionsOutput).
    pub fn build(self) -> crate::operation::list_model_versions::ListModelVersionsOutput {
        crate::operation::list_model_versions::ListModelVersionsOutput {
            next_token: self.next_token,
            model_version_summaries: self.model_version_summaries,
            _request_id: self._request_id,
        }
    }
}