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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
// 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 DescribeCollectionOutput {
    /// <p>The number of faces that are indexed into the collection. To index faces into a collection, use <code>IndexFaces</code>.</p>
    pub face_count: ::std::option::Option<i64>,
    /// <p>The version of the face model that's used by the collection for face detection.</p>
    /// <p>For more information, see Model versioning in the Amazon Rekognition Developer Guide.</p>
    pub face_model_version: ::std::option::Option<::std::string::String>,
    /// <p>The Amazon Resource Name (ARN) of the collection.</p>
    pub collection_arn: ::std::option::Option<::std::string::String>,
    /// <p>The number of milliseconds since the Unix epoch time until the creation of the collection. The Unix epoch time is 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970.</p>
    pub creation_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
    /// <p>The number of UserIDs assigned to the specified colleciton.</p>
    pub user_count: ::std::option::Option<i64>,
    _request_id: Option<String>,
}
impl DescribeCollectionOutput {
    /// <p>The number of faces that are indexed into the collection. To index faces into a collection, use <code>IndexFaces</code>.</p>
    pub fn face_count(&self) -> ::std::option::Option<i64> {
        self.face_count
    }
    /// <p>The version of the face model that's used by the collection for face detection.</p>
    /// <p>For more information, see Model versioning in the Amazon Rekognition Developer Guide.</p>
    pub fn face_model_version(&self) -> ::std::option::Option<&str> {
        self.face_model_version.as_deref()
    }
    /// <p>The Amazon Resource Name (ARN) of the collection.</p>
    pub fn collection_arn(&self) -> ::std::option::Option<&str> {
        self.collection_arn.as_deref()
    }
    /// <p>The number of milliseconds since the Unix epoch time until the creation of the collection. The Unix epoch time is 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970.</p>
    pub fn creation_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        self.creation_timestamp.as_ref()
    }
    /// <p>The number of UserIDs assigned to the specified colleciton.</p>
    pub fn user_count(&self) -> ::std::option::Option<i64> {
        self.user_count
    }
}
impl ::aws_types::request_id::RequestId for DescribeCollectionOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl DescribeCollectionOutput {
    /// Creates a new builder-style object to manufacture [`DescribeCollectionOutput`](crate::operation::describe_collection::DescribeCollectionOutput).
    pub fn builder() -> crate::operation::describe_collection::builders::DescribeCollectionOutputBuilder {
        crate::operation::describe_collection::builders::DescribeCollectionOutputBuilder::default()
    }
}

/// A builder for [`DescribeCollectionOutput`](crate::operation::describe_collection::DescribeCollectionOutput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct DescribeCollectionOutputBuilder {
    pub(crate) face_count: ::std::option::Option<i64>,
    pub(crate) face_model_version: ::std::option::Option<::std::string::String>,
    pub(crate) collection_arn: ::std::option::Option<::std::string::String>,
    pub(crate) creation_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
    pub(crate) user_count: ::std::option::Option<i64>,
    _request_id: Option<String>,
}
impl DescribeCollectionOutputBuilder {
    /// <p>The number of faces that are indexed into the collection. To index faces into a collection, use <code>IndexFaces</code>.</p>
    pub fn face_count(mut self, input: i64) -> Self {
        self.face_count = ::std::option::Option::Some(input);
        self
    }
    /// <p>The number of faces that are indexed into the collection. To index faces into a collection, use <code>IndexFaces</code>.</p>
    pub fn set_face_count(mut self, input: ::std::option::Option<i64>) -> Self {
        self.face_count = input;
        self
    }
    /// <p>The number of faces that are indexed into the collection. To index faces into a collection, use <code>IndexFaces</code>.</p>
    pub fn get_face_count(&self) -> &::std::option::Option<i64> {
        &self.face_count
    }
    /// <p>The version of the face model that's used by the collection for face detection.</p>
    /// <p>For more information, see Model versioning in the Amazon Rekognition Developer Guide.</p>
    pub fn face_model_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.face_model_version = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The version of the face model that's used by the collection for face detection.</p>
    /// <p>For more information, see Model versioning in the Amazon Rekognition Developer Guide.</p>
    pub fn set_face_model_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.face_model_version = input;
        self
    }
    /// <p>The version of the face model that's used by the collection for face detection.</p>
    /// <p>For more information, see Model versioning in the Amazon Rekognition Developer Guide.</p>
    pub fn get_face_model_version(&self) -> &::std::option::Option<::std::string::String> {
        &self.face_model_version
    }
    /// <p>The Amazon Resource Name (ARN) of the collection.</p>
    pub fn collection_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.collection_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the collection.</p>
    pub fn set_collection_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.collection_arn = input;
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the collection.</p>
    pub fn get_collection_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.collection_arn
    }
    /// <p>The number of milliseconds since the Unix epoch time until the creation of the collection. The Unix epoch time is 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970.</p>
    pub fn creation_timestamp(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        self.creation_timestamp = ::std::option::Option::Some(input);
        self
    }
    /// <p>The number of milliseconds since the Unix epoch time until the creation of the collection. The Unix epoch time is 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970.</p>
    pub fn set_creation_timestamp(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        self.creation_timestamp = input;
        self
    }
    /// <p>The number of milliseconds since the Unix epoch time until the creation of the collection. The Unix epoch time is 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970.</p>
    pub fn get_creation_timestamp(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        &self.creation_timestamp
    }
    /// <p>The number of UserIDs assigned to the specified colleciton.</p>
    pub fn user_count(mut self, input: i64) -> Self {
        self.user_count = ::std::option::Option::Some(input);
        self
    }
    /// <p>The number of UserIDs assigned to the specified colleciton.</p>
    pub fn set_user_count(mut self, input: ::std::option::Option<i64>) -> Self {
        self.user_count = input;
        self
    }
    /// <p>The number of UserIDs assigned to the specified colleciton.</p>
    pub fn get_user_count(&self) -> &::std::option::Option<i64> {
        &self.user_count
    }
    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 [`DescribeCollectionOutput`](crate::operation::describe_collection::DescribeCollectionOutput).
    pub fn build(self) -> crate::operation::describe_collection::DescribeCollectionOutput {
        crate::operation::describe_collection::DescribeCollectionOutput {
            face_count: self.face_count,
            face_model_version: self.face_model_version,
            collection_arn: self.collection_arn,
            creation_timestamp: self.creation_timestamp,
            user_count: self.user_count,
            _request_id: self._request_id,
        }
    }
}